Staff Software Engineer
Metropolis Technologies
The Company
Metropolis develops advanced computer vision and machine learning technology that make mobile commerce remarkable. Our platform is already deployed in hundreds of mobility facilities and industries with billions of dollars in opportunity. We’re building the digital pipes through which the future of mobile commerce will move.
The Role
We are seeking a Staff Engineer to lead design and implementation of our suite of mobility products. As a member of the Engineering team, you will have the opportunity to design and build systems and features from the ground-up. Someone in this role will be expected to be a technical expert on Scala (or JVM related languages) that the team can leverage for guidance and advice, but who is also not constrained by programming languages, development paradigms and frameworks when pursuing the best solutions for our customers.
Your responsibilities won’t be limited to just designing and implementing the code. You will also have a big role to play in defining the direction of our product, mentoring other engineers, and assisting with architecture design. You will work closely with Engineering leadership to define roadmaps, participate in project prioritization, and support hiring activities.
Responsibilities
- Design, implement and maintain the backend services that make up the Metropolis mobility platform.
- Be a key part of the entire development lifecycle, including ideation and identifying requirements.
- Moderate technical discussions, evaluate new techniques and ensure our platform is constantly evolving and improving.
- Leverage best practices in automation testing and deployment to enable rapid iteration and launch of new features.
- Help build a culture where bugs and mistakes in Production are treated as opportunities to improve the platform.
- Be a key part of hiring engineers and setting the culture with Metropolis Engineering.
- Ensure that the systems we build are highly available and scalable.
- Work directly with our partners and build solutions that seamlessly integrate their products with the Metropolis platform.
Requirements and Qualifications
- MS or BS in Computer Science or equivalent work experience.
- 8+ years of software engineering experience
- Proven track record of designing and delivering large-scale, high quality systems and software products, preferably in high volume consumer facing applications
- Expert level knowledge of Scala, Java or other languages that run on the JVM and support functional programming concepts
- Experience building distributed systems using SOA, microservices, event driven architectures and related technologies and paradigms.
- Deep understanding of agile engineering processes that support the entire software development life cycle, including TDD/BDD, CI/CD and related build/test/deploy processes.
- Strong experience with database technologies, especially MySQL/RDS and solutions.
- Hands-on experience with container technologies and infrastructure as code techniques would be a plus.
- Demonstrated track record of developing engineers through mentorship and coaching
- Excellent written and verbal communication skills with a proven ability to present complex technical information in a clear and concise manner to a variety of audiences
- Previous experience working inside innovative, high-growth environments
- Preferred local to the New York, Santa Monica or Seattle areas. Remote for exceptional candidates.
When you join Metropolis, you’ll join a team of world-class product leaders and engineers, building an ecosystem of technologies at the intersection of parking, mobility, and real estate. Our goal is to build an inclusive culture where everyone has a voice and the best idea wins. You will play a key role in building and maintaining this culture as our organization grows.
Something looks off?