Requirements for job
Example 1
Using in-depth knowledge of at least one major programming language, the framework, and the tool ecosystem to implement end-to-end systems without assistance.
Profiling and optimising code.
Producing test-driven features in a specific programming language and demonstrating you’re comfortable with the TDD cycle.
Applying an understanding of cohesion and the SOLID principles to create well structured, maintainable software.
Applying understanding of threads, the threading model and concurrent programming.
Identifying patterns in code and refactoring the code towards them where it increases understanding and/or maintainability with minimal guidance.
Translating requirements into tasks & code.
Developing high-quality code that can lead to rapid delivery, ruthlessly pursuing continuous integration and delivery.
Committing code early and often, demonstrating your understanding of version control & branching strategies.
Automating everything by default.
Writing secure code by default.
Writing maintainable code and observing basic hygiene practices.
Demonstrating the importance of domain model and coherently modeling a problem domain within a given context
Implementing relevant project instrumentation.
Following the best practices of BDD/TDD/Performance/Security/Smoke Testing.
Working effectively with product stakeholders to communicate and translate their needs into improvements in your product.
Leading group discussions on the design of particular areas and understanding the domain well enough to work with Product Managers to drive value.
Supporting production systems, resolving incidents and performing root cause analysis.
Debugging/finding complex problems and supporting/maintaining the software solution.
Sharing knowledge with the wider engineering community.
Mentoring and developing those around you.
Producing proof of concepts to evaluate new tools.
5+ years of experience as a Java backend developer.
Experience with eCommerce and search systems would be a nice to have, but not necessary.
Experience with Java 7+ is a must.
Experience using Spring.
Experience scaling systems.
Experience working with multiple software development methodologies including Scrum, Kanban, and Waterfall.
Experience with reactive programming is considered a plus.
Last updated
Was this helpful?