Job Responsibilities
- Design, implement and develop scalable, performant microservices using software engineering best practices.
- Write secure and high-quality code
- Write automated unit tests, integration tests, etc.
- Produce architecture and design artifacts for complex applications while being accountable for ensuring design constraints are met by software code development
- Proactive to identify hidden problems and patterns in code and data and uses these insights to drive improvements to coding hygiene and system architecture
- Manage and troubleshoot deployments from testing environments all the way to production.
- Interface with other engineering teams to ensure that features are added in a structured and coherent way.
- Translate generic product requirements into trackable tickets.
- Contribute to software engineering communities of practice and events that explore new and emerging technologies
- Add to team culture of diversity, equity, inclusion, and respect
Required qualifications, capabilities and skills
- Formal training or certification on software engineering concepts and applied experience
- Hands-on practical experience in system design, application development, testing, and operational stability
- Proficient in at least one major programming language: Go, Python and/or Java
- Experience with RESTful APIs
- Experience in developing automated tests as an integral part of the development cycle.
- Overall knowledge of the Software Development Life Cycle
- Experience in developing, debugging, and maintaining code in a large corporate environment with one or more modern programming languages and database querying languages
- Solid understanding of agile methodologies such as CI/CD, Application Resiliency, and Security
Preferred qualifications, capabilities and skills
- Knowledge of banking / finance.
- Experience with any cloud provider.
- Familiar with databases (SQL or NoSQL).
- Experience with client/server software architectures & networking, or microservice architectures.
- Experience using orchestration tools such as Kubernetes or Mesos.
- Experience with streaming architectures and tools (e.g. Kafka)