Article dated for late 2011
Recruiters say the fiercest demand is for top-level, experienced workers
with a few critical skills. Those skills include user interface, which
involves designing the look and feel of a software application; mobile
apps development, which entails programming for smartphones and tablets;
and cloud computing software, which requires new kinds of code.
WHAT AUSTIN SEEKS
Here are some of the skills software companies are searching for:
refers to the look and feel of a software application and how users
interact with it. It has become a high-
demand skill as companies seek
applications that look cool and are fun to work with.
devices, including smartphones and tablets, impose different
constraints and require different kinds of programming skills from
standard personal computer programs. These applications are usually on
Apple iOS or Android, which are relatively new environments.
world is moving toward cloud computing to gain efficiency and
flexibility. The new software developed for clouds demands different
kinds of code to take advantage of the flexibility of computing
clusters. The real mind shift in cloud development is the notion of
‘infinite resources' where capabilities can expand immediately. Most
cloud environments are built on open source infrastructure and require
sweat it too much. You can do things to adjust your odds, but there's a
lot of luck involved, so part of it is out of your control. Who's
hiring, what they're looking for, how your resume matches what they
want, and how you interview that day can all turn good candidates and
good employers into non-matches.
Mind your ethics and personal
preferences, but don't over-emphasize the fun part of a fun job. Your
attitude can control your opinions to some extent, and this plays in
your favor here. Employers generally trip over themselves to try to
convince candidates that they're a fun and exciting place to work.
They're not trying as hard to pour money on you (generally). Geeks are
generally bad at negotiating, and bad early steps can have a long-term,
sometimes nearly permanent, effect on your salary level. It's also
common to feel bitter if you ever realize you're being screwed over
Don't sweat recruiters too much. As a candidate your
interests don't directly align with theirs. That doesn't mean that
you're necessarily always at odds. If you care about a fun work
environment you will probably find that they don't have much to offer
you. It doesn't hurt to talk to them, but don't expect much.
the single biggest attack point for hitting your stated goals is during
the job interview. Make sure that you realize the interview is, and
treat it as, a mutual process. Are your future teammates boring, stupid,
or difficult? What's the manager looking for, explicitly and
implicitly? Why did the last person on the team leave (even/especially
if the team is growing)? How does the hiring manager (or the higher-up
"fit" interviewer, usually a Director or executive) think about the
company culture, and what do they do about it?
You will probably
not benefit by bringing up salary or benefits before the interviewer
does, so don't. Once that topic has been broached don't be afraid to
dig. If you're feeling brash, ask how the company makes salary
decisions. There are services out there that offer salary ranges for
employee positions. Maybe they use that data. If so, how?
you'll get an offer. Congratulations! It's very common for employers to
set a tight expiration on one. If your offer expires sooner than you're
comfortable making a decision, push back gently but firmly. Commit to a
response deadline, but give yourself the time you need to decide.
In my experience, finding a
great job starts with not selling yourself short. Don't send out
blanket resumes to anyone who is hiring with the hope that something
will stick. Don't waste time with recruiters who have no idea about the
tech industry and/or work out of some call center in New Jersey. Spend
time searching for jobs that appeal to you, particularly stuff from
personal contacts, HN or StackOverflow careers before wading into
Monster or Dice. Also, spend the time to check out any companies in
your area(s) that you are interested in. Many times companies only post
jobs on their own site, and sometimes jobs aren't posted at all. If
you know of a company you want to work for, send in a resume even if
they don't have open positions. Then, put as much effort as possible
into nailing one or two job possibilities a week. That means
researching the company and their competition
(Twitter/Glassdoor/LinkedIn/etc), refreshing yourself on any software
topics related to their niche, and playing with any of their products
you can get your hands on. Also, be ready with some real questions for
them during the interview, and remember that you are interviewing them
as much as they are interviewing you. Good luck!
Start a technical blog, in
which you advertise that you are available for hire. Go to meetups (and
conferences) to further network with the right people.