Monday, January 19, 2009

A Little Career Advice

A couple weeks back, a reader was asking for some career advice.

This guy has got 10 years of experience in IT, doing phone, desktop/deskside support, and light admin work; but he has no degree and no certifications.

He's currently making about $30,000 a year, and he wanted to know what he should do to improve his financial position, and career in general. More specifically, he wanted to know if I thought certifications would help in that; and how important not having a degree was.

The short answer is, not very much, and not very important.

The long answer is a bit more complicated, but it's important to understand. I know literally hundreds of guys like this; who have five to ten years experience, and are stuck in $30,000 to $45,000 a year, near-entry level positions.

So first, let's address certifications specifically:

I have, literally, dozens; from dozens of vendors, including some very expensive, rare, theoretically high demand ones.

They're mostly useless.

Other than CISSP (which is used to be worth a lot more, but now is only nearly worthless) and CCIE (which still means at least a $20,000 pay bump); IT certifications mean very little to your actual earning potential or career advancement past entry level (actually, management and financial certifications can be more valuable, even in IT jobs).

In the real world, the purpose of certifications are to:
  1. Get you an interview for a job you are not (or are only marginally) qualified for

  2. Fulfill a contractual requirement ("all the engineers on the contract have to be MCSEs")

  3. Allow you to teach professional courses and certifications in a technology (I have over a dozen of these teaching certifications)

  4. Qualify your company for higher partnership status (the highest levels of Cisco partnership require you employ at least 2 CCIEs for example)

  5. Get more press for the companies letterhead ("we employ more CCIEs than anyone in the market")

    And MOST importantly

  6. Get your resume past the recruiter, and HR staffs buzzword filter
Remember, your hiring manager generally decides whether he's going to hire you or not based on your interview, experience, and references; but you can't GET the interview if HR never forwards your resume.

HR staff rarely understand what they are looking for in technical staff. They tend to ask for "wish lists" of buzzwords, experience, certifications etc... and they decide what resumes to send on, based on how many buzzwords they see, how well the resume is written and formatted (yes, it's really that important), and how much of their "wish list" is fulfilled.

That by the way, is why it's important in the IT world to have a "skills and qualifications" summary right at the top of your resume, that lists all your buzzwords, and your length of experience with them. Everyone is lazy when it comes to reading resumes; make it easy on them.

What about a degree?

By all means, get a degree; but don't expect it to do much for your career past the entry level (unless you work for the government, or a university).

I've been in this business for almost 20 years; since I was in high school, with a few year gap when I was in the Air Force and doing security contracting.

In that entire time, my degrees (double BS in aerospace engineering and computer science) haven't got me a single job; and before I had them, the lack of them didn't prevent me from getting any job I was otherwise qualified for.

For the last three years I've been the chief architect for the largest division of one of the largest banks in the world. I, and the team I lead, are responsible for literally billions of dollars worth of infrastructure. Not one of my certifications, nor my degrees; are relevant, useful, or in any way helped me get or do this job; except in that they indicate to some extent my overall breadth of skills and experience.

Degrees (and certifications) are good; I recommend you get one if you can. Aside from making you a more interesting and well rounded person; in general they will help at least some with earning potential, and they make you more promotable later in life.

The thing is though, they may make it EASIER to get a job you are marginally qualified for, or tip you over the line for a promotion; but they don't get you a job, they don't get you a promotion, and they don't automatically make you more money.

That bit is all up to you.

So why are so many good guys with 5-10 years experience stuck in low level jobs?

I'm going to say something that may be very hard for some of you to listen to:

If you have 10 years experience, and you're good at your job, the only reason you're making $30,000 a year is you.

Either you want to make that much (or that little depending on your perspective); there is something "wrong" with you (social skills, interview skills, background issues, work habits etc...), or you haven't been aggressive enough in pursuing career development.

Somehow I think the latter is likely true for most folks in that position (whether the second is also true or not).

Actually, I think this applies to every "professional" job in America today, not just technology. There is no reason for a well rounded person who is good at their job, with 10 years experience, and no other impediment to earning; to be making less than $45,000 for a full years work in any professional field or job I can think of; unless they have deliberately chosen to stay in a job that limits their earnings.

I'm not successful because of my experience, I HAVE that experience, because I MADE myself successful; and it didn't take me twenty, or even ten years to do it.

I haven't made less than $100,000 for a full years work since I was 24 years old. Partly this is because I'm very good at what I do; but it's also because I aggressively pursue career development, and insist on being paid my proper value as an employee or contractor.

A couple of side notes on money

One, as long term readers know, earning a good salary is no guarantee that you will be well off. Expenses have a habit of expanding to fill the budget; and the stuff of life has a habit of happening all over you on occasion.

Three and a bit years ago I acquired a wife, two kids, and an expensive legal battle; and what money I had put aside went away very quickly. Two years before that I lost a job just after using most of my savings to help my mother buy a house; and ended up broke. A couple years before that I had a business partner screw me and a business go bust, and ended up broke.

Starting to see a common theme here?

It happens; and it happens more to people who are more aggressive in pursuing career opportunities. If you want bigger rewards, you have to take bigger risks.

Two, think about your expenses every month; then think about how much you have in savings. Now that you have those numbers in mind, divide the first into the second, and think about how long you could be out of work before going broke.

Never fool yourself into thinking that a good job and a good salary are wealth. Earnings are not wealth, nor are they security; they're just a help along the way.

Three, don't forget with higher earnings come higher taxes, greater costs for benefits; it seems greater costs in general. It doesn't all go into your pocket, or your bank account. A better job with higher pay will always help you improve your financial situation; but it won't automatically put you where you want to be.

Finally, don't ever compromise your quality of life for more money. If you have higher priorities, don't let money get in the way of them. Especially don't let money get in the way of being with your family.

Remember above all else, money is a means to an end; not the end in itself.

So, that's all been about what NOT to do, and what thing's aren't. How about some useful advice about what to actually DO?

Ok, into list land.

First, and most important by far, is to develop your written and verbal communications skills. It doesn't matter how smart or how good you are, if you can't effectively communicate.

This is by far the biggest problem technical people have in their careers. They never learn to write well or present well, and no matter how good their technical work is, that deadends them.

You will never be promoted past the low-mid grade if you can't write or present. It's that simple.

Second, you need to develop time management and project management skills.

You cannot be successful if you can't manage your OWN resource allocation; the most valuable of which is time. Not only that, but if you can't understand, and document, what resources you need on projects, you will never be able to deal with projects that involve more than just your own efforts. This will limit you to entry and low-mid level jobs.

Third, develop your interpersonal interaction skills; particularly your skill at civil debate and persuasion, and your skill at negotiation.

This isn't just about salary, this is about every interaction you have in the work place every day.

That last bit there is probably the hardest for engineers in particular. It's also why I'm where I am, and other people with more experience and higher qualifications than I have are earning half as much.

How many times have I heard "I just couldn't sell myself" or "I just couldn't sell my idea", from an engineer... The problem isn't that their idea wasn't good, it's that they either didn't communicate effectively, or that they didn't hit the persuasion points that people needed to hear for the idea to be "sold".

Even those engineers who have decent writing and communications skills are rarely able to deal with negotiation, compromise, and the interplay of low level politics in the work environment.

Worse, even if they could do well with these skills, many technical people disdain them as "below" them, or demeaning, or "games".

Guess what sparky, you're not only wrong; but your attitude offends the non-technical people you have to work with; who do it every day.

Let me say this again: YOU ARE WRONG

One more time: YOU ARE WRONG, AND THE "NORMAL" PEOPLE ARE RIGHT

Yes you. You're wrong. You may think you're right, you may feel self justified in this; but really you're just being self righteous and condescending.

Sometimes, when the world is saying one thing, and you're saying another thing; you're right and the world is wrong. Einstein, Newton, Copernicus...

Guess what: You're not Einstein, and this is not one of those times. You're Tesla, the death ray doesn't work; and you're going to die broke, in debt, and covered in pigeon crap if you don't smarten up.

But wait, there is hope for the hopeless

The good news, is that you CAN learn all of these things. You may never be a social and political genius, but you can get a basic grasp of what to do, and how, through books and videos. They sell them by the hundreds of thousands; and they aren't even that expensive.

Even better, there are classes that are taught by management and leadership experts; in negotiation, staff management, time management, written and verbal communication, and other valuable business skills. MBAs are going to these courses all the time; think maybe if they were a waste of time, and didn't give good return on investment, that all those business savvy folks would be wasting their time with them?

I put those three skillsets first, because they ARE FIRST. Someone good at those skills will earn at least twice as much as someone only adequate at them, and at least four times as much as someone with an inadequate grasp of them.

Next, into the more advanced areas so to speak.

If you ever want to get beyond entry to low-mid level; it's critical that you work on your management and financial skills.

You MUST understand how to lead projects, groups, and teams (at the least), if you ever want to be anything more than a jr. coder, jr. admin, or first level support tech.

If you ever want to be a leader, or a manager, you must be able to understand budgets, resource allocation, costings, and in general the "business side" of things.

Even if your only goal is to get to third level support, you need to be able to lead teams, delegate tasks, allocate resources, report on status, and manage projects and timelines.

I cannot emphasize this enough. Social and business skills are FAR more important to your career than technical skills are, especially once you get beyond the low-mid career grades; and the further you get in your career, the more important they get.

In fact, I will say to every technical person working in a commercial business (government and university are a little different); if you are going to get a masters degree, get an MBA; it will serve you better in your career than any technical degree.

Looking the part

While you're developing your business skills; learn how to dress the part when appropriate. You don't need to play dressup, or spend a fortune, or wear a suit every day; but you should dress professionally, respectably, and in a manner appropriate to your environment.

Unless it's being held on a factory floor, you should wear suits to interviews and important meetings; unless doing so would make you overdressed. In some companies business casual is overdressed; and different companies have different standards for business casual.

Know the culture, audience, and environment before you go in for the interview, or the meeting; and then dress to one level higher than is customary for your audience (for example in a casual company, wear business casual).

You'll never read this in a business book; probably because all the people who write business books are compulsive suit wearers; but there are some environments where wearing a suit will hurt you. If you want to get taken seriously by hardcore geeks, machinists, factory floor engineers and the like, wearing a suit isn't the way to do it. If you're meeting with your prospective boss, and he's in board shorts and a tshirt, wearing a suit is just going to make you look like an idiot.

...but generally speaking, the advice to wear a suit to an interview, is good...

Buy at least three decent suits, at least five good pairs of pants, at least 7 good button down shirts, a few non-ugly ties, and at least three good pairs of shoes with matching belts. You'll never regret it (especially the good shoes).

Always buy your clothes a little large, and have them properly tailored. Trust me. It's not expensive, and it's more than worth it.

Once you've bought them, learn how to wear them properly, and comfortably; and get used to doing so. If they are properly tailored, this won't be a problem.

Ok, I get it, business skills are important; but what about technical skills?

Well, those can be a lot harder to give advice on; just because there are so many specialties in the technology fields; but I can talk about the common paths and skills necessary to them.

First off, if you're a low level admin, coder, or support tech, you need to decide what areas of specialization you want to get into; or if you want to try and go for architecture and/or technical management.

If you want to go through administration, architecture, information security, solutions consulting, or any other field that requires a broad base of knowledge; this is what I'd recommend (in fact, I'd also recommend this same general skill set to any kind of consultant, and to DBAs, and senior programmers and software architects).
  • Learn Solaris, Redhats variant of Linux, and HPUX if you can (and/or AIX if you want to work in a sector with a lot of mainframes).

    These are FAR more valuable skills than Windows administration. You should still know basic Windows admin, especially Active Directory, Exchange, IIS and SQL server; but learning multiple forms of UNIX administration will bump your salary at least 25% over Windows administration, and open a lot more doors for you.

  • In the process of learning UNIX admin, learn to script in c shell, bash, k shell, and perl. It's not hard. Also learn to use regex.

  • Learn the basics of configuring and administering MySQL, Oracle, Apache, and sendmail; these are the minimum basic applications common to almost every business. Also, as I note above, MS-SQL, Active Directory, IIS, and Exchange from the Windows side.

  • Learn to use monitoring tools, especially Openview, and the various open source tools.

  • Learn basic and mid level security; enough to harden and properly administer systems, deal with audits and security breaches, and build and configure firewalls.

  • Learn least one major firewall technology (two or three are better; preferably checkpoint, cisco, or netscreen), at least one major VPN technology, and at least one major intrusion detection technology.

  • Learn basic networking technologies, including Cisco switching, and local and wide area Cisco routing. Get a CCNP if you feel like it.

  • Learn storage technologies, specifically EMC and hitachi SAN; cisco and brocade switching; Netapp, EMC, and Sun NAS; and Storagetek and ADIC tape libraries (actually they are quantum now, and they OEM for Sun, HP, IBM, etc...).

  • Also at the very least learn Veritas foundation suite, including VxFS and netbackup; along with best practices for backup, disaster recover, and business continuance.
Or short circuit all of this and just learn to be an Oracle DBA, or security or networking specialist for the same or more money; but less options and flexibility. Also as I said above, even as a specialist, the skills above would serve you well.

Oh and you can easily learn all of these skills at home except Oracle, HPUX, and Checkpoint; and you can get practical experience on most of them for free, with open source tools you can use at home.

Ok, how do I succeed in IT without really trying?

Obviously, you don't.

Reaching a basic level of knowledge and experience in all (or most) of the skills I listed above, will start you at at least mid level admin/architect/consultant work; up to around $85k in mid level markets, or $100k in top tier markets.

Then you get on the job carousel.

Your goal is to be promoted to a more senior job every two years, or to change employers to achieve the same result; with at least a 15% raise from your previous grade.

Never stay with an employer more than 4 years unless you receive two grade bumps in that time with at least a 10% bump each time (unless you hit the highest grade for your field, in which case look down below). If you go more than 4 years with a single employer without a grade bump, you are not going to get anywhere with them.

IMPORTANT NOTE: The advice above is for general commercial businesses. The academic and government world are different, including some of the private companies that service them. Also some highly beurocratized companies have very specific (and sometimes intricate and convoluted) processes for promotions and raises. In general the same advice applies, but the processes is more difficult, and slower; often taking 3-4 years per grade bump; but I still say that if you havent had a bump in 4 years, you aren't going anywhere and you should change jobs, or employers, or both.

Oh and by the way; this advancement advice isn't just for technical workers; I believe it applies to everyone in a career field with upward mobility. Some jobs simply are not upwardly mobile, like administrative assistant; and people who spend more than four years in those job need to understand and be happy with that

In an advancing career however, your goal should be at least a minor promotion every two years and a major one every four years; and you should be moving on if you don't get at least a minor bump in 4 years.

If you aren't willing to go through this process with your current job and career field, you should really consider whether or not you'd be happier in another career; either one where mobility isn't a consideration, or if you do want to be mobile, one that inspires you to advancement.

Money Money Money Money... Money

This isn't all about money; but money is how we keep the bill collectors at bay; and it's how this conversation got started.

My advice about pay is simple.

First, it's not all about salary. Salary is important, but what you want is a good standard of living and high quality of life; so understand what in your life is important, and how an employer can advance that, or accommodate that; and arrange your priorities and requests appropriately.

Second, always ask for what you think you're worth to your employer; and never accept meaningfully less. A percentage point or two, OK, but not 5%. An employer who offers more than 5% below a realistic market assessment of your value to them, is an employer who will not value you or treat you appropriately.

Third, make sure that what you think you are worth lines up with what the market thinks you are worth. Know what you're worth in the market (and remember, markets are specific to industry segments, not just career fields), know what you want, know what your prospective employer can afford; and ask for a reasonable amount based on that. It's that simple. If they can't meet your needs, go to someone who can.

Fourth, don't make a game out of negotiation. You're not there to "beat" the other guy, you want a job, or a raise, or a promotion; and playing games will just make you look worse, and hurt your future relationship with the person you're negotiating with.

Where does it all get me?

So, we're five to 15 years down the road; and you're skilling up and cashing up. What's the roadmap looklike?

Well, at any time in this process, you can choose to branch into specialty skills, like DBA, security, storage etc... which gives a big pay bump, but moves you into a different field track, which may have fewer options open to you for future career development.

Once you reach "Senior", or "Chief", or "Principal" (or whatever is the top technical level in your organization) status, which should take 6 to 10 years if you're smart and aggressive (or 15 years if you're less aggressive); you change the game.

At that point you should be making somewhere between $115k and $165k base (depending on your exact skills, and market) as an admin, or a bit higher as a specialist of some kind; plus bonuses and incentives of course.

Generally speaking, once you hit the $165k mark, you've topped out as an admin. You might be able to make a bit more (up to about $185k) as a top level DBA, Systems Architect, Storage Architect, or Security architect; but that's around the limit for technical staff (excluding bonuses, and incentives; which can be very large for consultants, or for long term senior staff).

Once you've topped out, you need to decide if you want to stay an admin/dba/architect; and just stay with the same company and ascend into Guru status; while accumulating COLA, PTO, and if you're lucky bigger bonuses (more years means more PTO in most companies, and higher bonus percentages in some); or move into technical management, which is a whole 'nother minefield in and of itself.

So, now that I've mapped out the next ten years of your life for you, it's up to you to go do it.

... or you could just chuck it all, and go collect seashells, or make birdhouses or somesuch.