What is the Role?
Looking for a Senior Software Engineer driven to solve hard problems in novel, elegant ways, and grow highly scalable systems. You will work on scaling out an out-of-home digital ad exchange that is capable of handling billions of transactions. Some of the things you'll do:
- Ship small to large features independently
- Pair with other senior engineers on the team to help deliver key initiatives
- Work with and mentor fellow software engineers to enhance our platform.
- Play a key role in shaping our team, our roadmap and our technical strategy.
- Operate in a team that follows best practices for shipping good software, including documentation, comprehensive testing, CI/CD hygiene and code instrumentation
We’d love to hear from you if you:
- Have 3-5 years of full-stack software engineering experience with a track record of building clear, maintainable code, and engineering large-scale systems
- Have strong experience with Python or comparable server-side languages, like Java or Node
- Have experience in frontend technology using HTML/CSS/JavaScript
- Have experience in building out well-thought functional and unit tests
- Have experience using metrics and monitoring tools/frameworks to handle performance optimization or to provide visibility into the systems
- Have experience with architecture and development of business solutions and acting as a thought leader in cloud-based technical solutions
- Have experience of mentoring, educating and motivating young developers.
- Have strong problem solving, analytical and critical thinking skills
- Are a strong communicator who communicates effectively across groups, locations and cultures, in-person and virtually
- Have a Bachelor's degree in Computer Science, Software Engineering, Mathematics, or a similar field or applicable experience in the industry.
- Some technology and tools we use:
- Python, Django, Javascript, React, gRPC as the main languages and frameworks of choice
- AWS Lambda, Kubernetes for running our applications
- Postgres, S3, Elasticsearch, Dynamo, Snowflake as data stores
- Spark, Airflow for ETL, DAG management
Compensation
The expected compensation for this role at time of hire is a salary range of $130,000 - $165,000, plus bonus (based on level and performance), and stock options.
Interview Process
- 1 or 2 preliminary phone screens of 45 min each
- Virtual onsite that consists of 4-5 rounds (45 mins each) spread across 1 or 2 days meeting:
- Stakeholders (like Product, Operations, Technical Account Management)
- Development team (to gauge problem solving skills)
- Infrastructure team (to gauge technical architectural skills)
- Hiring Manager / VP of Engineering
- CTO round (optional)
Your first 30 days:
- Learn and understand corporate, departmental and team goals
- Work with the Product team to have a clear understanding of the product roadmap
- Identify and incorporate tools needed for working on the transaction processing platform
- Diagnose and troubleshoot production application issues
Your first 60 days:
- Gain a good understanding of the landscape
- Pair with team members on committed initiatives
- Work collaboratively with other engineering teams and incorporate best practices
- Work with stakeholders and formulate delivery plans for key initiatives
Your first 90 days:
- Provide hands-on technical leadership in the development team
- Drive architecture for the team, consistently designing code that is aligned with the overall service architecture
- Promote and drive innovation in technologies, processes, and tools
- Deliver projects on time and budget, ensuring quality standards are met
- Mentor and develop team members, provide constructive feedback on design and code quality and build an inclusive culture with high performing teams
- Help define and enforce development practices, including unit tests and code reviews.
- Develop a deep understanding of the business environment and strategy