Job responsibilities
- Design, implement and develop scalable, performant microservices using software engineering best practices.
- Write secure and high-quality code with limited guidance
- Write automated unit tests, integration tests, etc.
- Apply technical knowledge to solve technical problems of basic complexity
- Apply knowledge of tools within the Software Development Life Cycle (SDLC) toolchain to reduce toil and add value by automation
- 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.
- Learn and applies system processes, methodologies, and skills for the development of secure, stable code and systems
- 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
- Experience in at least one major programming language: Go, Python and/or Java
- Experience in developing automated tests as an integral part of the development cycle.
Preferred qualifications, capabilities and skills
- Experience with RESTful APIs
- Experience in developing, debugging, and maintaining code in a large corporate environment with one or more modern programming languages and database querying languages
- Exposure to agile methodologies such as CI/CD, Application Resiliency, and Security
- 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)