About the job
Job Purpose
Contribute to the development and enhancement of our premier Video metadata software solutions.
Create applications with a platform-first approach, prioritizing scalability, consistency, and reliability in every decision made.
Job Description
As a Senior Engineer, you will spearhead the design, development, and maintenance of high-quality software applications. Collaborating with cross-functional teams, you will define, design, and implement new features, while ensuring application performance, quality, and responsiveness. Additionally, you will mentor and guide junior engineers toward success.
Required Experience and Skills
Proven experience in designing, developing, and scaling enterprise-grade applications, including building solutions from the ground up.
Familiarity with a range of backend and front-end technologies, including Java and JavaScript.
A willingness to work with legacy systems and a curiosity for automating outdated processes.
Experience in constructing ETL/ELT processes to draw data from diverse sources (APIs, databases, files, etc.).
Ability to optimize existing data pipelines for enhanced performance, cost efficiency, and reliability.
Expertise in databases, including schema design for large-scale applications, with essential 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 effective project delivery.
Comprehensive knowledge of messaging queue concepts.
Key Responsibilities
- Lead the design, development, and maintenance of scalable web applications and data pipelines.
- Collaborate with product managers, designers, and engineers to gather requirements and translate them into technical specifications.
- Write clean, maintainable, and efficient code adhering to best practices and coding standards.
- Conduct code reviews to ensure compliance with best practices and high coding standards while providing constructive feedback to team members.
- 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 shape our technology stack's future.
- Stay informed about emerging technologies and industry trends, assessing their potential impact on our products and services.
- Contribute to the evolution and enhancement of engineering processes, tools, and methodologies.

