Michele Wickham

The mostly coherent ramblings of a web developer.

What does it take to become a professional developer? Part 1

Sun, 10/30/2011 - 13:20 -- Michele

This series of articles is written at the request of a dear friend of mine who is finishing the last quarter of her CS degree. I think it's a great topic and hopefully for anyone else who is currently a developer in training or considering changing careers, it will offer some food for thought. But mostly, this is for you, M, and anyone else who needs a little encouragement.

What's the Industry Like?

The money is good, the jobs are abundant. In spite of that, many developers burn out and leave the field after only a few years. Horror stories abound - long stretches of 80 hour weeks, 24-hour work days, 24/7 pager duty, slave-driver bosses who have no knowledge of code themselves yet request features in two days that would take weeks to create. The list goes on and on.

Yes, it can be like that in the industry. Long hours are not unusual for brief stretches of time - it's endemic for a variety of reasons, the most common of which is the constant churning of a relatively young industry. A lot of this instability is more pronounced in specific segments such as games, commerce, web development and mobile. In these areas, technologies that were cutting edge two years ago are now obsolete. Developers are constantly retooling and as a result the ability to estimate how long something might take can change drastically, leaving project managers and their bosses in a bind.

As an old timer, I can offer this - expect overtime during launch-time sprints and plan your vacations and other life-activities accordingly. With the right team, it can be exhilarating. If the team feels a sense of ownership and pride in their product they'll gladly accept overtime rather than deliver something substandard. Good employers show their gratitude for your hard work, offering comp time and morale boosting extras. A good employer actively tries to avoid these situations, knowing they risk burning out the most valuable asset in their company - their people.

However, if you end up in a situation where the overtime is constant, grinding, and painful, that is the symptom of poor planning and too few resources. Burnout will prevent you from advancing your skills or feeling energized about what you do. Such environments seldom improve and eventually implode. Find an employer who respects the limits of human physiology and supports good mental health. Overtime should be a last resort, accepted and embraced by everyone on the team, not a constant.

Is the field stressful? Sure, but life is stressful. Unless you're programming heavy machinery, medical devices or similar things that could be dangerous, by and large, no one is going to die if you screw up. So relax, take a walk, and refocus. You'll write better code in that mindset anyhow.

The greatest challenge in the field, to my mind, is the constant learning curve. That's why it's critical to love learning. If you have the sort of personality that is constantly seeking challenges, is curious, and loves to solve puzzles, that's a great start. If not knowing the answer leads you to the best part, seeking it, then you'll thrive.

Throw out the stereotypes about programmers being socially backward nerds and geeks. They are human, but they just aren't as concerned about what other people think of them. Or at least if they are, they hide it well. As a broad generalization, I find them to be playful by nature, creative, and not afraid to be a little opinionated about the technologies they love.

In part 2 I'll talk about the mindset it takes to thrive. See you then!

Add new comment

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.