Stop now: Don't become a dead-end developer
- 17 January, 2017 22:00
If you’re getting unclear direction from the boss, working long hours without proper compensation, or feeling like you can’t speak up, your career may already be accelerating toward a dead end. These are only a few of the symptoms of an engineering job gone wrong.
Or maybe you feel like you’ve been pegged: the invisible developer, the awkward communicator, the underachiever. You’re juggling multiple projects, chasing bugs, learning new skills, but you don’t feel like you’re growing, and your career trajectory looks flat.
What can you do about it?
If it feels like you’ve hit a wall and there’s no clear way to get moving in the right direction again, we have answers for you. Here we’ll explore common career pitfalls that lead to dead ends and how to recharge and build momentum toward growth. If this isn’t you, consider yourself lucky. We all know somebody who’s fallen into this trap. Share some of these tips with a developer friend who needs a fresh start.
Take a cold, hard look
If you have an inkling that your career has hit a cul-de-sac, the first step is to take stock in your standing from management’s perspective and that of your peers.
Here, Jeff McConathy, vice president of engineering for consumer services at Trulia, encourages engineers to get hip to business needs. Knowing how your work fits within the organization’s overall picture gives you a strong sense of whether you are at a dead end—and can help you transform your languishing role into a vital position.
“You can do this by attending all-hands meetings, lunch-and-learn sessions, quarterly planning meetings, and just through water cooler conversations,” McConathy says. “Learning about the business will help you go further with your career, and you’ll feel happier understanding how the work you do fits in.”
But if you’re slammed at work, you may wonder how to even grab a moment to get a big-picture look at your career. It might take less time than you think, says Shawn Drost, co-founder of Hack Reactor, a coding boot camp. It’s simply a matter of feeding the areas of your work life that are most important to you.
“A common problem/pitfall is that most developers put more time and effort into their restaurant choices than their careers,” Drost says. “There are a million things they can do to make improvements, but a great place to start is by dedicating one hour per week to improving your career.”
Here, breaking bad habits and leaning on your peers can be a great way to start.
“Assuming you know everything is one of the biggest mistakes I see many people make, regardless of where they are in their career,” McConathy says. “For developers specifically, I recommend taking advantage of code reviews and asking teammates for their perspectives on different projects or situations.”
Recognize your value
If you feel like the work you’re doing isn’t a priority for the company, you may be right. When your work isn’t helping the company make a profit, your influence diminishes. Demonstrating your work adds value to the company is essential to breaking free of the corner your career has found itself in.
Here, reframing your thinking from “yes, but” to “yes, and” is key. Once you make that simple shift, you’re going to become increasingly valuable to your firm. Instead of simply reacting, you begin to help guide the discussion and the direction of your projects.
“Be more open and responsive to work toward acceptable solutions, and be flexible,” says Tom McLaughlin, senior infrastructure engineer at cloud security firm Threat Stack. “This will keep you involved in the decision-making process.”
“Leaders bring proposals and suggestions to a problem, not complaints and vented frustration,” agrees Don Griffin, director of engineering at Sencha. “Solving problems is valuable to any business, while pessimism and a negative outlook are costly. If management sees you as a force for positive change and improvement and that you are focused on problems that affect the business, you’ll be considered a valuable asset.”
Another frequent pitfall comes when engineers focus too much on technologies they’re excited about—but that don’t move the company forward.
“Most developers enjoy finding and working on interesting technical problems, after all that's why they started programming in the first place—solving puzzles is fun for programmers,” says Harj Taggar, CEO of Triplebyte. “It's a common mistake for developers to gravitate toward solving technical problems they find interesting rather than thinking about which problems they could work on that would make the company more successful and users happier.”
Sencha’s Griffin amplifies the point: “Focusing purely on the technologies that you love at the expense of making wise business decisions can make your boss look like he or she made a poor decision and will greatly limit your career.”
One way to show that you’re helping the business, says Threat Stack’s McLaughlin, is to creatively develop applications that increase what your colleagues can do, and not necessarily the tech-savvy ones.
“Be repeatable, be faster, be a multiplier,” McLaughlin says. “I’ve often found myself building tools to let others do what used to be my job. What used to be my work can now be performed by many people. What used to be one person’s or one team’s job may not scale effectively, so everyone needs to be innovative and find ways of automating processes and enabling others to become involved in the work.”
You can also bounce ideas off your peers—product managers, for example, or members of the design team—to make sure the products being developed create a positive experience for users.
“It’s also a great way to bring your ideas to the table and add your unique perspective to the business,” Trulia’s McConathy says. “In the end, the relationships you build allow others to recognize your value and will increase your chances of being tapped for future projects.”
Get out of the rut
If coding skills were all that engineers needed, they wouldn’t find themselves stuck in dead-end scenarios. But if you’re unsatisfied with your career path, it may be time to assess your own communication skills and find ways to increase your options by reaching out.
“You need to learn how to listen to users,” says Triplebyte’s Taggar, and learn how to translate that to the product you’re developing. It can be harder than it sounds: “As Henry Ford said, ‘If I'd asked my customers what they wanted, they'd have told me faster horses.’ You have to be like a doctor, where you listen to the patient and list out all the symptoms, but ultimately you have to make a call on the diagnosis.”
“Solid communication skills, both spoken and written, make great developers stand out,” says Sencha’s Griffin. “Can you explain the essence of a complex issue to less technical people in your organization? If so, they will seek your advice on such things simply because they understand you.”
McConathy advises seeking out any opportunities for public speaking to increase your visibility in the company. Those situations can feel awkward—but getting over that fear is the point.
“This includes speaking in team huddles, larger all-hands meetings, and volunteering to give product demos to others within the company,” McConathy says.
McConathy also recommends honing your writing skills. “Take advantage of any opportunity that comes your way to write,” he says. “For example, if your company has a tech blog, volunteer to be an author and commit to publishing a steady cadence of content. It’s an excellent way to build your own personal brand, while fine-tuning a skill. On top of that, be approachable. Be the person others seek out for help and for opinions. This grows your internal network, and helps you be more visible in the company.”
Here, Hack Reactor’s Drost suggests managing up. “Learn to ask your manager for what you want,” he says, “and how you can do it in a way that benefits the business or makes the manager’s job easier.”
Stay put or move on
Now that you have some ideas on how to kick-start your career, you must consider the big question. Is it possible to make the changes you need to be successful at your current gig by breaking the mold you’ve found yourself in? Or is it time to find another place to work and begin anew?
“If you’re feeling stuck, start trying to fix it by making small incremental changes,” says Hack Reactor’s Drost. “Tell your manager that you're feeling stuck, and ask for help and guidance in examining yourself and your environment to determine the problem and the solution. If you have a history of being/falling into a rut, get ready to do some serious work. Try to do this for six months, and if it doesn’t work, consider an internal transfer—if the manager is the problem—or a new job.”
Triplebyte’s Taggar agrees the answer of whether to stay or go comes down to your relationship with the boss.
“Whether you can break the mold at your current employer is highly specific to your manager,” Taggar says. “If you've been transparent in your thoughts and frustrations and there is still no clear plan to get on a trajectory you're happy about, then it's time to move on.”
If, after working to improve your situation, you decide moving on is the best next step, expect new challenges. Fresh perspective can be exactly what’s needed, but it’s important to realize there are costs associated with starting over: First up, negotiating.
Getting paid top dollar is certainly harder if you need to work on communicating what you want. How should engineers learn to negotiate salary? And what about time to learn new skills (languages, stacks, soft skills) to avoid finding yourself, again, in a dead-end dev job in a different cubicle at a new employer?
“Negotiation is the most valuable skill for a developer to study,” Hack Reactor’s Drost says. “Five hours of study and practice can increase your career earnings by hundreds of thousands of dollars over a career. It’s an awkward process, but you need to get over those feelings.”
McConathy says you need to get a lay of the land and understand the culture of the company you’re interviewing with.
“When you’re talking to other engineers in an interview, be sure to ask what opportunities they have had to learn over the past year and come to the interview with your own ideas of how you’d like to keep learning,” he says. “When you’re interviewing with a potential new manager, make it clear that growth is important to you and share plans on how you hope to continue developing. We always ask potential hires how we can help them develop professionally, so have that answer ready.”
As for the specifics on salary, McConathy recommends research.
“Leverage resources like Glassdoor to understand the average salary of your peers in the area,” he says. “In San Francisco, there is a lot of competition for talent, so if you negotiate for more, base it on facts. Cite specific skills you’re bringing to the table and show the company why you’re a stand-out candidate.”
It’s not salary alone that needs negotiating. To keep growing you need time to expand your knowledge, whether it’s security, cloud-based efficiencies, a different stack, or any other new tech.
“The best way to avoid dead ends is to learn new skills,” Drost says. “And the best way to learn new skills is on the job. Second-best is to study with others, in a class or a study group. But recognize that the hard part isn’t the subject matter: It’s motivation and time.”
Find a balance
Once you’re worked your way out of your rut, it’s important not to backslide. Here, the secret is finding the right ratio of work to recreation and your home life. That balance will help you stay grounded, but the recipe varies from engineer to engineer.
You need realistic boundaries, says McConathy. “Take a moment to really think through what works for you,” he says. “For example, when I was in the coding trenches, I quickly learned that I did need to take a break, so I made a rule that I would resist working on weekends. Once I made that commitment to myself, I saw an overall improvement in my happiness and energy when I went into work Monday morning. Fresh minds mean even better results.”
Technology consultant Wesley Higbee advises having a plan to make sure you’re getting a good work-life mix.
“The problem is we often obsess over one and not the other,” Higbee says. “Neglect leads to regret. The key is to have goals that you’re excited about both in work and in life, thus an incentive to prioritize each. And there’s nothing wrong with prioritizing one more than the other, just be intentional.”
- Download: Developer career development guide
- Download: The professional programmer’s business survival guide
- Download: 29 tips for succeeding as an independent developer
- 10 resume do's and don'ts for developers
- Start an indie dev business without quitting your job
- 7 deadly career mistakes developers make16 ways to build a better dev team
- 21 hot programming trends—and 21 going cold
- The 7 most vexing problems in programming
- The power of lazy programming
- 7 bad programming ideas that work
- 9 bad programming habits we secretly love
- 22 insults no developer wants to hear
- The 13 developer skills you need to master now