Responsibilities and Duties:
- Add support for new platforms to existing products and develop new products.
- Develop and review designs, code, unit tests, system tests, and documentation.
- Collaborate in root cause analysis; diagnose, isolate, and fix software problems.
- Create backend applications primarily using Python.
- Demonstrate your work product to your team.
- Identify and correct issues impacting performance, reliability, and scalability.
- Investigate and develop skills in new technologies.
Characteristics:
- Extensive knowledge of Python for asynchronous backend application development.
- Working knowledge of the software development lifecycle, including agile methodologies, code quality, and CI/CD.
- Driven to build modern systems emphasizing user performance and scalability.
- Team player who takes responsibility for software quality.
- Excellent written and verbal communication skills.
- Eagerness to learn, explore, and introduce new technologies.
- Availability for on-call shifts as required.
Education & Experience:
- 8+ years of software engineering experience, with strong programming skills in Python or similar OOP languages focusing on asynchronous programming.
- Experience in API development and ideally data ingestion.
- Prior work on distributed systems and event-driven architecture is a significant plus.
- Experience with Docker and Jenkins or similar CI tools.
- Dedication to contributing unit tests and other testware with product code.
- Experience consuming RESTful interfaces and implementing security best practices.
- Familiarity with NoSQL databases, ElasticSearch/OpenSearch, and knowledge of cloud computing platforms is a plus.