Role & responsibilities
- Function as a member of a software engineering team by contributing to software builds through consistent development practices
- Debug basic software components and identify code defects for remediation
- Enable the development, support, and monitoring of software across test, integration, and production environments
- Automate deployments in test or production environments
- Adhere to security and regulatory requirements
- Design and contribute to API implementations
- Follow best practices for automated unit, integration, and regression testing
- Participate in pull request reviews to ensure quality code delivery
- Build software as part of a nimble Agile team, where you have every opportunity to impact team goals and contribute to the overall architecture
- Ensure our infrastructure is safely extensible, scalable, reliable, and meets SLAs for both external and internal users
- Ensure our software solutions are testable, intuitive, and easy to maintain
Preferred candidate profile
- 5-8 years of software development, testing, and implementation experience
- Bachelor's or masters degree in Computer Science, Engineering, Information Systems, or a related STEM field
- Core competencies in modern programming languages such as Golang, Kotlin, and/or Java, including REST APIs, JSON, Kafka, RDBMS & NoSQL database technologies (such as MongoDB, Redis, and PostgreSQL), Spring Boot, Git, Jenkins, Linux/Unix, Gradle/Maven, and Agile development methodologies
- Hands-on experience in implementing highly scalable, low-latency software applications using multi-threaded, asynchronous, and reactive programming
- Practical experience deploying containerized software applications to cloud computing environments using technologies such as Kubernetes and Docker
- Basic high-availability techniques and implementation knowledge
- Experience in profiling/performance analysis of applications
- Commitment to modern software practices such as Continuous Integration, automated/repeatable testing, and collaborative work environments
- Familiarity with CI/CD automation tools such as Jenkins and GitHub Actions
- Ability to think abstractly and deal with ambiguous/under-defined problems, enabling business capabilities through innovation
- Demonstrated willingness to learn innovative technologies and pride in how quickly you develop working software
- Excellent written and verbal communication skills