Software Engineer (Data Platform)

MBTABoston, United States
Full TimeOn-siteMidLimited info disclosed
1 views0 applications

Description

Job Summary The Software Engineer is an independent contributor who delivers features end-to-end, contributes to team-level improvements, and operates effectively across multiple parts of the tech stack. The position shapes technical solutions, refines requirements with Product Managers, and improves code quality and code maintainability leveraging software engineering principles and practices. DATA PLATFORM The Data Platform specialization focuses on building, operating, and improving MBTA's data ingestion, storage, transformation, and serving systems. Engineers in this specialization develop pipelines, maintain OLAP databases or data lakes, support analytics workloads, and ensure reliability, observability, and data integrity across MBTA's data infrastructure. Work includes operating compute environments, developing data transformation logic, and applying modern data engineering principles to support MBTA's business intelligence and operational decision-making needs. Duties & Responsibilities Perform a wide variety of software engineering tasks primarily in the relevant languages. Deliver and maintain well-architected features from design through implementation. Demonstrate strong fundamental coding and debugging skills by writing reliable, maintainable code while demonstrating a strong understanding of possible tradeoffs to meet deadlines by effectively articulating impacts and proposing solutions. Contribute to on-call rotations and address routine incidents. Follow engineering standards, including code reviews, documentation, and testing. Participate and offer constructive feedback to improve. Improve maintainability and reduce complexity through refactoring. Investigate defects and lead feasibility assessments to identify improvements. Protect data security, compliance, and privacy across all work activities by following secure coding practices. Participate in team rituals (stand-ups, planning, retros). Work collaboratively with UX and PMs to refine requirements for difficult problems and reduce unnecessary scope. Participate in on-call rotation of technology systems and services. Perform all other duties and projects that may be assigned. Additional responsibilities may include focus on one or more departments or locations. See applicable addendum for department or location specific functions. Supervision No direct reports. Minimum Requirements & Qualifications Bachelor's degree from an accredited institution. Two (2) years of relevant professional experience in software engineering. Experience independently delivering features end-to-end to solve problems. Experience applying software engineering principles and practices to quickly and creatively achieve team or project goals. Experience with monitoring, on-call, incident response, and reliability engineering. Strong debugging and investigative skills. Experience with software testing best practices and CI/CD. Demonstrated ability to translate business requirements into technology. Strong communication skills. Demonstrated proficiency in at least one or more programming languages. As part of the selection process, candidates will be asked to complete and pass job-related technical assessments, which may include a software design diagramming exercise and/or a timed coding exercise. Ability to participate in on-call rotation of technology systems and services.