Staff Software Engineer - Data Platform
IT, Product & Data
About the Role
The Role
As a Staff Software Engineer, you will be a key member of the engineering team, applying advanced technical knowledge, broad knowledge of software engineering best practices, problem-solving, and creativity to build and maintain software products that achieve technical, business, and customer experience goals.
In this role, you will provide technical leadership and act as a trusted subject-matter expert across a variety of technical domains. You will also mentor and develop junior software engineers while contributing to strategic technology decisions, software architecture, implementation approaches, and engineering best practices.
What You Will Experience in This Role
Heavily participate in roadmap definition while working closely with senior product and engineering leaders.
Evaluate and help shape strategic technology direction and technology choices.
Provide thoughtful technical recommendations in sessions with scrum team members to structure source code and determine effective implementation approaches.
Promote engineering best practices with a strong focus on code maintainability, testability, performance, and overall quality.
Work closely with product management and business stakeholders to understand software requirements.
Help estimate epics, features, and user stories.
Script and maintain automated build steps, continuous integration systems, and staging environments.
Apply strong strategic thinking, judgment, decision-making, attention to detail, teamwork, organization, innovation, and initiative.
Mentor and develop junior members of the development team.
Serve as a technical thought leader and trusted subject-matter expert across relevant software and data engineering domains.
Responsibilities
Participate extensively in product and technology roadmap definition.
Collaborate with senior product and engineering leaders to establish technical direction.
Evaluate and recommend strategic technology solutions and approaches.
Provide technical guidance to scrum team members on source code structure and implementation strategies.
Ensure software solutions follow engineering best practices and maximize maintainability, testability, scalability, and performance.
Partner with product management and business stakeholders to understand and translate software requirements.
Support estimation of epics, features, and user stories.
Develop and maintain automated build processes.
Support and maintain continuous integration systems and staging environments.
Apply sound judgment and strategic thinking when solving complex technical problems.
Contribute to innovation and continuous improvement across engineering practices.
Collaborate effectively within Agile development teams.
Mentor junior software engineers and contribute to their technical growth.
Act as a technical thought leader and subject-matter expert across multiple technical domains.
Communicate complex technical concepts clearly to technical and non-technical stakeholders.
Document technical concepts, decisions, and solutions concisely.