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?