Fog Creek Software
Discussion Board




High return skills investment

The company that employs me has been going through some radical management shifts (*cough*president got fired*cough) lately, and I've decided that it's time to move on.  I manage the computer department, but it's a small department and the majority of my time is spent coding databases and web applications for the company's homegrown systems, with some client/server stuff thrown in.

I've got the regular potpourri of skills that a lot of my peers have: relational databases, web apps in Java and ASP, etc.  That's the problem, I think: my common skillset blends in with everyone else's.

I've decided to plan to leave in six months, and I'm wondering what I can look into now that will give my resume a boost in the short term.  ASP.NET?  Some area of artificial intelligence (I'm halfway through my MSCS in this area)?  J2EE?  Or perhaps a return to basics--one friend with whom I spoke said good skills with C/C++ (mine are average) are still a good selling point in a lot of places.

Anxious IT Manager
Tuesday, December 30, 2003

Find out what type of work you want to do,
Find out which companies do the type of work you want to do,
Find out how to get hired at those places.


Tuesday, December 30, 2003

IMO, here are some things to concentrate on:

1) Networking!  Build a "sales funnel" of your contacts, their contacts and so forth, touching base with each one to find out what's happening in their companies, with their friends, etc.  The best thing you can do is to work on your network... not just your technical skills.

2) Research: visit target companies' web sites and find out what they do and what they're looking for.

3) Lastly, technology - once you've networked and researched sufficiently, it's time to evaluate your skillset and do a "gap analysis".  Given your current state, what do you need to do to get to the desired end state.  Training, certification, etc.?

Most importantly, IMO, is to build a sales funnel of contacts and companies.  Advance entries in the funnel as you establish relationships, do research, get interviews, progress to second-level interviews, etc.  You're selling yourself... treat it as such.

Of course, this is just my opinion, I could be wrong ;-)

dir at badblue dot com
Tuesday, December 30, 2003

One problem, IMHO, is the gap between:

a. What HR *advertises* that they want
(the latest buzz words)

b.  What the technical folks *think* they need
(someone who can deal with a high pressure environment)

c.  What they really need
(Someone who can get along with other folks, has a reasonable ability to understand the people side of the problem, whether it's the politics of a project's advocate, or the needs of the true end user).


(a) will get you an interview.  (b) might get you hired.  (c) will help you contribute to the company and produce a successful application.


My $.02 worth

Entrepreneur
Tuesday, December 30, 2003

Probably the best thing you can do to develop marketable skills is to become an expert in the problem domain you intend to work with.  Deep knowledge of the workflow and other domain-specific knowledge makes you far more employable than someone who is merely an excellent programmer.  For example, a programmer who also knows a great deal about tax law would be more likely to get noticed when applying to a financial services company.  Figure out what problem domain you want to work with and focus your studies on that field.

Matt Latourette
Tuesday, December 30, 2003

My advice: GET WIERD.  Also, stay true to what you
_like_ to do.  For better or worse, my software
aesthetic favors small, fast code which makes minimal
use of resources to get the job done at the maximum
speed.  After my last layoff, I realized that embedded
programming was the area where my approach actually
fit the business problem - and was the least prone to
language fads and bloat-oriented "standards". 

It helped that I already was a C programmer (not C++);
I just had to learn how to develop for a no-OS, resource
constrained environment.  It isn't as hard as it may seem.

Also, no fear about Windows CE - the embedded world
is quite a different marketplace from the PC world in that
the cost of software development is trivial next to the
cost of the hardware - no matter how cheap the hardware
gets.  So, tight, efficient programming will always be
valued in the embedded area, and it will rarely make
business sense to sacrifice resources for programmer's
convenience with resource-intensivelanguages and
expensive "standard" protocols, as it does in IT.

foobarista
Tuesday, December 30, 2003

I should explain my "Get Wierd" remark.  My point is related
to the post which mentioned getting some, hopefully
unusual, domain knowledge.  Playing the "cool technology"
resume-stuffing game will doom you to competing with every
Bangalorian who ever cracked a book or darkened the
doorway of a tech school.  Having relatively obscure business
or technical domain knowledge is a far better way to stay
different and keep your advantage over time.

foobarista
Tuesday, December 30, 2003

Uh...yeah....cause I see lots of jobs all over the place that say "WANTED: MEDIOCER PROGRAMMER WITH SMALL AMMOUNT OF ASP PROGRAMMING BUT UNDERSTANDS TAX LAW".  I don't know who you guys are kidding.  Sure, understanding business lingo is helpful, and so is knowing the industry, but don't make it seem like its a one for one trade.  I'd rather higher a smart, knowledgable developer who doesn't know a thing about tax law then a guy who does, but can't really program that well.

vince
Tuesday, December 30, 2003

But does a resume cluttered with acronyms, 90% of which
aren't useful to a particular employer, equal "good
programmer"?  I'd far rather hire someone who had
expert knowledge in one field - even if it isn't my field or
even the field we're hiring for - than someone with a six-line
alphabet-soup list after the "skills" bullet in the resume.

One equals mastery of something, likely with the ability to
master something new.  The other is confusing clutter.

foobarista
Tuesday, December 30, 2003

You've all said good things about the topic generally (thank you), but my problem is that I already have the deep domain knowledge (IT, business & management) and a lot of demonstrable experience in a particular field (web applications development).  So do a lot of others.  What I'm looking for is the kind of icing on the cake that will make my resume stand out a bit more. 

I'm doing what I love (I'm moving on to shed the management side and to get out of a company that will be circling the bowl in a year), and I'm looking for the same sort of job.  But when I look at jobs on monster.com, for example, there's always a few odd acronyms required, in addition to solid experience in the normal things.  As one person said above, talk to your friends and contacts and find out what's current and what might be tomorrow--so I'm putting the question to you guys:  what sort of things should I fill up the corners of my resume with, given that I've got six months or so to develop at least a passing familiarity and some experience with a new area that will complement my core skills.

Anxious IT Manager
Tuesday, December 30, 2003

Anxious:

I'm afraid that 6 months isn't going to make that big of a difference espcially if you're going to rely heavily on the job boards. Right now (and for the last couple of years) all of the major job boards have turned into cess pools (know nothing recruiters, MLM opportunities, horrible subcontracting firms, etc...). You may need to respond to hundreds of job postings if you have general skills.

The hottest skills right now are in ERP and data warehousing. Have 2-3 years experience with SAP, PeopleSoft, BusinessObjects... you can find something in a hurry. There's always something like this (remember how hot PowerBuilder was).

For general development skills, a big plus would be demonstrable .Net and web services experience. A resume entry that was .Net and web services through and through would be a big deal to some people.

Mark Smith
Tuesday, December 30, 2003

Hi Anxious IT Manager,

With the time you have left with your current employer you should be spending most of your free time networking. That means attending local user group meetings, job fairs, chamber of commerce meetings, local meeting groups for the unemployed, contacting friends, sending out resumes, etc. 

Imo, adding something extra to your resume really won't help you stand out from the crowd unless you can somehow get away with stating that you used [fill in whatever hot technology or programming language you wish here] on some project at work. You should be selling not only your programming experience but your management experience as well. If you have a good track record of successfully completing projects with your current employer then by all means stress this fact in your cover letter or on your resume. It sounds to me like you already do stand out from the crowd and that you need to concentrate on learning how to sell yourself.

Finally, don't limit your chances of finding another job by only applying for "new development" type of positions.

Good luck and feel free to keep us updated on your progress.

One Programmer's Opinion
Wednesday, December 31, 2003

"I'd rather higher a smart, knowledgable developer who doesn't know a thing about tax law then a guy who does, but can't really program that well."

Perhaps the tax law thing was a poor example.  Let's try another one.  Suppose your firm makes chemical process simulation software (something like Hysim).  Are you going to hire a top notch programmer who doesn't have a clue what "fugacity" or "delta G" is or a chemist who knows Fortran 77?  I'd bet that 9 times out of 10, they pick the chemist who knows Fortran.  If you're a good programmer and you possess deep specialized knowledge of your business domain, you have an advantage over a great programmer who is a mere generalist in applying for a job in that business domain.

Matt Latourette
Wednesday, December 31, 2003

Sure your pot pourri of skills is the same as anybody else's, but that is because it is what is required in most cases.

You are only coincidentally a programmer; you are basically an IT manager, systems adiministrator, whatever. Remember that and repeat it because programmers get outsourced to Bangalore but IT managers and system admins can't.

What are the two things companies the size of yours are likely to be looking at in the next year. I would say on the hardware side, Gigabit ethernet, and on the software side either SAP or Content Management Systems. Keep up to scratch on those.

Stephen Jones
Wednesday, December 31, 2003

"deep domain knowledge (IT, business & management) and a lot of demonstrable experience in a particular field (web applications development).  "


That's horizontal knowledge.  What the other poster is advocating is vertical knowledge.


Wednesday, December 31, 2003

Sharepoint.
1) It's an extremely hot technology
2) It's got an awesome "out of the box" experience for managers
3) It's a real "gee whiz" tool for managers
4) It's got obvious value-add for managers
(noticing a common theme here?)

5) It's an easy search term (i.e. when HR goes looking, it's a clean search)
6) Because it's a "portal", I think a lot of devs are going to poo-poo it, leaving a gap. (note that you *will* have competition from people who think they can install Sharepoint and learn it overnight, but that's a standard everywhere, I think)

Get MSDN, set up a Win2k3 box with sql and Sharepoint. Install Visual Studio 2003 and Frontpage 2003, and learn how to bend Sharepoint to your will. I think it'll be worth the time spent.

And to be honest, it's not a HUGE investment to learn. It just takes a bit longer than overnight. ;-)

Philo

The opinions expressed in this post are solely those of Philo and obviously don't represent the opinions or positions of Microsoft

Philo
Wednesday, December 31, 2003

I agree with Matt L.

Software is merely a way to distill some other knowledge into a reusable form. E.g., tax software creates your own personal tax advisor. Our speech therapy software provides your own personal speech therapist.


And, basically, if you have ONLY knowledge of the software code, then you are 100% replaceable by someone in India.  You're then competing with everyone on the planet.

People underestimate how valuable (and rare) that knowledge of the problem domain is.  Problems that we try to solve in software are often more sublime and difficult than we realize. 

Entrepreneur
Wednesday, December 31, 2003

-----" The opinions expressed in this post are solely those of Philo and obviously don't represent the opinions or positions of Microsoft "-----

And the fact that Philo gets paid to sell Sharepoint is purely coincidental!

Stephen Jones
Wednesday, December 31, 2003

We use Sharepoint here internally.  I hate it.  I can never find the information I need off the intranet.  Even if I do, it's likely to be out of date.  I wish we had a wiki.

Alyosha`
Wednesday, December 31, 2003

Sharepoint.
Because it's got its own weird way of doing things, and it's a current buzzword. So if you really understand it, you'll be valuable.

mb
Wednesday, December 31, 2003

Get a PhD in physics and then work for a trading firm doing excel/vba spreadsheets.

Richard Epstein
Wednesday, December 31, 2003

*  Recent Topics

*  Fog Creek Home