I get asked for career advice semi-regularly by people just starting out in tech. I don’t know to what degree I’m qualified to advise anybody, but the advice is always very different and specific to somebody’s circumstances. However, there is one recommendation common to everyone: be useful.
By that I mean: if you pick a company and get hired for a job, do that job. If the job changes or the company changes, then do your new job, or quit. But don’t try to do some other job. Be useful. Be the person your company needs you to be right now.
You’d think that would be obvious, but the opposite happens all the time. People get hired thinking they’re going to be doing task A, discover there’s more task B to be done, and declare “that’s not my job”. Okay, sure, it’s disappointing you don’t get to do A. But the company is not going to create a job for you doing A. Either you do B or you quit, or they will fire you.
Another way it happens is when, through the best of intentions, somebody attempts to grow in their career within a company. They’re doing A, they want to be doing B, they start picking up any B that happens to be lying around. That’s great! You should do that. But not if it means A doesn’t get done. When the company is big enough that you need two full-time people doing A and B, you can pick which one you do. But not before then.
Being useful is another way of saying “respond to market demand, not what you guess”. I thought I was going to be a Java developer in 2005, but Yahoo hired me to be a PHP developer. I could have said no and worked at a bunch of other Java companies, but that would have been a bad idea. Once at Yahoo I was supposed to be writing desktop software, but the team needed a website, so I built a website. Then there was a reorg and I found myself in another part of the company expecting to still be a web developer, but they needed a DBA, so I became the DBA. Over and over in my career, I have done the job that needed doing, and it’s made me valued at my job and more valuable as an engineer.
Right now I’m a COO. I don’t really enjoy talking to lawyers and accountants all day. I’m not jazzed about spreadsheets, generally, though they have a certain quiet satisfaction. But it’s the job that needs doing, and doing it is making the company better. It’s making me more valuable – if I ever decide to do a startup again, I know a lot more about finance than I did before – and it’s entirely an accident.
All that said, you don’t have to stay in one job forever just because it needs doing. If your career isn’t growing, by all means quit and find a job at another company. But don’t try to create that need at a company that doesn’t have it.
Do the job that needs doing. Be useful. And it will pay off.