At Branch, we’re transforming how brands and users interact across digital platforms. Our mobile marketing and deep linking solutions are trusted to deliver seamless experiences that increase ROI, decrease wasted spend, and eliminate siloed attribution. Our team consists of smart, humble, and collaborative people who value ownership over all we do to create a product, team, and company that lives and breathes our motto: Build Together, Grow Together, Win Together.
You will work alongside a small and deeply hardworking engineering group, building out services that power mobile experiences for a majority of top companies around the world. Today, we are powering over 12 billion API transactions a day and growing rapidly. You will wear different hats along the way, traversing our stack, working across our application and data pipelines using languages like Java and frameworks like Spark, while shaping our entire system architecture. If this sounds appealing to you, you will feel right at home at Branch!
If you are passionate about building scalable software services handling tens of billions of low latency requests per day, come join us!
As a Senior Software Engineer, Distributed Systems, you’ll get to:
- Build everything from APIs to backend systems across a range of technologies to support new and improved functionality that meets product needs.
- Lead the design and implementation of complex systems end to end - be it a new service to power new functionality or data pipelines to ingest large volumes of data or implementing state of the art complex algorithms.
- Scope, define and lead design and implementation across multi-functional teams. You will often take vague product requirements and be responsible for breaking them down into smaller components displaying committed prioritization and coordination.
- Work collaboratively with product managers, infrastructure, platform, and data engineers to refine requirements, architect, and implement complex systems.
- Debug hard problems - that’s a given! When things break, and they will, you will find yourself debugging those challenging bugs and will be eager and able to fix things.
- Mentor other team members and contribute to team growth.
- Continuously learn something new, whether it’s a new technology or a quirk of a language we otherwise didn’t know. On occasion, you may find yourself picking up a new language or working with an unfamiliar platform. If this does not intimidate you, and you're eager to dive in and get the job done you will be right at home.
You’ll be a good fit if you have:
- 4+ years of professional experience building backend systems and APIs.
- Strong experience in Java and comfortable diving into any language or technology.
- Experience with databases like Postgres, MySQL, and familiarity with Redis, Kafka, Memcached, Spark.
- Experience working with modern cloud-based microservice architectures.
- Experience building and debugging complex systems in a team environment.
- Ability to display significant ownership of features and systems and pursue a result-driven development approach consistent with pragmatism.
- Passion for building and shipping phenomenal customer-facing software.
- Ability to write readable and testable code.
- High attention to detail and a strong desire to continually improve.
- Kotlin experience is a plus.
A little bit about us:
- Branch has raised more than $330M from investors such as NEA, Founders Fund, and Playground Ventures.
- We are headquartered in Silicon Valley and have presence all over the world.
- Diversity at Branch ranks in the top 10% for similarly sized companies (by Comparably).
- We are ranked as the #3 fastest growing company in North America on Deloitte’s 2020 Technology Fast 500 list.
- In 2020, we were recognized as one of Forbes Best Startups, Great Places to Work, and Bay Area Best Places to Work. In 2021, we made Comparably’s list of the top 50 best engineering teams.
- We have more than 3 billion monthly users and are partnered with over 75,000 apps.
If you think you’d be a good fit for this role, we’d love for you to apply! At Branch, we strive to create an inclusive culture that encourages people from different backgrounds to bring their unique, diverse perspectives to work. We aim every day to build an environment that empowers us all to do the best work of our lives, and we can’t wait to show you what we have to offer!