As Software Engineer, you’ll work closely with senior software engineers, architects and technical product managers to implement overall system architecture and product requirements into well-designed and implemented software components. You’ll take ownership of the implementation of individual software components, with high emphasis on quality, test-driven development, and sound software engineering practices - using software engineering best practices to ensure a high standard of quality for all the team deliverables.
Roles/Responsibilities
- Work with the team to help solve business problems.
- Take ownership of the implementation of individual software components, with high emphasis on quality, test-driven development, and sound software engineering practices.
- Participate in software design reviews, peer code reviews, and provide input and feedback to other members of the development team.
- Implement, test, deploy and maintain innovative software solutions to transform service performance, durability, cost, and security.
- Use software engineering best practices to ensure a high standard of quality for all the team deliverables.
Minimum Qualifications
- Bachelor’s degree in Computer Science or related discipline
- 3+ years of professional software development experience across the stack including front end engineering and modern design principles.
- 1+ year of experience with implementing scalable, distributed systems using a modern cloud framework such as AWS, Azure or GCP.
Desired Qualifications
- 5+ years of professional software development experience.
- Master’s or PhD degree in Computer Science, Computer Engineering, or related field.
- Experience with implementation of large-scale distributed systems preferably using AWS technologies.
- Experience with CI/CD tools like GitLab, Artifactory, SonarQube.
- Strong knowledge of Python (REST APIs/Flask), AWS Compute, S3, API Gateway, AWS Lambda-based development.
- Working knowledge of programming for backend databases like AWS DynamoDB or similar RDBMS or NoSQL DBs.
- Expertise with Elastic Search or similar, Linux, Apache/httpd, Networking, Firewalls, security, etc.
- Strong knowledge of Java, Java Spring Boot, web development, Angular, jQuery
- Previous experience with big data systems, analytics, containerized microservices, serverless functions, and event-driven architecture.
- Bring fresh ideas from all areas, including testing and validation automation while maintaining the production availability, conversion automation, distributed computing, large-scale system design.
- Experience with supporting production software deployments.
- Technical expertise across many deployment models on public cloud, and on-premises infrastructure.
- Experience understanding and implementation of software architectures for complex products.
- Experience in working with Agile processes.
- Excellent technical problem-solving skills and aptitude to learn new technologies and methodologies.
This Job Description is intended to provide a high level guide to the role. However, it is not intended to amend or otherwise restrict/expand the duties required from each individual employee as set out in their respective employment contract and/or as otherwise agreed between an employee and their manager.