Friday, June 12, 2009

The Grass Is Always Greener

You may hear disgruntled tech professionals complain about the decline of tech opportunities, and how it may be time to consider a new career. Perhaps they’re fed up with outsourcing, offshoring, H1Bs, etc., and may believe the difficulty in finding good tech jobs means that it’s time to look elsewhere.

But stop and think for a moment about that question. Presumably you’ve trained for a career in software development and have worked for most of your career in this field. What other type of work are you qualified for, which pays nearly as well?

Let’s alter the question a bit to ask what field a young person, presumably before college, should go into in this day and age. What would you recommend? The traditional answers are probably law, medicine, and business. They sound sensible at first, but things are rarely that simple.

Lawyers, despite the glamorous portrayals on TV and in the movies, generally do not make more than engineers, as a group. Sure, there are the superstar lawyers, the partners at private firms, or the chief counsels at large corporations, that make insane amounts of money. But they are a rare breed, probably as rare senior executives at top tech companies. In both professions there are countless people toiling away for moderate salaries – and the thing is, the ones working in law toil away much harder than the typical engineer. I don’t know of too many engineers, except perhaps at some startups, who regularly work 80 hour weeks like law associates often do.

Likewise, the medical field provides high salaries for top specialists, but with the rise of managed care and hard-bargaining insurance companies, a lot of doctors have to hustle to make barely six figures. Do you remember the last time you went to visit a doctor, how they had to constantly juggle several patients at once and spent only a few minutes with you? That’s what they have to do to survive on low insurance and Medicare reimbursement rates.

Then there’s the field of ‘Business’, which is quite a nebulous term. It could mean Wall Street, Corporate Finance, Banking, Sales, or any number of money-related careers. However, even in this field the number of superstars making big coin is naturally limited, and the hours can be long. And as we’ve seen with the credit crisis, this industry is also subject to major boom-and-bust cycles.

Perhaps the other route to big success is entrepreneurship. However, while the other professions above do not provide any guarantees of success, striking out on your own provides close to zero guarantees. And this is perhaps also the hardest road to take – harder than law, medicine, business, or tech. However, in some ways it can also be the most rewarding. Imagine not having a boss to report to – although effectively, your customers are now your bosses, so that’s effectively a wash.

So if we are to conclude anything from this little overview, my point is that there is no relatively easier path to success, and tech is just as good a path as any other, warts and all.

Tuesday, June 9, 2009

Extended Unemployment

Continuing on a previous topic, some people may experience a protracted period of unemployment. In some cases it may take months, or even years before they find a suitable job. If this happens to you, try not to be discouraged. Yes, it’s easy for me to say that, but it’s still important to look at things from a clear perspective.

First of all, you should ask yourself whether the extended job search is normal. Fact is, it takes time to find a new job, and the higher you are on the salary ladder the longer it generally takes. The old rule of thumb was 1 month for each 10K of salary, and I think it still applies – more or less. Also, if your skills are more specialized, or if you live in an area that’s not a technology hotspot, you should expect an even longer job search. And finally, if the economic climate is poor, the search will naturally take longer (duh).

If your search extends even beyond what might be considered normal by these standards, you’ll need to start considering what extenuating factors might be in play. Are you getting interviews but not offers? Or are you not even getting interviews at all?

If you are not getting many interviews, it might be that there is a general tech downturn in your particular geographic area or in your particular field. In these cases, you need to ask yourself whether you should consider relocating to another part of the country (or the world). Or perhaps you should consider retooling your skill set, or even try another line of work altogether.

Personally I think relocating is a viable option for a lot of people, even those that would not normally consider it. However, it’s not a good idea to move to a new location before you have a job there, as there are no guarantees that you will land a job. Also, retraining for a new skill set sounds good in theory, but most employers will want actual hands-on experience in a technology, not just a training certificate. And changing careers to an entirely different field is definitely a last resort.

Hence my advice is to stick it out and keep looking for a job in your chosen field. Perhaps you might have to take a slightly different position, such as a Project Manager or Analyst or even QA instead of a Developer. Or you might have to take a cut in pay or title. But as long as the new position is related to the work you were doing, and the step back is not a huge one, you should consider it. Spending a year working as a junior developer is far preferable to spending it unemployed and on the sidelines.

If you are getting interviews but no offers, perhaps you need to review your interviewing skills and style. Too many people think that their skills should speak for themselves, and that the interview is an objective format for discussing those skills. Not so. There are many complex factors that play into an interview, many (if not most) of them subjective. Your interview skills can definitely be improved; try going to ‘practice’ interviews with jobs you aren’t really interested in, or else engage in mock interviews with friends and colleagues if you have to.

Finally, remember that you are not your interviews. To put it another way, you should not see successful interview outcomes (i.e., offers) as a validation of your personal worth, and vice versa. They are just auditions, and auditions do not always reward the best candidates.

Monday, June 1, 2009

Is Outsourcing to Blame?

From the comments to my last post it looks like people are concerned about the trend towards outsourcing taking away their jobs. Rightly so, but things aren’t necessarily as bleak as some might imagine.

Outsourcing, or more correctly offshoring, has become the bogeyman for the software engineering industry, and has spread to other industries as well. However, from my perspective I have seen how outsourcing has worked (or not) at several companies. So here is my observation of how the process typically goes.

First, during boom times a company finds that it needs more people to handle its growing IT needs. It discovers that it either can’t find people to hire fast enough, or else the boom market has driven up salaries beyond what it wants to pay. Either way it looks to offshoring as a source of cheap, plentiful tech labor.

So the company starts outsourcing positions, typically working with a large Indian consulting firm like InfoSys, Tata, or Wipro. The company goes out of its way to reassure its employees that no, their jobs are not at risk; the company is merely supplementing its engineering capacity with offshore talent. The employees are naturally uneasy about this, but management is happy because they are getting additional bodies at a fraction of what it would cost to hire American engineers.

After about a year though the company starts to notice that productivity with offshore engineers is not what they had hoped. Challenges in communication, issues with remote management, and a wildly variable resource pool results in poor code, lots of bugs, and misunderstood requirements. Counting rework and time lost in cleaning up mistakes, overall net productivity amounts to perhaps a half or a quarter that of domestic engineers.

At this point one of two scenarios occurs. In the first, management is so giddy about the cost savings from offshoring that they start pushing American engineers out the door and replacing them with offshore labor. They either don’t understand the implications of reduced quality and productivity, or they just don’t care. They believe that if offshore engineers’ productivity is lower, their lower cost more than makes up for it

Hence these companies throw more bodies at the problem, adding more offshore engineers to while reducing domestic headcount. Productivity, turnaround time, and time to market suffer, but the bottom line looks better… at least for a while. These companies however often get addicted to the supposed cost savings, and enter into a spiral of costcutting and poor quality and never recover.

However, in the alternate, more positive scenario, the company decides that the lower productivity and poor quality from offshoring are not worth the cost savings. Hence they start to bring the jobs back to the U.S., and reduce their reliance on undependable offshore labor.

I have seen both of these scenarios firsthand, and am hopeful that the second scenario will become more common. I believe that eventually more and more companies will begin to see the benefits of having technical resources close at hand, where they can be closely supervised and where communication is more straightforward. This will take time, but I think the tide may be (slowly) turning.