Buf is building a new paradigm for APIs. Our open source and commercial software helps companies adopt Protobuf schemas throughout their stack, from gRPC APIs to streaming data in Kafka. Founded in 2020, we have raised money from leading investors, including Lightspeed, Tiger, and Addition. We’re deployed everywhere from small startups to the world’s largest enterprises, and we’d love your help growing even faster. Check out our open source projects on
GitHub and join our Slack community to see what Buf is all about.
About the role
We’re looking to hire an experienced Go engineer to join our top-notch team of engineers who are responsible for building Bufstream, a drop-in replacement for Apache Kafka® that's 10x cheaper to operate.This team’s responsibilities include, but are not limited to:
- Enhancing Bufstream with the features our customers are most interested in.
- Ensuring that Bufstream is Kafka-compatible, including unspecified behaviors in various Kafka clients in a variety of languages.
- Continued performance optimizations to save our customers money and improve latency/throughput.
- Supporting our earliest customers as they onboard to ensure their success. This includes quality documentation, thorough and relevant examples, and polished demos.
- Recording metrics and building dashboards so customers have confidence in the performance and correctness of their systems.
You will be responsible for:
- Understanding the technical, functional, and business needs of Bufstream, and our users.
- Taking user-facing issues or missing features all the way through to completion: breaking them down, building them, documenting them, supporting them, and debugging/fixing them as needed.
- Developing systems that support the security, integrity, availability, and performance of Bufstream.
- Moving quickly and pragmatically while managing trade-offs, and maintaining a healthy balance between velocity and perfection.
About you
We’re looking for someone who has:
- Demonstrated expert-level knowledge from 5+ years of experience owning Go projects as part of a team of software engineers in areas relevant to this role.
- A track record of architecting, building, debugging, and supporting robust and reliable production-grade distributed systems.
- Someone who is self-motivated and willing to get their hands dirty to unblock themselves and solve problems.
- Excellent communication skills (voice chat, Slack, and docs).
- Data engineering experience, especially with Kafka.
- A drive to push the boundaries in terms of quality, reliability, and algorithmic possibility.
Ideal candidates would also have:
- Experience working in early-stage start-ups; comfort wearing lots of different hats.
- Experience working on products that target developers (e.g. dev tools).
- Experience with Java.
- A bachelor’s or master’s degree in Computer Science, Computer Engineering, or Mathematics.
- Working hours that significantly overlap Eastern Time.
Interview process
Our total interview process is approximately 4 hours. Here is what you can expect:
- Introductory stage
- [60m] Hiring manager interview
- Team interviews
- [60m] Coding interview (in Go)
- [60m] System design interview
- Final conversations
- [30m] CEO interview
We will reserve time in each interview so we can answer any questions you might have, and you are welcome to request additional conversations anytime during the process if that would be helpful for your decision-making.At Buf, we embrace diversity. We know that diverse teams make great teams, and we encourage people from all backgrounds and life experiences to apply. It is our goal to ensure that our workplace can be anyone’s workplace. If your experience isn’t an exact match for this job description, we encourage you to apply anyway! We’re always looking to add diversity of thought and perspective to our team.By submitting an application, you agree to the retention of your personal data for consideration for a future position at Buf.
More details about Buf’s privacy practices can be found at: https://buf.build/resources/privacy/.