Years ago, I was the only engineer working with the marketing team at a startup.
I realized right away that many things had to be built for them to succeed. Far too many things for one engineer to build. But no one up top budgeted for a “growth engineering”* team. Especially not when the core product desperately needed help first.
But instead of giving up on the marketing team and that startup, I built, hacked, convinced, and cajoled other teams as much as possible to get what we needed.
It got so bad the core front-end team started to hate me and marketing.
But by the time things got bad with other teams, we managed to convince upper management to stop saying no. Management admitted that we were doing valuable work.
With that blessing, I hired a few great back-end people.
But relations with the core front-end team continued to deteriorate. Things got so bad they stopped helping us completely. Everything was now a “NO!”
So we took headcount we had earmarked for back-end people and hired a few front-end engineers.
But the crazy thing is that my team was only supposed to do back-end work. All of the front-end people in our hiring funnel were supposed to go to the core front-end team. They were short-staffed. And all we were “mandated” to hire was back-end. We did not let that No deter us; we went online, searched our network, and funneled in our candidates, and pushed them to apply to open roles. Never mind that it said “back-end developer.”
In hindsight, my pitch to potential hires seems nuts.
I told them, “If I don’t have enough front-end work for you, are you willing to learn back-end? We’ll teach you and help you.” And even though everyone else was saying No to us, many of these folks shockingly said Yes. They wanted to learn. And in software engineering, filtering for people who aren’t afraid to learn seems to be one of the best hiring filters of all.
By hiring a few front-end people, we practically created our own school to take front-end people and help them do back-end work in the spare cycles. And take back-end people and help them learn front-end if they wanted to, of course.
And it turns out that if you hire great people, it’s incredible how fast they learn.
Then months later, we spun up full-fledged systems and tools with beautiful UIs. We could do pull requests into the core product to get features out to customers.
And a few years later, by the time the startup was acquired, we had more full-stack engineers than any team in the company.
We could build almost anything.
The irony is that top people in the company would point to my engineering team and say, “see how innovative they are.”
But the truth was that everyone was saying no to us. We were forced to color outside the boxes.
The constraints pushed us to do things we would’ve never thought of doing. This experience forever taught me that I don’t need to build in the boxes they’ve set up for me.