We are a dynamic, lean, and fast moving engineering team focused on the consistent delivery of value to delight our customers. We care about the quality of our product and by working small with a continuous improvement mindset, we aim to leave our code well-tested and better than when we started.
Buffer follows a product-led growth strategy meaning we offer a comprehensive free plan for customers to use and experience our product and then we grow through providing enhanced capabilities on our paid plans. We learn through experimentation and use data to inform our next features or enhancements.
Our engineering architectural decisions and standards are shaped by the engineers that are closest to the problem. Which means that you will, through active participation in one of our working groups (sometimes known as guilds), be a part of defining standards and best practices at Buffer.
We pride ourselves in working with a small team mindset, collaborating closely across areas, and putting our customers at the heart of all decisions. Our product teams are made up of engineers, product managers, and designers who collaborate closely with customer advocates and marketing managers to deliver value to our users.
What you’ll be doing
You will own back-end development direction within our Content team, representing the team within the back-end working group and driving technical strategy within the team
You will build back-end implementations for user-facing features, optimize real-time data delivery across our clients and improve database infrastructure and query performance
You will play a key role in establishing best practices, systems and framework towards our migration to our GraphQL API
You will contribute to defining our back-end engineering standards to improve the consistency and quality of our codebases and processes.
You will improve observability, monitoring, and alerting for our services so that we can better respond to operational incidents
You will provide technical guidance to your peers through mentoring and code reviews
You will work closely with product managers, designers, and customer advocates to understand the needs of our users and assess the feasibility of various solutions to address these needs
You will join the engineering on-call rotation and support your team in keeping the lights on for the services we own by responding to incidents, fixing bugs, and performing day-to-day maintenance operations
Our tech stack
Our core stack is NodeJS and TypeScript, we use MongoDB as our main data storage
Our front-end is built with TypeScript and React to leverage typesafety provided by GraphQL tools
We use GraphQL for our Buffer API powered by Apollo Server, we have a legacy PHP REST API that we are actively migrating over our new GraphQL API
We heavily rely on GitHub and GitHub actions to continuously deliver and ensure code meets our quality standards
We are running our services on AWS with Kubernetes. We follow a micro-services architecture and are currently moving our services into a central shared monorepo (powered by RushJS/pnpm).
Helpful skills and experience
You have experience building resilient, well-tested back-end implementations at scale. At Buffer, we use NodeJS, TypeScript, MongoDB and GraphQL.
You are able to see the forest for the trees and balance long-term decision making with iterative approach of development
You acted as technical lead, owning the discovery, architecture design, delivery planning, and execution of complex projects, collaborating with other engineering teams and cross-functional peers across the organization.
You are passionate about writing simple, maintainable and tested code. You take a balanced approach to product engineering, embracing pragmatism over perfection in your work, you always seek to improve existing solutions and leave code in a better shape than you found it
You are product-minded, meaning you have strong interest in the product itself. You understand how customers use Buffer and why decisions are made. You empathise with customer needs and are passionate about creating delightful customer experiences.
You have strong communication and collaboration skills required to work in remote (often async) environment, you enjoy sharing knowledge with your teammates
We value the depth and quality of your experience, over counting years. That said, successful applicants typically have 7+ years of experience.