OK, budding engineers, so you’ve read my first post and made your decision on whether to go into consulting or product development. (You mean you haven’t read my first post? Well, here it is. I’ll wait.)
Regardless of which path you chose, here are nine tips to help you pursue your career goals.
1. Don’t pursue career goals
It’s fine to have some ambition. (Although if your burning ambition is to get promoted into your boss’s position within two years, you might want to dial that back.) I’m just saying that you should have a system for achieving your ambition instead of chasing a series of goals.
What’s the difference? If you want to lose 20 pounds, that’s a goal. If you go to the gym every other day and watch what you eat, that’s a system.
2. Stay current with technologies and broaden your skills
If you’re serious about engineering, then you can’t stop learning when you get your degree (sad face). Learning is a lifelong process. Whether by attending courses and meet-ups or reading books and articles, you must expand your knowledge base if you want to succeed. It’s the only way to broaden your capabilities and responsibilities.
Let’s say you’re a UI developer. If you learn the middle tier and backend technologies, you can become a full-stack engineer. You don’t even necessarily have to acquire a new engineering skill. If you are a VP Engineering, for example, you might want to learn public speaking. If you’re a CTO, learn how to blog. (Doh!)
Every technology-related skill you learn as part of your system increases your probability of getting the next raise or promotion, or maybe even surviving a layoff.
3. Never stop writing code
As you move up the engineering hierarchy, the percentage of time that you’ll spend writing code will gradually drop. Just don’t ever let it fall to zero. By continually writing code and using the same tools as your team, you will keep your skills sharp and have a better understanding of the struggles they face. You’ll also be better positioned to guide them toward solutions.
4. Don’t fret about getting credit
Another change that will happen as you move into management is that you’ll no longer be judged on the efficiency of your individual contributions. (Oh my!) The new metric will be how effective your team is. That means you’ll need to adjust your system of continuous learning. Just as it’s important to stay on top of technology as an engineer, you’ll need to stay up to date on innovations in engineering processes — i.e. ways to make your team smarter and more effective. Don’t be the waterfall guy in an increasingly agile world.
5. Study better ways for teams to engineer code
Learn the meaning of all those funny WTF acronyms like TDD, BDD, DDD, OOD, and ATDD. (I thought I made that last one up, just to see if you were paying attention. Turns out I didn’t.) You also need to know when you should use them singly or in combination. Then mentor and encourage your team in adopting and using these processes.
Let’s say your team is struggling with code quality. Alarms are going off all the time, people are losing their nights and weekends responding to alerts. Business people are unhappy. You’re already in a pickle. TDD (test driven development), automated testing, peer code review, CI (continuous integration), and CD (continuous deployment) are process changes that you’ll need to learn and understand well enough to be able to teach your team.
6. Learn to plan a budget
If you think capex and opex are the names of cartoon superheroes, you need to get up to speed on the financial side of corporate engineering. (For the record, capex is a portmanteau for capital expenditures, opex for operating expenditures.) And it’s not enough to know what the terms mean — you have to understand how they impact your company and your department. Would you use opex budgets to reduce risk? How would you use capex to drive down costs?
7. Try not to vomit, but you should even learn PowerPoint
Being an effective leader sometimes involves advocating for your team, whether that means persuading upper management to sign off on a particular engineering approach or on a request for a budget increase. Making effective presentations to wider audiences (including those that aren’t engineering-savvy) requires a more effective approach than putting words on a page. Pictures are your friends. Learn how to use them. And, if you have a great Marketing team like we do, they’ll make using PowerPoint turnkey and impactful, and even offer training.
8. Work for a company with a strong engineer culture built around learning
At PebblePost we have weekly lunch & learn sessions where a volunteer presents some new and interesting technology, tool or algorithm. And everyone gets free pizza.
9. Finally, and most importantly, find a boss that will mentor you
We all own our careers, for good or bad, with no excuses. But building a system for career success is much easier when you have a boss who is willing to guide you along the way.
Dave Peterson is Chief Technology Officer at PebblePost.