Location: Seattle, WA, New York, NY OR Los Angeles, CA (Hybrid)


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 

Metropolis is seeking a Senior Machine Learning Software Engineer to accelerate the development of our proprietary computer vision and machine learning software that powers our mobility products.  As part of the Metropolis Machine Learning Team, you will be responsible for the development, deployment, and ongoing optimization of edge-deployed software. These systems are foundational to the Metropolis platform and have correspondingly large potential impacts on Metropolis and its customers.  You will find this to be a challenging opportunity filled with unique technical and operational considerations while being able to learn from and leverage our existing Computer Vision based development and operational ecosystem. 

The right candidate will possess a strong background in C++ and OpenCV, experience with computer vision and ML on edge / embedded systems, and demonstrated experience taking complex software systems from concept to production.  You can expect to be working on all stages of the software development pipeline – from problem analysis and design to prototyping and deployment.  You should be able to thrive and succeed in an entrepreneurial setting, working collaboratively in a fast-paced environment with multiple stakeholders.  You won’t be afraid to break new technological ground at Metropolis and are more than willing to roll up your sleeves, dig in and get the job done.



  • Work with the Machine Learning Team to design, develop, improve, and optimize computer vision, machine learning and application software on edge devices using C++.

  • Participate in all phases of embedded software development, from concept and design to deployment and maintenance.

  • Identify top-level software requirements and establish development best practices.

  • Deliver high-quality C++ code in a real-time embedded environment.

  • Implement, manage, and support over-the-air software updates to edge systems.

  • Communicate ideas and results effectively, verbally and in writing, to a wide range of technical and non-technical audiences.


Requirements and Qualifications 

  • BS, MS, or Ph.D. in a Computer Science and Engineering or relevant discipline.

  • 5+ years experience in modern software design, development, version control, refactoring, and testing

  • 4+ years of experience with C++ and a strong understanding of object-oriented programming

  • 2+ years of experience working with OpenCV.

  • Experience in parallel computing, accelerator architecture, CUDA, CUDNN, and TensorRT libraries.

  • Experience with ARM Cortex series microcontroller

  • Experience deploying ML services to the cloud, including API development and design for scalability, performance, and reliability.

  • 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

  • Strong preference for candidates to be local to the Seattle area. Will also consider candidates in Los Angeles, Nashville, and New York. Remote for exceptional situations.

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. The anticipated base salary for this position is $130,000.00 to 200,000.00 annually. The actual base pay offered is determined by a number of variables, including, as appropriate, the applicant's qualifications for the position, years of relevant experience, distinctive skills, level of education attained, certifications or other professional licenses held, and the location of residence and/or place of employment. Base pay is one component of Metropolis’s total compensation package, which may also include access to or eligibility for healthcare benefits, a 401(k) plan, short-term and long-term disability coverage, basic life insurance, a lucrative stock option plan, bonus plans and more.

Apply for this Job

* Required
resume chosen  
(File types: pdf, doc, docx, txt, rtf)
cover_letter chosen  
(File types: pdf, doc, docx, txt, rtf)

Please reach out to our support team via our help center.
Please complete the reCAPTCHA above.