Role Responsibilities
Impact & Value:
- Re-engineer legacy applications and build state of the art platform
- Consistently leads delivery of valuable features
- Continually looking for process improvements
- Proposes new ways of doing things
- Suggests novel ways to fulfil requirements
- Helps elaborate requirements where necessary
Programming:
- In depth knowledge of IDE, language and toolset in language of choice.
- Excellent understanding of language & framework and a good working knowledge of the abstraction layer underneath
- Understanding of threads, threading model and concurrent programming
- Can profile and optimize code
- Good knowledge of other programming languages & paradigms and when to apply them
- Comfortable debugging/finding complex problems
Design:
- Can identify and apply appropriate design patterns to problems.
- Comfortable developing large features
- Understands Idempotence
- Understands boy scout principle. Leaves code in a better state then when arrived
- Good understanding of cohesion, SOLID and how to apply
- Writes clean, maintainable code
- Understands importance of domain model and can coherently model a problem domain within a given context
- Anticipates medium term (3-6 month) vectors of change and designs and abstracts accordingly
- Understands & appreciates simplicity & the value of removing code
- Understands design patterns such as CQRS and eventual consistency
- Understands how to design for performance at all levels
Development Practice:
- Automates everything by default
- Can build a CD pipeline
- Automates security scanning and performance testing as part of build
- Monitor systems to ensure they meet both user needs and business goals
Oversee assigned programs (e.g. conduct code review), set and monitor team standards.
* Evaluate and select appropriate software or hardware and suggest integration methods
* Focus on reliability, performance and availability
Infrastructure :
- Good grasp of multiple operating systems
- Good grasp of scripting techniques
- Expertise in one database & good grasp of multiple data storage paradigms and when to apply other technologies
- Understands and can automate paas technologies
- Understands when to apply appropriate infrastructure technologies.
- Understanding of network communications, including TCP/IP, HTTP protocols
Security:
- Writes Secure code by default
- Can use tools (nmap/metasploit etc.) to perform deep security probes
- Understands server hardening
- Understating of security principles using SSL protocols and data encryption
Behaviours & Collaboration:
- Leads group discussions on design of particular areas
- Comfortable presenting information
- Gains buy in from team and drives design
- Mentors and develops those around them
- Understands domain well enough to work with PO to drive value
- Shares knowledge with wider community
Our Ideal Candidate
5+ years of experience in developing world class products/applications.
Bachelors in Engineering or equivalent
Masters in Engineering desirable
Company Reg No.: 201131609D, Licence No.: 11C4684
