Job responsibilities
- Owns and delivers technical solutions, driving solutions through from inception through to production
- Develops Java/Python applications (hands-on) integrated with AWS services like EC2, S3, Lambda, DynamoDB etc.
- Drives decisions that influence the product design, application functionality, and technical operations and processes
- Regularly provides technical guidance and hands-on support across the team
- Acts as the guardian of quality through code reviews, driving secure, stable and scalable implementations
- Troubleshoots and optimises existing systems for security, performance, availability and cost
- Executes creative software solutions, design, development, and technical troubleshooting with ability to think beyond routine or conventional approaches to build solutions or break down technical problems
- Develops secure high-quality production code, and reviews and debugs code written by others
- Identifies opportunities to eliminate or automate remediation of recurring issues to improve overall operational stability of software applications and systems
- Adds to team culture of diversity, equity, inclusion, and respect
Required qualifications, capabilities, and skills
- Formal training or certification on team leadership concepts and advanced applied experience
- Practical hands-on experience in developing, debugging, optimising and maintaining code in a large corporate environment with one or more modern programming languages (Java and/or Python) and database querying languages
- Experience/knowledge of AWS serverless computing and microservices architecture
- Hands-on practical experience in leading system design, application development, testing, and operational stability
- Good understanding of agile methodologies such as CI/CD, Application Resiliency, and Security
- Strong experience in writing secure, testable, maintainable code
- Ability to solve data-oriented problems using multiple relevant technologies e.g. SQL, Relational DB, Spark, NoSQL while optimizing for performance
- Experience reviewing peer code, improving overall quality of deliveries
- Strong troubleshooting and performance optimization skills
- Practical experience of working in an agile culture
- Proficient in all aspects of the Software Development Life Cycle
Preferred qualifications, capabilities, and skills
- Experience of Spark performance tuning of complex queries on large datasets
- Experience of Big Data technologies
- Experience of Databricks or Cloudera
- Experience of building Fullstack applications
- Exposure to working in an agile development (e.g. story pointing etc)