Fog Creek Software
Discussion Board




What unemployment?

The organization I work for is having trouble finding a system administrator. Only 3 resumes were qualified, and of those only one passed the interview, and he already took another job.
This seems to contradict the prevailing idea that unemployment in IT is very high. This is a non-profit and the pay is lower, but it isn't bad. If there were any qualified unemployed system administrators in the area I think they would have applied. So is high IT unemployment just a myth, or is it only true of programmers, not system administrators? And wouldn't an unemployed programmer apply for system administration?

The Real PC
Wednesday, April 14, 2004

> And wouldn't an unemployed programmer apply for system administration?

If an advertisement asks for experience that I don't have, then I don't apply.

Christopher Wells
Wednesday, April 14, 2004

We are having similar difficulties finding candidates to fill high end Java developer positions.  2 years experience with J2EE is the basic requirement.  What we've found is that anyone with that much experience doesn't want to work for a small company.  We pay rather well, so I don't think its money related.  Qualified candidates have told us specifically they want to work for a larger company.

I personally think its unfortunate that we limit our interviewing to J2EE experienced candidates only.  By the time, if ever, we find a qualified candidate we could have had a bright unexperienced person contributing valuable work.

hoser
Wednesday, April 14, 2004

Job still open hoser? Hehe - where is it?

Andrew Cherry
Wednesday, April 14, 2004

Why do you need 2 years of J2EE?

Whoever you hire today will probably have to learn new technologies in the next 5 years.  If they have J2EE experience now but can't learn, they'll be a bad hire you can't get rid of in 3 years.

It might be better to hire someone proven who is tangentially qualified I.E. C++ or J1NormalEdition.  Send them to a week of java training every month for three months.  Have them take a course at night.  Pair Program or code review.

When you stop hiring for _skill_ and start hiring for _talent_ the field magically becomes larger ....

(My favorite technical interview question: "Write a function to reverse a string in place - in whatever language you are most comfortable with ...")

regards,

Matt H.
Wednesday, April 14, 2004

I think it's a classic case of the employment pendulum and we're currently in the middle of the swing from employers calling the shots to employees calling the shots.  At this moment both parties are waiting for the other one to blink.

During the boom employees were asking for (and got) highly inflated salaries and bitched that they did not get whipped veggie cream cheese with their bagel.  In the past 2 years it was the employer's turn.  Getting people for roughly half the boom wages and telling them to pick up their own damn bagel on their time before reporting to work.

The reason for this standoff is some jobseekers being incredibly picky and employers asking for the equivalent of 3 job descriptions for 1 person to handle.  I actually know a recruiter that was looking for someone to do equal parts C++ development, release engineering, and QA automation.

I told him that the team asking for this person was on crack and that I'd be amazed if such a person exists.  If he/she does, I'll bet they can't afford the price tag.  It's been about 3 weeks and still no candidates.  Hmmm.... I wonder why.

Poe
Wednesday, April 14, 2004

I think the manager here could spot a talented person and would be willing to train someone. So far, he has not found anyone. So where are all the desperate highly qualified unemployed IT workers who had to get a part-time job in the hardware store? Have they already started law school?
I'm just trying to make sense out of the seeming contradiction.

The Real PC
Wednesday, April 14, 2004

Maybe all the system admins already have jobs, since they're in a position you can't so easily outsource.

Kyralessa
Wednesday, April 14, 2004

Depends on the location. Here in Denver, the telecom crash hurt worse than the dotcom crash, WRT admin jobs. Last year, I applied for SysAdmin at a nonprofit and was told in my followup call that they had received over 600 resumes for the job. At entry level pay, no less.

It seems like the job market is settling down, but it's still definitely an employer's market in admin, here. On the other hand, there is no shortage of programming jobs if you don't mind working for Lockheed-Martin or their competitors.

Erich
Wednesday, April 14, 2004

>>Have they already started law school?

Quite possible. The boom drew a lot of people into IT. People who had neither talant or genuine interest in technichal problem solving, who came for the money. At this point its pretty clear to them that IT is a pretty sucky industry if you dont really enjoy messing with technology, and the salaries are on par with what any college graduate can expect.

There is also the fact that alot of IT work as its being done today is really stressfull and people burn out left and right. They may have loved coding or tinkering with servers, but their job situation killed that passion along with whatever creativity or desire to be productive they had.

So I believe there is something of an exodus going on.

Eric Debois
Wednesday, April 14, 2004

> to do equal parts C++ development, release
> engineering, and QA automation.
> I told him that the team asking for this person was on
> crack and that I'd be amazed if such a person exists.

Hey Poe,

I not only do that but also throw in another 3 or 4 languages plus Unix administration just for good measure.
Yes, we exist and yes, we get paid well.

old_timer
Wednesday, April 14, 2004

I'm most comfortable with Java. How do I reverse my immutable Strings in place?

Silly Putty
Wednesday, April 14, 2004

"If they have J2EE experience now but can't learn, they'll be a bad hire you can't get rid of in 3 years."

I used to think this was a pretty good argument. But after thinking some more I changed  my mind. If someone can't learn then how did they figure out J2EE in the first place?

If you have a general need like J2EE, .NET, embedded devices, etc... I think it's ok to hire based on experience in that area.

Looking for someone with 2 years Weblogic 6.2b is another story. Then I think you'd be better off going with a J2EE generalist that can learn.

NathanJ
Wednesday, April 14, 2004

The Real PC:

What, exactly, are the requirements, what is the pay range, and what part of the country?

We can't really answer your question until you give some facts.


Wednesday, April 14, 2004

Oh boy. First, if you are hiring for  a sole position or lead position then you need experience and talent. Personally I have a style of development and anyone working under me will follow that style (not the letter but the organization of code). I can take anyone with some talent and just a bit of knowledge and they can be producing more functional websites than the ones I'm accustomed to using where you think they would know better. I've done this.

About the job situation. Might depend on where you are. As we are moving stuff to corporate our sysadmin is not needed and he says there's nothing in the area. The guy is really a J2EE (C++) type developer who can also work as a sysadmin.  I know when I get let go I don't see anything in the area either and I'm already thinking of other fields of employment.

Me
Wednesday, April 14, 2004

"I'm most comfortable with Java. How do I reverse my immutable Strings in place?"

Reverse a StringBuffer in place then. :-)

NoName
Wednesday, April 14, 2004

new StringBuffer("hello").reverse()

Gerald
Wednesday, April 14, 2004

""" new StringBuffer("hello").reverse()  """

Is that in-place?


Wednesday, April 14, 2004

Yes, it is in place. If you look at the implementation it returns the existing StringBuffer, not a new one.

Gerald
Wednesday, April 14, 2004

You're fired.

Dlanod Eht
Wednesday, April 14, 2004

NathanJ,
Everybody else who thinks like you do will try hiring
that guy with 2 years' J2EE, then he'get 3 years then 4
etc on a salary you can't afford. And all the guys who
did java in college, or did c#, or corba, who can easily
do the job you want but don't already have the job,
don't have the job, so can't get experience, so can't
get the job, so can't get experience ... etc ad nauseam.

Curious
Wednesday, April 14, 2004

<quote>
If you look at the implementation it returns the existing StringBuffer, not a new one
</quote>

Hate to be pendantic (no I don't), but just because it returns the same stringbuffer doesn't mean it was performed in place.

gasoline valley
Wednesday, April 14, 2004

You beat me to it, Gerald! Even more importantly, it illustrates the value of knowing the platform and not needlessly re-inventing the wheel.

John Topley (www.johntopley.com)
Wednesday, April 14, 2004

No problem about being pedantic, I should have been more precise. If you look at the JDK source it is reversing the internal character array that the StringBuffer class maintains in place without allocating any additional buffers or arrays.

Gerald
Wednesday, April 14, 2004

Gerald & John are both no-hires. :)

StringBuffer's reverse is NOT in-place!

"Converts to a string representing the data in this string buffer. A new String object is allocated and initialized to contain the character sequence currently represented by this string buffer. This String is then returned"

http://babbage.clarku.edu/java/docs/api/java/lang/StringBuffer.html#reverse()


Wednesday, April 14, 2004

ah crap. I'm the no-hire. wrong method.

   
Wednesday, April 14, 2004


Curious,

A senior developer with 2 years J2EE is not a big deal. If you did java in college then go find a beginner job. I've seen developers hired for on-the-job-training. Some do great, but a lot of them suck even if they came across as great learners to the interviewer.

There is a cost to ramping up on a new skill even you're super smart.

NathanJ
Wednesday, April 14, 2004

To get away from the in-place nonsense...

What exactly where the requirements/pay?

The Ted
Wednesday, April 14, 2004

"And wouldn't an unemployed programmer apply for system administration"

Not all programmers have sys admin skills.  (Nor do I particularly want them).  While I am sure that I am capable of learning sys admin stuff I doubt I would be able to convince you to give me the job based on current knowledge.

Question for the person wanting to hire someone with 2 years J2EE:  Would you hire a bright/gets stuff done person who has professional Java experience but no J2EE experience?

madking
Wednesday, April 14, 2004

And exactly is J2EE experience?  Does J2EE experience mean you should be an expert in everything that J2EE offers? It's a huge package.

If you're doing servlets, you're using J2EE. It also contains mail stuff, corba, jms, encryption, enterprise java beans, authentication services, some XML goodies, and a lot more.

I don't even really understand why J2EE is such a big deal. It seems to me it just gives you a bunch of extra goodies that Sun didn't want to include in the J2SE for some reason.

Silly Putty
Wednesday, April 14, 2004

The trouble right now with finding talent is that most of those who have the talent have a job already and aren't trying to change jobs.  They may have been job hopping 5 years ago, but nowadays the effort to find a new job is much greater so they don't bother to try (unless they're really pissed off at their current place).

And of the talented folks that don't have a job, many are starting their own company.

T. Norman
Wednesday, April 14, 2004

Silly Putty,

I agree, J2EE experience isn't all that important compared to how well someone knows *java* or oo programming.  It is annoying though, to hire someone, and have to teach them how to edit web.xml, use ant, create a servlet, etc.  I definatly would hire a guy with some experience if I was looking for someone twho could immediatly be productive.

vince
Wednesday, April 14, 2004

You're fired.

Dlanod Eht

Thats is trademark infringement, you need to send Donald Trump $20 immediately or someone will come knockinh on your door.

hjm
Wednesday, April 14, 2004

> I used to think this was a pretty good argument. But after thinking some more I changed my mind. If someone can't learn then how did they figure out J2EE in the first place?

Sometimes relatively dumb people get to do things by asking how to do everything and having people hold their hand all the time.

After two years they will be able to function reasonably well in that company, but they're not smart, won't adapt well in new environment, and won't keep up with technology.

Guess what, though. They're pleasant people able to work the system, and they're the ones who get hired.


Wednesday, April 14, 2004

A string is a char array. java.lang.String is just a convenience class. In Java you would reverse a char array.

FWIW, this is the source to the StringBuffer reverse() method in 1.4.2:

int n = count - 1;
for (int j = (n-1) >> 1; j >= 0; --j) {
char temp = value[j];
value[j] = value[n - j];
value[n - j] = temp;
}
return this;

Rhys Keepence
Wednesday, April 14, 2004

in Java, Strings are not char arrays but a object.

to reverse a String in place you can do this , i think

class ReverseString {

String  str;

ReverseString (String s) {

str = s;

}

void backwards() {


for (int i = str.length() ; i > 0 ; i--) {

    int j = i-1;

    System.out.println ( str.charAt( j ) );
    }
}

}

eddy
Thursday, April 15, 2004

NathanJ
Would you hire someone with 4 years experience,
  but not in your specific niche, for a beginner job?
Should such a person apply for a beginner job?
Can you point me to a single vacancy on geekfinder
  for a beginner job?
Would you not have to wait 2 years then for that
  person to work at his beginner job before you
  could hire him? How does that solve the problem
  of finding an employee now? Would not providing
  a few months of adequate training be far quicker
  than this ridiculous process?

Curious
Thursday, April 15, 2004

Curious,

I see your point, but...

Just because it's hard for someone without experience to get a job doesn't mean that they should be hired to a job for which they are unqualified.

If I can afford 3 months to train someone on J2EE then I assume I could also afford 3 months to continue looking for someone with the appropriate level of J2EE experience. Waiting would actually be cheaper because I don't need to pay any salary for 3 months.

I think it sucks more for the job-applicant who is missing the buzzword, but usually there is someone just as good who does have the buzzword.

NathanJ
Thursday, April 15, 2004

>>>>>>>>>>>>>>>>>>>>>>>>>>
int n = count - 1;
for (int j = (n-1) >> 1; j >= 0; --j) {
char temp = value[j];
value[j] = value[n - j];
value[n - j] = temp;
}
return this;
>>>>>>>>>>>>>>>>>>>>>>>>>>

Here's something I spotted right off the bat that I don't like about that algorithm:

First, I'm assuming that "count" is the length of the string.

Let's take this string:

"abcde" (length 5)

n = 5-1 = 4
j = 4 - 1 = 3;  3/2 = 1.5 = 2

Going into the for loop, n = 4, j = 2

char temp = value[j];
  --> temp = value[2] = c
value[j] = value[n - j];
  --> value[2] = value[4-2] = value[2] = c
value[n - j] = temp;
  --> value[4-2] = value[2] = c

The first loop, I switched c with c!  Uhh, why?

William Campbell
Thursday, April 15, 2004

Oh, wait.  Why did I think that an int would round up?

Nevermind!

j = 4 - 1 = 3;  3/2 = 1.5 = 2

should be:

j = 4 - 1 = 3;  3/2 = 1.5 = 1 <-- assigning to an int, doesn't round, it just chops!

duh!

William Campbell
Thursday, April 15, 2004

NathanJ ,

You are looking at development as a cost, not an investment. It might be time rethink the role of IT in your organization.


Thursday, April 15, 2004

Meaningless truism:

All investments have a cost. If investment A costs $250 for a $1000 return and investment B costs $750 for a $1000 return then it's a better idea to go with investment A. If you invest 3 times in A then you'll get a return of $3000.

Likewise, if you hire someone with J2EE experience and give them 3 months of training you'll get J2EE +X. Whereas if you hire mr generic java programmer you'll just have J2EE.

NathanJ
Thursday, April 15, 2004

I'm going to graduate with my BSc in a couple months and I've been looking for a software job, but so far prospects aren't looking that good. All I really see is jobs needing 3-5 years experience etc, probably just because they can demand it.... no Entry Level Positions...

There are lots of really smart people I know having problems getting jobs. People who took Computer Science because they like computers, not just to make a quick buck.

Sadly, The job market needs to get better though before people are willing to give new grads a chance. In the mean time, the I guess I'll have to pump gas for seven bucks an hour and write code for free, while still not qualifying for "working" J2EE experience..

I think that the people who nowadays get to hire just forgot that they had to start someplace too.

Sigh,

FreezingAtlas
Thursday, April 15, 2004

"If I can afford 3 months to train someone on J2EE then I assume I could also afford 3 months to continue looking for someone with the appropriate level of J2EE experience. Waiting would actually be cheaper because I don't need to pay any salary for 3 months."

As everything in life, it's a gamble.

You can hire Mr. Java-and-no-J2EE, give him 3 months training, after which he starts producing.

Or you can wait for 3 months, hoping to get Mr. J2EE-Expert.

The risk you're taking is that you may reach month 4 and you still don't have Mr. J2EE-Expert, and you're already 1 month behind on what you could have if you had gone with Mr. Java-and-no-J2EE; month 5 = 2 months behind; and so on.

Kinda reminds me of the option sw companies have about their products: Get something out on the street ASAP, even if you have to sacrifice quality, wait until you do it right.

Paulo Caetano
Thursday, April 15, 2004

"Get something out on the street ASAP, even if you have to sacrifice quality, wait until you do it right."

Obviously, that shoud be

Get something out on the street ASAP, even if you have to sacrifice quality, or wait until you do it right.


Just go ahead and post, or wait, and read what you've written, and avoid looking like a fool :)

Paulo Caetano
Thursday, April 15, 2004

"All investments have a cost. If investment A costs $250 for a $1000 return and investment B costs $750 for a $1000 return then it's a better idea to go with investment A. If you invest 3 times in A then you'll get a return of $3000."

I call bullshit. 

Sassy
Thursday, April 15, 2004

Hire a really smart Java programmer without J2EE experience but with other varied experience, and with 3 months training and hands-on work he can become better than an average Joe programmer with 3 *years* J2EE.

T. Norman
Thursday, April 15, 2004

Paulo, you're not a fool, you're good enough, you're smart enough and doggone it, people like you! No, really. :-)

The Scarlet Pimpernel
Thursday, April 15, 2004

"Paulo, you're not a fool, you're good enough, you're smart enough and doggone it, people like you! No, really. :-)"

Gonna print this, and post it here on the office wall - after all, if you read it on the net, It Must Be True (TM)

:)

Paulo Caetano
Friday, April 16, 2004

Dear Real PC,
                    The fact that there are only about two posts on sysadmins and three dozen on Java tells you the answer.

                      The relationship between programming and sysadmin work is the more or less the same as that between 100 metre Olympic freestyle and Sumo wrestling. Sure they are both sports, and both require strenght and a layer of fat for bouyancy but there the difference ends.

                        The next point is that sysadmins have not been affected by outsourcing. You do have many network engineers affected by the telecoms crash, but as has been pointed out they are concentrated geographically and nobody is going to relocate for a non-profit below market salary. You have many less sysadmins being hired at the bottom level now (that is to say the A++ guys who go round putting in the cards and setting up Office on each machine) because companies have realized how exorbitantly expensive IT support is and are setting up automated solutions and cloning new machines so tha the user/ssyadmin ratio is going from 25-75/1 to 75-500/1. This means that there are less people at the bottom to move up and take a low pay promotion. And you're too late to get most of the paper MCSEs who are now happily selling gasoline or crack in Toronto, or teaching EFL in China.

What your company ought to do is give the position to the programmer or receptionist who is doing the sysadmins job temporarliy and advertise their old job.

Stephen Jones
Friday, April 16, 2004

[the programmer or receptionist who is doing the sysadmins job temporarliy]

Stephen,
You are being illogical as usual. You really think a receptionist can do the sysadmin job. You also think a receptionist is about as likely as a programmer to be qualified.
I also think your sports analogy is wrong. In general, a programmer with a lot of Unix experience can probably learn the sysadmin job, and knowing Unix scripting would give them an advantage.
The problem here is that they want someone highly qualified who doen't mind getting paid less. But it's a lot better than working at K-Mart, or wherever all those highly qualified IT workers are supposedly working now.
What you do not realize is that not all IT jobs are easy and not all can be learned in a week.

The Real PC
Friday, April 16, 2004

If you take a talented programmer and tell him he's now a sysadmin, he will spend a good deal of his time writing new programs to automate tasks.  Eventually, his new programs will get these tasks done -- after they've been properly debugged and tested.

I see it like pro sports.  You can put Michael Jordan in a baseball uniform.  Sure, he's got great general athletic ability.  He'll do better than 99% of the population, in fact.  However, he'll still be a mediocre baseball player compared to moderately-talented people who have dedicated their entire lives to baseball.

Richard P
Friday, April 16, 2004

*  Recent Topics

*  Fog Creek Home