Key Responsibilities
Job Specific Responsibilities
- Provide Technical authority in prospective meetings with other departments, evaluate technical proposals from suppliers, implementation recommendations to stakeholders.
- Provide Hands-on Technical leadership, in development, operation and improvement of services. Work closely with the wider team to ensure high quality code is delivered in line with the project goals and delivery cycles. You'll work closely with designers to deliver rapid prototypes as well as production code for which you'll ensure high accessibility standards are upheld. We expect familiarity with modern frameworks and languages, as well as working practices such as Clean Code, TDD, BDD, continuous integration, continuous delivery and DevOps.
- Have strong skills in web, API, micro services development and want to work within multidisciplinary agile teams of developers, designers and researchers focused on products.
- Work with product managers to understand user needs for new/existing services.
- Work with delivery teams breaking technical requirements down, identify API requirements for integration with internal/external systems.
- Lead development of user-driven prototypes, identify technical options/inform architectural approaches, working with team members to write tests, code and documentation for new/existing systems.
- Proactively advice on best practices.
- Assist in budgeting process.
Education, Experience and Required Skills
Educational Qualification
Degree in Computer Science, Software Engineering or related preferred
Experience
Minimum 10 years of experience
Processes and Practices
- Agile
- Scrum/Kanban/Lean
- TDD/BDD
- CI/CD
- XP
Essential Skills
- Comprehensive and recent experience designing and implementing complex software systems, i.e. is an active software developer currently engaged in architecting and building high-volume digital services.
- Proven capability in managing technology implementation projects and in presenting to/working with stakeholders at every level of seniority.
- Comprehensive and recent experience designing and implementing complex software systems, i.e. is an active software developer currently engaged in architecting and building high-volume digital services.
- Proven capability in managing technology implementation projects and in presenting to / working with stakeholders at every level of seniority.
- Demonstrable track record of successfully taking an evolutionary architecture approach to software architecture.
- Knowledge of Agile product management, in particular determination of vision, objectives, goals and success criteria.
- Follow Clean Code/Solid principles - Uncle Bob aka Robert C Martin
- Adhere and use TDD/BDD.
- Outstanding ability to develop efficient, readable, highly optimized/maintainable and clear code.
- Java 8, Spring, JavaScript.
- Micro services, Rest.
- Messaging (One of RabbitMQ, ZeroMQ, ActiveMQ or any such others).
- Mocking (any of the following Mockito, EasyMock, JMock, Spock, Jasmine, Mocha).
- IDE Intellij or Eclipse.
- Build tools (One of SBT, Gradle, Maven).
- SQL Database (One of Oracle, MS SQL Server or Postgres).
- NoSQL MongoDB.
- Detailed understanding and experience of front-end web development (HTML/CSS/JS).
- Understanding of and experience with a range of approaches to testing application code and systems for behavior and performance (any of Selenium, Geb, Wiremock, Jmeter, Gatling, Sauce Labs).
- Working knowledge of unix-like operating systems such as Linux and/or Mac OS X.
- Knowledge of the git version control system.
- Ability to quickly research and learn new programming tools and techniques.
- Understanding of the use of Responsive Web Design.
- Deep knowledge of accessibility standards and developing web products that can be used easily by users with a range of assistive technology needs.
Desirable Skills
- Experience of developing product roadmaps, backlogs and measurable success criteria, and of writing user stories, i.e. can establish a path to delivery for breaking down stories.
- Experience organizing and performing prototyping and proof of concepts.
- Building and scaling high-traffic websites and/or high volume transaction processing and analysis platforms.
- Experience of developing product roadmaps, backlogs and measurable success criteria, and of writing user stories, i.e. can establish a path to delivery for breaking down stories.
- Mentor and train developers in a non-line management capacity.
- Experience mentoring or helping colleagues optimize their code.
- Knowledge of relational and non-relational database systems.
- System administration and configuration management skills.
- Experience presenting work at user groups, business and to peers.
- Experience of handling large data sets and scaling their handling and storage
- Ruby.
- Other JVM languages (Groovy, Scala, Clojure, Kotlin, etc).
- Other NoSQL databases such Neo4J, Cassandra, Redis, etc.
by via developer jobs - Stack Overflow
No comments:
Post a Comment