BETSOL is seeking a Staff Software Engineer to design and develop high-quality automation software that meets business needs, building highly scalable microservices, event-driven systems, and real-time streaming pipelines.
Requirements
- 12+ years of backend development experience, with 5+ years in Python and Fast API
- Proven experience building serverless solutions like Azure function apps
- Proven experience designing and deploying production-grade systems on Azure (preferred) or GCP
- Strong knowledge of relational (PostgreSQL, Azure SQL) and NoSQL (Cosmos DB) databases
- Hands-on experience with Kafka, message queues, and container orchestration (Kubernetes, Docker)
- Familiarity with CI/CD tools like GitHub Actions, Jenkins, Octopus, etc.
- Experience working in Agile environments (Scrum, Kanban, SAFe)
Responsibilities
- Write clean, scalable, and maintainable code using best practices and design patterns
- Collaborate with various areas of the organization including business partners, product owners, architecture, security mavens, and IT engineering teams to understand business requirements and design specifications
- Conduct research on emerging technologies, design principles, and development frameworks to ensure software solutions remain current, fresh, and future proof
- Provide technical guidance in software design and development activities
- Mentoring junior members of the team to develop their technical skills
- Review Designs and Code to ensure Developers are building a scalable solution with at most quality
- Designing and implementing complex software solutions for API's, microservices, CICD, real-time streaming pipelines etc... on cloud
Other
- Bachelor’s degree or, equivalent experience (HS diploma + 4 years relevant experience)
- Ability to lead technical initiatives, mentor team members, and communicate effectively with stakeholders
- Demonstrated experience in large enterprise environments
- Strategic thinking – able to identify a vision along with the plans, which need to be implemented to meet the end goal, evaluating situations, decisions, and issues in the short, medium, and long term
- Analytical thinking - able to simplify complex problems, processes or projects into component parts explore and evaluate them systematically