- Design, code and implement multiple projects: platforms and programming languages vary.
- Understanding of good programming principles to solve complex problems.
- Capability to design and draw out technical architecture components.
- Logically split solutions into functional groups, catering for both performance and ease of use.
- Strong object oriented & Java 8.
- Solid skills with Spring (4 preferred), Hibernate / JPA.
- Writing testable code, the tests.
- Continuous Integration & Agile experience.
- Experience using a wiki to build out our technical designs and documentation
- Deployments – You are going to support what you build, so ensure you can.
- REST services
- Linux (servers) & Mac (dev)
- Docker / Kubernetes
- Capability to setup infrastructure from OS to Prod build
- Test Driven Development
- Domain Driven Design
- Continuous Integration & Continuous Delivery
- One big open-minded approach to learning
- Work closely with software engineers, quality assurance, product managers and other engineering teams to get high-quality products and features through the software project lifecycle (build, test and release on time).
- Write quality, complex codes that meet the highest standards
- Develop tools and processes to improve software engineering productivity
- Be highly driven, determined and business oriented
- Guide fellow developers on proper design and ensure compliance with team or organisational standards
- Design solutions to address business and IT problems
- Implement code based on designed architectures
- Implement and deploy full stack, from development to product
- Provide support and coaching as required on our solutions
- Harbour excellent communication skills with the ability to influence senior client business and IT executives on technical decisions
- Make informed decisions quickly drawing from experience across a wide technical stack