We are looking for a Back-end Software Engineer for design and execution of the company’s modern software development strategy. You will work with our team of talented engineers to design and build the next generation of Insurance applications in the cloud. You will be responsible for the back-end development of the applications aimed at revolutionizing the Insurance industry. Your primary focus will be development of back-end code in various areas of insurance such as underwriting, risk, pricing and more using modern programming languages to be hosted on cloud providers like Heroku or Amazon Web Services. You will be responsible for the design and deployment of scaleable, highly available, and fault tolerant systems. You will also be responsible for the evaluation of key attributes of existing application architectures, evolution and enhancements to the infrastructure, product ideation and technology stack selection, work with other engineers to define execution architectures and strategies.
Duties & Responsibilities
- Design, implement and manage back-end services within a managed service environment.
- Good understanding and experience of building high availability, scalable, performance and fault tolerant systems.
- Establish & standardize the back-end coding and set technology standards, security standards, and processes.
- Continual re-evaluation of existing stack and infrastructure to maintain optimal performance, availability and security.
- Selecting the appropriate services based on data, compute, database, security or compliance requirements.
- Mentor other engineers on the team by giving technical guidance and performing code reviews.
- Strong interpersonal skills with ability to work with product owners and team members.
- Research and identify best practices both from an architecture & security perspective.
- Participate on scrum teams working on short sprints and ensure on time delivery with high quality.
- Create and maintain project documents and artifacts to capture current state.
- Troubleshoot issues and work with team to identify and address problems.
- Bachelor’s degree in Computer Science/Information Systems or related field.
- Master’s or any other higher degree preferred but not necessary.
- Proficient with any modern programming languages.
- Solid understanding of agile application development methodologies and release management activities.
- Contribute to the team’s ability to make and deliver on their commitments.
- Ability to clearly communicate to both technical and business teams.
- Strong analytical skills and analytical thinking is needed.
- 3+ year of relevant industry experience as a Python developer and willingness to learn new technologies.
- 2+ year experience in at least one popular Python framework like Django, Flask framework will be preferred.
- 2+ year of design, implementation, and/or consulting experience with distributed applications or systems architecture, experience leveraging modern programming language.
- Solid Object-Oriented Programming and Software design Knowledge.
- Experience using Atlassian tool sets: Jira, Confluence.
- Basic understanding of Linux.
- Knowledge of relational and non-relational databases.
- Knowledge of Agile software development practices and release management.
- Basic understanding of Cloud Services like AWS