- You showcase exemplary behaviour in your work your design, delivery, code, processes all set examples for your team
- Influence your team s technical and business strategy by suggesting novel approaches
- Able to communicate your ideas and get feedback from different stakeholders and drive convergence to achieve the right outcomes
- Proactively mentor the rest of the team and help in hiring
- Ensure design or architectural deficiencies are addressed and routinely simplify integration of your peer teams with your team s software
- Consistently lead delivery of valuable features
- Continually propose and drive process improvements
- Help elaborate requirements where necessary
Programming
- Demonstrate in depth knowledge of IDE, language and toolset in language of choice.
- Implement critical path components in a large or complex or project.
- Demonstrate excellent understanding of language & framework and a good working knowledge of the abstraction layer underneath
- Profile and optimise code o Understand threads, threading model and concurrent programming
- Comfortably test drive any feature/comfortable with TDD cycle
- Demonstrate a good knowledge of other programming languages & paradigms and when to apply them
- Comfortably debug/find complex problems
Design
- Identify and apply appropriate design patterns to problems
- Comfortably develop large features
- Understand Idempotence
- Actively practice the boy scout principle, leaves design, code in a better state than when arrived
- Demonstrate a good understanding of cohesion, SOLID and how to apply
- Understand importance of domain model and can coherently model a problem domain within a given context
- Anticipate medium term (3-6 month) vectors of change and designs and abstracts accordingly
- Understand and appreciate simplicity and the value of removing code
- Understand design patterns such as CQRS and eventual consist
- Understand how to design for performance at all levels
Development Practice
- Automate everything by default
- Build a CI/CD pipeline
- Automate security scanning and performance testing as part of build
Infrastructure
- Demonstrate a good grasp of multiple operating systems
- Demonstrate a good grasp of scripting techniques
- Demonstrate expertise in one database & good grasp of multiple data storage paradigms and when to apply other technologies
- Understand and can automate PaaS technologies
- Understand when to apply appropriate infrastructure technologies
Security
- Write secure code by default
- Use tools to perform deep security probes
- Understand server hardening
Java Spring Microservices Kafka SQL and NoSQL DB