Pro Developer: Improving Your Career In Any Economy

,

Pro Developer

Improving Your Career In Any Economy

Like many other areas of business, the tech industry has weathered the

occasional slump over the past few decades. It's only natural that the fate of

techies is closely linked to the tides of the business. However, in any economy,

weak or strong, some people prosper and advance while others suffer the

consequences. Understanding why can make all the difference, whether you're

looking for a job, trying to keep the one you have, or are audacious enough to

want to advance your career regardless of the climate.

The conventional wisdom, typically unspoken, is that when times are tough you

just grin and bear it. Merely surviving is the best that you can hope for.

Advancing is just too much to ask. To that, I offer my own bit of wisdom.

Nonsense! (I actually had a more colorful phrase in mind, but discretion got the

better of me.)

The principles of business do not alter based on a strong or weak economy,

and people will always be people. What this means to those of us with careers to

manage is that what works when business is good will also work when things are

slow. In fact, in many cases, they'll work even better. In order to understand

why, let's strip this down to the bare bones issues.

Getting down to business

Businesses exist to make a profit. People work at companies to make a living.

Although enterprises are run by a class of creature known as management, it

turns out that the ranks of management are, in fact, populated by people. As

we've already observed, people work at companies to make a living. So, making

money, both from a personal and corporate point of view, is a top priority that

does not change based on market conditions.

Human nature is another constant. People have a desire for power, the need

for personal fulfillment, and egos to maintain. When you add all of this up, you

come up with some facts that are immutable constants in the business world. Of

course, we'll be taking advantage of these to make sure that we continue to eat

on a regular basis and have the spare money we need to keep our families happy

and our compilers up to date. So, let's take a look at some of the more obvious

points. The following actions will increase your value in the eyes of the

company and / or your superiors:

  • Increasing company revenues

  • Decreasing company expenses

  • Helping your superiors further their career

These three points form the basis for advancement in every profession in the

world, without exception, throughout the course of human history. However, you

may be quick to point out that you've seen many examples of people who did one

or even all of these things, and yet got no rewards at all. That's because

addressing these needs alone is not enough to ensure that your personal career

is well cared for. You need to address the following items as well:

  • Be recognized for your deeds

  • Be non-threatening to others

  • Actively pursue your benefits

This last point bears emphasis. One of the ways that companies manage to

reduce their expenses, or at least hold the line, is by not volunteering more

money and benefits every time a worker does something good. That makes it

unlikely that good things will fall into your lap just because you brought value

to the company. You'll have to take action, sometimes subtle, sometimes overt,

to claim those benefits.

Nonetheless, before we look further into these points, it's worth emphasizing

that the very foundation of career advancement as a programmer is built upon

these principles. The best part of this is that it's true no matter what the

economy is like. When times are good, companies want to turn a profit (by

increasing revenues and decreasing expenses) and people want to further their

careers. When times are rough, companies want to turn a profit (by increasing

revenues and decreasing expenses), and people want to further their careers. It

doesn't alter. If anything, when the going gets tough, there's an even greater

emphasis on these topics. Either way, you have a frame of reference that isn't

going to change with the weather or the latest stock market report. Learn to

address these matters in all of your day to day activities, and you'll have the

world eating out of your hand, even on those days when everyone else is

struggling just to get by.

Taking it to the streets

There are as many ways to implement these ideas as there are lines of code in

that old legacy COBOL system that you're working so hard to replace, and the

specifics will obviously vary with each company. However, when you learned to

program, you didn't have to learn a thousand different language constructs to

deal with a thousand different programming problems. Instead, you grasped a few

basic concepts like loops, variables and Boolean logic, and then learned how to

apply them to each new situation as needed.

Along those lines, let's take a look at each of our points in turn from the

perspective of a front line programmer living in Cubicle City. Most developers

are passionate about programming, and in truth would love it if the world would

just go away and let them code. The things that get their interest and motivate

them to action typically involve the desire to make the app cooler, play with

new and exciting technology, get better hardware, and of course, more money is

never a bad thing.

To better understand what we're talking about here, let's take a look at a

typical example, that of trying to convince management to let you add that

Really Cool Feature to the system. The following conversation will be familiar

to anyone who's been in the business for more than a few months.

Management: "Why should we add this feature and delay the release?"


Programmer: "Because it will make the software better."
Management:

"Yes, but what's the benefit?"

At this point, you have two people speaking completely different languages.

To the flabbergasted programmer, it's obvious that better software is the

benefit. However, management doesn't care about the artistic aspect of software

development. Good thing, too, or we'd all be going hungry. No, managers, if

they're worth the stripes on their suits, are concerned with the first three

points we covered earlier. How will the feature increase revenues? How will it

decrease expenses? And how will it advance my career? If you can't come up with

honest to goodness answers to at least one of these questions, then you haven't

made a compelling enough case to get your way.

Now, let's take a look at a different approach. Instead of an emotional

appeal based on the fact that you, from a craftsman's point of view, simply want

to create a better product, let's sell the benefits. As an example, let's say

that you wanted to overhaul the current GUI front end that looks just like the

mainframe green screen it replaced with something much more user friendly and

productive. You do some research and find that the average time for users to

complete a transaction is 3 minutes. Furthermore, you find that this department

averages 1000 such transactions per day. Usability testing on a mockup demo you

threw together indicates that with your UI improvements, the same transaction

can be completed in 30 seconds. Your idea will reduce the time it takes to do a

day's transactions from 50 person hours to just over 8!

Enthusiastic that you can demonstrate tangible results, you now present your

findings to your manager and are immediately turned down because there's no

benefit from your changes. How can there be no benefits, you cry? You've just

reduced the time it takes to do a day's transactions by 84%!

Hey, I'm with you. I like improving the efficiency of a process as much as

the next guy. However, before you beat your manager over the head with your

empty pizza box, answer the following questions.

  • How did your idea increase company revenues?

  • How did your idea decrease company expenses?

  • How did your idea further your superior's career?

The bottom line

That's okay, you don't need to say anything. I've seen deer in my headlights

before. The problem is, you stopped short in your research. Yes, you reduced the

transaction time. However, you failed to map that to financial benefits. So,

let's try this again. By spending a little time with supervisors in your users'

department (and perhaps springing for a pizza or two), you determine that the

average worker costs $10 an hour. Simple math then demonstrates that if each

person currently does 20 transactions per hour, then each transaction has a

labor cost of 50 cents. By reducing the transaction time to 30 seconds, each

worker will be able to perform 120 transactions per hour, lowering the cost to

roughly 8 cents per transaction. Even if the department continued to process no

more than 1000 transactions per day, freeing the workers to do other tasks, this

reduction amounts to $420 in reduced labor cost for one day. Over the course of

a year, your UI improvements will save the company a little over $100,000.

Now you have something that's a tangible benefit. You've met the second

requirement - you decreased the company's expenses. Not only that, your manager

will look good to his superiors since it was, after all, one of his programmers

who came up with this cost reduction. If you want to extend it to all three

points, you could even make the case that since you just freed up 42 person

hours per day, you could do that many more transactions. Assuming there was a

profit involved with each transaction, it would then be easy to map this to an

increase in company revenues.

However, even though you've saved the company a significant amount of money

and made your boss look good, you may wake up the next morning having received

no tangible benefits to your own career. That's because you haven't addressed

the second three points. First, you have no recognition beyond your manager, who

may well decide to announce to the world that it was his brilliant idea and you

were simply given the task to implement. Depending on the integrity of your

higher ups, you may have to be somewhat careful but persistent about receiving

proper credit. You must, nonetheless, ensure that you do in fact get recognition

for your work.

Credit where credit is due

To begin with, in our example you've already established a dialog with

management in your users' department by discussing your new ideas with them.

Email is an excellent tool in this regard. By doing at least some of your

correspondence via email, you're also free to copy other parties who might sign

on to support your idea, or from whom you can solicit input to bolster your

claim of benefits. In either case, you've started to create a buzz about what

you're doing. At this point, it's too late for someone else to steal credit for

your work, as there are too many people who know about it. Furthermore, since

your ideas benefit them, you've also created allies who will be more likely to

lobby on your behalf.

At the same time, you need to make sure that you proceed in a manner that

won't be seen as threatening either your manager's position or even that of your

fellow programmers. To do so is to invite competition and animosity, all of

which gets in the way of your goals. While always making it clear in understated

tones and by your actions that you're leading the initiative, be inclusive in

your language. Speak in terms of your team, your manager, and anyone else who

may be threatened by your success. Share the spotlight and benevolent feelings

with others, and they'll support you at best, and leave you the heck alone at

worst.

Additionally, style counts. People pay attention to how you handle your

affairs. When they see you acting in a non-egocentric manner and being genuinely

kind, warm and group oriented, it does nothing but raise your status in their

eyes as a trustworthy and honorable leader. That has a long term payoff that

builds more and more over time. It will also cause other people to spontaneously

rise to your defense in cases where you're threatened politically by competing

people or groups, which always looks better than defending yourself.

Bringing home the bacon

Now that you've created benefits and made sure that you're recognized for

them without generating animosity or competition, the last step is ensuring that

you can translate this into something that benefits your career. Obviously,

you'll be considered a tedious person if you've got your hand out after every

good deed. Sometimes you'll want to build up (and keep personal notes on) a

history of beneficial ideas before you try to cash them in. How you turn deeds

into career benefits will vary based on your personal desires and your corporate

climate. Sometimes it's as simple as asking for a raise. Other times you may

propose a new project along with the suggestion that, based on a track record of

performance that consistently benefits the company, you're the logical choice to

lead it. Still other times you might make casual mention to your manager about

the office with a door that just became vacant, or the productivity benefits

that would result from your having a faster machine.

Regardless of what you go for, you have to go for it. If you don't ask, you

don't get. Just remember, subtle suggestion and persuasion is much better in the

long run than strong arm tactics and heavy handed demands. Play your cards

right, and you'll be there for a long time, so you don't want to generate bad

feelings as you improve your position.

Admittedly, all of this requires you to step away from the compiler from time

to time. Most programmers really don't want to be bothered with any of this

non-coding stuff. They'd rather just keep their heads down and their fingers on

the keyboard. Actually, that's great news for you. If you'll simply poke your

head up above the cubicle walls, pay attention to your surroundings, and give

constant attention to these 6 points, you'll not only improve your career in any

economy, you won't have much competition while you're doing it.

About the Author

Christopher Duncan, President of Show Programming of Atlanta, is author of The

Career Programmer: Guerilla Tactics for an Imperfect World (Apress). He can

be reached at mailto:Chris@ShowProgramming.com?subject=Pro

Developer.
Copyright (c) 2002, Christopher Duncan. All rights reserved.

Rate

Share

Share

Rate