According to Hoyle...
Software
Development Jobs in a Down Economy
[ Part I | Part II | Part III ]
March 2009
by Jonathan Hoyle
jonhoyle@mac.com
macCompanion
http://www.jonhoyle.com
The economy is down.
That's how I began
last month's article,
and the economy hasn't improved much since. With job reductions being announced
nearly everyday, it seemed timely to address some matter to help make software
developers as recession-proof as possible. In this three part series, I
will discuss the environment we are dealing with and offer some tips for those
looking for work now.
In particular, being a
Macintosh-focused
column, I wish to address benefits specific to
OS X
developers. For example, consider
Apple's record profit and revenue announced for Q1 2009. Note
that I did not say that they were merely profitable, or that they beat last year
(which would be extraordinary just by itself in this economy). No, these
are record-breaking profits and revenues for them. Better than anytime before. Better
than the heady 1990's prior to the
dot-com bust. Better
than in the golden days of the near
Apple II
monopoly.
Best ever.
In this economy.
I don't think a "wow" is out of order here. Pretty
amazing. During this same period, results from other (usually profitable)
companies took nose dives, including
Microsoft's 11% net income drop, and
Google's unbelievable 68% decline in profits (each now
planning significant employee reductions). But
not Apple. (At least not so far.) For this reason, software programmers
who hook their wagons to
Apple's
ship are going to find themselves in a relatively better position.
Comparison to '92/'93
The current national unemployment rate is (as I write
this)
7.6%,
the worst since 1992. Of course if you listen to the doom-sayers, we are
supposedly in the worst recession since the Great Depression. Well, this
seems to me an absurd statement. Although things expect get worse before
they get better, they have to get dramatically worse before such sensationalistic
reports become anything but
yellow journalism. According to
the Bureau of Labor Statistics,
the 1992/1993 recession's jobless rate
peaked at 7.8% (June 1992),
higher than where we are now
(pre-stimilus package).
And although the unemployment may grow higher than it
is now, any assumptions of the extreme kind are pure speculation. So I remain
skeptical of the doom and gloom being spoken of, this early in the game, particularly due
to the political motivations that are involved (from both
Democrats and
Republicans).
Sub-8% recessions are not uncommon through much of our
history. The Bureau's web site data goes back only as far as 1948, but in
just that time period alone, we have had four such recessions in which unemployment
exceeded 7%, yet whose peak never even hit 8%. Only twice in the past 60
years has a recession occurred with a greater than 8% unemployment rate: the '75/76
recession (which
peaked at 9.0%),
and the '82/83 recession peaking at a
whopping 10.8%.
Thus, comparisons with 1992 seems more appropriate for
the current recession (at least at this juncture).
Having acknowledged all this though, even the recession
of the 90's is substantially different (as far as you readers are concerned) in
one important way: software developers were not affected by the 1992 recession. 15
years ago, the need for software engineers remained at an all-time high, and there
was effectively no recession for them, or for any of those working in that industry.
I can speak to this personally, as I was interviewing
for Macintosh software engineering roles at various companies during this time,
and found I had my pickings of offers from which to choose. Of course, similarities
between then and now still exist for auto manufacturers, various skilled and unskilled
labor, and many other professions. But tech jobs remained fairly secure
during the 90's. Part of the reason for this was that in the 1990's, economic
pressure was coming from from Mexico and Japan. In 2009, it is from China
and India, where today there exists much stronger software engineering competition.
"But I already have a job, so I'm not worried."
I wonder how many people who expressed this sentiment
ended up out of work a year later. And even if your job is truly safe, there
are side-effects to a down economy that make it in your best interest to remain
marketable. One casualty of bad economic times is the reduction (if not
the elimination) of raises. When corporate money gets tight, raises go out
only to those mission critical people that the company can't afford to lose. And
if you are not one of these people, your income gets stifled.
Worse, you risk the prospect of losing your job to such
a person increases.
Fortunately (as mentioned earlier), being a Macintosh
developer already puts you in a better category. Typically, Mac developers
are hired only by those businesses that deliver product to Mac users. As
long as your business is not phasing out its Macintosh offerings, it is going
to continue to need at least some Mac developers. If that is the case, then
your job is vulnerable only on these two counts:
-
Cutting back the number, but not the elimination of, Mac developers
-
Corporate decisions to out-source to China or elsewhere
In the case of #1, it's a matter of maintaining your
knowledge and abilities, so that you are not one of the poor performers that get
axed first.
In the case of #2, sadly there is little you can do,
other than hope that your management is smart enough to investigate and learn
of the horror stories of other domestic companies who have done this. (That
they haven't outsourced you by now is a good sign that they may never at all.)
With Apple doing as well as it is, especially during
a recession like this, it speaks very loudly to businesses producing software,
peripherals or accessories being sold to that market. And to be able to
deliver something that sells well to a Mac user, an off-shored "lowest common
denominator" solution will not do. With the Macintosh user base growing
(and the Windows base declining), Mac skills will become relatively more greatly
valued. Furthermore, as the Macintosh growth being so much more recent,
the Mac developer base has not had the opportunity to grow in the same proportion
so quickly. This means that the ratio of developers to users is much more
favorable to you the Mac developer, than to
Windows
developers. All in all, this means that being a software developer for the
Macintosh is (relatively) more advantageous, than being one for Microsoft Windows or
Unix.
Macintosh Development Changes
Also having changed since 1992 is the know-how to perform
the job. Back then,
System 7
was about a year old, and
Windows 3.1
had just been released. Mac developers were combing through
Inside Macintosh Volume VI
to keep up with the latest changes, whilst old
DOS
users were just beginning to realize that this whole Windows thing wasn't going
to go away anytime soon. For Mac programmers, System 7 changes were built
upon a foundation of already learned material, 90% of which still remained relevant. It
was merely a matter of keeping up with new information, rather than relearning.
Today, it is very different. Nothing that I had
to know to do my job in 1992, is necessary or even relevant now. To be in
a good position to be hired as a Mac developer today, you need to know
Objective-C and the
Cocoa API,
which has no overlap whatsoever with the old
System 7 Toolbox. Although
it is true that there are still houses maintaining
Carbon/C++
code (and there needs to be developers with experience in this), there are a plethora
of Mac developers who can do this already.
Almost all the Carbon/C++ positions are essentially
filled already. However, with time, these positions are likely to be replaced
by Cocoa/Objective-C developers. A similar situation exists on the Windows side:
MFC/C++
developers are a dime a dozen these days and can be found almost anywhere. If
you want a shot at Windows development in the future, you will need to learn
.NET
development with
C# (although
VB.NET
is also a growing potential). Otherwise, you end up being like the lone
COBOL or
PL/I
programmer in an
IT department:
they might keep you around only for only as long as it's cheaper to do so, but
will eventually bite the bullet, and have such legacy code rewritten in C++.
Then there's
Java. 15
years ago, the computer section of nearly any bookstore was deluged with books
on Java. With respect to
programming languages,
it was clearly the favorite son of the mid- to late-1990's. And today it
still enjoys some popularity among Unix programmers, and various niches in the
Windows and Mac development arenas. But on balance, both Apple and Microsoft
are urging their developers to drop Java in favor of Cocoa and .NET, respectively.
As painful as this is to say (being a C++ bigot myself),
Mac developers wishing to remain relevant, should begin to focus exclusively on
Cocoa development with Objective-C/C++. No, Carbon/C++ is not dead, and
in fact it probably still commands a greater share of the Mac development market
than Cocoa. However, these are not jobs that are going to be waiting around
for you. The best of the best Mac C++ gurus will continue to slurp up whatever
remaining Carbon work there is to be had. Unlike Carbon, the need for Cocoa
development continues to outstrip the supply of capable developers to fill that
need. I still continually receive messages from headhunters in desperate
search for Cocoa programmers to write Mac and/or iPhone apps. This is the
future of the Mac.
Coming Up Next Month: In
Part 2,
we will discuss specific steps that you will want to follow to remain marketable
in this economy, and then in
Part 3,
we will discuss interviewing techniques. See you in 30!
[ Part I | Part II | Part III ]
To see a list of all
the According to Hoyle columns, visit: http://www.jonhoyle.com/maccompanion
http://www.maccompanion.com/macc/archives/March2009/Columns/AccordingtoHoyle.htm