About the job
Job Purpose
Contribute to the advancement of our leading Video metadata software solutions.
Architect applications with a focus on scalability, consistency, and reliability as foundational principles.
Job Overview
As a Senior Python Backend Developer, you will take the lead in designing, developing, and maintaining high-quality software applications. You will engage with cross-functional teams to define, design, and deliver new features, while ensuring optimal performance, quality, and responsiveness of applications. Additionally, you will mentor and support junior engineers to foster their growth.
Essential Experience and Skills
Proven experience in architecting and developing enterprise-grade applications, including creating solutions from the ground up.
Familiarity with a range of backend and front-end technologies, particularly Java and JavaScript.
Desire to work with legacy systems and enthusiasm for automating outdated processes.
Expertise in building ETL/ELT processes for data ingestion from diverse sources (APIs, databases, files, etc.).
Optimize existing data pipelines for improved performance, cost-efficiency, and reliability.
Strong database skills, including schema design for large-scale applications, with mandatory experience in SQL, NoSQL, and Vector datastores.
SQL examples: PostgreSQL, MySQL, Oracle
NoSQL examples: MongoDB, Cassandra, Redis, DynamoDB, Elastic Search, Neo4j
Vector datastore examples: Pinecone, Pgvector, Milvus, Redis Vector Similarity
Demonstrated experience in leading and mentoring engineering teams to ensure successful project delivery.
Comprehensive understanding of messaging queue concepts.
Key Responsibilities
Lead the design, development, and maintenance of robust web applications and data pipelines.
Collaborate with product managers, designers, and fellow engineers to gather requirements and convert them into technical specifications.
Write clean, maintainable, and efficient code adhering to best practices and standards.
Conduct code reviews to ensure compliance with best practices and high coding standards, providing constructive feedback to colleagues.
Troubleshoot and debug applications to enhance performance and resolve issues.
Engage in the entire software development lifecycle, including planning, development, testing, and deployment. Participate in architectural discussions and decision-making processes to influence the future of our technology stack.
Stay informed about emerging technologies and industry trends, assessing their potential impact on our products and services.
Contribute to the refinement and enhancement of engineering processes, tools, and methodologies.

