Bachelor of Computer Science or Engineering or experience in related fields
Ability to coach others with minimal guidance and effectively leverage diverse ideas, experiences, thoughts and perspectives to the benefit of the organization.
Experience with agile development methodologies and Test-Driven Development (TDD).
Knowledge of business concepts tools and processes that are needed for making sound decisions in the context of the company's business.
Ability to learn new skills and knowledge on an on-going basis through self-initiative and tackling challenges.
Excellent problem solving, communication and collaboration skills.
Advanced experience and/or expertise with several of the following:
Programming Languages: Python, Java Script, Perl; working in distributed systems, object-oriented programming, design patterns and design methodology; Microservice, multi-threading, Concurrency and parallel processing.
Frameworks: Including but not limited to Flask, FastAPI, React
Data Storage: Postgres, MySQL, Parquet, MongoDB, and Relational Data structure tools.
Data Streaming: SQS, Kinesis, Kafka, and SNS
Application Programming Interfaces (API): Consumption & Development; implementing service-oriented architecture (SOA) patterns; Web service technologies such as APIs, REST, JSON, SOAP, XML, JDBC, MySQL.
Unit, interface and end user testing concepts and tooling (functional & non-functional).
Automated testing
Accessibility awareness
Software security skills includingsecure coding, web application security and DevSecOps; Solid grasp of security concepts (authentication, authorization, encryption, digital signature, JWT), SSL, web service proxies, firewall, SAML 2.0, OpenID Connect, OAuth 2.0).
Dev Ops Tools & Practices: Branching techniques and usage of GitHub, Bitbucket or Subversion; DevOps, Jenkins.
Software Development Life Cycle (SDLC): Monitoring and logging techniques.
AWS Core Services: AWS Services such as CloudWatch, Code-Deploy.