How do you encourage an engineer to work on “uncool” projects?
Projects like writing the contents of an Excel spreadsheet into the correct format in the database need to get done. Like checking if the dates are ISO-8601. Doesn’t sound too glamorous. Imagine if you were the engineer explaining the project at a social gathering. If you said, “I write code to make sure the date formatting is right, gotta watch for time zone changes…” I don’t believe you could get anyone excited.
I want to work on cool projects. I think everyone does. I understand the desire to work on “glamour” projects. This could be anything an engineer finds intellectually challenging or something Hacker News deems as cool. 99% of what I do is “plumbing.” I don’t think I could get anyone jumping up and down for what I must work on. Write shell scripts, write specs, write more documentation, write a ticket in Redmine. Write write write. All this is plumbing for the future.
So what can you really do to motivate anyone working on plumbing?
As a lead, you must sell the vision correctly to the team with a concrete reason why everyone works on the “boring” stuff. There’s a company reason – that’s explaining how the plumbing contributes to the bigger picture like every component of a project bringing an additional $X million dollars to the company. Not everyone’s going to be completely be swayed so you’ll have to understand each individual is motivated. My former boss would tell me my shares would be worth something when we complete the acquisition. Good enough for me. Other engineers were drawn towards learning lockless algorithms so getting through the plumbing to enable working on those technologies was their motivation.
You may have one junior engineer who doesn’t feel like doing any grunt work. I’ve heard many reasons. One perspective is because you’ve been there longer at the company – you’ll get rich. Shares for a junior engineer won’t amount to much. For young grads, working on cool projects is a stepping stone to advance their career and make money elsewhere. I remember about 8 years ago working on iOS drew attention from college graduates. These days neural nets are all the rage. This engineer fears if a resume doesn’t have machine learning they’re doomed to closing tickets on JIRA for a municipal tax code app written in Perl for the rest of their career. (From my perspective, if you can make money doing that, that’s a great business.)
Let’s tie all the way back to the beginning. If all the engineer can say is “I wrote a system to parse files and check timestamps,” this engineer might get dismissed as not having enough experience in an interview. They need to distinguish themselves from the rest of the other applicants. They are motivated by picking up more skills for a better job down the line.
Previously, I only wanted image processing projects because I wanted to explore that space, write papers, and then apply for a PhD. But I can’t get everything my way. I understand I’m paid to solve business problems with technology. I’m not paid (yet) to devise a neural net capable of drawing calligraphy fonts, as much as I’d like to work and be paid for that.
Fundamentally a business cannot exist by having everyone work on “cool stuff.” That’s a research lab and those require funding. I don’t think there’s an issue with an engineer pursuing their interests in their free time. I’d encourage that. If they really want machine learning projects at work – then they take the responsibility to find a suitable use case in production, rather than trying to shoehorn machine learning into everything they’re doing.
So what should you do if an engineer still insists on working on cool stuff?
Quoting another engineering manager, “Glamour can’t come from working in a box.” He means rarely anyone gets assigned a job to work on “cool things” in isolation. You have to keep working on plumbing. People need to know they can trust you with the important crap before you can go look for the diamond. Make the work glamorous. Look for systems critical to the company and aren’t sexy to work on. If you’re available during the darkest day of a system to turn things around, you’ll be in a better position to build on that social capital. That’s glory. Imagine the iconic scene in Shawshank Redemption of a prisoner crawling through lengths of sewage plumbing to be free.
My take is slogging through plumbing gives you fundamental skills you need to take a “cool project” all the way. Boring comes up all the time and you simply have to work through the issues. That takes time. I’d keep emphasizing what the “boring” work enables. If the engineer is not convinced, then maybe they’re not a good fit for the team. Maybe you need to work on your ability to persuade.
Fair enough?
Leave a Reply