This week we released a Github project called web-blueprint that documents our practices and opinions on web development. If you're a prospective client or hire, our hope is that you'll learn a little bit more about what web engineering at Rocket is all about. [By the way, we're hiring!]
I'm sure you've often found yourself asking "How do we usually...?" within your own team. I know we have.
Six years ago, Rocket was five people in a small office in Newburyport, MA. Back then, when someone asked "How do we usually...?" it was easy to yell across the desks and answer. We had fewer people and projects under our belt, so the answer was also probably somewhat straightforward. Flash forward to 2021, and now we're over 150 people around the world and we've done hundreds upon hundreds of projects for many clients. It's become a heck of a lot more difficult to answer the question "How do we usually...?"
We're also getting this question at a more frequent pace from new hires as well as people who are interviewing with us. Even experienced folks at Rocket who are encountering a new situation ask the question. We also struggle with consolidating what we consider our principles and practices in one place.
We have plans to grow a lot more, and so we needed to get ahead of this issue before it got out of hand. How would we do it? A wiki page? Ergh, feels too businessy. A "Best Practices" Google Doc? In a company full of experienced engineers with Strong Opinions, Loosely Held, that's a tough one to nail down. Also, we happen to believe that there is no best practice, as each situation is pretty unique.
So, we decided that the best way to do it was in true engineer fashion: By using a Github project and collaborating on it together. We call it web-blueprint.
The pull request process is a great way to collaborate and allow others to provide useful feedback before content goes live. Github also allows us to have a public project on our Rocket Insights organization with an MIT license. We wanted to share this project with the world so that you all get a better idea of how we work. It's also nice to have this public facing so that if you're thinking about working for or with us, you get an idea of what a project will be like with us.
Finally, how did we address the problem of everyone having an opinion and being heard? 😰 We settled on the idea of "Soapboxes" (as in, get up on your soapbox and shout). These are docs that any engineer at Rocket can create on a particular topic. We vet them through a pull request process and it allows freedom of expression for our talented engineers and also allows a more diverse array of opinions.
So far, the feedback has been good, but we'd love more! Let us know what you think in the issues on the project.