About the job
We are in search of a Principal Software Engineer to spearhead the establishment of data architecture best practices within our engineering team. As we evolve towards autonomous, stream-aligned teams, we require a hands-on data specialist who can empower application teams to independently make informed data decisions.
This role involves close collaboration with application engineers, working alongside full-stack and backend engineers to develop innovative products. A strong understanding of application architecture, API design, and deployment practices is essential, paired with profound data expertise.
Key Responsibilities
- Collaborate directly with application teams to develop robust data architecture for their applications and services.
- Design and assess data architectures and models, ensuring alignment between data ownership and team domain boundaries.
- Conduct reviews of application code and architecture with an emphasis on data access patterns and performance optimization.
- Evaluate and recommend data storage technologies such as MongoDB, PostgreSQL, NoSQL, and data warehouses.
- Enhance database performance through query tuning, indexing, execution plan analysis, and resource management.
- Guide the selection of technology based on read/write patterns, data volumes, and access requirements.
- Define data access patterns including APIs, ORMs, event-driven architectures, and replication strategies.
- Establish strategies for data replication and syndication, including CDC, event streaming, and batch processing.
- Provide guidance on data architecture for machine learning and large language model applications, focusing on vector databases and embeddings.
- Lead zero-downtime data migrations and infrastructure modernization initiatives.
- Engage in hands-on troubleshooting and optimization of critical data systems.
- Set standards for data quality, monitoring, and observability.
- Promote knowledge sharing through workshops, documentation, and office hours.
Required Qualifications
- 10+ years of experience in building software applications with a strong focus on data systems.
- Solid background in application development (full-stack, backend, or data-intensive applications).
- Expertise in both NoSQL (MongoDB, DynamoDB, DocumentDB) and relational databases (PostgreSQL, SQL Server).
- Proven track record of optimizing database performance at scale, including query tuning and resource management.
- Strong skills in data modeling and schema design.
- Understanding of application architecture, API design, and software development practices.
- Substantial experience with cloud data platforms (AWS, Azure, or GCP), including cost optimization strategies.
- Experience using AI/LLM-assisted development tools and agentic software engineering practices.
