The Principal Software Engineer, Platform will be responsible for the design and implementation of the Marin Platform infrastructure across all teams. Marin is built upon a Services Oriented Architecture that allows for low latency, high throughput, fault tolerant batch and real-time processing. The principal engineer will be responsible for optimizing communication between different services, coming up with new and better and faster ways to move very large amounts of data around.
An ideal candidate will be familiar with very large distributed systems, high job throughput, massive data pipelines and scaling for very large systems. They will live and breath performance tuning, and will enjoy baking different messages brokers off against each other to figure out which system is best for each use case. They would want to build bulletproof systems that can withstand a barrage of data and client requests.
Enhance and build the underlying infrastructure on which Marin Software builds its applications.
Discover innovative ways of improving Marin architecture.
Introduce new technologies to restructure existing architecture to improve throughput and performance, remove bottlenecks and add layers of reliability.
Introduce new ideas to improve all aspects of Marin architecture, from build systems to testing to continuous integration and deployment.
Troubleshoot and optimize existing platform issues, engineering our ability to scale.
Provide mentorship and education to other developers about how to use these services.
Be a pragmatist - sometimes new technologies may be fun and awesome, but completely impractical or impossible to swap into the current moving train - so one should be able to weight business and practical risks when selecting new technology directions.
Arrive at optimal solutions through the effective, collaborative, respectful interactions with other tech leads.
Previous position as a Technical Lead or Director of Engineering
10+ years of experience in a variety of complex distributed systems, playing a vital role in their architecture, delivery and ongoing maintenance through multiple releases.
Be able to work well under pressure and get things done. Ability to ship code. Relentlessly resourceful and scrappy. You thrive in getting to the bottom of problems and figuring them out.
Deep understanding of message brokers, databases, multithreaded systems and synchronization.
Strong knowledge of ActiveMQ (or other queueing systems), Spring, Hibernate, MySQL
Knowledge and experience with Hadoop and building systems to process large amounts of data
Experience building various interdependent services and having them talk to each other
Previous production experience: able to speak about systems design using theory, backing it up with war stories
Solid core Java knowledge and strong familiarity with Java VM configuration and tuning
Mastery of command line UNIX. We would love for you to wow us with your Unix tricks. You should be able to string more than 4 commands together and know what comes out at the end.
Team player with strong communication skills.
Exposure to the following types of technologies:
Message brokers ActiveMQ, AMQP (RabbitMQ, ZeroMQ, etc)
Traditional and NoSQL databases and knowing which ones are better for which use cases
Expertise with internals of data storage systems (databases, filesystems).
This is an on-site, full time salaried position located in the financial district of San Francisco, (one block from Bart station). Compensation depends on prior experience. Marin pays market-leading compensation and provides the best benefits in the country. Marin Software provides Equity participation, best in class comprehensive health plans including medical, vision and dental, in addition to generous PTO and reimburses 50% of monthly commuting costs for parking and/or mass transit up to the IRS limitations. Marin Software’s world headquarters is located in the financial district of San Francisco, with remote offices in Chicago, New York, Austin, and Portland. European headquarters are located in London, with additional offices in Singapore, Paris, Hamburg, Sydney and Tokyo.
About Marin Software
Marin helps marketers transform complexity into opportunity and win the battle for revenue online. A leading online advertising management platform, Marin offers a single interface for managing search, display, social and mobile marketing campaigns. The proven Marin platform is designed for advertisers and agencies of all sizes, enabling them to save time, make better decisions, and improve financial performance. Marin Software’s technology powers marketing programs for customers in more than 160 countries managing more than $4 billion of annualized ad spend. Headquartered in San Francisco with offices worldwide, Marin has raised a total of $105MM in funding and has over 425 employees.