Perform all phases of software engineering including; requirements analysis, application design, code development, and testing Design and implement performance and operational enhancements Design & Develop reusable components, patterns, and frameworks, encouraging innovation that will enable team velocity Review code and provide feedback relative to best practices and performance improvement Conduct design and code reviews to ensure that developed code meets software engineering best practices and guidelines, unit testing, security, and scalability and maintainability guidelines Troubleshoot production support issues post-deployment and design solutions as required Design, code, test, debug, and document software, whilst enhancing existing components to ensure that software meets business requirements Contribute to the design and architecture to enable secure, scalable, and maintainable software and be able to clearly articulate the implications of design/architectural decisions, issues, and plans to technology leadership Collaborate on design with other team members and product owners, both inside and outside of the scrum team
Required Qualifications:
Experience building backend services with Java using Spring Framework (Boot, Core, MVC), Spring Boot strongly preferred. Strong programming skills in Scala. Experience developing production grade applications in Spark, Hadoop. Experience working with Docker or Kubernetes. Experience with messaging and stream processing on Kafka or similar messaging technologies Relational Database e.g. MySQL Experience with cloud services preferably in AWS
Preferred Qualifications:
Experience in GitHub Actions
Experience with Data engineering (creating data pipelines, ETL/ELT tools)
Experience with Snowflake / RedShift / or, BigQuery
Experience with data processing frameworks (e.g. Apache Flink)
Job Classification
Industry: Software ProductFunctional Area / Department: Engineering - Software & QARole Category: Software DevelopmentRole: Technical LeadEmployement Type: Full time