As Staff Software Engineer, you’ll work closely with architects and technical product managers to translate overall system architecture and product rAs a Principal Software Engineer, you will play a pivotal role in shaping the technical and data strategies across multiple teams within the organization. You will collaborate closely with architects and technical product managers to translate overarching system architecture and product requirements into cohesive, high-quality software solutions. In this role, you will not only drive the design and implementation of key software components but also set the technical direction, ensuring alignment across groups. Your leadership will emphasize quality, test-driven development, and adherence to sound software engineering practices, using industry best practices to maintain a high standard of excellence across all team deliverables.This role is located in Bellevue, WA working on a hybrid basis, with 3 days/week in the office.
Roles/Responsibilities
- Responsible for designing, building, and maintaining a scalable and efficient data architecture that supports the organization’s strategic goals.
- Data Strategy Development: Formulate and implement a strategic vision for data architecture aligned with business objectives.
- Data Modeling: Create conceptual, logical, and physical data models to meet business needs, ensuring data integrity and scalability.
- Data Governance and Compliance: Ensure adherence to data governance policies and regulatory requirements to maintain data security and privacy.
- Technology Evaluation: Assess and recommend new technologies and methodologies to enhance data management processes.
- Collaborate with the team to solve complex business problems, ensuring that solutions align with both technical and data strategies.
- Develop high-quality distributed system software, incorporating modern cloud, edge, and data-driven approaches.
- Work closely with architects and technical product managers to translate overall system architecture, product requirements, and data strategy into well-designed and implemented software components.
- Take ownership of the implementation of individual software components, with a strong emphasis on quality, test-driven development, sound software engineering practices, and data integrity.
- Participate in software design reviews, conduct peer code reviews, and provide input and feedback to other members of the development team, ensuring alignment with technical and data strategies.
- Design, implement, test, deploy, and maintain innovative software solutions to enhance service performance, durability, cost efficiency, security, and data utilization.
- Utilize software engineering best practices to ensure a high standard of quality for all team deliverables, while also ensuring that data strategies are effectively implemented and maintained.
Minimum Qualifications
- Bachelor’s degree in Computer Science or related discipline
- 9+ years of professional software development experience with a history of technical innovation
- 3+ years of experience building scalable, distributed systems using modern frameworks such as AWS, Azure, or GCP
- 3+ years of experience leading the design or architecture of new and existing systems, focusing on design patterns, reliability, and scaling
- Experience providing technical leadership to engineers, leading an engineering team, and/or mentorship
Desired Qualifications
- 10+ years of experience, including 3+ years working with big data systems, analytics, containerized microservices, serverless functions, and event-driven architecture
- Master’s or PhD degree in Computer Science, Computer Engineering, or related field
- Experience in designing and architecting large-scale distributed systems, preferably using AWS technologies
- Experience with Big Data technologies, including data storage and processing frameworks such as Hadoop, Spark, Kafka, and NoSQL databases like Cassandra or MongoDB
- 2+ years of experience working directly with end customers to assess needs, identify solutions, and constructively resolve disagreements
- Experience in supporting production software deployments
- Technical expertise across all deployment models, including public cloud and on-premises infrastructure
- Experience in creating, documenting, and communicating software architectures for complex products
- Experience in building, tracking, and communicating plans within Agile processes
Eligibility Requirements