Ready for your next challenge? Join as at Branch, where we’re building the future of discoverability for mobile search. On the Engineering team, you’ll build and ship code on a daily basis at a groundbreaking company, with incredible investors, and a diverse team of more than 250 people. We’re constantly releasing new products and solving challenging engineering problems at scale. Welcome to #LifeAtBranch.
View all open engineering positionsWork at Branch
What do you do at Branch?
Principal Scientist - I work on Discovery, designing and implementing core algorithms that power search and relevance for discovery. I also moonlight on the Fraud and Persona teams where I help to monitor, maintain and design next generation persona graph and fraud signals.
Across Infrastructure, Product Engineering, QA Data Science and Data Platform we are growing! During your 8-12 week internship program you'll get hands on experience that will accelerate your growth while you make an impact for our customers. You'll be part of a team where you'll learn new technical skills, meet new friends, strengthen our platform and tackle new challenges together.
What did you think about your internship at Branch?
It was better than my other internships because at a size of 150 people, you get to pretty much build stuff from scratch! Branch gives you insight into how some of the magic works behind the scenes. It lets you appreciate some of the things you take for granted at larger companies. It was also small enough that you get to pick up responsibility pretty easily.
What did you learn at Branch?
To work on my Airflow project, I had to go through most of the source code to understand how it works. This really helped me with a deep understanding of what I was doing. With the scale of data that comes in every day at Branch, one of the most important things that I learnt was how to think about building something that can scale to the huge data volume. I had a course on distributed systems in my previous semester, but only at Branch was I able to get a real experience on building scalable systems.
Branch sees over 7 billion mobile events across our platform on a daily basis. We leverage Apache Kafka to handle hundreds of thousands of messages per second (and warehouse trillions of transactions yearly!). We leverage Apache Flink (which we use to process and feed to HDFS), Apache Spark (which we use to do real time aggregation and decision making), and Apache Druid (which we use to do time series, multi-dimensional rollups for reporting and analytics).
Branch was an early adopter of Kubernetes and has been running large production clusters since 2016. We manage hundreds of microservices in K8s which keep Branch online. Our general deployment philosophy is to develop and deploy well contained stateless services in Docker containers to Kubernetes.
Branch is one of the core linking infrastructures of the modern mobile world. On a daily basis our customers and their users are generating hundreds of millions of new deep links per day. For this solution we leveraged Amazon’s DynamoDB and DAX to provide efficient, scalable and highly reliable core storage for the over 75 billion links we manage on our platform.