Principal Software Engineer
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 in opportunity. We’re building the digital pipes through which the future of mobile commerce will move.
The Role
You will lead the architecture and implementation of our mobility platform. As we continue to grow at an accelerated pace, we want to hire engineers who will be responsible for enhancing our platform and ensuring that it scales with the business. You should have the capacity to architect complex systems that bridge the physical and digital worlds.
The ideal candidate would be someone who has experience scaling systems from a few thousand to millions of users. We are looking for someone who is comfortable writing code and equally at home mentoring our engineers. Your contributions would be critical to the organization and you will be given the freedom and autonomy to create the technical roadmap to ensure the long term success of our platform.
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. Our goal is to build an inclusive culture where everyone has a voice and you will play a key role in building and maintaining this culture.
Responsibilities
- Set the foundation of the engineering platform to meet the company's growth objectives.
- Take ownership of all software architecture decisions across the stack.
- Set the bar for the engineering team and mentor the engineers to help them grow professionally.
- Proactively identify and design solutions for the parts of the platform that need to be improved to ensure scalability and high availability.
- 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.
- Collaborate with Product, Operations, Technical Operations and Finance leaders to understand the changing needs of the business and build solutions that would allow Metropolis to scale nationwide and globally.
- Be a key part of hiring the rest of the engineers and setting the culture with Metropolis Engineering.
Requirements and Qualifications
- MS or BS in Computer Science or equivalent work experience.
- 10+ years of experience as a hands-on Engineer, with at least 2+ years of experience as a software architect or principal engineer.
- Experience in high volume consumer facing applications.
- Hands-on experience with Scala, Java or other languages that run on the JVM is preferred but an excellent understanding of software engineering principles is more important than JVM experience.
- Proven experience building distributed systems using SOA, microservices and related technologies.
- Experience with large scale data processing.
- Experience working in an agile development environment.
- Hands-on experience with CI/CD tools and testing methodologies like BDD or TDD.
- Strong experience with database technologies, including NoSQL data stores.
- Strong experience with event driven architectures and related technologies.
- Demonstrated ability to attract and hire the best engineers.
- Offices in the New York, Santa Monica or Seattle areas. Remote for the right candidate.
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.