Design, implement and develop scalable, performant microservices using software engineering best practices.
Write secure and high-quality production code, and reviews and debugs code written by others
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
Identify opportunities to eliminate or automate remediation of recurring issues to improve overall operational stability of software applications and systems
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.
Mentor other engineers in the team in software engineering best practices
Identify process improvements and help the team to work more efficiently
Lead communities of practice across software engineering to drive awareness and use of new and leading-edge 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
Advanced knowledge in at least one major programming language: Go, Python and/or Java
Experience with RESTful APIs
Proficiency in automation and continuous delivery methods
Proficient in all aspects of the Software Development Life Cycle (SDLC).
Experience in developing, debugging, and maintaining code in a large corporate environment with one or more modern programming languages and database querying languages
Advanced understanding of agile methodologies such as CI/CD, Application Resiliency, and Security
Practical experience in developing cloud native applications with any cloud provider.
Preferred qualifications, capabilities and skills
Knowledge of banking / finance.
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)