Published: August 04, 2021 • 2 min read
This week in conversation I made this argument:
Working at a quality software development consultancy like Hashrocket early in your programming career could be a game-changing move.
For background, I worked for six and half years at Hashrocket in Chicago. I started as an apprentice and left as a senior developer. I worked with brilliant people on interesting, challenging, and profitable products. I got to write Ruby, Elixir, Node, React, SQL, and even some PHP, spoke at RailsConf and ElixirDaze, and drove internal projects.
I loved it. And I think consultancies can be a valuable stop for a junior developer on the rise. Let me explain why.
In Trap of the Premature Senior, Charity Majors argues that genuine seniority as an engineer comes from starting over several times on several teams. Without these repetitions, we’re awarded the ‘senior’ title without earning it.
I call these restarts ‘cycles’. At Hashrocket, I often changed teams three times in one year. That’s about 15-20 cycles in my tenure.
With each, I’d get a new pair, project manager, client developers, stakeholders, and designers, as well as tech stack and set of problems. I’d introduce myself each time and have to prove my abilities. I had the opportunity to reinvent myself. Consultancies give you a lot of cycles, and each time you get better.
Can’t I experience these cycles at a product shop? It’s not guaranteed, and it will be slower. At a product shop you might change teams once a year; many developers never change teams. No change, no cycle.
If change does occur, it will be slower because the changes will be less frequent. Changing teams at a product shop is disruptive. In consulting, it’s part of the business.
Here are some other things I took from consulting.
Deep interpersonal experience. Concluding my time at Hashrocket, I’d seen wide ranges of expertise in product managers, designers, and stakeholders. I feel blessed to have worked with some stellar people. And as a result, I’ve realized that the chances any individual team member is the best at their job that I’ve ever worked with is low. And I can imagine where I fall in other’s estimations.
Confidence. Consultancies like Hashrocket foster pride in being a developer. I felt like I was bringing something special to every project. Clients chose Hashrocket from a vast marketplace– we knew this and were proud. In a profession wracked with Imposter Syndrome, that quiet confidence is powerful.
Best practices. We competed to be the best because that meant better projects and the respect of our peers. Coming from consulting, I felt like a rock star with a medley of bangers that nobody outside our team and clients had ever heard.
I expect these benefits to wear off with time. At Test Double they call this getting pickled. And then it might be time for another tour at a consultancy.
Consulting is an excellent place for a junior developer to build the skills and confidence your need to wear that ‘senior’ title with pride. Come in with some experience, get your cycles, make an impact, and move on.
Big thanks to all the rock stars I’ve worked with, then and now.
Get better at programming by learning with me. Subscribe to my newsletter for weekly ideas, creations, and curated resources from across the world of programming.