The Software Engineer applies engineering best practices to public transit software systems and products. Sometimes this means coding new applications from scratch. Other times this means using the best solutions the community has to offer. We use cloud services, open-source software, and modern tools as much as possible. Knowing what to build and reuse ensures that we optimize our time and efforts so we can focus on delivering the best value to our riders.
Duties and Responsibilities:Write production-quality softwareCreate appropriate unit and integration testsDeliver product features on timeDesign systems and architectures that scaleCommunicate openly with the team about issues and improvementsCollaborate with other engineers to reason through code togetherProtect the data security and privacy of the MBTA and its ridersHelp team members learn skills and overcome obstaclesWork and communicate effectively with product, design, and other stakeholders within the MBTAMinimum Requirements/Qualifications:Solid understanding of fundamental programming conceptsInterest in applying functional programming to solve problemsAt least two years of professional experience writing softwareWillingness to work on front and backend depending on the product needPreferences Include:Experience with Elixir (can be learned on-the-job), Ruby, Python, or SQLExperience with Javascript, Typescript, or ReactExperience with GTFS or real-time information Location: This role can be 100% remote or hybrid.
As a contracted role for the MBTA, we are unable to hire candidates who would perform their work in California, Connecticut, Washington DC, Hawaii, New Mexico, Pennsylvania, South Dakota, Washington, West Virginia, and Puerto Rico.
At this time, we are only able to hire US residents who will reside in the US for the duration of their employment.
Compensation: Pay rate range is $75 - $98 per hour (W-2), up to 1880 hours per year.
#J-18808-Ljbffr