Fog Creek Software
Discussion Board




Dear The Entire Software Industry

Why is it that when a company is looking to hire someone they are looking for specific things and then when you are hired they expect you to know everything?

Why is it that Unix people who use Progress 4GL don't know SQL?

Why is it that when I interview I am grilled and then when I ask for qualifications from the interviewer they normally turn their nose up.

Why is it that I know everything and everyone else knows nothing and that's the way it has be damnit?

Why is it that even though stressed as "team work" at an interview when it comes down to it most programming teams are not teams at all but individual people doing what they are told by "the team leader" or even worse the customer?

Why is it that "my product and my company" are the best and never ever have any areas of improvement?

Why is it that programmers are so narrow minded and stupid?

Why is it that every company I interview with says they only hire above average programmers and then when you work with the guys all they know is HTML because "that's all they do?"

If every company hires above average programmers where do the average ones go?

Why is it that all of this is made into some kind of a game at an interview?

Why is it that a programmer will never take advice given about a technical subject from another programmer?

Anon
Wednesday, June 02, 2004

Why does Anon keep posting every single question he has in his head?

Berlin Brown
Wednesday, June 02, 2004

He's so rich, he has nothing to do all day except count his 11.5  mil

Sassy
Wednesday, June 02, 2004

If every company hires above average programmers where do the average ones go?

Lake Wobegone

sgf
Wednesday, June 02, 2004

Dear Anon,

Programmers are generally buttholes with no common sense. Hiring practices are based upon this fact.

I figured this out a long time ago.

Bored Bystander
Wednesday, June 02, 2004

Programmers who think they know everything really annoy those of us who do.

Derek
Wednesday, June 02, 2004

"Why is it that when a company is looking to hire someone they are looking for specific things and then when you are hired they expect you to know everything?"

Because, more and more, companies have to do more with less resources. IT isn't the cool thing it once was, and it is increasingly difficult to get funds when 80% of the projects fail.

"Why is it that Unix people who use Progress 4GL don't know SQL?"

I don't know anything about Progress, but do know we've had people so focused on tools that they miss the concepts.

"Why is it that when I interview I am grilled and then when I ask for qualifications from the interviewer they normally turn their nose up."

Because either a) you are coming into a bad environment, b) the interviewer doesn't know much about the subject but has to be the interviewer anyway, or c) they are embarrassed that they don't have the "qualifications" to interview you but have to anyway. And the only time I could see their qualifications being an issue is if you answer a technical question in a way they aren't expecting, they may not be able to know if it is right or not.

"Why is it that I know everything and everyone else knows nothing and that's the way it has be damnit?"

Two words: Job Security. If everyone knows everything else, you are replacable. At least that's what I've heard.

"Why is it that even though stressed as "team work" at an interview when it comes down to it most programming teams are not teams at all but individual people doing what they are told by "the team leader" or even worse the customer?"

Because teams are not the same as throwing a bunch of people in the same room to work together. Read the book Peopleware for a great explanation of team dynamics.

"Why is it that "my product and my company" are the best and never ever have any areas of improvement?"

If it is the technical people saying that it is because oftentimes it is difficult to see problems with software you write (which is why peer review is a good method to find problems). If it is coming from the top, it is because "If it ain't broke, don't give the IT weirdos money to try and break it"

"Why is it that programmers are so narrow minded and stupid?"

The only programmers I have ever met who are narrow minded are the ones who got an MCSE and call themselves programmers without any basis in CS. I have met plenty of programmers who are *passionate* about their beliefs in software, but I have also met plenty of "religious" people who are as equally passionate.

"Why is it that every company I interview with says they only hire above average programmers and then when you work with the guys all they know is HTML because "that's all they do?"

If every company hires above average programmers where do the average ones go?"

The average programmers go to the company you spoke of in the question above it. The above average programmers have a sensitive BS sniffer and run as fast as their pasty legs can carry them from there.

"Why is it that all of this is made into some kind of a game at an interview?"

Because it is fun to watch people squirm? Seriously, the best interviews are ones where you are put into real situations. I've interviewed for positions to come in and take over undocumented systems, and that is the direction the interview went in.

However, if by game you mean that you have to beat the lead programmer in a game of Ping-pong, well then you are on your own.

"Why is it that a programmer will never take advice given about a technical subject from another programmer?"

Probably for the same reason people would rather rewrite code then maintain someone elses.  It is easier to just come up with your understanding of the app as you code it then to follow someone elses thought process.

CF
Wednesday, June 02, 2004

"Why is it that Unix people who use Progress 4GL don't know SQL?"

Because Progress 4GL is imperative and SQL is declarative.

Shawn Leslie
Wednesday, June 02, 2004

"Programmers who think they know everything really annoy those of us who do."

LOL. This is SO true. :p

Green Pajamas
Wednesday, June 02, 2004

"Job Security. If everyone knows everything else, you are replacable. At least that's what I've heard."

Howver, if you can't be replaced, you can't be promoted, either.

anon
Wednesday, June 02, 2004

Programmers who think they know everything really annoy those of us who do.

You sound one of those people that annoy you.

Somorone
Wednesday, June 02, 2004

"The only programmers I have ever met who are narrow minded are the ones who got an MCSE and call themselves programmers without any basis in CS."

Assuming that only programmers who have formal training in Computer Science are any good seems rather narrow-minded to me. Some of the worst developers I ever worked with were CS grads and postgrads. Conversely, some of the best developers I ever worked with had degrees in social sciences, modern languages, and film studies.

At best, a CS degree gives you a theoretical backgrounding that then helps you to gain experience in the real world - which is what really matters to anyone programming in a commercial environment. On the job training is a perfectly acceptable substitute for that. At worst, a CS degree gives you a theoretical backgrounding that you then assume gives you the right to tell experienced and successful developers that they don't know what they're doing. Shortly followed by getting fired, if you happen to be working for me.

It's no surprise that people are switching to more vocational and less theoretical degrees. CS is no longer relevant to the majority of mainstream software development.

Neil Hewitt
Thursday, June 03, 2004

<< "Why is it that Unix people who use Progress 4GL don't know SQL?"

Because Progress 4GL is imperative and SQL is declarative.>>

Exactly.  I've used Progress for 16 years now and I almost never use SQL with it, barring the odd inquiry when at the interactive "tramlines".

You mentioned the key point when you said "4GL".  Guess what, if you have an easy-to-use Fourth Generation Language with all sorts of helpful features, why on earth would you want to use something that isn't even Turing Complete, and that needs high levels of expertise if you aren't to be crucified by bad performance?

I'm all for declarative programming, but let's at least do it in worthwhile languages like Haskell, Oz and the ML family.

Stunted jokes like SQL just give declarative programming a bad name.

David B. Wildgoose
Thursday, June 03, 2004

Either that or your just too damn lazy to learn SQL.

It's just as important to know what happens underneath all of those layers of abstraction as it is to know the abstraction itself.

Anon
Thursday, June 03, 2004

I would have thought that "almost never use SQL" should have implied that I *do* know SQL.

And lazy people don't learn programming languages like Haskell, Oz, etc. for fun.

But if you think that SQL is the underlying engine behind Progress then you who are the one who is woefully ignorant.  Try learning something before spouting off.  English would be a good start.

David B. Wildgoose
Thursday, June 03, 2004

That's interesting.  My post got mangled.  I suppose that's what you get when using Forward and Back in browsers whilst attempting to post.

Now cue comments about *my* English...

David B. Wildgoose
Thursday, June 03, 2004

>> "But if you think that SQL is the underlying engine behind Progress then you who are the one who is woefully ignorant.  Try learning something before spouting off.  English would be a good start."

I somehow knew that you would imply (and take offense to hehe) that from what I wrote.  Fortunately I am smarter than that, thanks for asking.

Anon
Thursday, June 03, 2004

Having done a degree in computer science is actually really damn annoying.

It means that I go from place to place, and everywhere I go, I watch people re-inventing, badly, work that was done in the sixties.

I get to watch people wasting time doing things that they really shouldn't need to do, because they absolutely will not accept that other people have done any work ever.

And putting up with their MASSIVE inferiority complex. Every time they write something (usually laughably simple) they stick fingers in the air and say "hah!! And **I** don't need a degree to do things like this!!"

The main thing you get out of a degree in computer science is a glimpse at the theoretical understanding of how to do all this stuff. And a realisation that it's **HUGE** and you're never going to remember it all.

And you spend the rest of your life having the approach to problems being to go look in the literature before you start inventing. While I may not understand the whole of CS, my first approach is to go look for the definitive book on a subject, not hack a quick bodge untill it works.

The "I leaned BASIC and was so good at it I didn't need a degree" crowd don't know just how massive that underpinning is. They don't have even the basic understandings of complicated subjects that will help them solve the problem. They don't even know there IS any literature. They're the ones that write "compilers" by hand instead of using Yacc, as a simple example because when faced with a problem their first approach is to pick up an editor and start chipping away at a mountain of code, instead of go see if someone else already climbed it.

And then you have to put up with all the people complaining about how asking for a degree in the basic science instead of the local polytechnics "typing Java" course is being narrow-minded...

Katie Lucas
Thursday, June 03, 2004

That's a nice example Katie, but how about the people without a degree who know all about language theory and have written Tomita or Earley generalized LR parser generators for their compiler projects because LALR parsers don't support ambiguous grammars or their requirements demand breadth-first search of the input?  So you got some background on CS and you know where to go to research areas you don't know about, big deal.  There are plenty of ways to do that without the particular path that you found yourself on.  Get off your high horse.


Friday, June 04, 2004

I think sometimes that it's hard to find solid people in this industry who aren't on their “high-horse” so to speak. I'm a college grad and am continuing to build the foundation for my career on practical and dynamic business experience. Research is all well and good, but much like many of the previous comments entered earlier, it's the experience that tells the ultimate story of what you can do.

Perhaps one of the things that bugs me the most would be companies which won't even sniff at my resume because the word "degree" exists nowhere on it. I have no interest in working for them. Get me in for the interview and I have yet to not be offered the job. I might sound like a bigot for saying that, but so far I've been lucky enough that this is a fact.

Mat
Monday, June 14, 2004

*  Recent Topics

*  Fog Creek Home