Kuro5hin.org: technology and culture, from the trenches
create account | help/FAQ | contact | links | search | IRC | site news
[ Everything | Diaries | Technology | Science | Culture | Politics | Media | News | Internet | Op-Ed | Fiction | Meta | MLP ]
We need your support: buy an ad | premium membership

[P]
Is there really a technology worker shortage?

By root in Op-Ed
Mon Jun 03, 2002 at 12:31:13 PM EST
Tags: News (all tags)
News

The Technology sector seems to still be claiming that despite laying off thousands of workers, they are still experiencing a shortage of skilled IT workers. I'd like to point out the hypocrisy inherent in the current HR hiring practices and describe some of the underlying reasons for this seemingly inexplicable phenomenon.


The Technology sector as we now know it is a far different place from the happy days of the late 90's. Gone are the dot-com companies who burned through their investors VC money and executed business strategies that contained no strategy at all.

Many skilled and well educated technology professionals have been left by the wayside.  Incapable of finding gainful employment after the swath of layoffs experienced in the previous economic quarters. There seems to be a very good reasons behind this. By "good" I do not mean to say that people being unemployed is good. I am arguing that the hiring practices in place in many HR firms is incapable of properly filtering the desireable employment candidates from the carpetbaggers who entered the technology game during the bubble.

HR people seem to fail to grasp even a rudimentary understanding of the positions they are needed to fill quite simply because they do not understand the technology.  Understanding the technology might not have been their job prior to the advent of computing, but in today's marketplace HR must be at least capable of determining that they need a DB Software Developer and not a DBA. Far too often while perusing through the numerous job search sites out there I have come across requirements specifications for positions that seem Herculean in stature. One advertisement required 10+ years of experience in Object Oriented Development using Java. This struck me as odd seeing as how I distinctly recall being a Freshman in the CS Department at UPENN and working with a very new language just released to the public by SUN in 1994. That language was called Java as well. Obviously this inherent contridiction in terms was a simple mistake at a lone HR office somewhere in the vastness of the job market. However, a quick search through many job requirements leave most professionals feeling woefully inadequate or wondering about the sanity of the job poster.

It appears that now that the tables have turned and the job market has done an abrupt about face, companies are requiring more stringent standards be met and little or not leeway be given to a potential hire. Job searches are little more than an HR department performing a keyword search on the vast number of entires that they receive and ranking them based upon how many keywords match the job specification. This can be deceptive however and lead to the company hiring someone who is woefully inadequate compared to other individuals whose resumes simply didn't have the required number of keywords.

The influx of poorly educated (and by "poorly educated" I mean "poorly educated in Computer Science terms") individuals claiming to be technically proficient because they spent 6 months with a startup during the bubble drinking lattes and writing poorly structured code. Too often I have had to sit down and look at software designed by individuals who obviously never spent a day of their life reading about Software Engineering and proper coding style and conventions. The woeful lack of readability combined with the often flawed program logic lead to many sleepless nights of rewriting code that should have been done already.

The individuals who have been passing themselves off as professional software developers and technology professionals often lack the proper education in theory and mathematics that goes along with being able to call oneself a Computer Scientist. These individuals undermine our profession and threaten it by undervaluing the true benefits derived from having a Software Engineer with a formal education sitting behind the keyboard. And this only gets worse. HR and managers now not only have to wade through numerous more resumes, their perception of technology workers changes. We no longer are educated and trained professionals who provide a worthy and valuable service. We are commodity labor to be exported and sold overseas to the lowest bidder.

Enterprises and larger corporations find themselves in a bind trying to match their needs with the needs of the unemployed software and computer professionals. Their HR is improperly educated in working with managers in determing realistic job requirements due to severe inability to understand the technology required to get the job done. The skilled professional must now find himself in fierce competition with workers of far lesser value because of the inability the hiring entities to discern the smooth talkers from the educated professionals. And somewhere in all of this mayhem, coporations are still laying off large portions of the technical workforce.

I am far from being able to propose a solution to this seemingly paradoxical state of affairs. I would however like to point out that what may be necessary to rectify the situation is a little effort on boths sides of the equation. The employers must educate those responsible for hiring new employees in the ways of technology.  In other words someone with 5 years experience utilizing Sybase who has a good understanding of Relational Databases and SQL will most likely be a good fit for that Oracle position.

The potential employee must be more agressive in pointing out incoherent or unrealistic requirements in the job specification.  They also must be more assertive in their search for employment. Tactfully explaining that your knowledge of one programming language is easily parlayed into another because the fundamentals of Computer Science dictate that your ability to solve the problem is language independent helps display your inherent value to the corporation. Most Computer Science Professors will readily agree that it is not the programming language, but rather the individual's conceptual understanding of the underlying problem that get the job done. An individual with a solid fundamental education in COmputer Science should be able to learn the basics of any well-designed language in roughly 20-40 hours of usage well enough to solve most problems.

This is how corporations will be able to begin to fulfill their technoloogy professional needs. They must learn to accept that keyword searches do not work and that ideal candidates will not always be available. Sometimes the individual will have to grow into the organizations position and that will take some ramping up time. In this way can we start to see the Technology sector employment turn around and both parties benefit mutually.

Sponsors

Voxel dot net
o Managed Hosting
o VoxCAST Content Delivery
o Raw Infrastructure

Login

Poll
Is there really a shortage of tech workers?
o Yes. The shortage is real. 3%
o No. The shortage is not real. 13%
o The tech shortage is something the corporations "made up." 25%
o Shortage? Give me a job! 34%
o The shortage is actually a jedi mind trick. 6%
o I'm not from the United States you insensitive clod! 17%

Votes: 187
Results | Other Polls

Related Links
o Also by root


Display: Sort:
Is there really a technology worker shortage? | 329 comments (320 topical, 9 editorial, 0 hidden)
+1 FP, in a few hours. (4.50 / 10) (#1)
by morrisq on Mon Jun 03, 2002 at 03:54:46 AM EST

I've been looking for a job lately, and noticing the same thing. Basically every job has requirements in excess of 5 years of experience, and often requires experience with incredibly specific technologies like "WebSphere" or "Crystal Reports" or "J2EE" or something. While it makes sense that some companies would need this, there should (statistically speaking) be some entry-level jbos out there? There don't seem to be, however. I saw a job posting today for 7+ years of c++ experience, a Ph. D in *mathematics* (CS wasn't good enough), and experience programming with a certain sort of security. Surely they don't expect to find someone with those credentials...

My dad gave me some advice about this (he's not a programmer, but an engineer, at work for over 35 years): Ignore the "requirements", exxagerate and inflate the resume, and do everything possible to get past the personnel department to someone who actually does work. Chances are, if they're hiring at all, and they need experienced programmers, they have a need for coders in general and can put you to use. The program is that HR doesn't realize that.

He also stressed the importance of contacts, but I'm sure everyone's heard that already.

Be careful about lying on your CV (4.75 / 4) (#4)
by pwhysall on Mon Jun 03, 2002 at 04:18:03 AM EST

If you lie on your CV, and you get caught in the interview, that, my friend, is the end of that.
--
Peter
K5 Editors
I'm going to wager that the story keeps getting dumped because it is a steaming pile of badly formatted fool-meme.
CheeseBurgerBrown
[ Parent ]
The end of what? (nt) (4.50 / 2) (#6)
by i on Mon Jun 03, 2002 at 04:57:30 AM EST



and we have a contradicton according to our assumptions and the factor theorem

[ Parent ]
The interview and... (4.00 / 1) (#9)
by pwhysall on Mon Jun 03, 2002 at 06:09:21 AM EST

...any chance of that particular company ever hiring you.
--
Peter
K5 Editors
I'm going to wager that the story keeps getting dumped because it is a steaming pile of badly formatted fool-meme.
CheeseBurgerBrown
[ Parent ]
Ah. (4.00 / 1) (#11)
by i on Mon Jun 03, 2002 at 06:16:03 AM EST

Not the end of your entire career, as I suspected. Though in my experience, interviewers tend to ignore slight exaggerrations in the CV. I don't know whether they tolerate really big lies.

and we have a contradicton according to our assumptions and the factor theorem

[ Parent ]
What I call "a lie". (4.00 / 1) (#17)
by pwhysall on Mon Jun 03, 2002 at 07:02:08 AM EST

Frexample if you put "Competent C++ programmer" on your CV, and the interviewer goes, "What's the difference between an array and a vector?" and you can't answer, then you've lied.
--
Peter
K5 Editors
I'm going to wager that the story keeps getting dumped because it is a steaming pile of badly formatted fool-meme.
CheeseBurgerBrown
[ Parent ]
Hmmm (4.33 / 3) (#18)
by Simon Kinahan on Mon Jun 03, 2002 at 07:09:06 AM EST

I wouldn't necessarily call that a lie. People who incompetent are notoriously bad at realising it. Thats one of the reasons they're incompetent. Someone who put "Competent C++ Programmer" and did not know the difference between an array and a vector might really believe they were competent, but really be utterly crap, but not dishonest.

What definitely is a lie, and which I might consider doing more than just rejecting the candidate for, is claiming to have done things you haven't done. Like saying "Lead a project to implement SAP", where in fact you once saw the SAP CD set.

Simon

If you disagree, post, don't moderate
[ Parent ]

Fair Comment (2.00 / 1) (#19)
by pwhysall on Mon Jun 03, 2002 at 07:36:52 AM EST


--
Peter
K5 Editors
I'm going to wager that the story keeps getting dumped because it is a steaming pile of badly formatted fool-meme.
CheeseBurgerBrown
[ Parent ]
through a dusty window (nt) (1.00 / 1) (#20)
by ODiV on Mon Jun 03, 2002 at 07:37:54 AM EST



--
[ odiv.net ]
[ Parent ]
facts vs. opinions (nt) (1.00 / 1) (#21)
by tps12 on Mon Jun 03, 2002 at 07:46:13 AM EST



[ Parent ]
I've been coding C for years.... (4.00 / 2) (#41)
by xtremex on Mon Jun 03, 2002 at 11:55:55 AM EST

and I couldnt answer that question off the top of my head. Why? I haven't done "theory" in so long. I know what the differences are, but to describe them in a coherent way, is pretty much impossible for me. I'll give you an example. I've been administering UNIX for over 12 years, and on an interview they asked me what port is the lpd daemon. I had no clue. Even though at my last job I monitored the UNIX print servers on a daily basis, and set up those damn things. Somethings that you do in your sleep , that you just KNOW, are hard to verbalize.

[ Parent ]
Theory? (4.00 / 1) (#48)
by Shimmer on Mon Jun 03, 2002 at 12:55:50 PM EST

Sorry, but the reason you can't answer that question is that it is a C++ question, not a C question.  It's got nothing to do with "theory" or "doing theory" (whatever that means).

In case you're curious, an array in C++ is the same as an array in C, but a C++ vector is a instance of a class defined in the standard C++ library.  A vector is like an array on steroids, but much safer.

-- Brian

Wizard needs food badly.
[ Parent ]

than what? (5.00 / 1) (#52)
by memerot2 on Mon Jun 03, 2002 at 01:13:46 PM EST

Safer than an array?  Or safer than steroids?

I don't think that's such a very important or telling question though.  I hate 'jargon' questions.  I process information visually so much more readily, seeing the [] or ** would tell me what I need to know, but the terminology I probably never knew.  Do I really need to study up on my vocab lists for an interview?  I guess it's just so much easier to ask a question like that than 'How would you architect the solution to x problem given y and z constraints?' - which is, however, much more likely what you'll be doing on your job.

[ Parent ]

the quiz questions... (3.00 / 1) (#60)
by zzzeek on Mon Jun 03, 2002 at 01:34:11 PM EST

...are a quick and dirty way to tell if someone has actually worked with the technology they claim to be well-versed in. It should not be the only kind of question you ask, but if you ask 10 or 15 of them, 95% of the time it will give you a pretty clear idea if the person really worked with the technology on his/her last job, or if they just "assisted" someone else who was doing the real work.

The value of these kinds of questions is not necessarily based on if they "know/dont know" the answer....sometimes its how well they can figure out the answer too (to see how well their analytical skills are). In some cases, you get one who dishes out supremely confident answers that are utterly incorrect....a major value of the "quiz question" is that you can immediately spot the "all-around bullshit artist", possibly the most insidious kind of IT employee.



[ Parent ]
Ahh, that explains it (4.00 / 1) (#54)
by mmealman on Mon Jun 03, 2002 at 01:22:51 PM EST

Being a "competent" programmer I was scratching my head trying to remember what the hell a Vector was, but then I don't work with C++. I recall a Vector class in Java from when I studied that a few years back, but as far I can remember it was just a fancy form of an array. You could store objects in it and what-not, but the stuff I work with now allows you to reference objects by arrays anyway. Don't remember if you could do that in Java. So I was kinda thinking: Vector... sorta like an array, but pointless? Damned if I could remember the difference :)

[ Parent ]
STL, not C++ (5.00 / 2) (#91)
by eeee on Mon Jun 03, 2002 at 03:34:20 PM EST

So this is an STL question, not a C++ question.  A C++ question is something like "what does the constructor new char[20]" do?

[ Parent ]
It's both (3.50 / 2) (#125)
by Cuthalion on Mon Jun 03, 2002 at 06:00:08 PM EST

It IS a STL question and it IS a c++ question. Learning the syntax is important, but so is learning the standard tools available, so you don't have to rewrite them all the time.

[ Parent ]
It's neither. (none / 0) (#281)
by doublethink on Wed Jun 05, 2002 at 02:30:32 AM EST

A vector is a data structure. It may be implemented as a class (C++), it may be a template provided by a library (STL), but first and foremost, it's a data structure and exists outside the scope of both C++ and the STL.

[ Parent ]
Yikes (none / 0) (#193)
by Shimmer on Tue Jun 04, 2002 at 11:48:58 AM EST

> So this is an STL question, not a C++ question

Umm, the STL is now part of the C++ language.  I don't even think it's called the STL anymore.  It's just part of the standard C++ library.  So an STL question is, by definition, a C++ question.

> the constructor new char[20]

Congrats, this question is messed up in two distinct ways!  Time for you to hit the books again, I think...

-- Brian

Wizard needs food badly.
[ Parent ]

whoh... (none / 0) (#221)
by eeee on Tue Jun 04, 2002 at 03:20:24 PM EST

I wasn't trying to say anything about your programming abilities.  I'm sure you're an incredibly competent engineer who knows a ton about C++ and its libraries -- most likely way more than me.  I'm sorry if it seemed like I was implying otherwise, especially because I hate carping posturing nerds who correct people all the time, and I try (sometimes unsuccessfully) not to be one.

The only reason I posted this was that I thought it would be valuable to draw a distinction between STL and the core syntax.  To me, the "language proper" is the thing handled by the lexer and parser.  Everything else is API or library.  The only syntactical extension that I saw that had to do w/ STL was the addition of those angle brackets.  I've never even used STL, BTW, I'm just looking at this from a comp sci perspective.  The language is in the compiler, libraries get linked in via the linker.  To me, it's separate.

Anyway, as I was saying, I didn't mean to step on your toes -- my apologies.

BTW, I reread my post and I think I found one of the problems with my example question, a dumb mistake: I called it a "constructor" when I really meant to say "statement".  I'd be genuinely interested in learning what the other one was.

[ Parent ]

Sorry (none / 0) (#227)
by Shimmer on Tue Jun 04, 2002 at 04:36:35 PM EST

Didn't mean to step on your toes.

The distinction you're making between the "core" language and the library is valid.  I just wanted to point out that the STL is part of C++, not a separate topic.

Your correction fixes both of the mistakes I had in mind:

  • The difference between the "new" operator and a constructor.
  • The fact that "char" doesn't even have a constructor (because it's a built-in type).

    -- Brian

    Wizard needs food badly.
    [ Parent ]

  • Exactly! (none / 0) (#145)
    by vlad123 on Mon Jun 03, 2002 at 07:54:15 PM EST

    I have same problem. Thank you for a good point. :-)

    [ Parent ]
    Having all the answers... (5.00 / 1) (#274)
    by rwg on Tue Jun 04, 2002 at 10:53:29 PM EST

    Reading xtremex's post, I had to pause to think. "What is the frickin' lpd port number?!" After a few seconds of intense thought and panic, a little voice in the back of my head meekly said, "515?" Not entirely sure, I Alt-Tabbed to an open ssh session and typed "grep 515 /etc/services". The resulting two lines showed that the little voice was indeed correct.

    What xtremex points out is also true with a lot of certifications. Take Java certifications. Sure, Java programmers had better know what "protected" or "static" does, but should I really have to remember what the return type of java.awt.window.widget.PointyThing.scratchAssOnEvent() is or what arguments it takes? No. That's why I have a local copy of Sun's neat bundle of HTML files that documents the APIs.

    Same with the lpd port number. I may not be able to pull the right number out of my head, but I know where to look to find out. I'd rather have someone working for me that knows where to find the answers than someone who thinks they have all the answers.

    [ Parent ]

    arrays and vectors... (3.00 / 2) (#25)
    by pb on Mon Jun 03, 2002 at 09:04:37 AM EST

    An array is declared with these: []

    A vector is declared with these: **

    And a "Vector" is some godawful C++ thing.  :)
    ---
    "See what the drooling, ravening, flesh-eating hordes^W^W^W^WKuro5hin.org readers have to say."
    -- pwhysall
    [ Parent ]

    Ah ha (none / 0) (#128)
    by Dephex Twin on Mon Jun 03, 2002 at 06:14:59 PM EST

    So a vector is just a dynamic array?

    I always learned it as dynamic array (although I don't contest that the "official" terminology is vector).

    The thing that makes me most nervous about interviews more than anything else is that the interviewer will ask some question like that.  It's dreadful.  I know exactly what a vector is without thinking twice and I can use them easily, yet I didn't happen to know the right name for it.  The vocab is the least important part, IMO.

    mark


    Alcohol: the cause of, and solution to, all of life's problems. -- Homer Simpson
    [ Parent ]

    How do you use a vector? (none / 0) (#132)
    by stormie on Mon Jun 03, 2002 at 06:50:59 PM EST

    You "know exactly what a vector is without thinking twice and I can use them easily, yet I didn't happen to know the right name for it" ..?

    Given that the way you declare a vector is by using its name, "vector", I am left wondering how you could easily use them without knowing that name? This wouldn't be an example of you padding your CV to sneak past HR, would it? :-)



    [ Parent ]
    Well... (5.00 / 2) (#152)
    by carbon on Mon Jun 03, 2002 at 09:15:48 PM EST

    You don't have to use the STL to make a vector, just like you can make a linked 'list' or a 'stack' without using the STL specifically for those. If I call a queue a "FIFO List" (which it is) and can code my own implementation using pointers and a couple structs in a half hour or so, then it doesn't make much difference. In fact, it might even be better, if I ever need to use C for some reason.


    Wasn't Dr. Claus the bad guy on Inspector Gadget? - dirvish
    [ Parent ]
    no (4.00 / 1) (#163)
    by pb on Tue Jun 04, 2002 at 12:43:25 AM EST

    You declare a Vector by its name, "Vector"; a vector, however, is a concept, as the reply you got explains, and as my post did as well.

    I'd hope you'd know what argv is, but it doesn't seem like you know the right name for it.  Or is it a "Vector" now...  :)
    ---
    "See what the drooling, ravening, flesh-eating hordes^W^W^W^WKuro5hin.org readers have to say."
    -- pwhysall
    [ Parent ]

    yeah (none / 0) (#162)
    by pb on Tue Jun 04, 2002 at 12:40:31 AM EST

    Just remember that argv stands for "argument vector", and it is a dynamic array...
    ---
    "See what the drooling, ravening, flesh-eating hordes^W^W^W^WKuro5hin.org readers have to say."
    -- pwhysall
    [ Parent ]
    End of career (3.50 / 4) (#26)
    by wiredog on Mon Jun 03, 2002 at 09:10:05 AM EST

    If you get caught after you've been hired it could be. Depending on the job, it could be a fraud charge. It would certainly be immediate firing, for cause, without severance or recommendation. If you apply elsewhere, and have that job on the CV, they may check up on you. Which would make you unemployable. If you leave the job off the resume you have, guess what, lied on your CV...

    "one masturbation reference per 13 K5ers" --Rusty
    [ Parent ]
    Previous hires (3.00 / 1) (#57)
    by mmealman on Mon Jun 03, 2002 at 01:27:01 PM EST

    Most places won't discuss why a previous employee left for liability reasons.

    So while I don't condone lying on your resume, it won't end your career.

    [ Parent ]
    Depends on the reason (4.00 / 1) (#62)
    by wiredog on Mon Jun 03, 2002 at 01:42:48 PM EST

    We will tell someone "He lied on his resume", since it's easily verifiable. It's the "he was fired for being an asshole" reference that gets companies sued.

    "one masturbation reference per 13 K5ers" --Rusty
    [ Parent ]
    Leaving jobs off CV isn't lying (3.00 / 1) (#58)
    by keenan on Mon Jun 03, 2002 at 01:30:27 PM EST

    I wouldn't call leaving a job off a resume lying.  For instance, you won't see anywhere on my resume that I was a Dickie Dee ice cream vendor for a month back in high school.  In any case, it doesn't really relate to what I do now...

    Keenan

    [ Parent ]

    Relevant jobs (none / 0) (#63)
    by wiredog on Mon Jun 03, 2002 at 01:44:46 PM EST

    need to be on there. If the (post high school)job requires some sort of background check, then you need to put it on the background check form.

    "one masturbation reference per 13 K5ers" --Rusty
    [ Parent ]
    * Crystal Reports ?!?!? * (none / 0) (#234)
    by katie on Tue Jun 04, 2002 at 05:37:56 PM EST

    I can't believe Crystal Reports counts as a skill. Back when I was a Windows app developer, CR was the thing you threw a report together in in five minutes if you knew the client would end up not wanting that report after all and it wasn't worth writing the thing properly.

    The number of jobs I see which say "Expert C++ Developer! Must have multi-threading!"

    I mean, if you're an expert C++ developer, multi-threading isn't a skill you think about. It just happens. It's like an advert for "Expert Fish needed! Must be able to breathe water.."

    Just for humour, and to see how many agency staff read here {I'm guessing "none"}, Jobserve in the UK has had multiple adverts for a job. Every couple of weeks they hire new agents; they dump fresh adverts onto the list.  Reason: agents simply not finding the staff for them and the company's HR think that different agencies would be more able to find them. Actually the reason is that agencies aren't talking to anyone whose CV hasn't got "solid PCP/IP experience".

    I wonder just how many people have worked on that role and none of them have enough knowledge to understand it...


    [ Parent ]

    pcp/ip (none / 0) (#326)
    by pantagruel on Fri Jun 07, 2002 at 06:25:51 AM EST

    Oh woah, I remember that one job I had with the solid PCP/IP it was groovy :)

    [ Parent ]
    Unstructured code (3.60 / 5) (#5)
    by ebatsky on Mon Jun 03, 2002 at 04:43:33 AM EST

    I know a few people, and I'm sure there are plenty more out there, who purposely write code that's difficult to understand for anyone but themselves because it apparently provides job security. If no one else can understand your code, its a lot cheaper to keep you hired to maintain it than hire someone else and have him spend days (weeks?) trying to figure out what you were trying to do before they can even begin to make any changes.

    Bad business practice (5.00 / 5) (#8)
    by rdskutter on Mon Jun 03, 2002 at 06:00:55 AM EST

    This is a sign of bad business practice in the company that hired the coder. Companies should peform regualr code reviews so that they can catch bad coders before its too late.

    This can be as simple as the boss asking the new employee's co-workers to look over his code every couple of weeks to check that there are enough comments and that the algorithm choices are sensible.


    If you're a jock, inflict some pain / If you're a nerd then use your brain - DAPHNE AND CELESTE
    [ Parent ]

    Bad Business is Situation Normal (5.00 / 4) (#23)
    by Elkor on Mon Jun 03, 2002 at 08:57:34 AM EST

    The problem with your process is that few companies will do it.

    Either because, getting things done is more important than getting done right. And this isn't just the IT industry. I work in manufacturing, and I can't tell you how many times the managers have gone with the worst solution simply because it could be completed faster. "Oh, we'll go back and fix it afterwards." Except that afterwards, something else comes up that prevents you from fixing the previous item, etc etc.

    Or because coworkers will balk at performing objective reviews of coworkers code (the buddy syndrome). Instead they will just say everything is "ok" either because they don't want to alienate their coworkers, or so their coworkers won't look at their code too hard.

    Or because managers won't want to empower their employees to a point where they (the manager) look expendable. Instead they will artifically create "problems" that require their personal attention (fire starter syndrome). Then, when they successfully put the fire out, they look like a hero because only the peons know what the manager did. The big bosses just see a competent and effective manager.

    All Fucked Up, eh?

    Regards,
    Elkor


    "I won't tell you how to love God if you don't tell me how to love myself."
    -Margo Eve
    [ Parent ]
    Suicide should be legal and easy (3.00 / 1) (#138)
    by trane on Mon Jun 03, 2002 at 07:17:52 PM EST

    for people like me who can't or won't work like that, and so can never be anything more than economic parasites on society.

    at my last job, I was, basically, a house nigger. relatively well-paid, true, but psychologically, the daily beating down was too much for me to take.

    So I got laid off. Now what? This world is fucked, and I don't want to play anymore.

    [ Parent ]

    I know that sounds whiny and selfish (none / 0) (#170)
    by trane on Tue Jun 04, 2002 at 06:28:32 AM EST

    but I think there is evidence that for some at least life is ("unfairly") fucked up.

    imho, the best way to deal with this situation is to seek out ways to reduce the unfairness, which might mean changing the "system" (or "the way things are done", "the way we do things", etc.).

    Unfortunately most of you have or will buy into the system. Then (I think) you feel you have to support the existing system or you may lose your material possessions, or status, or some other thing the system apparently gives (most of) you but which doesn't seem to satisfy some of us (including me)...

    I suspect things change eventually.

    I'm hoping someone comes up with really good simulation software that allows us to try out different experiments (such as legalizing drugs, or eliminating deadlines).

    Perhaps, if it could be shown to each person that they personally would benefit (have more things, have less stress from worrying about crime and other societal problems), things would change faster.

    Or not.

    [ Parent ]

    This is a serious problem (none / 0) (#30)
    by jmzero on Mon Jun 03, 2002 at 10:40:44 AM EST

    I just have to add my witness - people actually do this.  

    Many will even admit it.  Fortunately, these people are also usually too poor at programming to do anything really obfuscated.  
    .
    "Let's not stir that bag of worms." - my lovely wife
    [ Parent ]

    Yeah... (none / 0) (#34)
    by dennis on Mon Jun 03, 2002 at 11:19:45 AM EST

    We've had people who did that. Intentionally or not, their code was too convoluted to comprehend. They all got fired.

    Sooner or later, a manager starts to ask whether he really wants this person to write anything new, and whether his continuing maintenance of what he wrote before is really worth his salary. As soon as that old system needs a replacement or significant upgrade, the idiot who wrote it is history.

    [ Parent ]

    writing job maintaining code (none / 0) (#203)
    by pantagruel on Tue Jun 04, 2002 at 12:34:08 PM EST

    sorry couldn't remember the phrasing used. It irked me somewhat though because I've been accused of doing this by other programmers we had working here before. One guy who claimed this was a java guy(with a degree from somewhere in Eastern Europe), who thought my various straightforward scripts in non-java languages were obfuscatory to the max(I mean really if I had more than a couple functions and one loop it was getting complicated, what was wrong with him I can't venture to say, I could follow his java, in fact I had to correct it a couple times). Why he should have commented on non-java code was beyond me, he was also the guy I kept asking for competent work in his language but it turned out all the API's were just to buggy for him ever to produce anything. My opinion is thus that in this case the accusation of obfuscatory code was a lie. Another guy we hired cause he had been working with xslt for a year and had a computer science degree, he decided that the xslt I wrote was too obtuse(he didn't know what entities were, or namespaces, or what the document() function was, or that you could generate xslt with xslt, the list could go on, suffice to say he was not competent in the syntax of the language he was specifically hired for, although he could write reasonable recursive functions), I couldn't be bothered to fix it for him however as it soon became evident that he didn't know an awful lot about the language(and it's not like I consider myself an especial genius). The point being I suppose that code can seem obtuse when one does not have a high enough competence in the language. Then again it can seem obtuse because it actually is. What I would define as job-maintaining code, writing code quicker that solves the problems using less resources, and which is well enough structured that one can change other parts of an application around it. If that code is hard for others to open up and read, then this is unfortunate. I do comment, but only the parts that strike me as especially complicated. Damn this was a long post and I bet I'm gonna get flamed.

    [ Parent ]
    Comment Obfuscation (none / 0) (#211)
    by glothar on Tue Jun 04, 2002 at 01:14:15 PM EST

    Your code might be fine, but that was one of the most difficult-to-read comments I've ever seen.

    Paragraph breaks are your friend.

    And so are sentences. Not to be a grammar nazi or anything but that comment was seriously difficult to read. Perhaps you were making an ironic point, but I think that I have thoroughly mastered the English language.

    But this isn't a flame, as I generally agreed with your comment (though I disagreed with your commenting of code), you just need to replace 80% of those commas with periods and seperate some thoughts into paragraphs...

    [ Parent ]

    agreed on my terrrible seperation of paragraphs (none / 0) (#285)
    by pantagruel on Wed Jun 05, 2002 at 03:40:54 AM EST

    Unfortunately that was my first post and had not yet a firm handle on this forum's layout rules.

    should no doubt have checked out the allowed HTML below.

    Am contrite over this grievous error. Although keeping in mind that Victor Hugo once wrote a single paragraph over a thousand words long, which is very inspiring for me.



    [ Parent ]
    ha... (none / 0) (#309)
    by glothar on Wed Jun 05, 2002 at 03:16:26 PM EST

    Hopefully you arent to contrite. My comment was in good humor.

    As for our pal Victor, I probably would have politely asked for a few paragraph breaks from him too. Just because hes all famous, doesn't mean he has to abuse my eyes like that.

    [ Parent ]

    really? (none / 0) (#299)
    by bloat on Wed Jun 05, 2002 at 08:55:21 AM EST

    I've heard this comment before but I've never met anyone doing it. How does it work? Something like this?

    boss: Jim, can I talk to you for a moment?
    grunt: Sure, Bob.
    boss: We're going to have to let you go I'm afraid - you know how tight things are in IT these days.
    grunt: Wait Bob! My code is so awful no one else in the company will ever be able to understand it! You'd better keep me on.
    boss: Hmm. OK, fair point. We'll lay off one of the good developers instead.

    In my experience companies lay off the expensive people first...

    Cheers.
    AndrewC.
    --
    There are no PanAsian supermarkets down in Hell, so you can't buy Golden Boy peanuts there.
    [ Parent ]

    Technology worker shortages (4.33 / 9) (#7)
    by nobbystyles on Mon Jun 03, 2002 at 05:30:13 AM EST

    There's definitely a shortage of experienced and talented programmers willing to work for the same money as a moderately experienced PA.

    That's what companies mean by 'worker shortage'...

    You make some good points (4.42 / 7) (#12)
    by emag on Mon Jun 03, 2002 at 06:36:58 AM EST

    ...and if I ever realize my dream of starting my own company, and if it ever gets to the size where there's an actual HR person and/or department, I know I plan to take a lot of these points into consideration.

    Basically, a "weighted" keyword search is what I'm thinking about.  If I'm looking for "Oracle" experience, have weighted scores for "Sybase", "SQL Server", "PostgreSQL", etc.  So an "Oracle" person would match dead-on (obviously), while experience in another RDBMS would give a large amount of partial credit.  Multiple programming languages --> possibly outweigh the single language skill being sought right now.  And of course, the one thing I actually enjoyed when I ran into them on interviews--skills tests, both for specific languages, and problem-solving in general.  It might have been because every potential employer I talked to that had one has offered me a position. :-)

    Additionally, I'd imagine "bonus" points for related skills, such as networking, admin, etc, should also be considered.

    I should mention I've also run into the brain-dead HR types (and, unfortunately, some developers) who haven't understood the argument "the fundamentals of Computer Science dictate that your ability to solve the problem is language independent".  Specifically, as I was looking for a job after graduating from college several years ago, one place that was interested in me was looking for specifically a "Visual C++ Programmer".  Either I explained it wrong, or they weren't clueful enough to realize that knowledge of and experience with C, C++, and perl (student job, all used gcc/g++ or SGI's CC depending on what platforms we were targetting) could easily be parlayed into VC++ work as well, since the only real differences were the M$ APIs, which I could pick up in at most a few days' time.  Not surprisingly, I heard a few months later that this 3-person outfit had folded.  I guess they never found someone proficient in VC++.  Maybe they should have gotten space in a technology incubator at a college that didn't use Unix. :-)

    <plug>
    Of course, right now, my plans to become my own boss are looking to be a pipe dream, or at least a long ways off.  If anyone wants to provide some startup capital, or augment the skills I lack (social networking, sales, marketing, etc), let me know...  This isn't a "dot bomb" plan, it's something I've actually done before but think can be improved on, and while there are other companies in some of the markets, I've used their products (and chances are you have too!), and think it can be done a LOT better.  :-)
    </plug>

    --
    "The urge to save humanity is almost always a false front for the urge to rule." --H.L. Mencken

    solar pants (nt)? (1.50 / 2) (#13)
    by tps12 on Mon Jun 03, 2002 at 06:40:47 AM EST



    [ Parent ]
    Hee hee (3.50 / 2) (#32)
    by jmzero on Mon Jun 03, 2002 at 10:55:19 AM EST

    since the only real differences were the M$ APIs, which I could pick up in at most a few days' time

    It really depends on what you're doing.  If they were developing an end user Windows executable, you could have been learning Windows eccentricities for months.  Or years.  Lots of stuff you do in VC++ has no relation to C++.  Like ATL.
    .
    "Let's not stir that bag of worms." - my lovely wife
    [ Parent ]

    I guess other GUI experience wouldn't count (3.00 / 1) (#69)
    by emag on Mon Jun 03, 2002 at 02:20:48 PM EST

    like all the Motif work I was doing.  And since no one ever actually told me what they'd wanted me to work on, I'll never know.  It still seems like a pointless exercise to originally say "We want a C++ developer", and then refine it to "We want a Visual C++ developer".

    Although, come to think of it, when I found out about them folding, I related the story to the person who told me, and he'd seen their code.  Apparently it worked out for me, as I would have been forced to kill everyone there if half of what he said was true.

    --
    "The urge to save humanity is almost always a false front for the urge to rule." --H.L. Mencken
    [ Parent ]

    Yeah.. (4.00 / 1) (#78)
    by jmzero on Mon Jun 03, 2002 at 03:08:30 PM EST

    Probably the real story is something like this:

    They hired someone.  That person wrote a lot of crappy code in VC++, found out it wasn't going to fly, and bailed.  Then they needed someone to come in and be able to fix all their messes...  Before they were KO'd.

    Anyways, it does sound like you dodged a bullet.
    .
    "Let's not stir that bag of worms." - my lovely wife
    [ Parent ]

    A Foreign Perspective (3.40 / 5) (#14)
    by Simon Kinahan on Mon Jun 03, 2002 at 06:47:24 AM EST

    OK, I'm not American and don't work directly in the US job market, so I may not understand some of this properly, but here are a few points.

    Its been my observation in the past - before and during the boom - that US technology workers, especially those in Silli Valley, are overpayed and undereducated compared to people here doing the same jobs. Yes, OK, thats a sweeping generalisation, but back in '94 I was working in a trans-Atlantic development team in a big software firm, the recent graduates on the UK side were better software engineers than the American technical architects, and yet our most senior staff were payed less than half the American average.

    Now, even at that time, I guess that was due to the overheated market for technical staff in California that brought that situation about (and incidentally I'm not moaning here - I decided which side the Atlantic to work on for lifestyle reasons), but given that salary and grade inflation got worse from that time until quite recently, its not surprising the industry has some serious correction to go through. Systems that were set up to hire everyone who could type at salaries that would make a plumber blush, are now having to decide from huge piles of CVs, and in the worst cases reduce salaries and decide who to fire.

    Regarding those systems: some HR departments and recruitment agencies use keyword searches here, but are you seriously saying that where you work they all do ? At least in the jobs I've worked in, it was the job of technical staff to review CVs if they looked even remotely reasonable, and then to conduct the interviews, but then nowhere I've worked has ever been tempted to set unnrealistic job specifications. I can't imagine anyone every hiring a techie without a technical interview. I suspect sometimes those unrealistic specifications actually come about because the advertiser actually doesn't want to hire anyone for the position, but for one reason or another is required to advertise it anyway.

    I suppose another point that is worth making is that a great many technical jobs actually require very little education. One can write CGI scripts and database queries quite competently without a computer science degree. Hopefully now the demand for staff has fallen off, we'll see organisations coming to recognise the difference between core technical staff, who need to be highly skilled, and web monkeys.

    Simon

    If you disagree, post, don't moderate

    importance of education (3.33 / 3) (#22)
    by tps12 on Mon Jun 03, 2002 at 07:54:58 AM EST

    It appears a lot of people believe in this idea that education doesn't really matter for a lot of programming jobs. While I think this has been true in the past, it becomes less true every day.

    Software engineering skills can be picked up on one's own, as can idioms and syntax. But concepts like running time and the art of designing algorithms require a lot of background knowledge that is only provided by a good CS education.

    I don't think any company really needs "web monkeys."

    [ Parent ]

    Maybe (4.00 / 1) (#35)
    by Simon Kinahan on Mon Jun 03, 2002 at 11:20:19 AM EST

    In a ideal world, perhaps all computer jobs would require a good CS education. In my experience, there's be a lot fewer jobs, but the work done would be better. However, in the world as it is, many jobs that get advertised don't require much in the way of skills beyond the ability to type. In my view, well educated CS grads are wasted on such things.

    Simon

    If you disagree, post, don't moderate
    [ Parent ]
    Hold on there, cowboy: algorithms? (3.66 / 3) (#115)
    by bouncing on Mon Jun 03, 2002 at 04:46:03 PM EST

    This is exactly what's wrong with credentialism's place in the computer industry. Most CS students seem to spend a lot of time learning about very simple algorithms, linked lists, quick sort, and how to write fact C++ hash codes.

    There are those kinds of skills, and then there's reality. The reality is that in all my time programming, I've never needed my own linked list, quicksort, or hash table. We have "libraries" for these kinds of things. I couldn't really explain how the gates on a CPU work and I've never really used assembly language. Granted for some low-level tasks like compilers and kernels, this would be different, but most IT software is more or less "monkey" work anyway, and the person with real skill makes understands the simplicity of a CGI script hooking up to the database isn't always a bad thing. Philip Greenspun, MIT professor, Oracle grandmaster, and TCL webmonkey understands this. This PHD's code is a somewhat more commented and more consistent version of what most any Perl/MySQL dotcommer would pull off.

    More importantly, what a four year college degree and a PHD don't cover is the biggest challange to almost anyone in IT: the painfull issue of office politics. It's sad, but true: office politics decide careers more than technology. Unless you're in some kind of a skunkworks, knowing how to keep the customer happy with your web monkey CGI app is more important than knowing how to optimize a hash code.

    In short: Most business software, be it a GUI app or a web app, is actually really simple.

    [ Parent ]

    Concepts (4.33 / 3) (#150)
    by gnovos on Mon Jun 03, 2002 at 08:34:40 PM EST

    I think the point that you're missing is simply that, yes the "silly" algorithms that you learn in CS classes are pointless, but they help teach and define concepts and methodologies that can help any kind of code work better.

    Many of the problems that I have seen with you average CGI code money's code is that much of it works well, but only on a small scale.  Having your CGI script open a new connection (without pooling) to the database for each query will work fine when you only have five people testing the system, but as soon as you roll it out to your 10,000 customers, it will choke and die.  

    Using a Boyer-Moore search when parsing HTML may only save you a couple of miliseconds, but as soon as you have to write a spider that parses hundreds of thousands of pages a day, those miliseconds add up.

    Sure, code monkies are useful to have around when you need something that works, and you need it fast, but when you try to build a business with more than two clients, thier code is often not going to cut it.

    A Haiku: "fuck you fuck you fuck/you fuck you fuck you fuck you/fuck you fuck you snow" - JChen
    [ Parent ]

    reference books (none / 0) (#172)
    by kubalaa on Tue Jun 04, 2002 at 06:33:25 AM EST

    The difference is where experience is necessary. For most work, you can always look up on the internet or in a book how to write the most efficient algorithm. And you should, too; no point in proving you're smart when someone else has already done it. But you can't "look up" how to write maintainable, well-documented, consistent, reusable code. This comes only from experience.

    The only exception is in truly cutting-edge jobs... for example, if you were inventing the Google engine. But honestly, most of us aren't going to be on that cutting edge.

    [ Parent ]

    Scalability and Education (none / 0) (#190)
    by bouncing on Tue Jun 04, 2002 at 11:34:47 AM EST

    I agree that web monkeys tend not to think of things like scalability, but I reject the notion that most four-year degree students do either. With all the object orientation (rather, object obsession) driven into college students by dogmatic CS teachers, scalability often becomes an issue. We're talking hundreds of Java objects created for each request, with no thought given to how FREAKING SLOW that'll be. Object-relational mapping ala carte. Granted, it depends on the university and the professors, but this kind of madness is common.

    Furthermore, it's uncommon now for database handle pooling and connection multiplexing to be handled in the application. Moreover, this is the role of the webserver/API. AOLServer is an excellent example of where you can churn out some TCL code and build a crazy-scalable website.

    [ Parent ]

    AOLserver/TCL scalability (none / 0) (#212)
    by TheSleeper on Tue Jun 04, 2002 at 01:14:17 PM EST

    Furthermore, it's uncommon now for database handle pooling and connection multiplexing to be handled in the application. Moreover, this is the role of the webserver/API. AOLServer is an excellent example of where you can churn out some TCL code and build a crazy-scalable website.

    Sounds like you've been drinking the Greenspun Kool-Aid. Look, I worked for Ars Digita, and the sad truth is that many of our sites didn't scale very well at all. Every time we got Slashdotted, Philip would end up in the discussion posting various excuses for why the box was dying under the load. When they did scale, it was because developers there had the good sense to move beyond the Greenspun dogma.

    It is possible to build scalable sites using AOLserver/TCL -- I'm still using that infrastructure now, and think that it makes a lot more sense in most cases than Java, or most other buzzword-technologies. But Philip didn't know nearly as much about how to do that as his fanboys seem to think that he did, and it's not as simple as he makes it sound.

    [ Parent ]

    Re: Concepts (none / 0) (#268)
    by tftp on Tue Jun 04, 2002 at 10:04:26 PM EST

    Using a Boyer-Moore search when parsing HTML may only save you a couple of miliseconds, but as soon as you have to write a spider that parses hundreds of thousands of pages a day, those miliseconds add up.

    If you do that, it requires you and everyone else who will ever maintain this code to understand the algorithm that you used. This means that your code runs 10 ms faster on somebody's else computer but the cost of maintenance lies on shoulders of the developer's company, forever - because instead of a junior hacker the job has to be done by a senior programmer.

    Never underestimate value of simplicity!

    [ Parent ]

    Not entirely comparable (3.50 / 2) (#146)
    by cyberformer on Mon Jun 03, 2002 at 07:56:17 PM EST

    You could say the same about most jobs: On average, people in the US are paid more than those elsewhere. But this doesn't mean that they are better off.

    Salary comparisons need to take account of the cost of living. What seems like a very high salary is barely enough to pay the rent on a closet-sized apartment in the SF bay area.

    [ Parent ]

    Gross Conceptual Error on your part.... (none / 0) (#220)
    by cryon on Tue Jun 04, 2002 at 03:17:46 PM EST

    ....you are missing the point. Suppose I have a house, which I have inherited, or worked for, or whatever. And you visit and notice that I am a bad housekeeper, or that my wallpaper is tacky, or that my furniture is second rate. So you declare that I must share the benefits of this home, i.e., I must let you live there because you are more worthy of living there (e.g., you are a better housekeeper, etc). Nonsense, you say, just as I say that what you have said in your post is nonsense. You see, this country is jointly controlled and in a sense, owned, by its citizens, and the right to work here, and all other benefits accruing therefrom, belong only to its citizens. You think we are lazy, undereducated, etc? Tough shit. Go build your own country. This one is ours. That's all....
    HTGS75OBEY21IRTYG54564ACCEPT64AUTHORITY41V KKJWQKHD23CONSUME78GJHGYTMNQYRTY74SLEEP38H TYTR32CONFORM12GNIYIPWG64VOTER4APATHY42JLQ TYFGB64MONEY3IS4YOUR7GOD62MGTSB21CONFORM34 SDF53MARRY6AND2REPRODUCE534TYWHJZKJ34OBEY6

    [ Parent ]
    Pardon ? (5.00 / 1) (#231)
    by Simon Kinahan on Tue Jun 04, 2002 at 04:58:18 PM EST

    I think you must be arguing with someone else. If I wanted an American salary, I'd live and work in the USA. I have other priorities, so I do not. I thought I made that quite clear already. I like my own country, and right now have no interest in living in yours.

    That doesn't disqualify me from observing what goes on there. What I observed when I was in a position to do so is many people promoted beyond their level of competence, and vastly overpaid. It does not surprise me, therefore, that many people now cannot get jobs at their former salary level. If you don't like it, I suggest you lower your expectations, rather than venting your incoherent rage at me.

    Simon

    If you disagree, post, don't moderate
    [ Parent ]

    Self-taught programmers (4.50 / 14) (#24)
    by dennis on Mon Jun 03, 2002 at 09:03:19 AM EST

    Although I understand the value of a good CS education, I have to mention that: 1) the best programmers where I work have not necessarily been the ones with CS degrees, and 2) a lot of famous and respected programmers have been entirely self-taught.

    Any enthusiastic hacker who's studied Code Complete, a good book on design patterns, another one on relational database design, and has a working knowledge of three or four languages of various types, is probably going to do just fine. I'll take that guy over a mediocre CS graduate who got into the field because he heard the money's good.

    I'd also take intelligence over experience, but I think it's a mistake to discount experience entirely. There are a lot of lessons about the idiosyncrasies of particular systems, which you only learn by getting bitten by them.

    Unfortunately (3.00 / 1) (#31)
    by pattern on Mon Jun 03, 2002 at 10:46:18 AM EST

    There are many more self-taught programmers who are neither famous or respected (or respectable).

    [ Parent ]
    I agree (4.00 / 3) (#40)
    by xtremex on Mon Jun 03, 2002 at 11:44:18 AM EST

    Since my degree has NOTHING to do with my career. My degree is in Linguistics. But I've been programming WAY before that in the 80's. I felt I shoudn't do what I love for a living. Then I realized I'll be doing it for 25 years, so I better love it. Translating the Bible into Igbo is always my safety net however :)

    [ Parent ]
    One thing to note here (4.50 / 2) (#70)
    by root on Mon Jun 03, 2002 at 02:25:59 PM EST

    Since my degree has NOTHING to do with my career. My degree is in Linguistics. But I've been programming WAY before that in the 80's.

    Linguistics has everything to do with programming. Programming languages and programming language theory is intimately tied to linguistics. I kind of found it interesting that you feel linguistics has little to do with Computer Science, especially since 2 of my favorite CS professors had done their undergrad work in Linguistics.

    CS spans several fields, Linguistics, Mathematics, Electrical Engineering, Psychology, etc.

    It is a broad subject area with alot of problems still unsolved. We as Computer Scientists have alot of work to do in this still very infant field.

    Thank you for your comments. I appreciate them.


    #
    [ Parent ]
    Right on (4.00 / 1) (#87)
    by pexatus on Mon Jun 03, 2002 at 03:28:06 PM EST

    At my school's Comuter Science department, the undergrad theory of computing class (Turing machines, FSM's, grammars, etc.) is cross-listed with Linguistics.

    [ Parent ]
    Big difference (3.00 / 1) (#122)
    by xtremex on Mon Jun 03, 2002 at 05:44:30 PM EST

    There is one major difference between CompSci and Linguistics. CompSci is logical, where Linguistics is not.

    [ Parent ]
    What do you mean by "logical"? (none / 0) (#319)
    by ccshan on Thu Jun 06, 2002 at 03:10:12 AM EST

    One interpretation that comes to my mind for what you said is that computer science uses logic, whereas linguistics does not.  That statement is definitely false, as a Google search for "logic" and "language" would quickly show.

    Another possible interpretation is that computer languages are "logical" in that they correspond more closely to the kind of formal languages familiar in logic, and natural languages are not "logical" in that they don't correspond so closely.  That is certainly the case if you are talking about the kind of formal languages familiar in classical logic (say first-order predicate logic).  However, there is quite a bit of research in bridging the gap, with some degree of success.

    Or perhaps you meant something else...

    [ Parent ]

    To clarify... (none / 0) (#321)
    by xtremex on Thu Jun 06, 2002 at 09:43:53 AM EST

    Programming languages have rules and many things can be figured out because they have logical patterns. While Human Langauges are "living", and they do not form Logical patterns.Just look at grammar. The only languages that I know fo that follow logical and non-irregular patterns are Esperanto (because it's a "invented" language) and Indonesian. Although I'm  not 100% certain about Indonesian. Someone who speaks Indonesian feel free to point out the irregular patterns in Indonesian.
    Take a look at Athapascan languages, or even Georgian and Finnish. A programmer will take LISP over Georgian any day.(I know one native speaker of Georgian. He told me of a saying they have. When Satan was cast down to earth, part of his punishments was to learn Georgian!)

    [ Parent ]
    sexism (1.33 / 3) (#76)
    by kimbly on Mon Jun 03, 2002 at 03:00:20 PM EST

    I'll take that guy over a mediocre CS graduate who got into the field because he heard the money's good.

    I get really tired of the persistent, low-level sexism that is so prevelant in the software industry. For the record, I am exactly the "guy" that you just described.

    -- Kimberley

    [ Parent ]

    In English.. [OT] (5.00 / 2) (#82)
    by molo on Mon Jun 03, 2002 at 03:16:02 PM EST

    In English, when one does not know the gender of the person being referred, it is proper to use the male pronouns.

    It is only with today's political correctness that people have begun to use "him/her" "(s)he" "them/they" and other gramatical oddities.

    --
    Whenever you walk by a computer and see someone using pico, be kind. Pause for a second and remind yourself that: "There, but for the grace of God, go I." -- Harley Hahn
    [ Parent ]

    Actually... (none / 0) (#196)
    by kimbly on Tue Jun 04, 2002 at 12:04:19 PM EST

    From what I've heard, it used to be common for people to use "they" as a gender-neutral pronoun, back in the middle ages. The phenomenon has always been a part of the english language, and it was the grammarians who tried to stamp it out as ungrammatical.

    [ Parent ]
    More likely (none / 0) (#216)
    by X3nocide on Tue Jun 04, 2002 at 02:06:48 PM EST

    German is a language closely related to English. In german the term for "one" or a gender neutral pronoun that isn't the neutral gender word "es" is "Mann." As in "Mann kan nicht Gott verstanden." Which hopefully means "Man cannot understand God." Or, "Humanity cannot understand God." Are the Germans some sort of wife-beating, beer-can chugging, backwoods red neck? Not all of them, I hope.

    pwnguin.net
    [ Parent ]
    learn some German (2.00 / 1) (#222)
    by samth on Tue Jun 04, 2002 at 03:43:06 PM EST

    "Er is ein Mann." <=> He is a man. Not gender neutral, for obvious reasons.

    "Man kan Gott nicht verstanden." <=> One cannot understand God. Gender neutral. Note the difference in number of n's.

    Please obtain clue before spouting off about things you don't understand.

    Given a choice between Libertarianism and ravenous martian spores, I ask you, do I look good in this Bernaise sauce? -- eLuddite
    [ Parent ]

    My apologies (5.00 / 1) (#262)
    by X3nocide on Tue Jun 04, 2002 at 08:30:18 PM EST

    It has been a while since I've taken German, but I still have the college credit for them. Knowledge is of course a use it or lose it deal. Apparently the solution you offer is lose it. Maybe that language development kuroshin was a good idea after all.

    pwnguin.net
    [ Parent ]
    learn it, then use it. (nt) (none / 0) (#282)
    by samth on Wed Jun 05, 2002 at 02:39:19 AM EST



    Given a choice between Libertarianism and ravenous martian spores, I ask you, do I look good in this Bernaise sauce? -- eLuddite
    [ Parent ]
    Latin Influence? (none / 0) (#267)
    by Bear Cub on Tue Jun 04, 2002 at 09:29:47 PM EST

    If I recall correctly (and that's a big if) the introduction of French as the language of the English aristocracy after the Norman Conquest in 1066 had a heavy influence on English grammar: the French effectively conquored Brittain, and installed French as the official language of state.

    I know that in Spanish, the third person singular pronoun is the equivalent of "he", and that the same is true of Latin. Could it be that the shift from a primarily Germanic gramar to a largely Latinate one caused us to begin using "he" instead of "one" or "they"?

    Can anyone confirm/refute this theory? I'd love to hear a real linguist's or historian's thoughts/corrections.

    ------------------------------------- Bear Cub now posts as Christopher.
    [ Parent ]

    A good rebuttal (none / 0) (#315)
    by kimbly on Wed Jun 05, 2002 at 05:40:11 PM EST

    This page and this page do a good job of showing that the default masculine is not as inclusive as you seem to think.

    [ Parent ]
    It seems.. (none / 0) (#323)
    by molo on Thu Jun 06, 2002 at 05:39:08 PM EST

    It seems to me that most of those quotes are in those articles regard how people's views shape their word use.  Perhaps they have been effected by the feminist movement.

    A look at use in more historical English would be more appropriate, in my opinion.

    However, I am not a linguist.  Just my observation.

    --
    Whenever you walk by a computer and see someone using pico, be kind. Pause for a second and remind yourself that: "There, but for the grace of God, go I." -- Harley Hahn
    [ Parent ]

    whining (none / 0) (#89)
    by eudas on Mon Jun 03, 2002 at 03:30:47 PM EST

    on the one hand, you may have a legitemate point.

    on the other hand, you sound like you're being a whiny, "oppressed" "minority" just because you are overly sensitive to a word or phrase that is for the most part used in a gender neutral manner.

    eudas
    "We're placing this wood in your ass for the good of the world" -- mrgoat
    [ Parent ]

    You're right (none / 0) (#198)
    by kimbly on Tue Jun 04, 2002 at 12:05:29 PM EST

    It does sound like whining. That's because it's "off-topic" for this discussion. But what is one to do when such a large number of tech discussions have this problem, but it's never appropriate to bring it up?

    [ Parent ]
    whining vs conversation (5.00 / 1) (#219)
    by eudas on Tue Jun 04, 2002 at 02:49:03 PM EST

    With regards to this subthread, the poster already positively identified that he used the gender-neutral form, so the point is moot.

    With regards to other forums, I do not know what positive vector to take. Speaking from experience, though, if it sounds like you're whining, prepare to be ignored.

    The issue of subliminal sexism is a difficult one. I may very well be part of the problem. I don't feel like one, but who knows for sure? I don't think that being offended and trying to get people to use different words is going to work -- notice the abject failure of political correctness in our world today. people don't really think differently because of it, they just give lip service to it.

    I think that if a minority wants equality in this topic they will have to subvert it from within, not topple it from without.

    eudas
    "We're placing this wood in your ass for the good of the world" -- mrgoat
    [ Parent ]

    sexist-hyperawareness (4.66 / 3) (#92)
    by tzanger on Mon Jun 03, 2002 at 03:35:47 PM EST

    I get really tired of the persistent, low-level sexism that is so prevelant in the software industry. For the record, I am exactly the "guy" that you just described.

    And because my entire development team has to be careful about which proper pronouns they use because of your over-sensitive psyche, you wouldn't get the job. Not because you're female, but because you'd cause me stress.

    I have worked with female developers before. The difference between the sexes can be incredible but that doesn't stop any one of them from schooling the boys, or vice-versa for that matter. They differences in the attack of problems or debugging processes is one reason why I like to keep the dev team as varied as possible.



    [ Parent ]
    That's the problem (none / 0) (#200)
    by kimbly on Tue Jun 04, 2002 at 12:16:48 PM EST

    The reason it causes you "stress" when someone points out that your language is subconsciously non-inclusive, is because it makes that fact conscious. I, on the other hand, am conscious of it all the time -- whenever someone in the office says "guy", I have to consciously remind myself, "oh, but he probably meant to include me too".

    Your comment about not giving me the job is entirely inappropriate, for two reasons. First, I don't bring these issues up while at work, precisely because I know it's unconscious, and it's not worth making an issue over it (there's one person here who calls everyone "dude", including me). And second, because it can be easily interpreted as "shut back up or else".

    An aside: my grandfather employs black people, whom he habitually calls niggers. If one of them were to mention that they would prefer he used another term, would that be "racist hyperawareness"?

    [ Parent ]

    See there it is again (none / 0) (#217)
    by tzanger on Tue Jun 04, 2002 at 02:22:54 PM EST

    The reason it causes you "stress" when someone points out that your language is subconsciously non-inclusive, is because it makes that fact conscious. I, on the other hand, am conscious of it all the time -- whenever someone in the office says "guy", I have to consciously remind myself, "oh, but he probably meant to include me too".

    The very fact that you are so sensitive about even the word "guy" tells me what I need to know. Maybe a hundred years ago "guy" meant men only but as far back as I can remember "guy" today means everyone present, as in "you guys" (or in Pittsburgian, "yuin's guys"). If that is off-putting to you then I'm sorry, but I really don't think we would get along in a social or business setting.

    I wonder if I would be sensitive about it if it were reversed... if I worked in a female-dominant office and they called everyone "girls." I honestly don't have an answer for that, but my wife used to work in such a setting and they refered to each other as guys, even though they were all women.

    Your comment about not giving me the job is entirely inappropriate, for two reasons.

    Granted. I had added that because the context of your original response was that of a business setting (or at least that is how I had originally interpreted it).

    An aside: my grandfather employs black people, whom he habitually calls niggers. If one of them were to mention that they would prefer he used another term, would that be "racist hyperawareness"?

    I'm not aware of the word "guy" having all the negative connotations that the word "nigger" does. I imagine that if it didn't, then I would call it racist-hyperawareness, yes. However pretty much everyone I know associates the word "nigger" negatively, and in my life, you're the first person I've run across who has a negative connotation for "guy". Mob rule, maybe, but that's life.

    As you can probably tell, I am not very politically correct. I choose my friends and my career at least partially based on how PC they are. That isn't to say that I'm a boor, but rather that I know I'm a little rough around the edges and actually prefer to be that way.



    [ Parent ]
    along this line... (none / 0) (#230)
    by cyclopatra on Tue Jun 04, 2002 at 04:57:41 PM EST

    I wear two hats at my company. In one incarnation, I'm the "director of technical operations" (by dint of being the only programmer) for one of our subsidiaries. This company is 80% female, and our outnumbered male coworkers get lumped in with us "gals". The rest of the week, I'm a midlevel developer for the parent company, and the only female programmer, and I get referred to with the rest of the "guys". Neither one really bothers me, although I'd rather be one of the guys than one of the gals...but maybe that's just me...

    Cyclopatra
    All your .sigs are belong to us.
    remove mypants to email
    [ Parent ]

    Pronouns (none / 0) (#95)
    by dennis on Mon Jun 03, 2002 at 03:39:54 PM EST

    My apologies, Kimberley, I meant my pronouns only in the sense that molo describes. I tend to find "he/she" distracting. For longer pieces, I'll sometimes mix in "she" or "her" at random, which seems to me a decent compromise to avoid giving offense without being too cumbersome. But with only one gender-specific sentence, I pretty much had to pick one or other, and I went with the traditional default. It probably would have been better if I'd picked a non-specific word in place of "guy."

    For the record, I work with two other programmers, one of whom is female, and thoroughly competent.

    [ Parent ]

    My apologies as well (none / 0) (#201)
    by kimbly on Tue Jun 04, 2002 at 12:18:37 PM EST

    I didn't mean to single you out in particular. It's just that I see this a lot, and I don't think most readers even notice it, so I wanted to mention it.

    [ Parent ]
    Pronouns (none / 0) (#218)
    by glitchvern on Tue Jun 04, 2002 at 02:33:04 PM EST

    That's funny I've alway considered guy to be more or less a sex neutral pronoun and guys doubley so. It's just the fault of English that we don't have any real sex neutral pronouns. Also iritating is the lack of a second person plural pronoun. The proper second person plural person being you, but in most sentences it is not particularly obvious you is suppose to be plural. Here in the South (Texas) we use ya'll as second person plural and are generally considered ignorant southern hicks by the the rest of the country for it. I understand in other parts of the country they use "you guys" as a second person plural pronoun. I'm pretty sure it is meant as sex neutral there too.

    Programmers are like Mogwai, they hate bright light, direct sunlight is rumoured to kill them.
    [ Parent ]
    Use youse... (none / 0) (#266)
    by wocko on Tue Jun 04, 2002 at 09:08:21 PM EST

    Or fs you were an Aussie (pronounced Ozzie not Ossie, for youse Seppos), you could use "youse" :)

    [ Parent ]
    ya'll is making it's way (none / 0) (#300)
    by speek on Wed Jun 05, 2002 at 09:13:14 AM EST

    I've been using ya'll for the past 10 years (I live in NY - not the city). Last week, my father actually said ya'll and nobody blinked an eye (he's not from the south). It's been a long time since anyone ribbed me for using ya'll. It just makes sense, which is why I consciously started using it.

    --
    al queda is kicking themsleves for not knowing about the levees
    [ Parent ]

    How y'all doing? (none / 0) (#308)
    by TheSleeper on Wed Jun 05, 2002 at 01:48:15 PM EST

    The proper second person plural person being you, but in most sentences it is not particularly obvious you is suppose to be plural. Here in the South (Texas) we use ya'll as second person plural and are generally considered ignorant southern hicks by the the rest of the country for it.

    I'm a southerner transplated to the northeast. I find that it's really rare that anybody mocks me for using "y'all". More commonly I hear natives of this area using it themselves. Because it's a useful word -- as you point out, the ambiguity between singular and plural "you" is troublesome in many cases.

    [ Parent ]

    Are you sure that "guy" is gender neutra (none / 0) (#320)
    by ccshan on Thu Jun 06, 2002 at 03:14:02 AM EST

    ... in your language, that is.

    Would you say "Mary is a good guy" in reference to a female person?  What about "John is a good guy" in reference to a male person?

    [ Parent ]

    Education is still important (4.62 / 8) (#103)
    by pexatus on Mon Jun 03, 2002 at 04:15:25 PM EST

    Even if it doesn't come from a school.  I think the important point to make is that neither computer science schools nor programmers should compromise.  Too many people think that because they can write a program that does what it is supposed to do, this means they are a good programmer.  Good programming is about efficiency and maintainability and intelligent use of existing libraries and so forth. The fact that it is possible to get a program to work without using any of these means that one can easily deceive oneself into thinking s/he has learned how to program well.  In theory, a formal education ensures that all important areas are covered.  In theory.

    At my school, too many engineers were failing, so the dean of engineering came along and said to the department heads (one of which is computer engineering), "Get the GPA's up.  I don't care how you do it.  It's embarrassing."  So you can guess what happened next.  The school invested more money and time in hiring experienced, competent professors, properly structured curricula, and screening and recruitment of intelligent students.

    Oh, no wait, that was a dream I had.  They actually just lowered the standards in most classes so that any lazy monkey could walk in the door, plop down a tuition check, and walk out with an engineering degree.  In my database class, we were talking about SQL constructs or relational algebra operators or something, and someone asked what part of MS Access it was from.  This is like a senior-level class, with pre-requisites like Algorithm Analysis and Discrete Math.

    True, there are self-taught programmers who develop great software.  There are also a lot who skimmed Visual Basic for Dummies and are probably going to finish it, someday.  How do you tell one from the other?  This is supposed to be the reason for official degrees: a certifcation that a person is qualified. However, anymore, it's hard to tell, which is why so many get hired into jobs for which they are ridiculously overqualified.  The companies don't know how to tell who actually knows what, so they just hire Computer Science Master's students to crawl underneath desks plugging in Ethernet cables.

    [ Parent ]

    Expanded Labour Market (4.00 / 2) (#144)
    by cam on Mon Jun 03, 2002 at 07:50:39 PM EST

    Although I understand the value of a good CS education, I have to mention

    Software Engineering and Hi Tech certainly expanded the labour market. I think it is good that it expanded to the level where non Computing majors could through ability and knowledge move into a new profession without having to go through 4 years of rote learning at a University with associted debts for a piece of paper professing proficiency.

    I think other professions such as law and health would do well to have such a low barrier of entry, low enough that those that are talented and apply themselves outside of "formal education" can achieve.

    In our office the Software Engineers are converted Mechanical, Electrical and Metalurgical Engineers as well as a Math major. There are only two CS majors, and neither of them are the most talented Software Engineers we have.

    cam
    Freedom, Liberty, Equity and an Australian Republic
    [ Parent ]

    Anachronisms in HR Position Descriptions (4.00 / 8) (#29)
    by fuzzcat on Mon Jun 03, 2002 at 09:42:33 AM EST

    One advertisement required 10+ years of experience in Object Oriented Development using Java. This struck me as odd seeing as how I distinctly recall being a Freshman in the CS Department at UPENN and working with a very new language just released to the public by SUN in 1994. That language was called Java as well.

    Almost as good as the position I saw that required five years of experience with Windows 2000 administration.

    I'll just start now... (none / 0) (#36)
    by dennis on Mon Jun 03, 2002 at 11:26:57 AM EST

    ...and claim two years experience with Win2005...

    [ Parent ]
    I remember (3.00 / 1) (#50)
    by bayankaran on Mon Jun 03, 2002 at 01:12:02 PM EST

    I remember seeing an ad in 1997 - they wanted programmers with 5 years of experience in Java.

    HR girls are nice, the last girlfriend I had was an HR professional...she interviewed me and we fell in love.

    I love interviews.

    [ Parent ]
    Please help me out here (4.00 / 1) (#167)
    by X3nocide on Tue Jun 04, 2002 at 03:01:44 AM EST

    I've seen this urban legend so many times across various places I visit, but the offending company is never told to save them from embarressment. But how do I know its true and not urban legend created from some guy's job hunting inspired rantings? Could you provide me with a source, or specific company that pulled that stunt?

    Otherwise I'll have to start attributing it to Microsoft. That seems like a great way to get software done early; hire time travelers.

    pwnguin.net
    [ Parent ]

    Excellent Point (none / 0) (#177)
    by fuzzcat on Tue Jun 04, 2002 at 09:09:24 AM EST

    But how do I know its true and not urban legend created from some guy's job hunting inspired rantings?

    This is an excellent point, and I applaud you for thinking critically about the matter.

    Could you provide me with a source, or specific company that pulled that stunt?

    I would love to...but I can't. What I can tell you is that the job listing appeared on Monster.com sometime during the first quarter of 2001. I know the date because that was about the time I started my postbac program in computer engineering, and I wanted to check out job possibilities for when I finished up my program.

    I'm sorry that I can't be more specific. I started to save the job listing because it was just so darn funny, but (like a tool) I didn't.

    I understand you chalking it up to urban legend. If I hadn't actually seen it myself, I wouldn't believe me either. I'm skeptical that way. Besides the whole thing does have the ring of "This one time, this friend of a friend..."

    I've always given the company the benefit of the doubt and assumed it was some sort of typo or giant misunderstanding. Perhaps they wanted someone who had five years of experience with Windows NT/2000 server administration. with a release date for WinNT 3.1 of August 1993, that would certainly have been possible.

    [ Parent ]

    Two problems (4.76 / 13) (#33)
    by MSBob on Mon Jun 03, 2002 at 10:58:32 AM EST

    There are two problems here that we need to discuss. The first is that of who handles your cv and the second is that of how it happens that you get displaced by a junior/H1B/negro/<insert_your_pet_enemy_here>

    The first problem is that there really is little in a way of challenging work in the software industry left. 90% of all projects out there are basically glorified interfaces to relational databases. Whatever exciting work is left it is usually very specific in its domain and requires a lot of expertise in a niche area (medical analysis, geoscience, meteorology etc.). When you apply for one of these jobs your resume ususally goes straight to the hands of the project lead who's looking to fill the position. HR usually doesn't go near those vacancies as it's mainly small(er) companies that do this sort of programming.

    On the flip side common programming jobs are not only boring but also quite repetitive in nature and require less skill than the type of employment mentioned in the previous paragraph. Those are your typical jsp/asp coders and server side component developers. They basically do as they are told and have no real vertical market expertise (most of the time) but good general understanding of programming. Basically this type of IT hiring is often dealt with through HR. Needless to mention this is where you don't want to be. This is the bottom of the IT food chain.

    The trick is to end up working in a job that addresses a niche market need. The requirement is however, that you know quite a bit not only about programming and software technology but also are and expert in the vertical market which consumes your product(s). Programming in itself is becoming a marketable skill less and less on its own. Software must solve problems for other disciplines and if you really want an interesting job and one where you cannot be displaced by 'the other web monkey' you need to learn about a niche area that is not directly related to software engineering but can be improved with the use of software.

    I don't mind paying taxes, they buy me civilization.

    Not necessarily so ... (4.00 / 2) (#53)
    by Simon Kinahan on Mon Jun 03, 2002 at 01:18:09 PM EST

    I agree with most of your analysis, but I'm not convinced specialist skills beyond computing are required to stay off the bottom of the ladder.

    Firstly, software engineering skills really do matter, and are valued where it counts: in experienced development shops and consultancies. Communication skills, ability to model stuff before you write it, undertstanding architecture, mentoring skills, and so on, all really do matter. Plenty of the small domain specialist places you mention need this sort of thing, and selling them consulting, or even getting yourself a permanent position, to take care of their software engineerinng needs should not be hard.

    Secondly, actual knowledge of computer science is valuable. Being able to write SQL queries isn't valuable, but being able to implement a SQL evaluator is. Java may be a highly sought after skill, but being able to reimplement the VM or class libraries is even more so.  

    Simon

    If you disagree, post, don't moderate
    [ Parent ]

    You're right... (4.00 / 1) (#88)
    by MSBob on Mon Jun 03, 2002 at 03:28:51 PM EST

    You're correct in what you're saying but if you re-read your comment you'll find out that you and I are talking about the same thing. What you are describing is a type of job where your vertical target market is the software industry itself. I buy that. Being a compiler developer is definitely no monkey job and does add significant value and ususally can't be reduced to simple point-click wizard interface. But in essence it's what I was talking about. You're writing software not to display a form on a webpage or in a VB window but producing something with an understanding of some complex problem domain you are trying to solve. I see that as a job as valuable (or more) as say, writing some seismic analysis software for an oil exploration company.
    I don't mind paying taxes, they buy me civilization.

    [ Parent ]
    Yeah, OK ... (3.00 / 1) (#98)
    by Simon Kinahan on Mon Jun 03, 2002 at 03:47:43 PM EST

    But what about software engineering as a skill in itself ? That was my first point, and I don't think it can be subsumed into "domain knowledge", although I agree that system programming can be. I would contend that someone with really good engineering skills - communication, modelling, and so on - can add value in any environment where software is being written, and therefore his skills will probably last even longer than the talented systems programmer's.

    Simon

    If you disagree, post, don't moderate
    [ Parent ]
    I have seen this myself (none / 0) (#292)
    by onyxruby on Wed Jun 05, 2002 at 05:06:08 AM EST

    When I first started to get into IT, back in late 1995 early 1996 I saw an ad requiring 4 years expereince in NT 4. I tried calling the company and asking about this, since I was otherwise well qualified. I was told that the requirements are "requirements", and that's why they were listed as such. I broke up laughing when the hr lady told me this, and got hung up on. I always wondered if they ever changed their "requirements".

    The moon is covered with the results of astronomical odds.
    [ Parent ]

    oops (none / 0) (#293)
    by onyxruby on Wed Jun 05, 2002 at 05:08:59 AM EST

    My post above was accidently put on the wrong comment, please ignore.

    The moon is covered with the results of astronomical odds.
    [ Parent ]

    Re: Not necessarily so ... (3.00 / 1) (#96)
    by damien on Mon Jun 03, 2002 at 03:47:13 PM EST

    Being able to write SQL queries isn't valuable, but being able to implement a SQL evaluator is. Java may be a highly sought after skill, but being able to reimplement the VM or class libraries is even more so.  
    In my experience, the ability to write good SQL queries is far more prized than the ability to write an SQL evaluator. Your database already provides an SQL implementation; what need is there for someone to write another one? Good query design, on the other hand, will have a very real impact on application performance.

    -Damien

    [ Parent ]

    It Depends Who You Ask ... (3.00 / 1) (#100)
    by Simon Kinahan on Mon Jun 03, 2002 at 04:06:39 PM EST

    People who actually write those database query evaluators are payed a lot of money, because its very hard. Far more people write SQL than ever write an evaluator, and its needed by far more organisations, but its much easier to do. Otherwise there'd be no point in having the database to begin with. Yes, there are a small number of demanding applications that demand excellent database programmers, with commensurate rewards, but they're few and far between.

    This appears to be the direction of the industry as a whole: a small number of people with a solid theoretical understanding of computer systems create sophisticated general systems with very high value. A much larger number of people, with less theory (although maybe more domain knowledge), deploy, configure and program those systems. While those skills are in much greater demand, they're also available to far more people.

    Simon

    If you disagree, post, don't moderate
    [ Parent ]

    What? (4.36 / 11) (#37)
    by quartz on Mon Jun 03, 2002 at 11:27:46 AM EST

    Influx of poorly educated individuals? What do you mean poorly educated? Programming is so easy!  Just take our six-week course in Visual Something or Another and you're on your way to an exciting career in the world of computers! Programming used to be hard when people had to write source code by hand on punch cards, but now we have wizards. You don't actually write code any more, you just point and click. It's so easy, a trained monkey could do it! Don't miss the opportunity! Join the high-paying world of IT specialists today! It doesn't matter what your background is, with our ACME certified crash course in Active Web Technology, changing your career is a snap!

    ::ahem:: As I was saying, what do you mean, poorly educated? Those are the standards, these are the people. What company, aside from a few industry giants who are in the business of selling software or hardware, thinks of programmers as "scientists"? No way, dude. It's not happening and it's not gonna happen. Someone who churns out CGI scripts and database frontends and reports and web pages in Visual Buzzword 5.0 is just a glorified secretary, not a scientist, and we'd like to keep it that way thankyouverymuch. Cause that's how we want 'em: cheap, fast and replaceable. We do office work around here, for cryin' out loud, not some kinda science.


    --
    Fuck 'em if they can't take a joke, and fuck 'em even if they can.

    Cheap labor (2.25 / 4) (#38)
    by xtremex on Mon Jun 03, 2002 at 11:39:04 AM EST

    As many people have obviously seen, The trend is to NOT hire American Citizens...we cost too much. Now with Intel, Oracle and Microsoft's R&D moving to China, thats even less work for American citizens. There are PLENTY of skilled Americans who are out of work. Go to http://projectusa.org and especially http://www.zazona.com/ShameH1B to see proof that there is no shortage of tech workers and that the US elite are not nationalists, but globalists. Their Marxist ideals are infiltrating every aspect of our lives.

    I thought America was a capitalist nation (4.83 / 6) (#42)
    by quartz on Mon Jun 03, 2002 at 11:58:09 AM EST

    Most Americans take great pride in their unabashed worship of the almighty capital. So now what, when you have some real competition, suddenly capitalism doesn't look all that hot any more? Cheaper labor, lower production costs, greater profits; sounds very capitalist to me. As long as there's a demand, there's an offer, and capitalism doesn't really care about nationality.

    Ah, when you lose your job because of a cheaper competitive offer, it's different? Well, it's not. Suck it up. Match the offer of the competition or remain jobless. That's capitalism for you.


    --
    Fuck 'em if they can't take a joke, and fuck 'em even if they can.
    [ Parent ]

    Capitalism (5.00 / 1) (#61)
    by Ken Arromdee on Mon Jun 03, 2002 at 01:34:37 PM EST

    A big problem with the immigrant hiring situation is that they are hired under conditions that make it hard for them to change jobs without disrupting the green card process. If they can't easily switch to a higher paying employer, of course that will drive their salaries down in comparison to citizens. That's not capitalism or "competition", it's government interference (through the green card rules).

    [ Parent ]
    Excuse me? (4.00 / 1) (#65)
    by quartz on Mon Jun 03, 2002 at 01:49:15 PM EST

    The overwhelming majority of tech workers are hired under H1-B visas, which are non-immigrant temporary work visas. There is no green card process, there is no immigration. H1-B holders come to the US to work for 3 years, they can extend their visa for 3 more, and then they go home. They can easily switch to a higher paying employer, as long as the new employer is willing to take over visa sponsorhip, especially since last year, when some law to which I don't have a link right now made the process even easier by waiving some stupid procedure that wasn't really necessary in the first place. So what government interference are you talking about?


    --
    Fuck 'em if they can't take a joke, and fuck 'em even if they can.
    [ Parent ]
    Easy???? (none / 0) (#80)
    by Argel on Mon Jun 03, 2002 at 03:12:33 PM EST

    H1-B holders come to the US to work for 3 years, they can extend their visa for 3 more, and then they go home. They can easily switch to a higher paying employer...

    I had an H1-B co-worker who switched jobs. It took him several months to get things approved, all the paperwork taken care of, etc. Explain to me how this qualifies as "easy to switch jobs", espcially considering how much trouble the employer can cause if they find out the person wants to switch jobs.

    [ Parent ]

    Easy. (none / 0) (#84)
    by quartz on Mon Jun 03, 2002 at 03:19:02 PM EST

    Here. Does 15 days sound easy enough?

    --
    Fuck 'em if they can't take a joke, and fuck 'em even if they can.
    [ Parent ]
    Not quite (5.00 / 1) (#90)
    by Skywise on Mon Jun 03, 2002 at 03:31:21 PM EST

    An employer must post the job opening to the public for at least a month (usually the office break room suffices) to show proof that they cannot fill the job locally.

    [ Parent ]
    You don't understand one thing (none / 0) (#97)
    by sbalea on Mon Jun 03, 2002 at 03:47:14 PM EST

    How about the people that want to remain here (legally)? The only way is to have their employer apply for residency. This process takes 2-3 years and ties the guy to his/her employer (if they switch jobs, they reset the clock)

    [ Parent ]
    My point is... (3.00 / 1) (#101)
    by quartz on Mon Jun 03, 2002 at 04:07:42 PM EST

    that those people agreed to work in the US on a temporary contract. I'm not familiar with the formal procedure for H1-Bs, but if it's anything like the procedure for an F-1, they even have to sign a declaration before they come to the US stating that they do not wish to immigrate.

    Now why exactly do you believe that someone in this position is entitled to an easy way (or any kind of way, for that matter) to switch status from non-immigrant to immigrant? This is what I actually fail to understand.

    --
    Fuck 'em if they can't take a joke, and fuck 'em even if they can.
    [ Parent ]

    What real competition? (3.00 / 1) (#129)
    by Skapare on Mon Jun 03, 2002 at 06:18:43 PM EST

    What real competition? Someone who can't change jobs because they are in this country on a restricted visa? Someone who has no family here and can thus work 14 hours a day, 6 days a week, for the same pay? Someone who finances a family that only has to pay $150/month for rent back home?

    If there was "one world nation" and everything was equal, then I'd see your point. But until then, it's not even a point; it's a blunt surface.

    When supply/demand benefits business, they just tell you that's capitalism. But when it hurts them, they go whining to Congress to start tweaking the supply. So maybe we should start bringing some out-of-country businesses into the USA. Besides, the more that American businesses go overseas, they more the USA is screwed on taxes.

    If there was a genuine shortage, I'd be all for bringing them in. But in reality, most of it is fabricated by ITAA and its member corporations.



    [ Parent ]
    Competition (3.50 / 2) (#140)
    by quartz on Mon Jun 03, 2002 at 07:34:34 PM EST

    Yep. Someone who works long hours for cheap under restrictions and likes it (they do come to the US of their own will after all, nobody puts a gun to their head). Sounds like competition to me. What, you only want to compete with someone who has a family and 15 spoiled brats who won't let him work for more than 2 hours a day? What kind of capitalism is that?

    --
    Fuck 'em if they can't take a joke, and fuck 'em even if they can.
    [ Parent ]
    Marxist ideas (none / 0) (#130)
    by xtremex on Mon Jun 03, 2002 at 06:30:17 PM EST

    These are college taught marxist ideas brought into full fruition in 1968 with the Immigrant reform act of 1968.For 70 years there was a 250,000 person limit for immigration. Ever since 1968, they raised the cap and we have about 1,000,000 per year, and the clause says to increase third world immigration and decrease educated european immigration.Projectusa.org replies to all the fallacies in the WorldNetDaily post a poster just posted. College students (thru no fault of their own) are brainwashed by the majority leftist professors. The compassion and the "save the world" mentality looks good on paper, but once you enter the real world, you'll see the Communist ideals of the US education system is a farce.I'm not agaisnt immigration...I'm agaisnt MASS immigration from the third world. Read ProjectUSA.org. Leanr what the press doesnt tell you. Mass Immigration is actually racist. Bringing is millions of third world immigrants makes it harder for a young American of ANY race to compete when they enter job market.Go to http://www.crimeagainstamerica.com as well. There are over 50 links on this subject.Actually, this page disproves all the things in the worldnet article, that the poster seemed to Fallacies

    [ Parent ]
    A response to projectusa.org (5.00 / 1) (#74)
    by mickj on Mon Jun 03, 2002 at 02:44:37 PM EST

    Why we should keep our border completely open

    [ Parent ]
    Not Hiring American Citizens (none / 0) (#213)
    by Maclir on Tue Jun 04, 2002 at 01:26:39 PM EST

    Tell me, my friend - where was your car manufactured? Mexico? Korea? Taiwan? Europe? What about the clothes you are wearing at the moment - Indonesia? China?

    American citizens are able to purchase a whole range of consumer goods at very low prices, because the manufacturers of these goods reduce their costs by manufacturing these items in countries where labor costs are a fraction of what they are in the US. Now, what about all the unemployed workers in the steel and manufacturing industries? Do you spare a though for all the previously employed garment workers?

    Would you be happy paying $60 or more for your next pair of (US made) chinos, rather than $15 for a pair imported from Indonesia by Wal-Mart.

    So what is the difference between you purchasing something at a nice low price (because it has been made in a country where workers are paid a fraction of the US minimum wage), and Mr CEO paying some Indian or Chinese company to develop their software?

    [ Parent ]

    The Job market is like any other "market" (4.12 / 8) (#43)
    by poopi on Mon Jun 03, 2002 at 12:19:51 PM EST

    I think if more people saw the job market as any other market (economic) then things would get clearer. Getting a job is nothing more than an agreement between two parties or:

    John Smith Inc. (a company providing programming services) and ACME Corp. (a company making widgets which requires programming services). John Smith Inc. tenders an offer which indicates that they are willing and capable of providing "X" programming services and ACME Corp. rejects the offer because they feel that although John Smith Inc. may be capable of providing the services they require, Tom Doe Inc. is the desired vendor because they have a better reputation in the industry. Unfortunately Tom Doe Inc. capitalizes on that reputation by offering their services at an exorbitant price, which makes them unaffordable to ACME Corp. So ACME Corp. can't get the services they want (and therefore complain of a shortage) but are unwilling to take a chance on John Smith Inc. because ACME Corp. reputation in their respective industry is depending on the reputation of their business partners. The most important element for a company's ability to generate sales is their reputation (see Tom Doe Inc.) so ACME Corp. is very protective of the reputation they already have and as such will not hire John Smith Inc. Which leads us to NewCo, which has no reputation and as such is willing to get into business with anyone so long as they realise that NewCo has no revenue and that the relationship between the two companies is one where compensation is at very best differed into the future. NewCo is willing to take a chance on John Smith Inc. but John Smith Inc. has their own vendor problems and needs the contract to remain cash flow positive, since NewCo can't offer a compensation package that John Smith Inc. needs the deal never materializes.

    I guess this is why the headlines scream "IT worker shortage" and IT workers scream "I can't find a job."

    But then again - I just made all that up - so chances are I'm way off.

    -----

    "It's always nice to see USA set the edgy standards. First for freedom, then for the police state." - chimera

    the market is political (4.83 / 6) (#66)
    by startled on Mon Jun 03, 2002 at 01:56:49 PM EST

    Economics (in the U.S. and, really, anywhere) are closely tied with politics. Political leverage is often the best way to get a better deal in the market.

    ACME Corp. is perfectly capable of making a sizeable profit off the work of John Doe Inc. at the current price. The problem is not the demand/supply curve, which is currently balanced well enough for everyone to benefit.

    Of course, if ACME Corp. were somehow capable of either decreasing demand or increasing supply, they could get a better deal on all their workers. Doing that through economic means is very difficult-- they'd have to fund more tech schools, encourage people to go into the field through college recruiting or advertising, etc.. But if they can lobby Congress to keep visa caps high, or maybe spend some of that tech school money for them, they save themselves the trouble of having to pay the normal rate for tech workers.

    Don't get me wrong-- I'm not anti-immigration; I actually think we should have been making citizenship easier rather than creating indentured servants with H-1Bs. But viewing these activities as classical economics is missing half of the picture. Businesses are trying to make money (of course-- this is what businesses do), and one way is paying your employees less. If it's easier to do it politically than economically, pick the cheapest way! Politicians are a good deal.

    [ Parent ]
    Its got a widget (none / 0) (#110)
    by psr on Mon Jun 03, 2002 at 04:34:07 PM EST

    Hmm, interesting, the here in the UK theres a beer called John Smiths, who used to advertise the fact that they used widgets.
    -- Feed the Noise back into the System.
    [ Parent ]
    I think I remember those commercials (none / 0) (#240)
    by NMSpaz on Tue Jun 04, 2002 at 06:31:03 PM EST

    I loved in London for a few years growing up, and there were some commercials whose catch phraes I still use in the states to the great confusion of my audiences. "It's got a widget" was one of them (something about just-served-by-the-landlord or other silliness). That and the whole "Dime bar"/"It's not me trolley!" really earns strange looks.

    [ Parent ]
    HR people need training (4.80 / 5) (#44)
    by fluffy grue on Mon Jun 03, 2002 at 12:23:18 PM EST

    The problem is that HR departments insist on managing the important programmer interviews, but don't know anything about programming. At the most recent tech job interview I had, there were a number of unofficial mini-interviews with various engineers (who were all quite impressed with me), and then the final important interview with HR, who asked, "What can you bring to this company?" When I told her, "As I told your engineers, I have signifigant experience in C++ and some experience in UML, and have done work with technology similar to what your company makes," she said, "I don't anything about that technical stuff. What can you bring to this company?" I ended up making up some bullshit about being a team player and all that other stupid stuff.

    I was offered the job anyway, but I declined it (because they changed their mind about what they wanted at the last minute - I was only interviewing for a part-time summer position, and they decided that they would only hire me if I agreed to work 40 hours a week "part time").
    --
    (witty quote goes here)

    Listen to Music | Read a Co

    Misnomer (4.76 / 25) (#45)
    by jabber on Mon Jun 03, 2002 at 12:24:16 PM EST

    There is a very real shortage of IT professionals who are highly trained, highly motivated, highly dedicated, and highly willing to work for minimum wage.

    [TINK5C] |"Is K5 my kapusta intellectual teddy bear?"| "Yes"

    Ding ding ding... (3.33 / 3) (#116)
    by jdillon on Mon Jun 03, 2002 at 04:58:46 PM EST

    You win the prize for most concise correct statement.

    The wages are insane.  Employers seem to think that now that there are all these people out there they no longer have to pay for work.  Well, the best people will very rarely lower their rates...
    !#/usr/bin/php -q echo "Coffee should be black as hell, strong as death, and sweet as love.";
    [ Parent ]

    3 comments (2.33 / 3) (#47)
    by loteck on Mon Jun 03, 2002 at 12:51:45 PM EST

    To start with:

    The Technology sector as we now know it is a far different place from the happy days of the late 90's. Gone are the dot-com companies who burned through their investors VC money and executed business strategies that contained no strategy at all.

    I'm starting out with an opinion, but this opening paragraph is kind of a "duh" statement. You could open the essay a lot stronger by not using something that nearly everyone who reads this site is going to go "Duh!" at.

    Second: you use the word "woeful" in various forms in in three continuous paragraphs. And it is woefully woeful. Find a different word.

    My last complaint is that you offer no links, no stories or studies to back up your assertions and opinions. This apparent lack of documented "reinforcement" makes it look like you are just bitching about not having a job, whilst trying to tell HR people how to do theirs.

    And we all have enough people bitching in our lives, without having to read it on K5. Don't you agree?


    --
    "You're in tune to the musical sound of loteck hi-fi, the musical sound that moves right round. Keep on moving ya'll." -Mylakovich
    "WHAT AN ETERNAL MOBIUS STRIP OF FELLATIATIC BANALITY THIS IS." -Harry B Otch

    Thanks for the comments (none / 0) (#93)
    by root on Mon Jun 03, 2002 at 03:36:33 PM EST

    loteck,

    Thank you for your input.  Let me respond real quick (quick, I promise =)

    1. Fair enough, everyone is entitled to their opinion.  I wanted to try and make the opening fairly obvious just in case someone who is not a hard core K5 reader should stumble upon it.

    2. Yep.  I have that problem.  When I write, try as I may, I do manage to miss these when I do a quick skim over what I wrote.  I am woeful about the situation. =)

    3. This was the most helpful feedback I have gotten thus far.  Seriously.  Thank you.  I couldn't figure out why people seem to think I was complaining.  I am merely trying to get people thinking about ways we can improve upon the current situation and better match those unemployed workers to jobs the corporations claim they have waiting to be filled.

    I definitely am offering suggestions as to how HR could be better equipped to deal with hiring for their technology positions.  I'm not going to be so bold as to say that this is how they must do their job however.  I just meant to offer some constructive criticisms of the way things currently seem to operate.

    Once again, thanks alot for your input.

    Regards,
    dan
    #
    [ Parent ]

    this is an editorial comment (5.00 / 1) (#104)
    by kimbly on Mon Jun 03, 2002 at 04:16:44 PM EST

    please section it appropriately next time.

    [ Parent ]
    Is over-specialization a problem? (4.84 / 13) (#49)
    by HypoLuxa on Mon Jun 03, 2002 at 01:00:29 PM EST

    To grab an example from your article, the DBA, I think that there has been more and more specialization in IT work in the past five years, and that is causing part of the problem. I'm a sysadmin, not a programmer, so this is from a slightly different perspective. People are looking for an Oracle DBA, not a DBA. They aren't helped by the software companies, who are willing to certify people in their specific applications. IT workers are no longer striving to be well rounded admin who has the ability to deal with heterogenous systems. Everyone gets pigeonholed into one very specific ability, to the detriment of their abilities to work with anything else.

    To give you an example, many years ago I was working with a tool called Novell Application Launcher that was part of NetWare. I was contracting at the time, and when word got out that I understood how to use this software, I was paired up with a client who had that need. I spent the next year building NAL objects and nothing else. I didn't so much as change a user password in that year. I spent all my time working on a tiny subset of tools.

    I left that job for that reason. I realized that having a great depth of knowledge with one tool was not a good way to construct a career. I'm seeing this all over the place. We have passed on experienced, quality admins because they did not have some small, very specific skill set we were looking for. With employees seeing this kind of radical specialization as the way to make more money, and companies hiring people paired to systems (or projects) with extremely narrow requirements, the IT industry is going to specialize itself right into some serious trouble.

    --
    I'm guided by the beauty of our weapons.
    - Leonard Cohen

    There's money to be made here. (4.40 / 5) (#64)
    by mjfgates on Mon Jun 03, 2002 at 01:49:00 PM EST

    The reason for this "overspecialization" problem comes from the way that job ads are created. The hiring manager starts by talking to his HR goon, and says something like, "Yeah, we need a good Win32 C++ programmer to do some middle-tier objects." The HR goon pushes for some details, and the manager reveals that this particular project will be using COM+ objects, an Oracle database, and a bunch of ASP pages for a front end. The HR goon goes back to his cube, and writes an ad that lists, as requirements, experience working in Oracle, SQL and database administration (because Oracle is SQL, right? And it's a database, right?), COM+, COM (because that goes with COM+) ASP, C++, Win32, C & MFC & ATL (because those all go with Win32), each with some random number of "years of experience" tacked on. He'll probably tack on VB, Win2k, WinXP, and UML as "plusses", because those are "good things to know."

    Of course, nobody actually has real experience doing all of these things, so the resumes that come in are going to be either from people who send out resumes in response to every ad they see, or liars. The pile looks impressive, but the results aren't.

    I've watched this happen. It's kind of amusing, to see an ad go out for a new person on the team, and to realize that you aren't qualified for your own job according to the ad.


    [ Parent ]

    IT Workers aren't blameless in this (4.00 / 3) (#85)
    by HypoLuxa on Mon Jun 03, 2002 at 03:22:59 PM EST

    The more I think about this, the more I think that IT workers themselves contribute to this problem of "over-specialization." Workers would rather be an "Oracle DBA" than a generic DBA because that means +$20,000 a year for them. I imagine that a good bit of the out of work IT population are developers/admins for PeopleSoft, Oracle, Siebel, SAP, or other kinds of big systems that require intense specialization and are very well paid. If you have an extremely narrow skill set, and won't accept any less than the $150,000 you were making, then it is pretty easy to be unemployed.

    --
    I'm guided by the beauty of our weapons.
    - Leonard Cohen
    [ Parent ]
    Shortage? (3.75 / 4) (#51)
    by NFW on Mon Jun 03, 2002 at 01:12:33 PM EST

    I don't buy the "shortage" idea. The last 15-20 resumes I've sent out have led to nothing more than a bunch of "thanks for your interest" form letters.

    I remember the shortage. I remember getting an interview every time I sent my resume somewhere. I remember getting calls from headhunters every week, asking if I was "ready to move" yet. Thanks have changed since the shortage.

    Not that I'm complaining - the weather has been great lately. Yes, weather - that stuff that happened on the other side of my office window. Turns out that's all kinds of cool stuff out there. :-)


    --
    Got birds?


    You actually get thank you e-mails? (4.00 / 1) (#118)
    by HagakureGuy on Mon Jun 03, 2002 at 05:10:48 PM EST

    I just checked my e-mail program. Out of about 80 resumes I've sent out over the last month or so, I've received an automated "thank you" response from only about 10%. I can't say that I've got the world's greatest resume or work history, but it's getting to the point where I'm thinking seriously about getting out of the computer business again. If there truly is a programmer shortage somewhere, feel free to tell me where. :)

    [ Parent ]
    Self-Esteem. (2.00 / 1) (#161)
    by vectro on Mon Jun 03, 2002 at 11:42:34 PM EST

    Relax. I'm quite confidant that your automated reply ratio has little to do with your skill or ability, let alone your worth as a human being.

    “The problem with that definition is just that it's bullshit.” -- localroger
    [ Parent ]
    My self-esteem is ok :-) (none / 0) (#188)
    by HagakureGuy on Tue Jun 04, 2002 at 11:27:19 AM EST

    My overly-inflated ego takes care of that.

    What I really wanted my post to show was that now recruters don't even have to pretend that they care about you. I've dealt with a fair amount of recruiters in the 10 years I've been in the programming business. In the past, when the market was tight, it was always easy to get a personal interview, lunch meetings, returned phone calls, etc. Now, there are so many people available that recruiters and HR people don't even feel there is a need to send an automated "thank you" e-mail.

    I hope I don't sound completely cynical. I know this is all just part of a cycle. I'm just getting a little too old, and a little to bored, of going through this every few years. As much as I truly love programming, the business aspects of the industry leave a lot to be desired.

    [ Parent ]
    I remember it too. (3.00 / 1) (#156)
    by R343L on Mon Jun 03, 2002 at 10:33:43 PM EST

    I posted my resume to a local job-wanted website, got a call and got hired (first job after graduating). Now some laid off coworkers have been taking months to get hired again. Or in some cases to even get interviews. I'm not sure all of them have gotten jobs (in the field).

    Rachael
    "Like cheese spread over too much cantelope, the people I spoke with liked their shoes." Ctrl-Alt-Del
    [ Parent ]

    Write software to do what? (4.50 / 4) (#55)
    by thebrix on Mon Jun 03, 2002 at 01:23:39 PM EST

    Many of the posts prompt the question 'write software to do what?'. There's too much emphasis on mathematics and computer science and not enough on the unstated third factor ;)

    Real or imaginary shortages be damned, there will always be a place for people who have industry experience, or are prepared to develop that experience, and software experience.

    I've always worked in (in the United Kingdom) unpopular fields, particularly transport. That might conjure up images of hatchet-faced trades unionists and broken trains, but, despite the bad image, there are a lot of dedicated and capable people working under difficult conditions (largely because of the mistakes of the past), plenty of room at the bottom and fascinating work. Plus, in the end, someone has to try and pick things up rather than flailing away impotently in a newspaper column about how dreadful it all is.

    And, should you worry about such things, the work can't be exported abroad; much of the problem with transport here is that existing systems were skimped and much of the effort is in finding out what they do and working directly with operational staff (something I find fascinating) to do far more than just replicating what already exists. There's a lot of good, solid UI work there, which I particularly enjoy.

    I advise anyone who's worried about the staying power of their job to ignore fashion; the 'hatchet-faced trades unionists' are not as bad as they're painted :)

    Intreresting comments (none / 0) (#86)
    by root on Mon Jun 03, 2002 at 03:25:37 PM EST

    thebrix,

    I think people are misunderstanding the reason I posted this editorial.  I didn't want so much as to whine about the "dreadful" state fo affairs as to try and get people thinking about ways we can "pick things up."

    I for one enjoy Software Engineering and programming because it gives me great satisfaction and challenges me to think and solve problems logically.  I do not fear the dreaded spectre of overseas competition so much as I fear the fact that our profession faces a real threat of being commodidized(sp?)

    I also wanted to spark discussion about ways we can improve our Professional image.  EE's do not worry much about non-EE educated indiviudals competing with them for jobs in Power Design or Logic design.  Why should Computer Scientists have to worry that they will lose out on a Software Engineering position to someone who is not even trained to do the work?

    Thanks for your input.

    Regards,
    dan
    #
    [ Parent ]

    Software is a comodity... (3.00 / 1) (#113)
    by curunir on Mon Jun 03, 2002 at 04:43:28 PM EST

    I fear the fact that our profession faces a real threat of being commodidized

    Why shouldn't it be commoditized? From a business standpoint, code is a commodity. Those of us capable of producing quality code realize the advantages of well written, well documented code. But those advantages are just variables that make up the equation that management is dealing with. If they can generalize the situation such that they know that in-house programmers will write code that gets released %50 faster and runs %25 faster then they can come up with a pretty good estimate of whether it is cheaper to outsource the development to another country or hire of-the-shelf VB-literate clones or whether it makes sense to hire someone who knows what they're doing.

    EE's do not worry much about non-EE educated indiviudals competing with them for jobs in Power Design or Logic design. Why should Computer Scientists have to worry that they will lose out on a Software Engineering position to someone who is not even trained to do the work?

    Because the barrier for entry for becoming programmer is so much lower. Anyone with a computer can download a compiler and start hacking. But your complaint is more analogous to EE's complaining about having to compete with electricians for building contracts. You're complaining about competing with less skilled workers for positions which are likely beneath you. If you have a CS degree and are as qualified as you say you are, then you should be applying for the kind of jobs that untrained people are unaware even exist.

    [ Parent ]
    Sign me up! (none / 0) (#215)
    by X3nocide on Tue Jun 04, 2002 at 01:31:33 PM EST

    "If you have a CS degree and are as qualified as you say you are, then you should be applying for the kind of jobs that untrained people are unaware even exist." I like to consider myself trained somewhat and its pretty damned hard to find an opening that estoeric.

    pwnguin.net
    [ Parent ]
    Professionalisation (none / 0) (#168)
    by thebrix on Tue Jun 04, 2002 at 04:49:07 AM EST

    I think you're confusing two different things. The production of code can, in many instances but not all, be commoditised I'm sure; what leads up to that production never will be commoditisable and requires people there, on the ground, working away.

    That sparked off my original comment; people were concentrating too much on the writing of code and not enough on the developing of requirements, high-level design and so on which, frankly, is the much more interesting part for me. In many ways I would like code production to be made routine because it should be and people can then concentrate on what matters; misspecified systems are a much more serious problem than miscoded ones (you can have the most wonderful code but, if it's not solving the right problem, it's worthless and possibly even dangerous).

    As for professionalisation, this is a controversial topic and I am flagrantly biased, not being a computer scientist and, in fact, never having attended a computer science lecture in my life ;)

    Again it comes back to the previous point; code production is intrinsically routine (so can probably be professionalised) but getting to that point is not and depends on skills far wider than computer science (so is more difficult to do so). However, I'm dead against professionalism because:

    - large-scale computer systems have only been produced for forty years or so which, in the timescale of other professions, is the blink of an eyelid; there's a lot to learn and find out about such production before anyone can say 'you should know X, Y and Z or you're not doing it';

    - the danger of guilds forming, whereby people with qualifications (not necessarily the same as people with competence) band together to keep others out;

    - the enormous diversity of IT which (from previous experiences with the British Computer Society) wrecks attempts to pin down bodies of knowledge except when people have very restricted skills.

    [ Parent ]

    Oh whatever. (3.00 / 2) (#56)
    by /dev/trash on Mon Jun 03, 2002 at 01:25:53 PM EST

    I am arguing that the hiring practices in place in many HR firms is incapable of properly filtering the desireable employment candidates from the carpetbaggers who entered the technology game during the bubble.

    I didn't go to work for a dotcom, I knew what was gonan happening to that sector.  I went to work for a small local firm that had been since the late 60's.  They were bought by a much bigger company that for lack of a better term, ignore them, until my office was becoming a liability.  But hey we had a great product and our customers loved us.  Some being originals from the 60's.

    What ultimately did me ( and the other 20% laid off) was being bought again by a much bigger outfit AND poor planning in relation to government regulations.  because of the poor planning, customers started to lose money and faith in our product.  The new buyer was not as hands off as the first buyer and things had to be done.  Thus the lay off.

    So to say that layoffs are in response to HR being incapable of filtering, is just plain dumb.  Some of us were struck by bad product planning and government regulations.

    ---
    Updated 02/20/2004
    New Site

    You misunderstood me. (4.00 / 1) (#79)
    by root on Mon Jun 03, 2002 at 03:08:51 PM EST

    /dev/trash,

    I am not claiming the layoffs are due to HR being incapable of being able to filter.  I'm saying that there are alot of underqualified people looking for work they are not qualified to perform and HR can't discern the qualified from the unqualified.

    I hope that clears it up and I apologize for my poorly worded sentence.

    Regards,
    dan
    #
    [ Parent ]

    trust me. (3.00 / 1) (#127)
    by /dev/trash on Mon Jun 03, 2002 at 06:13:54 PM EST

    Yeah I guess that's the case. Either that or none of my words on my resume hit on the 'buzzword' of the day.

    ---
    Updated 02/20/2004
    New Site
    [ Parent ]
    Calling a pot a pot (none / 0) (#296)
    by X3nocide on Wed Jun 05, 2002 at 08:22:09 AM EST

    "I am not claiming the layoffs are due to HR being incapable of being able to filter.  I'm saying that there are alot of underqualified people looking for work they are not qualified to perform and HR can't discern the qualified from the unqualified."

    You sound conflicted. I can't personally say whether its HR or just the guy down the street who's been in the workforce longer than me that I can't find a job.

    pwnguin.net
    [ Parent ]

    I see no shortage... (4.00 / 2) (#59)
    by Maniac on Mon Jun 03, 2002 at 01:33:43 PM EST

    As a manager, I don't see any shortage in skilled people. On the contrary, we don't have enough work for the people we have on hand right now (and may be going through another round of layoffs). The last time I had to hire someone was a group of students we hired for 4-5 months to do the heavy lifting of converting software that ran on one system to run on another (compiler changes, byte swap, build script changes, etc.). We had no problem filling the jobs and would have been glad to hire several of the students if we had the work for more full time employees.

    As a manager, I also understand that a perfect fit for my requirements is not needed. I worked with my HR person to make it clear the type of work expected and the kind of skills that were acceptable. We rejected some people who looked better on paper but didn't come across well in the interview. Its my view that everyone who does interviews can put thumbs down to a candidate - no questions asked - and have done this for 10+ years. There are enough people out there to get a unanimous thumbs up from us and fill all the positions.

    Now, if we could find some more work for this part of the company - then we could go hire some more, improve our burden rate, become more competitive, and really grow again.....


    ack. (none / 0) (#68)
    by sasquatchan on Mon Jun 03, 2002 at 02:15:10 PM EST

    Meant to be a reply to this comment

    smacks head.
    -- The internet is not here for your personal therapy.
    [ Parent ]

    Interviews (4.00 / 1) (#120)
    by pexatus on Mon Jun 03, 2002 at 05:20:56 PM EST

    Interviews conducted by people from outside the applicant's department should be used more carefully than they are.  In my opinion they should only be used to spot gaping character flaws in job applicants.  Unless the job will require dealing with many clients in high-stress situations (like a job interview), the way a person acts in an interview might tell you nothing about the person.

    One of the most important results in Social Psychology is the Fundamental Attribution Error.  This states essentially that when one person (such as an interviewer) is making a judgement about the cause of another person's action (such as a job applicant), the judgement will tend to over-attribute the action to the person's disposition, when the action really had more to do with the situation.  This results in an interviewer thinking s/he is finding out what "kind of person" (disposition) the applicant is, when they are really just finding out how this person responds to a stressful job interview.

    Interviewers (like most people) also tend to underestimate their own biases when interviewing. Charisma goes a long way toward getting someone a job that requires no charisma.

    Technical interviews are a different matter, because someone trained in a technical field can tell fairly quickly how skilled an applicant is.  Then again, this usually requires that the person doing the hiring belongs to the department the applicant would work for.  As far as HR interviewers go, though, the job of reading a person's face and body to determine what they are thinking in response to, "Describe a time you showed leadership" should best be left to CIA agents.

    [ Parent ]

    Interviews (none / 0) (#171)
    by CaptainZapp on Tue Jun 04, 2002 at 06:28:43 AM EST

    Technical interviews are a different matter, because someone trained in a technical field can tell fairly quickly how skilled an applicant is.

    I did a fair amount of technical interviews for prospective database consultants.

    The thing I was mainly looking out for, where gaps between the resumee and about how she came along. This doesn't mean, that the candidate had to be technically brilliant, or that putting some shine on the resumee was unacceptable (this could anyway be the agents doing; agents lie a lot).

    But when the resumee said that a guy has five years Sybase dba experience and his answer on the question about system tables is stuttering something about a temporary database, then this somehow really doesn't jibe; next!

    [ Parent ]

    Exactly (none / 0) (#174)
    by pexatus on Tue Jun 04, 2002 at 07:29:57 AM EST

    I think technical interviews are all the more important because of the probelms I mentioned in this comment.  Any more, it's too hard to tell how much a person knows just from the qualifcations they list on their resume.

    [ Parent ]
    no no, you're excused (3.16 / 6) (#67)
    by sasquatchan on Mon Jun 03, 2002 at 02:13:08 PM EST

    Please go read up more on the H1B status. H, I'll help you, Today's Nando Times

    As for pay, H1-B workers are taken advantage of, Donnelly and Matloff say. If H1-Bs want to live permanently in the U.S., as most do, they depend on their employers to get them a green card - a process that costs $10,000 to $15,000 in legal fees. So employers can work them long hours, not grant pay hikes over the next few years and refuse them stock options with relative impunity.
    Please, read up on what you sound off on first.
    -- The internet is not here for your personal therapy.
    You're not excused either (none / 0) (#72)
    by quartz on Mon Jun 03, 2002 at 02:36:55 PM EST

    Please go read up more on the H1B status. I'll help you, here's what the INS website has to say about H1-Bs.

    H1-Bs are temporary. As in, "not permanent". You do understand the distinction between temporary and permanent, don't you? Good. Now please explain to me how the fact that some people who want to live permanently in the US choose a temporary visa is anyone's problem but their own. How exactly is the government's fault, or anyone's fault for that matter, that they allow themselves to be exploited by US companies? It's not that they don't have alternatives. They can switch companies, they can even go back to their country, hell, they're free to do whatever they want.

    So "please, read up on what you sound off on first".

    --
    Fuck 'em if they can't take a joke, and fuck 'em even if they can.
    [ Parent ]

    Read the INS website... (5.00 / 2) (#77)
    by sbalea on Mon Jun 03, 2002 at 03:08:12 PM EST

    If you would have read the INS website a bit better, then you'd have noticed that there's NO way a smart, educated person can apply for permanent residence in US by him/herself. There are five ways of getting a green card:

    - Marry a US citizen
    - Be a genius (say  Nobel Prize laureate)
    - Open a business in US, invest $1M and create 10 jobs
    - Win the DV lottery
    - Work on an H1 visa and beg your employer to apply for your green card.

    There's also an undocumented, sixth way: be Hispanic, arrive here illegally and manage to stay until the next amnesty.

    So as you can see the only realistic way a normal, average, well educated guy can immigrate in the US is the H1B/employer sponsored green card.

    As for alternatives, yes, they can switch companies, but it requires another H1B visa, process that takes several months. It's not like they can quit one job today and start another tomorrow.

    And let me explain how exactly is government's fault: it's simply a matter of immigration laws. If  US had a law similar to Canada's then you'd solve most of these problems. They have a point system, where a candidate is evaluated based on their age, education, language proficiency, etc. If the candidate makes it past a cutoff number of points, he/she is granted full residency. I think that's a more sane approach...

    So please, before posting your opinion, check your facts.


    [ Parent ]

    Bullshit (none / 0) (#83)
    by quartz on Mon Jun 03, 2002 at 03:17:14 PM EST

    Bull shit.

    Next!

    --
    Fuck 'em if they can't take a joke, and fuck 'em even if they can.
    [ Parent ]

    Still don't see your point (none / 0) (#94)
    by sbalea on Mon Jun 03, 2002 at 03:38:34 PM EST

    OK, I stand corrected, you can transfer an H1B in 15 days instead of two months. But you still need an employer to go through all the trouble for you (for an extra $1k). And also, I forgot about Asylum/refugee status. Do you think there are many people that can claim that? There are probably just a few countries that are considered opressive enough to grant you the right to apply for asylum (and they usually don't produce IT workers). Other than that I still fail to see other ways of obtaining residency.

    If you can, please point me to the right place, I have a bunch of friends that would love to be able to immigrate LEGALLY to US.

    [ Parent ]

    Asylum/refugees (none / 0) (#109)
    by thawes on Mon Jun 03, 2002 at 04:29:01 PM EST

    And also, I forgot about Asylum/refugee status. Do you think there are many people that can claim that?

    Yes.

    Any Chinese under a Marxist state. They would still have to manage to leave China, somehow. China's mandatory abortion laws leave the doors wide open in the US for conscientious objectors.

    There are others besides the ones from China and third world countries that make their way here.



    [ Parent ]
    heh (none / 0) (#153)
    by tjb on Mon Jun 03, 2002 at 09:32:18 PM EST

    While nowadays China's one-child policy is more of a strong suggestion than an enforced law, a couple of chinese guys I work with have 2 or 3 kids and want to stay here.

    I wonder if applying for asylum would still workfor them?  IMHO, it definitely would've worked 10 years ago, but I'm not so sure now.

    Tim

    [ Parent ]

    My point (none / 0) (#111)
    by quartz on Mon Jun 03, 2002 at 04:37:38 PM EST

    My first link referenced a page about immigration through employment. More specifically, the EB-3 visa, which is sort of like an H1-B, only permanent and does not have the degree requirement for all categories. That looks like a pretty valid way of obtaining residency to me.

    --
    Fuck 'em if they can't take a joke, and fuck 'em even if they can.
    [ Parent ]
    Difficulties with EB-3 (5.00 / 1) (#121)
    by keenan on Mon Jun 03, 2002 at 05:32:26 PM EST

    In the case of getting an EB-3 visa, there is the following problem.  "All I-140 EB-3 petitions must include a labor certification and a permanent, full-time job offer.  There are no exceptions." [Quoted from the page you linked to.]  Now, say an arbitrary company can choose between hiring someone on an H1-B visa or an EB-3 with tighter restrictions, which one do you think they'll choose?  

    I know the contract I signed had provisions saying it could be terminated by either party at any time and from what I've seen, that's pretty standard in the tech industry.  

    Keenan

    [ Parent ]

    Wrong (5.00 / 3) (#99)
    by keenan on Mon Jun 03, 2002 at 03:49:09 PM EST

    I'm currently on a H1-B visa.  My application for a green card was sent in months ago.  I have been advised by well-qualified lawyers to not even switch positions within the company I work for, let alone switch companies.  When you send in a green card application, it is for a particular position at a particular company -- all the paperwork is applicable solely for that position.  If your position changes, INS can demand you resubmit your green card application and start all over again.  

    The link you referenced by "bull" -- it explicitly states that you have to have a sponsoring employer in the US -- you can't just magically get immigrant status by yourself, which was sbalea's point.  

    The link you referenced by "shit" -- this doesn't even apply if you're applying to get your green card because you CAN'T change positions without endangering the status of your application.  

    Keenan

    [ Parent ]

    Well... (none / 0) (#114)
    by quartz on Mon Jun 03, 2002 at 04:45:25 PM EST

    My point was that it's easy to switch jobs for temporary workers who want to stay temporary. If you decided to use the H1-B program as a path to immigration, which it was not designed to be, it should be hard for you to do so.

    --
    Fuck 'em if they can't take a joke, and fuck 'em even if they can.
    [ Parent ]
    But you changed your points: (none / 0) (#105)
    by sasquatchan on Mon Jun 03, 2002 at 04:20:33 PM EST

    All I did was refute your belief that anyone on an H1-B has 3-6 years here, and is then shown the door.


    The overwhelming majority of tech workers are hired under H1-B visas, which are non-immigrant temporary work visas. There is no green card process, there is no immigration. H1-B holders come to the US to work for 3 years, they can extend their visa for 3 more, and then they go home.

    As others here have agreed, if one is here on a H1-B it is possible to become a citizen/resident VIA being sponsored for a green card by the employer.

    If you want to argue something else, go ahead, as I actually agreed with some of your other points. But the fact remains that H1-Bs can become residents, regardless of the "temporary" nature of the H1-B they hold.

    -- The internet is not here for your personal therapy.
    [ Parent ]

    Yes, they can... (none / 0) (#108)
    by quartz on Mon Jun 03, 2002 at 04:28:57 PM EST

    All I'm saying is that they're not entitled to it. After all, they're the ones who first agree to a set of contractual conditions (i.e., non-immigration) and then change their minds. I seriously doubt that the US government ever advertised the H1-B program as a way to immigrate. Nobody promised them they'll be able to immigrate, so they shouldn't expect it or feel entitled to it. That's all I'm saying.

    --
    Fuck 'em if they can't take a joke, and fuck 'em even if they can.
    [ Parent ]
    The ugly looking brown guy!!! (3.00 / 2) (#117)
    by bayankaran on Mon Jun 03, 2002 at 05:05:27 PM EST

    Ultimately it boils down to - How can you accept the fact that the ugly looking brown guy with a funny accent and oily skin do programming?

    If these H1B techies were smooth skinned Caucasians I dont think this would be an issue.

    The tragedy - the day is coming when the smooth skinned 'joe programmer' will have to go to India as IT projects of merit are massively outsourced and offshored.

    The solution - let us all fuck each other till we get the same color.

    [ Parent ]
    Stop it now (none / 0) (#142)
    by Skapare on Mon Jun 03, 2002 at 07:44:57 PM EST

    That's why we have to stop it now and change US government policies to prevent this. Start with the H-1B program, as it is obviously selling out experience, and in some cases even proprietary knowledge. The tax structure then needs to change to give the big tax breaks to the remaining companies that are loyal to the USA. The others will have to pay higher taxes or leave the country entirely. These remedies are not happening at this time; but we do need start doing it or the above prophecy could indeed come true.

    Also, this isn't about race. It wouldn't matter if it is brown skinned Indians, or fair skinned Scandinavians. People who play the race card are probably themselves more biased than the rest of us. This is about business gone bad.



    [ Parent ]
    The ugly nationalist (none / 0) (#192)
    by bayankaran on Tue Jun 04, 2002 at 11:36:58 AM EST

    You remind me of someone living in a communist country.

    Anyone sensible will know that -

    H-1B program, as it is obviously selling out experience - bullshit

    some cases even proprietary knowledge - what a load of crap!



    [ Parent ]
    apparently... (3.00 / 4) (#71)
    by Shren on Mon Jun 03, 2002 at 02:34:22 PM EST

    Apparently people hiring tech workers took the one banana problem entry in the jargon file too seriously. "I offered a whole crate of bananas and nobody would come adminster my Oracle server! Must be a tech worker shortage."

    Are you sure it was a whole crate? (none / 0) (#141)
    by Skapare on Mon Jun 03, 2002 at 07:37:08 PM EST

    Are you sure it was a whole crate? Maybe your offer fell short of the mark somewhere. Of course you can't hire a DBA for under $25k/year, at least among Americans.



    [ Parent ]
    In America (none / 0) (#166)
    by X3nocide on Tue Jun 04, 2002 at 02:29:12 AM EST

    You'd be hard pressed to hire ANYONE for that. I believe the poverty line is around there, or maybe thats the median income, aww fuckit, I can't remember. All I know is that my mom makes 30k a year and after tax deductions she makes an adjusted 2 thousand dollars. I'm sure glad our house doubled in value, or I might not be here.

    pwnguin.net
    [ Parent ]
    Re: background check (3.00 / 3) (#73)
    by sye on Mon Jun 03, 2002 at 02:42:28 PM EST

    Here's a story in Re: of background check. One applicant filled out an application form from our organization indicating that he is fluent in English and German. It happens that my boss speaks German too. So he did a volunteering background check on the guy and reported back to our bureau that the guy is not quite honest in his language skills. Believe it or not, our bureau decided that the language skills will remain on the application form but we are not allowed to do any background check in that regards. I can see the wisdom in gauging or writing background check policy if I put myself in the shoes of bureau chief. Can you?

    ~~~~~~~~~~~~~~~~~~~~~~~
    commentary - For a better sye@K5
    ~~~~~~~~~~~~~~~~~~~~~~~
    ripple me ~~> ~allthingsgo: gateway to Garden of Perfect Brightess in CNY/BTC/LTC/DRK
    rubbing u ~~> ~procrasti: getaway to HE'LL
    Hey! at least he was in a stable relationship. - procrasti
    enter K5 via Blastar.in

    Thank you (4.50 / 6) (#75)
    by root on Mon Jun 03, 2002 at 02:46:38 PM EST

    I'd just like to post a quick thank you to everyone involved in this discussion.  It has been interesting and refreshing to get other people's point of view on the situation.  Especially those of you who seem to think I am whining or who adamantly disagree with what I said.

    I was, up until today, looking for employment.  I have held some fairly interesting positions.  (If you consider writing software for the DOE and Princeton University fusion reactor interesting.)  I am not moaning or complaining about the state of affairs.  I am actively trying to discern what types of solutions can be implemented to make this perceived shortage of workers go away.

    I also did not mean to infer that HR does a keyword search and then hires based on the search.  I was saying that many good, often times great Software Developers are lost in a rather large pile simply because they lack certain keywords in their C.V.

    I sincerely would like to thank everyone who is participating in this discussion however.  This was my first attempt at posting anything to K5 and it was an interesting and educational experience.

    I'd also apologize for my poor word choice and grammar to all of the grammar nazis and spelling nazis out there.

    I'm digressing a bit so let me end by saying, "Thank you for your comments."

    Regards,
    dan
    #

    Nazis? (3.00 / 1) (#119)
    by jugglhed on Mon Jun 03, 2002 at 05:12:21 PM EST

    Bad spelling just looks bad. We were just trying to help.

    Friendly spelling Nazi

    [ Parent ]

    Hehehe a slashdot-ism I suppose. (none / 0) (#124)
    by root on Mon Jun 03, 2002 at 05:53:15 PM EST

    I suppose the Seinfield turned Slashdot-ism of *-nazi is just one of my bad habits.  Hope I didn't offend anyone.  Anyway, I'm sure most of the spelling errors is due to my poor typing skills on my notebook keyboard.  The grammar is due to my complete an utter lack of caring much for English grammar.  =)

    Take care.
    Regards,
    dan
    #
    [ Parent ]

    No wonder you have a hard time getting work..... (3.00 / 3) (#157)
    by TheOnlyCoolTim on Mon Jun 03, 2002 at 10:33:48 PM EST

    (If you consider writing software for the DOE and Princeton University fusion reactor interesting.)

    "Applicant was involved with some sort of failed power plant. Rejected."

    :P

    Tim
    "We are trapped in the belly of this horrible machine, and the machine is bleeding to death."
    [ Parent ]

    If you're still in the market... (none / 0) (#173)
    by Muligan on Tue Jun 04, 2002 at 06:42:13 AM EST

    The DOE just decided that all thier nuclear (read:fission) reactor related coding requires IT2 clearance.  If you've done your homework you'll know that an H1-B can't get that clearance. (Nor can mos grad students for that matter.)  Call around, I'm sure they're looking for people. :)

    [ Parent ]
    Local ancedontal example (4.00 / 4) (#81)
    by onyxruby on Mon Jun 03, 2002 at 03:14:35 PM EST

    My local newspaper, StarTribune used to have an entire want ad section devoted to Technology jobs. This Sunday, they had only two partial pages for all of technology. Engineering, all of computers, electronics, the whole enchilada. The jobs simply aren't out there. This is the primary newspaper for the Twin Cities (Minneapolis, St Paul Minnesota), a fairly good size metropolitan area here in the US.

    The moon is covered with the results of astronomical odds.

    Same as Seattle (3.50 / 2) (#102)
    by aname on Mon Jun 03, 2002 at 04:08:54 PM EST

    Up untill about 24 months ago the "HI Tech" section of the want ads ran a minimum of 2 full pages. Now nothing. For the last several years (and currently) my former employer (Qwest) has been laying off employees and replacing them with H1Bs and off-shore contractors (can you say TATA?). Were they better qualified? Just because you don't know how to start or stop a DB dosen't mean you aren't a DBA. If you can spell cat or top you are also a UNIX admin. So when service results fall, just change time frames so there are no "service effecting outages". It's magic.
    This space intentionally left blank.
    [ Parent ]
    No Shit? (3.50 / 2) (#107)
    by Fon2d2 on Mon Jun 03, 2002 at 04:24:46 PM EST

    I'll have to take a look at that. Personally, I'm glad to have landed a job here at Unisys. The situation here is a lot different than root described. They've been hiring quite a few graduates from the surrounding area, UND, UMD, St. Cloud State, The U of M, Madison, and so forth. I remember during one of my interviews (after doing an internship they'll have you interview with several groups) I mentioned I wish I knew more programming languages and they said that wasn't important. You see, around here they know that being able to program is what's important. The rest you can pick up.

    [ Parent ]
    10 years of Win98 Experience (3.00 / 2) (#106)
    by blakem on Mon Jun 03, 2002 at 04:24:33 PM EST

    I once saw a job posting that required 10 years of Windows 98 experience.... Uh, huh... what do you think the 98 in Win98 means?

    Anyway, I was also a freshman at Penn in 94... who is this mysterious root@root? Would I remember you?

    -Blake

    You probably don't know me Blake. (none / 0) (#123)
    by root on Mon Jun 03, 2002 at 05:48:27 PM EST

    But my real identity is Dan Shea.  I majored in CS at upenn from 94-98.  I was active on upenn.flame as JoyDivision back then.  I was a pretentious wanker with little to no respect for much of anything.  Granted I still am, but at least now I realize I am. =)

    Were you in SEAS or one of the "other" schools. =)

    Glad to hear from a fellow alum.

    Regards,
    dan
    #
    [ Parent ]

    upenn.flame (none / 0) (#126)
    by blakem on Mon Jun 03, 2002 at 06:11:54 PM EST

    Your name sounds familiar but cant put a face to it. I stayed away from upenn.flame, but was active on upenn.talk. I was in SEAS, and though I never actually graduated I did go back to the 5 year reunion last month. Ah, blakem@eniac... it brings back a few memories. ;-)

    -Blake

    [ Parent ]

    Obviously (2.50 / 2) (#148)
    by DeadBaby on Mon Jun 03, 2002 at 08:16:19 PM EST

    I would assume it meant 10 years Windows experience but who knows.
    "Our planet is a lonely speck in the great enveloping cosmic dark. In our obscurity -- in all this vastness -- there is no hint that help will come from elsewhere to save us from ourselves. It is up to us." - Carl Sagan
    [ Parent ]
    How in the hell (2.83 / 6) (#112)
    by Kasreyn on Mon Jun 03, 2002 at 04:38:34 PM EST

    did this get posted to FP with scads of spelling and grammar errors in it?

    Come on, people, let's nail these in edit or mod it down. It makes k5 look bad to have this sort of thing on FP, interesting as the *topic* is.


    -Kasreyn


    "Extenuating circumstance to be mentioned on Judgement Day:
    We never asked to be born in the first place."

    R.I.P. Kurt. You will be missed.
    Speling and gramer (3.00 / 5) (#133)
    by aspartame on Mon Jun 03, 2002 at 06:52:52 PM EST

    did this get posted to FP with scads of spelling and grammar errors in it?

    Perhaps there are some people on K5 who don't have pickles up their ass?

    --
    180 times sweeter than sugar
    [ Parent ]

    It is fools like you, (2.75 / 4) (#136)
    by Kasreyn on Mon Jun 03, 2002 at 07:09:45 PM EST

    with your "who cares about doing things the right way" attitude, who are the reason why most of the WWW is a wasteland of unintelligible gibberish.

    Congratulations, you are an example of the lowest common denominator. Be proud.


    -Kasreyn


    "Extenuating circumstance to be mentioned on Judgement Day:
    We never asked to be born in the first place."

    R.I.P. Kurt. You will be missed.
    [ Parent ]
    Calm down (none / 0) (#195)
    by smkndrkn on Tue Jun 04, 2002 at 11:59:01 AM EST

    I think getting a point across is much more important than the spelling. But I still get a kick of the spelling nazis.

    I find this corpse guilty of carrying a concealed weapon and I fine it $40. -- Judge Roy Bean, finding a pistol and $40 on a man he'd just shot.
    [ Parent ]
    Two different problems (3.50 / 2) (#131)
    by levsen on Mon Jun 03, 2002 at 06:47:39 PM EST

    It is true that a) an IT worker shortage is widely talked about and b) HR people are complete morons, but there is no connection between those two.

    After all the HR people get their position filled in the end with who theybelieve is a good fit. So they are not the ones complaining.

    Complaining are the CEOs and other big wigs through their various lobbyist groups and PR agencies to serve various purposes. During the dot-com boom it used to be to ask for more H1Bs from the government so they can hire lower paid foreign workers. Now it's something else whatever, but skewing the market data to make them look like victims of some shortage will always be favorable to them.


    This comment is printed on 100% recycled electrons.

    Recruiting Firms (4.50 / 6) (#134)
    by levsen on Mon Jun 03, 2002 at 07:03:49 PM EST

    If you think HR people are dumb and bad you haven't dealt with recruiting firms yet. Not only have those people no clue about technology, they are also detached from the hiring company so they know even very little about the non-technical stuff. Companies say they just use recruiters for some pre-screening, but the truth that's the hurdle that good people will fail at for precisely those reasons.

    I just had a recruiter call me the other day asking whether I wanted this job and an InstallShield consultant. I felt great that even in these times someone calls me to offer me a job without my doing! But oh what. The poor guy who eventually got the job is now going to clients' offices explaining to people how to use their stupid software and writing some stupid little extensions for it.

    Anyway the recruiter sensing I was not impressed starting talking about how InstallShield has "cutting-edge" technology. And how working for them would prepare me for working for a big software house "like Microsoft or Linux".

    If you or one of you loved ones work for a recruiting agency - you have my deepest sympathy.


    This comment is printed on 100% recycled electrons.

    Sort of reminds me (none / 0) (#169)
    by CaptainZapp on Tue Jun 04, 2002 at 06:12:18 AM EST

    And how working for them would prepare me for working for a big software house "like Microsoft or Linux".

    Middle of the nineties I worked for a version 1 software developer. Since we realized, that we weren't really sales cracks (this skill is far more important, then engineering skills for a software house. Ask Microsoft or Oracle), we hired a self described one. We realized, that he wasn't technically to adept, when we heard him on the phone (literally):

    Well, if you run out of capacity, don't you worry. You just install a few more clientservers and you're all set.

    This guy made my teeth grind and my hemerroids wallow...

    [ Parent ]

    True Recruiter Stories (none / 0) (#185)
    by Karl Cocknozzle on Tue Jun 04, 2002 at 10:47:08 AM EST

    One lady I talked with while I had a job, thinking about switching because of long-rumored layoffs. She's pumping me up about what a big raise I should be looking forward to.

    Flash forward two weeks, after the rumored layoffs came true. Now she swears I have to take a pay cut. Two week s earlier my "substantial skills" would get me a nice raise, now I was looking at a 10-15% cut.

    Her explanation was that I didn't have a good "bargaining position."

    My response was something along the lines of "blow me" and I never spoke to her again.

    -- "It's craptacular."


    [ Parent ]

    Recruiter Story (none / 0) (#208)
    by TheSleeper on Tue Jun 04, 2002 at 12:59:44 PM EST

    About this time last year, the company I was working for was hiring a few people. I had some management responsibilities, and thus was involved in the interview process, and interacted with a few recruiters.

    In early February, the company folded. In the morning of the day it happened, we had various meetings explaining the severance, the future of our medical benefits, etc. Then I went out to lunch with a few of my (now former) coworkers. When we came back, there was a message on my voice mail from one of the recruiters I'd dealt with the previous summer: "I hear that something is happening there this morning, and I'm wondering if you might be in the market for a new position..."

    [ Parent ]

    Ridiculous (3.36 / 11) (#135)
    by trhurler on Mon Jun 03, 2002 at 07:04:05 PM EST

    You are correct insofar as most "programmers" are incompetent fuckwads.

    You are being stupid in suggesting that computer science degrees are the appropriate education to remedy this. Some sort of software development degree, focused only mildly on theory and strongly on practice, needs to be developed. Until then, companies have no reliable source of good programmers, because 90% of CS grads can't write code to save their lives; they may know the math, but that in and of itself is not enough.

    Basically, you're bitching because your degree isn't worth what you thought it was. The real problem is not the idiots with no degrees - it is the idiots WITH degrees. And there are a lot of them. THEY are what dilute the value of that piece of paper you're so proud of.

    --
    'God dammit, your posts make me hard.' --LilDebbie

    employers can use screening test (4.00 / 3) (#139)
    by svillee on Mon Jun 03, 2002 at 07:29:04 PM EST

    I agree that many "programmers" lack basic competence, and that a computer science education is not likely to help much.

    Some sort of software development degree, focused only mildly on theory and strongly on practice, needs to be developed.

    I'm skeptical of this. Have you actually observed someone improve significantly from such a course?

    Until then, companies have no reliable source of good programmers.

    I think a screening test, coupled with a properly conducted interview for those who pass the test, can offer a reliable source of good progammers. I gave an example of a screening test in a diary entry, but a good hiring manager should be able to compose his own.

    So there really is no shortage of good programmers, as far as I'm concerned. There's more of a shortage of employers who know what they want.

    [ Parent ]

    Problem (4.00 / 1) (#143)
    by trhurler on Mon Jun 03, 2002 at 07:47:13 PM EST

    In general, while you can ask questions in an interview, you cannot use a regular test. Getting caught doing that will open you up to all manner of allegations of hiring biases. If the SAT people can't avoid accusations of racial bias, how will you do that?

    Being sued is ample reason not to go that route.

    As for the course in question, it doesn't exist, so how could I have seen anyone benefit? It ought to include introductory OS, programming, database, and networking classes, data structures, algorithms, systems programming, at least three different languages, introductory complexity and information theory, and a lot of time spent working on medium to large size software and also on small useful tools. Grades should all be individual, cheating should be punished by expulsion, copying is cheating, asking other students for help outside of team activities designed to teach large project skills is cheating, and all grades should be on code produced. In other words, nobody but good programmers could possibly graduate.

    Advanced classes would have topics such as understanding methods used to implement standards in preexisting products, understanding compliance terminology, source control, configuration control, documentation as more than just spewing out a bunch of technical data, producing multiplatform code that doesn't suck ass, and so on. I'm guessing you could do this all in a very hectic four year program that would take most people five years to finish. People who expected to have social lives while at school would be advised to find something else to study, because while really good students will manage, normal students who try to "have a life" would flunk out.

    --
    'God dammit, your posts make me hard.' --LilDebbie

    [ Parent ]
    sounds like FUD to me (none / 0) (#158)
    by svillee on Mon Jun 03, 2002 at 10:38:16 PM EST

    In general, while you can ask questions in an interview, you cannot use a regular test.

    There are several companies that give tests as part of the hiring process. I believe Microsoft is one of them.

    It's a fact of life that people can sue you. It doesn't matter whether you use a regular test or just ask questions. An applicant can always claim that your questions are racially biased.

    Someone might be able to make a case that an SAT score is not very relevant for a programming position. It would be a lot harder to argue that a test of writing 15 lines or so of actual code was not relevant.

    I wish employers did more objective testing as part of the hiring process. Then the truly capable applicants would have more of an edge. If employers are being scared off by FUD like this, it's too bad.

    [ Parent ]

    Well, (none / 0) (#194)
    by trhurler on Tue Jun 04, 2002 at 11:53:47 AM EST

    Put it this way. Are you going to offer that test in Spanish? Are you going to offer it with explanations of any "big words" you use? Are you going to offer it in large print, braille, high contrast, and with disabled assistants? Are you going to offer it in a format accessible to people for whom English is a second language, or whose grasp of standard English(as opposed to some regional dialect,) is questionable?

    Keep in mind that you have to have every possible version ready in advance, because the law specifies that you must accomodate everyone equally; if accomodating one of these people's needs takes longer, then they've got grounds to sue. And of course, the above list is hardly exhaustive. That's the problem. Microsoft might be getting away with it, but your average firm probably has a lot more cash worries than they do.

    Most companies will allow such things as interview questions(on the theory that the interviewer can accomodate people,) but will not use a standard test form. There is a reason.

    --
    'God dammit, your posts make me hard.' --LilDebbie

    [ Parent ]
    actually. (none / 0) (#225)
    by /dev/trash on Tue Jun 04, 2002 at 04:27:54 PM EST

    Doesn;t the non discrimination law say "reasonable" accomodation?

    ---
    Updated 02/20/2004
    New Site
    [ Parent ]
    Yes, but... (none / 0) (#229)
    by trhurler on Tue Jun 04, 2002 at 04:52:52 PM EST

    You have to remember, "reasonable" is one of those words that typically means "refer to case law," and the same disability nazis who forced the law through in the first place were very careful to make sure the precedent was set such that "reasonable" basically means anything you can get a doctor of any kind to say you need, at a minimum, and more than that, in general. This is why small businesses could not use the word "reasonable" to avoid having to modify their premises at such expense that they went out of business in great numbers there for awhile. It doesn't mean "reasonable to your business." It means "reasonable to the disabled person."

    The ADA is a seriously flawed law, but of course, like being against the equal rights amendment, you can't oppose it without being dismissed summarily due to being branded as EVIL. Racist! Cripplehater! Sexist! Homophobe! Jerk! Blah, blah, blah.

    Similarly, despite the fact that the ADA contains language designed to prevent employers from being forced to hire people who literally cannot do the job, there are a whole raft of lawsuits(usually settled out of court) wherein someone who, for instance, cannot use a telephone, has sued because he/she couldn't get a job as a helpdesk tech. Go figure.

    --
    'God dammit, your posts make me hard.' --LilDebbie

    [ Parent ]
    locally. (none / 0) (#263)
    by /dev/trash on Tue Jun 04, 2002 at 08:33:01 PM EST

    We have a Telemarketing firm here.  I guess a blind guy applied to work there, seeing as he wanted to be somewhat a contributing member of society and since they do outbound calls using a PC etc, he thought what the hell.

    The place didn't hire him, saying he was blind and they couldn't accomodate him without significant cost.  Which I think in the end was true.  What the judge said though was that just 'saying' you can't accomdate is not enough, you have to do a little research and say 'hey, we might be able to get you software etc to help you but it'd cost way more than we could ever make off of you."

    In the end the guy didn't get a job, but he did get money equal to 2 years of working there. ( The judge said that the average person works as a telemarketer for 2 years so he awarded him that)

    ---
    Updated 02/20/2004
    New Site
    [ Parent ]

    RE:Problem (none / 0) (#178)
    by miker2 on Tue Jun 04, 2002 at 09:15:01 AM EST

    I was given a test at a job interview last year. The test was 30 something problems with sections of questions for each major technical skill. The questions got progressively harder and the test was also timed. I feel that this is one of the two best ways to properly interview for technical positions, the other being an all day (or half day) interview with a a variety of people asking questions, from HR to systems to development, each assessing the persons value to the company.

    [ Parent ]
    You're wrong on many counts here (4.00 / 2) (#149)
    by root on Mon Jun 03, 2002 at 08:32:51 PM EST

    trhurler,

    You are mistaken about a great many things and you are putting an awful lot of words into my mouth.

    I would also appreciate it if you didn't call me names.  I haven't called you "stupid" or said you are being "stupid" so please give me the same courtesy in return.

    I am not "bitching" about my degree.  My degree is worth plenty and I am happy with it.  I studied a field that interested me and got my undergraduate degree.  The experience was not worthless nor was it worth less than I thought it was.  You seem to take offense to me taking pride in an accomplishment of mine.  That's your right I suppose.  The 4 years of hard work and effort I put into receiving my degree are something I am proud of, not the piece of paper I received after the fact.

    I also didn't suggest Computer Science Degrees remedy the existing market conditions.  I suggested that people with Computer Science degrees are better equipped than those without to design software systems.

    I appreciate your comments, although I disagree with the tone and language used.  I see your points and will take them into consideration.  I'd also add that the specialized degree you are speaking about is offered at many institutions under the title of Software Engineering.

    Thanks for your comments.

    Regards,
    dan
    #
    [ Parent ]

    I can I just say something... (1.25 / 4) (#155)
    by Stick on Mon Jun 03, 2002 at 10:27:15 PM EST

    There's not much use arguing with thruler. Unfortunately he has confused his worth as a person with his worth as a programmer. During my many discussions with thruler on the many aspects of programming and software development, I have found him, for lack of a better word, to be untalented in many areas. He is very competitive, which most likely stems from his childhood experiences with his father. This causes him to lash out at his peers (programmers to be specific), as he knows he will never be better than them, so instead he tries to 'destroy' them in anyway he can. Notice his aggressive nature, and how he finds flaws in others. Classic symptoms of insecurity. Hopefully, by understanding thruler we can hope to help him deal with his problems. Remember, even though he may hurt others sometimes, the one he is hurting the most is himself.


    ---
    Stick, thine posts bring light to mine eyes, tingles to my loins. Yea, each moment I sit, my monitor before me, waiting, yearning, needing your prose to make the moment complete. - Joh3n
    [ Parent ]
    Computer Science Degrees (4.00 / 2) (#176)
    by sawt00th on Tue Jun 04, 2002 at 09:02:01 AM EST

    I used to work for a large IT consultancy here in the UK. Part of their recruitment programme was to take graduates from all disciplines. The theory was that graduates from non technical courses would easily be able to be trained in the technical sides of things, but would have better interpersonal skills which would be of value when dealing with clients. What we tended to find was that graduates from any techical or science background would be capable at both the technical and business side of things, whilst those from a non-techincal background would struggle with the technical aspects of the job. I don't think that a computer science degree is necessarry to perform well in a software development role. What I do think is necessarry is the ability to think logically, have good problem solving skills and an inquisitive nature. A genuine desire to learn (without being spoon fed) is also a key factor - after all technology changes so rapidly within our industry

    [ Parent ]
    I don't buy it. (none / 0) (#186)
    by Phillip Asheo on Tue Jun 04, 2002 at 11:06:58 AM EST

    technology changes so rapidly within our industry

    Fundamentally, computers have not changed much since the Intel 4004. Sure they have got faster, and have more memory, but the underlying principles are the same.

    --
    "Never say what you can grunt. Never grunt what you can wink. Never wink what you can nod, never nod what you can shrug, and don't shrug when it ain't necessary"
    -Earl Long
    [ Parent ]

    Rate of change (4.00 / 1) (#207)
    by TheSleeper on Tue Jun 04, 2002 at 12:47:29 PM EST

    It's true that the underlying principles haven't changed. But that's not the same thing as saying that there's nothing new at all. Look closely at what the person you're responding to is saying -- it's not that the rate of change means that there's no point in getting a degree, but rather that the rate of change means that you need to enjoy learning to survive in the industry. Which is true. Picking up that whizzy new development environement may not require learning any new underlying principles, but it still involves some learning.

    [ Parent ]
    Computer Science Degrees 2 (none / 0) (#312)
    by sawt00th on Wed Jun 05, 2002 at 04:49:04 PM EST

    I think you've misunderstood the point I was making. When I say that technology changes I don't mean in terms of hardware (although there have been changes ther). When I first started in commercial IT, client server was the big thing, Java was purely about applets and CRM was totally unheard of etc etc. These are the types of changes I was meaning.

    [ Parent ]
    I understood exactly. (none / 0) (#324)
    by Phillip Asheo on Thu Jun 06, 2002 at 08:45:25 PM EST

    I was making the point that none of these were anything new or complicated to someone with a basic CS education.

    --
    "Never say what you can grunt. Never grunt what you can wink. Never wink what you can nod, never nod what you can shrug, and don't shrug when it ain't necessary"
    -Earl Long
    [ Parent ]

    Heh (4.00 / 1) (#199)
    by trhurler on Tue Jun 04, 2002 at 12:13:21 PM EST

    You took enough offense that you missed my point. Computer science degrees are like milk. Almost everyone who drinks beer has also had milk, but that does not mean that drinking milk leads to drinking beer.

    I have that same degree. All it means is that finding a job is a bit easier. I learned some stuff, but if we narrow down to what is useful to me, it could all be taught in one year, or less. Or rather, it could if the other students were both bright and truly interested, which on average they're not:)

    --
    'God dammit, your posts make me hard.' --LilDebbie

    [ Parent ]
    How many shades of Research do we need? (none / 0) (#164)
    by X3nocide on Tue Jun 04, 2002 at 01:46:22 AM EST

    Just how many shades of research do we need exactly, versus practical application? Take for example Physics versus Mechanical Engineering. Or Chemistry versus Chemical Engineering. Or Architecture versus Architectural Engineering. Theres a line between theory and application, and it seems to be engineering. What exactly is computer science? Most CS deptartments will tell you its the study of automatable processes. Some might tell you its the study of algorithms. But I've thought about this a bit and it seems theres an SAT style analygy. Chemistry:Chemical Engineering::Math:Computer Science. Computer science is like Applied math. Do you think the problem with Aerospace Engineering graduates is that they have to much math and don't know how to use ProE? To be honest, I really don't want to be a math major. A math professor gave me this quote, attributed to Cayley, and English mathematics researcher: "When I find I've discovered something useful, I stop." Not exactly engineering material. I see it all over math though. Discreet math classes caught up over what constitutes an isomorphic graph. How many ways are there to color all the nodes in a simple planar graph?

    You're right though, in that its fairly easy to slip through the cracks of college and still come away with a piece of paper. I have a feeling that of all the ways to produce people who can write good code, a 4 year degree is probably the most effective. Trade schools and certification centers are to monetarily influenced. How many of these places have you seen, that guarentee after their training you'll pass certification? I've seen a lot, and its depressing. A central verification system is too easy to abuse.

    Whats needed allready exists: references. Put people on there that will vouch for your skill. More than just one. If you don't have any, you should find one. If you do, consider finding an initiate to the process and guiding them. A mentor system kind of thing. Because companies themselves no longer feel any obligation to develop their employees, alternative means shall be found. Even as a student this is feasible; simply talk to an advisor about research assistance or undergrad research. Find something you've done that you're proud of, and find a way to explore the details more. Most of the "programmers" out their wouldn't want to hack their way out of a paper bag if they could.

    (However, I disagree that 90 percent of CS Grads cant code; most of them find their way to MIS before then!)

    pwnguin.net
    [ Parent ]

    Bad Analogy (none / 0) (#204)
    by TheSleeper on Tue Jun 04, 2002 at 12:42:01 PM EST

    Chemistry:Chemical Engineering::Math:Computer Science. Computer science is like Applied math.

    I'd say that CS, rather than being an application of math, is a type of it. Software engineering is applied computer science.

    [ Parent ]

    Ways to color a graph (none / 0) (#232)
    by vectro on Tue Jun 04, 2002 at 05:13:58 PM EST

    The number of possible colorings of a graph is O(2n), where n is the number of nodes in the graph, and assuming the coloring is limited to an n-coloring (otherwise, it'd be ∞ every time).

    Determining the exact number of possible colorings of a a particular graph is an NP-complete problem.

    Proofs of these theroms is left as an exercise to the reader.

    “The problem with that definition is just that it's bullshit.” -- localroger
    [ Parent ]

    Map (none / 0) (#264)
    by X3nocide on Tue Jun 04, 2002 at 08:39:24 PM EST

    Typically this problem is associated with simple planar graphs as I mentioned above, I hope. Looking back, I forgot to mention part of the problem, we're looking for the minimal coloring. My mistake.

    pwnguin.net
    [ Parent ]
    Ways to minimally color a graph (none / 0) (#270)
    by vectro on Tue Jun 04, 2002 at 10:29:37 PM EST

    It depends how efficient you want it to be. There is an easy-to-implement, linear-time algorithm which will yield at worst an 8-coloring (the algorithm finds at most a 2m-coloring, where m is the optimal coloring, and a planar graph requires at most a 4-coloring). Then there is also a quadratic-time algorithm which will find you your 4-coloring.

    Of course, your're lucky it's planar: Compiler writers don't get that luxury, and graph-coloring for an arbitrary graph is NP-complete in the number of vertices.

    “The problem with that definition is just that it's bullshit.” -- localroger
    [ Parent ]

    Again... (none / 0) (#189)
    by glothar on Tue Jun 04, 2002 at 11:29:17 AM EST

    I think I've already discussed this with you at least once, but for the benefit of those who weren't around:

    I'm still confused at your 90% of CS grads can't write code to save their lives comment. Where are these 90%? Every software engineer I've worked with professionally has had a degree. I still haven't come across an incompetant one. I know they are out there, but I dont see many.

    I suppose there is a problem in your outlook. You would never be able to get a job where I work unless you had your degree and passed a 4 hour interview. Without the degree, you'd never get an interview. Its not completely fair, since a degree does not make you good, and you can still be good without a degree. But I can't argue with the results.

    From your past comments, I gather you dont have a degree. I'm guessing you went to a university but dropped out because you hated the math. Which is too bad, since even though I hated the math too, it is what caused me to have the style that I have now. The one thing that I see missing in programmers without a strong theory background is rigor. They tend (on average) to take more shortcuts, implement uglier and less organized code, and design solutions that are less uniform and harder to work with.

    I guess I just dont know where you are getting your numbers. If 90% of the CS grads suck, then there must be nine other companies around here that got stuck with all the sucky CS grads. I haven't met a person here who I wouldn't put in the top third of programmers. I know of several places that are more willing to take risks to get those coders without a degree who are brilliant, and yes, they often end up with quite a few CS grads with poor skills.

    In most cases, I find the problem to be just the program you suggest. CS programs with little focus on logic, theory, algorithm analysis and hardware issues and entire courses on Win32 application programming and BSD sockets programming turn out programmers who dont have the problem solving skills to adapt to new technologies and standards.

    And as others have brought up before, a CS program is not supposed to teach you skills. Its supposed to teach you how to develop those skills on your own. My CS department taught me C++. I taught myself how to use it in the real world. I taught myself C-style programming. I taught myself Java in 4 months, Perl in 2, shell scripting in a few weeks. I taught myself how to use any source control software and how to write both technical and user-level documentation. I did everything that the "self-learners" did, except I did it while getting a degree that taught me how to be even better.

    So, back on topic: Is there a shortage: Yes. There is a shortage of talented and skilled programmers. I had no problems switching jobs. The people without the degrees are the ones who are having trouble finding jobs.

    [ Parent ]

    CS graduates are not always the best (none / 0) (#295)
    by mr strange on Wed Jun 05, 2002 at 06:47:04 AM EST

    Every software engineer I've worked with professionally has had a degree. I still haven't come across an incompetant one. I know they are out there, but I dont see many.

    Most software engineers I have worked with have had university degrees. Not all of them have had CS degrees. When I'm recruiting, I approach CS graduates with some trepidation:

    On the plus side, CS graduates are taught about software engineering. Fresh out of college they often have some practical knowledge of the technologies we use. They also have a theoretical understanding of the software lifecycle. They know what analysis is, and they understand the need for requirements and for testing. More experienced CS graduates often develop a deep understanding of specific technologies. This makes them invaluable as the guru at the core of a team, or as a member of any team working on in-depth technological 'plumbing'.

    On the other hand, CS graduates often fail to develop an interest or true understanding of the industry or application for which they are working. They are often overly concerned with elegant technical solutions, at the expense of practical solutions to the business problem. In short, they can be too interested in the computers themselves, rather than using them as a tool to solve a problem that does not in itself involve computers.

    Sadly, most software engineering is not solely concerned with computers. The best software engineers are those who develop a broad appreciation of the business, the process and the technology. CS graduates want to work with computers, that's why they chose to study them at college. Graduates who did not study CS often make more rounded software engineers.



    intrigued by your idea that fascism is feminine - livus
    [ Parent ]
    Requirements (4.28 / 7) (#137)
    by zvpunry on Mon Jun 03, 2002 at 07:16:27 PM EST

    This dovetails into a story I've been thinking of writing. Maybe I'll get off my ass and do it now.

    Anyway, the first lesson you should learn is to think like an HR rep. The role of HR is to fulfill business needs. This is important. Most businesses don't need too many (if any) scientists. Most business don't need too many engineers, even. They need software developers. Good scientists and engineers will be stronger software developers than your typical "pure" developer, but the burden is on you to show that you can develop software efficiently and effectively.  In other words, meet their real-world business requirements for the next year, six months, or next month.

    I also prefer the title "engineer" and am working toward "architect" and "scientist," and for a long time I couldn't figure out why my resume's weren't getting many bites. I learned that the reason is because I was emphasizing my knowledge and professional ethics, and not my ability to deliver on tight deadlines.

    Moreover, during the dot-bomb era we saw a lot of title inflation. Engineers were being promoted to "senior engineer" after only three or four years of experience, and maybe little in the way of a solid understanding of computer science topics and proficiency with all of the technologies that a company needs. Now these same people are, apparently, seeking even higher positions. But as Joel Spolsky said somewhere, if you have less than a decade of hard experience, you're not an architect. You're definitely not a scientist. You might qualify as an "assistant scientist" or some-such, but most people will not accept such titles, and such positions don't fulfill many real business needs.

    A lot of job descriptions do have extensive requirements. But isn't it better to hire someone who is overqualified, than barely qualified? How long has it been since Scott Adams' first "overqualified" Dilbert strip? We make fun of companies that reject people for being overqualified. Most of us like to think we're helping our cause by gaining experience, not hurting it. But when a company is actually looking for overqualified people? We complain then, too.

    Why would a company want a DBA for an Oracle development position? Because she can fulfill more functions for the company. That's important in tight times. Moreover, she will probably be promoted sooner, making way for a more junior person to replace her. This will not be true of a non-DBA. And the training costs associated with hiring the "less qualified" person in the short-term can be high. You and I can clearly see that a DBA is not required (or even desirable) for an Oracle programming position...but "Oracle Programmer" is just the title, not the business requirements it's meant to fulfill.

    In another comment in this thread, you bemoaned search terms not matching to those in your C.V. That's part of the problem. Don't send a C.V. -- Send a resume.

    Once again, I learned this the difficult way. A C.V. is an academic document, in which your stature is (pretty much) directly related to your depth of expertise and the professional connections that arose as a result. But a resume is a concise, focused document. You have one C.V. You should have many--maybe a dozen--resumes, each tailored to different kinds of job descriptions. This facilitates making a strong case for any given company, that you can meet their needs. Not that you're a know-it-all, or that you'll still be around in ten years to eek out that last bit of performance from your then ten-year-old algorithms.

    Finally, and I shouldn't have to say this, but if you give an HR rep (or hiring manager) any reason to reject you, they will. Just as I absolutely refuse to apply for any position requiring "PERL" skills (or classifying Perl as an "internet skill"), an HR rep is well within her rights for rejecting you on similar criteria. I would not hire somebody who claims to have "C/C++" skills-- those idioms are so different that anyone who was truly good at both of them would not conflate them. Similarly for spelling mistakes. If you send in a cover letter, or (god forbid) a resume with that many errors in language, you should be rightfully directed to the /dev/trash (not the K5 user).

    Finally, recognize that different HR reps and hiring managers have different arbitrary requirements. This is a good thing. If they all had the same requirements, it would be easy to abuse the system, and your chances of getting attention would decrease. For example, my "C/C++" example above might be the opposite of what some HR reps look for. Too bad. I will not conflate them on my resume. (Would you say, "C/Perl"? Or "Java/Python"? If not, why would you say "C/C++"?)

    I guess I consider dealing with HR departments a challenge to meet. Just like some engineering requirements; you can complain about lack of funding, or you can meet the requirements, even in a haphazard fashion.


    Re: C/C++ (none / 0) (#159)
    by Canthros on Mon Jun 03, 2002 at 11:20:33 PM EST

    Actually, I list it this way on my resumé specifically because I assume that the people who will look at it don't know the difference (i.e. they are professional HR twonks searching for buzzwords). In retrospect, "C, C++" may be batter, and still get across the point properly.

    --
    It's now obvious you are either A) Gay or B) Female, or possibly both.
    RyoCokey
    [ Parent ]
    C/C++? (none / 0) (#160)
    by Sethamin on Mon Jun 03, 2002 at 11:30:57 PM EST

    Would you say, "C/Perl"? Or "Java/Python"? If not, why would you say "C/C++"?

    I agree with most of what you said and so I wasn't going to nitpick. But I can't let it go a second time. The reason you would, and could IMO, list those two together is that syntatically they are very similar. In fact, C++ is basically a superset of C at the syntax level (not the implementation level, of course). That is why you could list them together, and if you disqualify someone for doing so I think you are reading far too much into a resume. That is a perfectly valid reason for grouping them, where Java/Python and C/Perl are not close enough to even consider it.

    I agree that C and C++ have different styles to them. But I think you're making the assumption that that C++ must be used as an object oriented language. Object orientation is but one feature of it, and it can certainly be used as a functional language as well. It may not your ideal use of C++, but I doubt you'd say that it isn't C++ if you use templates, overloading, and classes but not inheritance.

    Other than that, good comment.

    A society should not be judged by its output of junk, but by what it thinks is significant. -Neil Postman
    [ Parent ]

    Functional Language? (none / 0) (#175)
    by pexatus on Tue Jun 04, 2002 at 07:39:54 AM EST

    Object orientation is but one feature of it, and it can certainly be used as a functional language as well.
    What are you defining as a functional language?  I'm thinking of Haskell and LISP, which are wildly different from C++.  Usually I've heard C++ and C described as "imperative" languages, in that execution is equivalent to giving commands (imperatives) to the computer rather than equivalent to evaluating a function, as is the case with functional languages.  Object-oriented versus non-object-oriented is a much smaller difference than functional versus imperative.

    [ Parent ]
    Functional Languages (5.00 / 1) (#187)
    by lovelace on Tue Jun 04, 2002 at 11:26:24 AM EST

    Haskell and LISP are definitely functional languages, but C++ can also be used in a functional manner. Many things in the STL make a lot more sense if you're familiar with functional languages like Haskell and LISP. And, just recently, C++ has gotten even more functional. Take a look at the Lambda library from Boost This allows you to write things like

    for_each(a.begin(), a.end(), std::cout << _1 << ' ');

    which, if you know LISP, will be very familiar.

    The great strength of C++ is that it's not just an object-oriented language, of a procedural language, or a functional language. C++ is a multi-paradigm language. It allows you to use the paradigm that fits best with what you're trying to do, rather than having to shoehorn your problem into, say, just the object oriented domain.

    [ Parent ]

    Strange (none / 0) (#228)
    by pexatus on Tue Jun 04, 2002 at 04:40:20 PM EST

    I don't know LISP, but I know Haskell.  The stuff on that web page looked nothing like the functional programming I've seen, though.  Your example, for instance, looks like a loop, but there are no loops in Haskell.  If you want something done multiple times, you use recursion.

    In Haskell there is a function called map that takes a list and a function and returns the list with the function applied to all its members.  Maybe that's what this for_each is doing to the container a?  There's no function as an argument, though, just a command (which you don't really have in Haskell).  Maybe the "cout << _1 << ' ';" is like an anonymous function taking _1 as an argument.

    It still seems to me like C++ is an imperative language (as opposed to functional or logic), and someone had to do a brilliant hack-job to make it functional like this.  It's the same in Haskell: you play some tricks do get it to do non-functional things such as I/O, but that doesn't mean Haskell is a multi-paradigm language.

    [ Parent ]

    Functional programming support in C++ (none / 0) (#235)
    by tmoertel on Tue Jun 04, 2002 at 05:38:37 PM EST

    C++ does indeed support a variety of FP idioms via its standard libraries and can, in fact, provide a powerful FP platform with the use of additional libraries. Where C++ differs from other common imperative languages is that it is sufficiently expressive to allow for the creation of these libraries and to represent FP idioms without imposing a ton of source-level baggage on the programmer. In short, if you want to do FP with C++, you can, and you can do it in a way that feels like FP and C++ at the same time.

    For example, consider at FC++, which supports currying, higher-order polymorphic functions, and most other FP favorites. It even includes a port of most of Haskell's Standard Prelude, a functional-programming tour de force if ever one existed.

    While C++ will never be my first choice for functional programming, it is the only mainstream, "CIO approved" language that I would consider for serious FP work. It's nice to know that FP is still an option even when modern functional programming languages aren't.

    --
    My blog | LectroTest

    [ Disagree? Reply. ]


    [ Parent ]
    Imperative, I mean (none / 0) (#313)
    by Sethamin on Wed Jun 05, 2002 at 05:23:35 PM EST

    Actually, although technically C++ can be used as a functional language as well, I meant to say imperative language.

    Same logic still applies, though.

    A society should not be judged by its output of junk, but by what it thinks is significant. -Neil Postman
    [ Parent ]

    Thanks for the mistake, though (none / 0) (#318)
    by pexatus on Wed Jun 05, 2002 at 10:59:25 PM EST

    Due to the other replies, now I know something I didn't know before.

    [ Parent ]
    Syntactically very similar (none / 0) (#294)
    by zvpunry on Wed Jun 05, 2002 at 05:23:00 AM EST

    Actually, I suspect a C programmer would have an easier time learning Perl than learning C++. Perl syntax is also very similar to C, with some special shortcuts that I know I often wished for even when all I knew was Pascal. It's certainly more socially acceptable to write disposable C-like Perl scripts, and you get a lot of bang for your buck.

    At my last company, I saw a lot of idiomatic C Perl programs. These were obviously C programmers (or were they C/C++ programmers?) who were hacking their way through Perl "scripting," and the result was a mess to maintain. I think it was these same programmers who produced idiomatic C C++ programs, although that was less frequent, and not always their (our) fault (our C++ libraries pre-dated the standard by half a decade).

    See my post from five minutes ago (above) on the message that may be conveyed by the phrase "C/C++" on a resume.

    Oh, and yes, C++ is multi-paradigmatic. Which is all the more reason to hire somebody (or interview somebody) who demonstrates an understanding of the different paradigms possible in C++. "C/C++" says to me, "Imperative programmer...with some familiarity with object-oriented syntax." Does it say to you, "Mastery of functional, generic, object-oriented and, on top of that, expert at imperative programming, so I know how best to meet our requirements"?

    A resume is a lot like a poem. Every letter really does count, and should support what lies elsewhere on the page--and play off of the reader's expectations to achieve the desired affect.

    [ Parent ]

    Not the point (none / 0) (#314)
    by Sethamin on Wed Jun 05, 2002 at 05:29:50 PM EST

    "C/C++" says to me, "Imperative programmer...with some familiarity with object-oriented syntax." Does it say to you, "Mastery of functional, generic, object-oriented and, on top of that, expert at imperative programming, so I know how best to meet our requirements"?

    No, and I probably would agree with your assessment here. If someone writes C/C++, it probably means they know C++ more as an imperative langauge than anything else. However, my issue is not in your interpretation, but solely in your blatant assertion that you would not hire anyone who had that on their resume. As you have already implied above, it all depends on your requirements.

    As I've already said, I mostly agree with you. I just take issue when valid points are stretched past their veracity to the point of hyperbole. After all, this is a discussion site, not a presidential debate; we don't let people get away with that sort of thing.

    A society should not be judged by its output of junk, but by what it thinks is significant. -Neil Postman
    [ Parent ]

    Not hyperbole, example (none / 0) (#317)
    by zvpunry on Wed Jun 05, 2002 at 09:44:35 PM EST

    However, my issue is not in your interpretation, but solely in your blatant assertion that you would not hire anyone who had that on their resume. As you have already implied above, it all depends on your requirements.

    OK, maybe I put too big of a point on it. All I'm saying is that if I have a hundred (or a thousand) resumes, those which seem more accurate (such as "C++, [whatever], C, [etc.]" or "C, [whatever], C++") are more likely to catch my attention. It's not that I won't hire somebody who I already know is a good candidate--those people have little need of a resume. It's whether I would even notice someone with that on their resume. If I do, I would feel uncomfortable with them. I would definitely hold them to a higher phone screen standard, presuming they get that far.

    So, OK, I got carried away with this particular example. But I won't kid myself into thinking that similar biases (regardless of merit) don't play a critical role in determining who gets an interview and who doesn't. Next time I try to make that point, I won't interject this example.

    Anyway, thanks for your comments. If I expected K5ers to let me get away with saying just anything, I wouldn't post here.


    [ Parent ]

    C/C++ and other thoughts (5.00 / 2) (#179)
    by pexatus on Tue Jun 04, 2002 at 09:32:11 AM EST

    You are correct in asserting that C++ and C are normally used in different scenarios, and that being skilled in C clearly does not make one skilled in C++.  To a lesser extent, the reverse is true, as pure C is normally used in places, such as embedded sysetms and OS kernels, where efficiency and direct hardware manipulation is of a greater concern than the modularity and readability that OO provides.

    However, to say that you would not hire someone because she used a slash instead of a comma is downright myopic.  Talk to the person.  Ask her what situations would call for using C over C++ and vice versa.  If she then says, "Well, they are pretty much the same thing," then throw her to the curb.  But don't assume that your magical powers of intuition can tell you more about a person than her years of training and experience can; you aren't a trained psychologist.  If you were, you'd know already that one character on a resume tells you nothing about a person.

    While the current job market is too dismal to allow me to be this selective, I wouldn't want to work for a company that made its hiring decisions without trying to determine my level of technical expertise by talking to me.  I'd be afraid of having co-workers who know nothing but got lucky and used the correct syntax in listing the languages they know.

    Other than that, I wholeheartedly agree with the rest of your post, even though I wish it weren't true.  The reason I think people get upset about the overqualification scenario is that (at least for me) we used to think that we went to school to learn how to do what we would do in our jobs.  If I went to a 4-year university to study computer science, and my friend went to an MCSE training seminar, then the logical conclusion would be that my friend would end up administering a network, and I would design compilers or some such.  The cold hard truth is that my investment of 4 years time was simply to help me sweat a little less in the network administration job interview.  There just aren't enough "science" jobs out there.  When they told us in grade school, "Put your mind to it and you can accomplish anything," they should have added, "but that's no guarantee you'll get paid for it."

    Wow, I'm depressed now.

    [ Parent ]

    Re: C/C++ and other thoughts (5.00 / 1) (#291)
    by zvpunry on Wed Jun 05, 2002 at 04:56:30 AM EST

    Three points--

    First, it's not just a matter of where you would employ one language versus another, it's your approach to each language. The mentality is different. Otherwise, you're just writing idiomatic C in a C++ file. Pick up, say, Modern C++ Design. The design and implementation approaches in C++ are just alien to the land of C. Similarly, if you've always programmed in C++ and find a need to implement a performance-critical application in pure C, you're not only going be frustrated with the "limitations" of the C language, you're probably going to write unmaintainable code. Because you're not familiar with C idioms, and that's a large part of being a good programmer in any language.

    Second, I was only using that as an example. If you want to have some special consideration from an HR rep or a hiring manager, get to know them. Connect with somebody who works there, or connect with the hiring manager's wife (or mistress). If you're just sending in a piece of paper like thousands of other people, you're not yet deserving of full humane consideration. Nobody has time to give "fair" consideration to every applicant, unless labor is hard to come by. For me, personally, if I were a hiring manager (and I'm not, as I said), I would skip the resumes that list "C/C++" skills just as I now skip job descriptions that want "PERL" skills or "Ten years of Java" and so on. You would probably skip a different set of resumes. The point is to understand that there are going to be some arbitrary, and occasionally incomprehensible mental filters at work in the process. I find it less than professional to complain about that. It's just true, and it's not just limited to hiring decisions.

    Third, if you're flat-out listing your skills on your resume (most do, some don't), there's an implied order to your list. Your strongest skills are at the beginning, your weakest at the end. (Some people maybe try to hide their weakest in the middle.) You win special points for demonstrating that your weakest skill is actually quite strong, professionally. If you say, "C/C++", the implication is your C skills are as strong as your C++ skills. Even going with "C, C++" implies your C skills are at least as strong, and you should expect interview questions that are just as tough.

    If you're a hiring manager who knows you're going to need some C applications developed in eight months, and you're looking for somebody to hire, how would you evaluate a candiate who claims to have "C/C++" skills? Is that "C" a plus, or just there by convention? Or you want a strong C++ developer whose natural mental state is object-oriented design. Then that "C" is maybe excess baggage; you're going to infer that the person will probably write a lot of idiomatic C code, and not take advantage of the more robust or the emerging areas of C++ discipline. You need an evaluation of C++ compilers for a new hardware platform? That "C/C++" programmer is not your person.

    Now, this is mostly from the POV of a hiring manager or the engineers helping her field applications for open positions on their team. An HR rep will have even more mental filters, which may not have any technical justification. And they don't have to try to justify them to you, either. Alternatively, an HR rep may have biases influenced by a hiring manager, but not understand the underlying reasoning or how to spot an exception.

    And hey, when I rent a car, I don't go to places called "E-Z Rental"--even if they happen to have the best prices and best cars and truly have the E-Z-est rental process. But It is not fair to conclude that I'm not a bargain-hunter.


    [ Parent ]

    woo (5.00 / 1) (#224)
    by /dev/trash on Tue Jun 04, 2002 at 04:24:23 PM EST

    a resume with that many errors in language, you should be rightfully directed to the /dev/trash (not the K5 user).

    I get a mention! Oh and I hate when people call it C/C++

    ---
    Updated 02/20/2004
    New Site
    [ Parent ]

    C/C++ (none / 0) (#226)
    by cyclopatra on Tue Jun 04, 2002 at 04:30:46 PM EST

    When I was in university, my entire first two years of CS classes were taught in C++ (please note: this was the first language other than QBasic and Logo that I had ever programmed in). In my third year, we were suddenly handed an assignment that involved coding in C. So I raised my hand and asked the lab TA where I could find a good reference on C, since I didn't know it. He looked at me funny and asked how I'd gotten into the class. Squirming, I explained that I had the prereqs, but none of the classes had been taught in C, so I'd never gotten around to learning it. I asked if I could maybe do the assignment in C++ instead, since I knew that. Once again I got the funny look. "If you know C++, you know C," he insisted.

    Argh. Imagine my chagrin (I was pretty shy at the time, so even asking for help had me blushing furiously and shaking). Enter a semester spent learning C by trial and error (and error, and error, and cursing gcc for it's oft-unfriendly compiler errors :P), since no one seemed to believe that I didn't know it, and by that point I thought they were right, and I should know it :P. So anyway, glad to see that *some* people recognize that the two languages are not interchangeable.
    All your .sigs are belong to us.
    remove mypants to email
    [ Parent ]

    No shortage of programmers ... (4.33 / 9) (#147)
    by naum on Mon Jun 03, 2002 at 08:10:15 PM EST

    ... a big shortage of positions.

    And for the few there are, salaries and hourly rates are spiraling downward quickly. This is the cause of several factors:

    • The recession and fallout of the dot-com companies going belly up. Every day, for a year, the business headlines are filled with thousands of job layoffs. In previous times, many of these were just for show, to show Wall Street how lean the company was getting, but now it's real budget impact has turned this into reality.
    • Movement of systems application development and support to offshore entities. Along with this also comes an additional influx of H1-B visa holders to the U.S. to augment the strategy of out-tasking. Out-tasking differs from outsourcing in the regard that the "business analyst" and "subject matter expert" positions may remain in the states, but the technical staff resides in India, Malaysia, Indonesia, Phillipines, Ireland, Mexico, etc. ... And when one of the positions state-side is vacated (retirement/transfer), then that position is filled with an H1-B visa holder as well as the lead position - typically, an offshore firm like Syntel or Tata has been awarded a IT Services type contract. I speak from firsthand experience as I was replaced by an H1-B visa holder and a responsibility of my job, prior to leaving, was to train my immigrant replacements. And these arn't small companies - I, friends, colleagues have encountered the same corporate strategy at the likes of American Express, Honeywell, Motorola, Intel, etc. ... this is the "let's be like Jack Welch" philosophy - outsource everything, become a shell company.
    • Over a million H1-B visa holders in the U.S. now, and the majority are in the IT/DP field. It, despite the lobbyist shill rantings, has had a depressing effect on American programmers. Many of my friends and colleagues have had to give up their long time career, as they were squeezed out for a cheaper, less expensive imports. As regards to skill comparisions, nothing against individuals who wish to better themselves and work in the craft they love, but in my first hand experience, many were the equivalent of entry level applicants. In fact, the qualifications of quite a number are limited to being handed a manual on the plane trip over.
    • "Dumbing down" of technology - computers have become so ubiquitous that now everyone can be an expert. Anybody that can create a web page and put a javascript popup together now can call themself "a programmer". Certifications are awarded for short term classes - the bar in some respects, has lowered again. Not necessarily a bad thing, as anyone who arduously studies, should be able to realize their dreams, but it does have the effect of increasing the labor supply.

    The ramifications for our economy and for our children:

    • The mantra that a college education insulates one from the vagaries of offshoring and economic insecurity is debunked. No IT position is immune.
    • It is harder for experienced professionals to find work. With the abundant labor pool at their disposal, employers and contract firms can target their soliciations to a narrow, specific laundry list - and we are seeing this as just about every advertised position is replete with a dozen specific skills involving esoteric software packages.
    • It is now impossible for someone working for a large company to switch from another part of the business into the IT area. Before the onset of H1-B and the importing of programmers, companies would offer up training programs (on the employee's time) to employees who wished to improve their lot and tested out as having the potential. If they worked hard at a vigirous and demanding program, they could land jobs in the DP deparments - a win/win arrangement for both company and employee - company got a trained programmer well versed in thje business, while the employee got the opportunity to make more money and to work and develop in a new career choosing.
    • It continues the stratification of wealth - another factor that works to strip away at the middle class and wedge away the fabric of society into a feudalistic setup where a small percentage own and control the preponderance of wealth, while the remainder of the unwashed masses can elbow eachother for the few morsels tossed in their direction.


    The flip side (4.37 / 8) (#154)
    by zvpunry on Mon Jun 03, 2002 at 10:05:52 PM EST

    So you're telling me that, three years ago, when an Asian company set up shop in the U.S. and offered competitive perks, you would have passed them over in favor of an American owned company that paid not as much, or which stuck to more traditional business models and offered no or fewer bonuses, stock options, and so on?

    Get real. The economy has crashed. Companies have the power now. Of course they're going to seek out relatively loyal employees whose expectations are more in line with the "new valuation." H1-B workers fit this bill, because they don't want to leave, whereas American workers are historically unloyal in this field.

    There are two primary reasons H1-B applicants may, for a given job, seem less qualified.

    1. There are a lot of students on F-1 (I think) visas who are graduating, and need an H1-B before their practical training is over. They're going to be more aggressive than your typical American college graduate, who at this point is more concerned with getting laid hiking around Europe than he is with finding a solid job. Moreover, American graduates have their parents to fall back on, whereas most immigrants are on their own.
    2. Immigrants have already defied the probabilities to get to the U.S., so they take more chances. Your typical American worker has low self-esteem, and applies for jobs that precisely fit their skills-- and complain when companies want more skills. Your typical American worker also doesn't understand how to address a company's business needs. Immigrants will apply to companies that need twice the skills they show on their resume's, and will make a strong case for themselves.
    I see this second point at work in my own life. It's the difference between my application strategy (apply for jobs that I KNOW I will excel at, and prefer personal contacts) versus my wife's application strategy (apply for any job with confidence that she'll be able to build on her skills). I am also much pickier--I apply for jobs I'm fairly certain will make me happy. She'll apply for anything, knowing that money is more important than professional satisfaction in the short term. (Yes, I married the right woman.)

    The really strange thing is that American citizens have an easier time opening businesses, doing independent consulting, or even finding temporary non-IT jobs. But we don't. How strange is that?

    I'm simplifying a lot of things, but don't want this comment to be too long and matters were already simplified before I posted. :-)

    [ Parent ]

    Shortages all over (4.00 / 4) (#151)
    by Cyberdeck on Mon Jun 03, 2002 at 09:03:37 PM EST

    From what I have seen and heard, there is a shortage of common sense rather than anything else. A company posting a req for someone with ten years of SS7 OC48+ black box test requirements fluent in mandarin should just simply admit they are not hiring right now. OTOH as a hiring manager when I ask for a specific skill set it means I have the req finally and the project is only two months from being canned from falling behind.

    Bite the bullet, hire the people, and train them up yourself. It will only take 4-6 weeks to train if they are on the ball and you let them. Coders, programmers, SE's, code as much as you can get away with; have something on that resume that makes you stand out from the thousands of cloned resumes that show college and a few jobs and no initiative or willingness to do anything other than warm a chair.

    I know 8 other SE's here in the valley, and we'll all be moving out soon due to lack of openings that want generalists. If events go as predicted both me and Pete will be leaving the field at that point, and the others havn't decided. There are four houses up for sale on the block where I live (Fremont) and I have the sneaking suspicion that they won't sell from lack of buyers.

    -C


    You can never have a bad day when you start it with "FORMAT C:".

    When life gives you lemons (4.71 / 7) (#165)
    by X3nocide on Tue Jun 04, 2002 at 01:56:17 AM EST

    Yes, the market currently sucks. Yes, its currently a buyer's market for your time. Yes, a lot of xenophobes blame H1-B visas. They might be right. But the finger of blame does serve to change the situation outside a court of law. When life gives you lemons, make lemonade. Now is the best time to sow your seeds of creativity. For a low low price you can have high quality co-workers just as desperate as you to find a job. Now is the time to become a buyer in the market, rather than a seller. Start a software development company; identify what you want to do and who might be interested. If you're interested in cryptology and have a clean background, theres buyers on both the barrier and breaking through barrier sides of it. You've seen plenty of Dilbert comic strips telling you how much life sucks at a huge corporation, and now you're wailing for your chance to suffer?

    pwnguin.net
    Starting a Company (4.00 / 1) (#180)
    by prometheus on Tue Jun 04, 2002 at 09:50:40 AM EST

    Funny that this is exactly what I did around a year ago.  Two months later, the entire division of 20 or so people I worked in got laid off.  They've been out of work since, and I've been slowly but steadily growing.  If I hadn't started to get a customer base when I did, I'd be pretty much fucked.

    --
    <omnifarad> We've got a guy killing people in DC without regard for his astro van's horrible fuel economy
    [ Parent ]
    and think outside the business (4.00 / 1) (#205)
    by Rahyl on Tue Jun 04, 2002 at 12:43:48 PM EST

    One doesn't necessarily need to stay in the technology sector to be gainfully employed.  Try something different.  Learn a new skill or trade while things settle back down.  You may need to make some sacrifices in order to stay on track with your longer term goals.

    I've been a financial planner, a line cook, a phone system salesman, and a LAN admin (current).  I can honestly say I've never met a highly skilled IT professional that wasn't also skilled in some unrelated field.  Many of the companies that survived the .com bust can be characterized by their tendency to hire those with backgrounds that span different interests.  The hiring practices described in root's article were used by the companies that did not survive the bust, a very important distinction.

    So if you're an ex-database admin or coder still down on the luck, take a leap of faith and try something different while you're looking.  You may not be paid as much, which may require some adjustment in the finances, but you'll benefit in the long run from varying your experience.  Washing dishes non-stop for eight hours on a Friday night in a busy restaurant taught me an important lesson:  IT jobs are easy.  I haven't "worked" a day since I stared them :)

    [ Parent ]

    Well, I'm planning on it (none / 0) (#265)
    by MSBob on Tue Jun 04, 2002 at 08:52:35 PM EST

    It all boils down to getting some startup capital though. I want to open a software development shop. Can't say exactly what I'm going to build - part of the plan is to keep it quiet until I have a very tangible product and can't be beaten to the market by competitors. It is going to be a very niche product that addresses a very specific market need.

    The biggest problem I have is getting financing. Because the company is going to be product based as opposed to a 'Yet Another Consulting Shop' there is going to be a startup cost of around $1 million USD before the company can start generating significant revenue. Here in Canada it is difficult to find a government grant that will cover a loan of this size.

    The other option I consider is going around potential customers of the product asking them to buy into the idea (based on my prototype). Unfortunately those will be customers are multi billion corporations whose CEOs have much bigger fish to catch in a variety of ponds.

    These days trying to launch a startup while being under thirty is extremely difficult as the dotcom boys gave us the perpetual stigma of immaturity.

    If I can't get it off the ground that will be too bad as my company should have a good chance of turning steady profit while offering a product that is very unique and needed by customers. It's too bad though as in my province even a small company is still a source of jobs and where I live, quality jobs are a rare commodity.

    Nobody else seems to be addressing the issues that I want to tackle yet the need for the actual product is very obvious. I don't think I'm deluded because I've ran my idea through a number of people and they all thought it was a very reasonable product concept. Not something that would make you a future trillionaire but something that could provide steady employment for 5-10 developers and support staff on an ongoing basis. If it takes off I'll start posting diaries on how it's going.

    I don't mind paying taxes, they buy me civilization.

    [ Parent ]
    Woeful lack of English-language proficiency (2.50 / 2) (#181)
    by ubu on Tue Jun 04, 2002 at 10:06:23 AM EST

    The woeful lack of readability combined with the often flawed program logic lead to many sleepless nights of rewriting code that should have been done already.

    "Lead" is the element with atomic number 82. "Led" is the past tense of the verb whose infinitive form is "to lead".

    There is no past-tense verb "lead". Do not spell it that way again.

    Ubu


    --
    As good old software hats say - "You are in very safe hands, if you are using CVS !!!"
    Perhaps he meant "leads." (nt) (none / 0) (#182)
    by enthalpyX on Tue Jun 04, 2002 at 10:15:13 AM EST



    [ Parent ]
    Then he has even bigger problems (1.00 / 1) (#184)
    by ubu on Tue Jun 04, 2002 at 10:23:56 AM EST

    Using "lead" like the past-tense of a verb would be minor by comparison with changing the immediacy of the paragraph at random. "Too often I have had..." in the previous sentence, and then "flawed program logic leads..."? I don't think so.

    Not that the paragraph is even remotely coherent, in the first place. The first sentence doesn't even have a verb clause. "Poorly educated individuals..." followed by a number of adjectival references don't appear to have anything to do.

    Ubu


    --
    As good old software hats say - "You are in very safe hands, if you are using CVS !!!"
    [ Parent ]
    He's actually correct (none / 0) (#272)
    by SporranBoy on Tue Jun 04, 2002 at 10:52:18 PM EST

    He lists two things which LEAD ( 3rd person plural of the present tense ) to something.

    I don't see an error in grammar at all.

    [ Parent ]

    Don't be so uptight (5.00 / 1) (#254)
    by Estanislao Martínez on Tue Jun 04, 2002 at 07:46:50 PM EST

    "Lead" is the simple present form of the verb "to lead". Which is the tense that is used in habitual sentences in English, and makes perfect sense in the context of that paragraph.

    This is the classic problem of the grammar nazis-- given their normally quite weak knowledge of language, their drive to humiliate others can misfire quite badly.

    --em
    [ Parent ]

    Where the fuck are you people from,grammer planet? (none / 0) (#283)
    by General Lee on Wed Jun 05, 2002 at 02:45:23 AM EST

    Who gives a shit. We know what he means.

    [ Parent ]
    it's Who, he's very picky (none / 0) (#286)
    by martingale on Wed Jun 05, 2002 at 04:04:34 AM EST

    Please don't repeat your comment a second time.

    [ Parent ]
    it's Who, he's very picky (none / 0) (#287)
    by martingale on Wed Jun 05, 2002 at 04:05:13 AM EST

    Please don't repeat your comment a second time.

    [ Parent ]
    Where the fuck are you people from,grammer planet? (none / 0) (#284)
    by General Lee on Wed Jun 05, 2002 at 02:46:04 AM EST

    Who gives a shit. We know what he means.

    [ Parent ]
    it's Who, he's very picky (none / 0) (#288)
    by martingale on Wed Jun 05, 2002 at 04:05:50 AM EST

    Please don't repeat your comment a second time.

    [ Parent ]
    it's Who, he's very picky (none / 0) (#289)
    by martingale on Wed Jun 05, 2002 at 04:06:23 AM EST

    Please don't repeat your comment a second time.

    [ Parent ]
    It's grammar, not grammer [nt] (none / 0) (#302)
    by davidmb on Wed Jun 05, 2002 at 11:29:47 AM EST


    ־‮־
    [ Parent ]
    grammar problems (none / 0) (#311)
    by pantagruel on Wed Jun 05, 2002 at 04:44:30 PM EST

    Given the intellectual aggression evinced by so many nerds and geeks, especially in reference to their chosen programming languages, one might expect some capacity above the average in their native language. That expectation will of course let many posters here off the grammatical hook, and rightly so, but I have a sneaking suspicion a greater number are still on the hook, wriggling.

    I always thought the egotism of our technical elites rather laughable, given glaring incompetence in other fields, I think it hilarious now after years spent acquiring some very slight technical competence with which I am able to evaluate the competencies of others, many of whom show themselves to be, as this article points out, twits.

    The preceding comment is not meant as an intellectual slight to anyone else in particular.

    However, I've noted that no matter how long anyone seems to progress in programming, and how brilliant they become, many of their concerns seem to be focused on how much smarter they are than the other geek. I don't think this is the habit in other arts, sciences, areas of creative endeavor, what have you.

    It is rather my observation that while a writer - to choose some particular occupation - may begin with the desire to achieve some intellectual primacy, this desire quickly fades into the background as their craft consumes their thought. A writer of excellence may well metaphorically bitchslap their inferiors(to choose an obnoxious but vigorous vulgarism) but only in the case where that inferior treads over boundaries.

    In contrast to this ego-feeding obsession of most techies; last night I saw the movie Scratch, which focused a great deal on Dj Qubert. Coming from a subculture devoted to hypercompetition and geek-like emphasis on skills he presented a very respectable contradiction -at least he inspired my respect - giving every indication of being someone whose devotion to their art had caused them to evolve beyond other practicioners of their craft.



    [ Parent ]
    self-correction (none / 0) (#328)
    by pantagruel on Thu Jun 13, 2002 at 11:23:00 AM EST

    DJ Q-bert not Qubert.

    [ Parent ]
    Having to have a CS degree is rediculous. (4.33 / 3) (#183)
    by catch22ny on Tue Jun 04, 2002 at 10:17:09 AM EST

    Your comment is right that sometimes people put far too many requirements out there for a position that doesn't come even close to requiring that, but I think your reasoning on a CS degree is wrong. There are many people in the industry now and in the past, who got into programming without a CS degree.

    Some things, like developing complex AI apps require a CS degree, but the type of web programming that most financial institutions/web sites require most certainly does not.

    It is agreed that knowing how to write structured programming is extremely important for a developer, but there are many CS graduates out there who have no clue how to write good programs, and there are people without CSs who have educated themselves and write very well.

    Please keep your criticisms specific to the problem (writing bad code) instead of speculating on the cause, which is just that. Speculation.

    rediculous -> ridiculous (none / 0) (#191)
    by Shimmer on Tue Jun 04, 2002 at 11:36:42 AM EST

    One benefit of a good college degree is that it makes you learn to spell.

    -- Brian

    Wizard needs food badly.
    [ Parent ]

    a degree? (none / 0) (#209)
    by pantagruel on Tue Jun 04, 2002 at 01:00:50 PM EST

    I have no degrees in anything. I am also somewhat chary of accepting Brian's assertion that "One benefit of a good college degree is that it makes you learn to spell" given that elzubeir who also argued for the pre-eminence of a degree mis-spelled degree - surely a typo - while Brian's own post could perhaps have been better phrased as "One benefit of a good college degree is that it requires a student learn to spell." That said, I've met some programmers who had degrees who could not really program, and some without degrees that were my superiors without a doubt, as stated above I myself am without a degree and consider myself barely competent, although not for lack of the degree in particular but for a general lack of seasoning, yet I know enough competent people who defer to me in the areas where I am proficient. Elzubier claimed that a degree helps one learn "Structured analytical thin(k)ing, design and development" this is no doubt true, although if one is not especially talented in these areas then I suppose a degree will not lead to any great especial acquisition of skills. Despite never having pursued a degree of any sort I have helped, tutored, and written College papers for those willing to pay, with good results, in various subjects such as English Literary Criticism, Logical Philosophy, and so on. Therefore I feel justified in claiming for myself the skill of "Structured analytical thinking". I would be the first to admit that I am not especially competent in the area of design and development(systems architecture). Perhaps I can take some time off work and go to some self-improving classes, although these are not my primary areas of interest.

    [ Parent ]
    A degree education and spelling (none / 0) (#261)
    by smallstepforman on Tue Jun 04, 2002 at 08:23:59 PM EST

    A majority of people on this planet originate from a nation where English is not the primary language.  They may have degrees in literature, language etc and speel layk shit.

    It's a pity that a non-phonetic language became one of the most popular language.  If it had been a phonetic language (like quite a few languages on this planet), we would already be enjoying 3rd generation speech-to text software. which worked well from v1.

    [ Parent ]

    No (none / 0) (#279)
    by Shimmer on Wed Jun 05, 2002 at 12:34:01 AM EST

    Spelling is easy for computers.  Recognizing speech isn't.  Don't confuse the two.

    -- Brian

    Wizard needs food badly.
    [ Parent ]

    No (none / 0) (#303)
    by prometheus on Wed Jun 05, 2002 at 11:30:06 AM EST

    No, it doesn't.

    --
    <omnifarad> We've got a guy killing people in DC without regard for his astro van's horrible fuel economy
    [ Parent ]
    a degree (none / 0) (#197)
    by elzubeir on Tue Jun 04, 2002 at 12:05:12 PM EST

    I can never understand those who come back with the "you don't need a degree" answer. I have found that they can be classified as: 1) high-school students, or 2) employees with no degree.

    Look, a degree is not just so you can learn how to perform complex mathematical computations. Structured analytical thining, design and development.. these things require an education. Yes, while you may be able to acquire them through experience, it is not an experience easily gained. It takes a lot of time for such material to fully formulate (as opposed to learning the concepts, doing little practice and THEN having to have the experience to fully know how to apply them).

    Don't be silly and/or ignorant about the importance of a deagree. And please, don't deceive others (specially the younger readers on K5) of the benefits of a proper degree.

    [ Parent ]

    some clarification.. (4.00 / 2) (#214)
    by LaRueLaDue on Tue Jun 04, 2002 at 01:29:19 PM EST

    I think that some clarification would be in order: I believe he is saying that you do not necessarily need a CS degree. Your classification of these people into two groups (high-school students or employees with no degree) is very short-sighted and narrow minded. Although I agree that a degree is beneficial (and in most cases required), plenty of people with degrees outside of CS can and do work effectively in the field, especially people with science-related degrees. I have found that a good portion of these people elected to move into the CS field voluntarily (not out of necessity) and work effectively, even without the CS degree. One of the best programmers I have known had a degree in art (pottery, mainly) and has repeatedly found and submitted fixes for numerous bugs in widely-used enterprise management software. Listening to him talk to the commercial software developers and explain what their program was doing wrong and how they might be able to fix it (without benefit of the source code) was a pleasure in itself...

    So do not lump together all who do not possess a CS degree into one non-functioning, easily ignored group... You might be missing some valuable employees... (Disclaimer: I do not have a CS degree, but have a bachelor's in geology, minor in anthropology, and graduate work in anthropology. Have also been working with computers in some manner (programming, administrating, etc.) since 1983.)

    [ Parent ]

    re-read my message ;) (none / 0) (#269)
    by elzubeir on Tue Jun 04, 2002 at 10:07:52 PM EST

    I never specified what kind of degree. and yes, the majority of the people who say things like "degrees are ridiculous" fall under one of the 2 categories. Of course there are exceptions, many of them.. but that doesn't make up the majority.

    Yes, I know several people in the IT field who do not necessarily hold a CS degree. But most of them are either in the process of acquiring one, or have a completely other type of degree (yeah, English, anthropology, etc). Their education, although very different still gave them the benefit of being analytical.

    A degree says, you are able to analyze a problem and attempt to find the appropriate solution in some given situation. How you apply what you have learnt, or how you go about learning on your own is always made better by the fact that you have had a higher education experience.

    That's all. I'm out!

    [ Parent ]

    A degree other than CS degree (4.00 / 1) (#258)
    by smallstepforman on Tue Jun 04, 2002 at 08:20:22 PM EST

    I work in the embedded industry, and most of our software engineers come from an electronic engineering background.  We write our own OS, our own graphic library, our own software to run on our embedded hardware, which is very successful.

    Therefore, a majority of our engineers do not have a 'CS' degree.  They do have other degrees, though.  Stop being so narrow minded.

    [ Parent ]

    smells about right... (4.00 / 1) (#202)
    by shrubbery on Tue Jun 04, 2002 at 12:29:36 PM EST

    It ought to include introductory OS, programming, database, and networking classes, data structures, algorithms, systems programming, at least three different languages, introductory complexity and information theory, and a lot of time spent working on medium to large size software and also on small useful tools.

    Sounds like my 4 years of undergrad CS except maybe the last bit.....

    Slightly Off-topic HR Stupidity (3.83 / 6) (#206)
    by glothar on Tue Jun 04, 2002 at 12:45:43 PM EST

    One of the problems I actually see is that current HR practices seem to encourage the hiring of the people who aren't as skilled as people want. A slightly off-topic story:

    When I was about to get my degree (height of the dot-com silliness) I was at a career fair searching for a non-dot-com company who wanted a serious programmer (not ASP/JSP cookie-cutter programmers) for some network/security coding. I approached one company which claimed it might have openings for me. I talked to one of the techies first. After a few minutes he was looking at me strangely, describing their "in-house education". Then he reluctantly handed me over to their HR rep in charge of setting up interviews.

    I handed her a resume, and she looked at it for a minute or so while I discussed my interests in work. She stopped me after a bit and looked at me. With a completely serious face she looked at me and said:

    "I dont see much 'technology' in here."

    I was completely speechless. I'm sure my jaw even dropped in a very stereotypical manner. My resume listed about 12 languages and 6 or so specific projects I had worked on along with my experience with most major operating systems. She continued:

    "Do you have any experience coding HTML?".

    How does one talk with such a person? I started pointing things out to her. I showed her the block showing the programming languages I had worked with including Perl, PHP, and Javascript. I had spent 6 months as a web developer! My resume listed Motorola and i386 assembly, along with distributed computing projects and network client/server programming. She persisted:

    "So, you have experience with HTML but you didn't put it on your resume? How many classes have you taken?"

    None. I learned when I was a sophomore in high school. The resume she was holding was written in HTML. I struggled to find a way to explain that if you didn't understand HTML, PHP is pretty useless. I talked about writing CGIs:

    "Oh, have you ever written in CGI?"

    No. I havent. "CGI" isn't a language. I've written applications in C, C++ and Perl which conform to the CGI/1.1 spec? She of course had no idea what that was. I tried to explain the difference. She didnt care.

    "Oh. Well, we do a lot of work in CGI and HTML. But we'll still look at your resume and if we hire you, you can take some of our in-house classes."

    It became clear to me in a short period of time that the techie I had talked to was only faking an understanding of what I had been doing in my spare time. This HR rep had even less understanding. I had the desire to take the resume back, but she had already written on it, and its only use would be framing it as a monument to the gross idiocy she had exhibited.

    Later I saw her talking to someone else. They were chatting about all the classes this guy had taken where he had learned how to use "Condensing Style Sheets". I'm sure he got the job.

    Not that I'm sad, it was a company destined for extreme mediocrity. But their HR practices ensured that good candidates would not be considered. Instead people who went to 4 years of college while drinking and partying could get a job after reading "HTML for Dummies". And then of course people look at them and say: CS grads are complete idiots.

    Perhaps there would be more job openings if more HR departments actually knew how to find good candidates. Of course, there would only be more openings for the competant people, but thats the way it should be.

    Which Java? (none / 0) (#210)
    by aluminumaloi on Tue Jun 04, 2002 at 01:14:01 PM EST

    Reminds me of an HR person who asked me during an interview something along the lines of "It says here on your resume that you are familiar with Java.  Which one?"  This was a while ago, before the 1.3 stuff came out, so I told her I had been using the 1.2 stuff.  Which confused her.  We went back and forth about this for a few minutes, until I realized that what she was actually wanting to know was whether I knew "Java" (which was on my resume) or "JavaScript" (which was not on my resume).  I was going to try to point out to her that the two languages aren't related in any way other than their names, but I decided it wasn't worth it.  

    Of course, that's as much the fault of the marketoids who decided to try to ride the Java wave and name the language JavaScript as it is the HR lady's fault.

    [ Parent ]

    the new new economy (5.00 / 3) (#290)
    by streetlawyer on Wed Jun 05, 2002 at 04:32:38 AM EST

    I think the difference is that in today's economy, people are more concerned with getting a job than with trying to display intellectual superiority over someone else by correcting their minor errors.

    --
    Just because things have been nonergodic so far, doesn't mean that they'll be nonergodic forever
    [ Parent ]
    Writing a CV (none / 0) (#306)
    by bloat on Wed Jun 05, 2002 at 01:00:02 PM EST

    So, you have experience with HTML but you didn't put it on your resume?

    She has a point here. You're looking for a job, not trying to show off to K5 readers. Every skill is worth mentioning. If you have the experience it should be on the resume.

    Also, if you've written CGI programs then the correct answer to "have you ever written in CGI" is "Yes, I have."

    You need to talk to an interviewer at their own level, then you can make it through to the technical interview and impress with your detailed knowledge of CGI specifications.

    Cheers.
    AndrewC.
    --
    There are no PanAsian supermarkets down in Hell, so you can't buy Golden Boy peanuts there.
    [ Parent ]

    maybe I should go into human resources. (none / 0) (#307)
    by Shren on Wed Jun 05, 2002 at 01:07:25 PM EST

    Give up the code grind and sell my skills as someone reasonably capable of judging CS applicants. I wonder if there are openings, and I wonder if the pay sucks?

    [ Parent ]

    The problem is the problem (4.66 / 9) (#223)
    by x3n0ph1l3 on Tue Jun 04, 2002 at 03:50:49 PM EST

    Having read this article, and the onslaught of beefing about immigrants and CS degrees, I'm left with the impression that nobody is really looking for a root cause of the problem, but rather attributing causality to it's symptoms.

    IMHO, the root cause of the problem is the problem itself. The dot-johnny-com-lately goldrush created an influx of undertalented and overpayed CS workers, and a equal influx of undertalented CS students who's real calling in life likely has nothing to do with a computer whatsoever. What everyone's missing is that this has created an unfortunate catch 22: the CS talent in the industry was so diluted by this influx that it continues to collapse inwards, yesterday's mediocre dot-commers are now responsable for hiring and training a new generation of even more mediocre post-dot-commers.

    Speaking from personal experience, for an experienced programmer the late nineties were anything but happy. They were a kaleidoscopic nightmare filled with mocha-lattes; get rich quick schemes; turgid, brittle code; marketeering; and 'do-it-because-you-can-not-because-you-should'ism. The late nineties were a retrograde evolution in the software industry, it began to hemmorrhage maturity relying on venture capital and IPOs to tourniquet the wounds of inexperience.

    It's a well excepted fact that an experienced programmer is vastly more efficient than an inexperienced one. It should come as no surprise then that the software industry is continuing to moan about employee shortages while jettisoning the bloat it aquired during the dot-com days. Clearly the problem has little to do with numbers of potential software developers, but with the number of actual software developers. Add to the fact the wretched state of CS education (and to digress for a moment, having never had any formal training in CS, but having hired and fired CS grads, and auditted CS classes, I can confidently say that a CS diploma really only makes you part of the problem -- adding the cockiness of accreditation to the depth of your ignorance) and what you have is an industry that is approaching a crisis state.

    While it may be true that:
    An individual with a solid fundamental education in COmputer Science should be able to learn the basics of any well-designed language in roughly 20-40 hours of usage well enough to solve most problems
    The issue is that very few people have a solid fundamental education in computer science. It isn't being provided by universities (well the potential is there, but in practice CS grads rarely have a solid grasp on the concept of an 'object' much less a 'solid fundamental education'), nor is the grass-roots software industry investing enough in training and re-education, or correctly identifying those who would benefit from it.

    But fear not! The era of the intelligent programmer is over. The need for the human mind os the source of intelligence for things artificial is over, it hsa been supplanted by glistening new buzzwords, IDEs that right code automatically, frameworks and modularization practices that require developers to only understand a minute component at a time. Innovation is being replaced by aggregation; we are at the dawning of a new era where a pile of VB hacks will have emergent properties far superior to well designed, architected, intelligent software. Or so many industry heads would have you believe.

    The reality is that the future looks bleak. All of the best software people I've met (and I count some well known chaps amoung them) were autodidacts. I am an autodidact myself, and can safely say that only after a decade of learning am I starting to begin to deeply grasp the concepts that CS classes call 'introductory'. Outside of the OpenSource world, this autodidactic hobbyist mentality is not only dead, but is being willfully irradicated by the hiring practices discussed in this article.

    The future will be interesting. It's shaping up to be an all out war between the dwindling ranks of the new Wozs and Kapors, and a legion of shortsighted self-important new-skewl hax0rs who would rather crib a design pattern from the Horseman than design a solution with the Amigos.

    Blah. Enough thinking for today. Time to get back to writing code ;)

    The real shortage... (4.00 / 1) (#233)
    by richieb on Tue Jun 04, 2002 at 05:24:32 PM EST

    The real shortage is nothing new. It has always existed. We have a shortage of smart programmers who can solve real problems...

    ...richie

    P.S. An interview question that has been ciculating around lately is: "You have all numbers from 1 to 100 all mixed up. Then you remove one number. What's the algorithm to find the missing number?" Can you come up with a linear algorithm in 10 seconds?


    It is a good day to code.
    [ Parent ]

    1 2 100 (4.00 / 2) (#237)
    by x3n0ph1l3 on Tue Jun 04, 2002 at 06:06:36 PM EST

    sum the numbers from 1 to 100. sum the numbers you have. the difference is the missing number.

    And on that note (the questions that got me my previous job):

    1. (easy): Multiply a number by 2.25 without using multiplication or division operations.
    2. (harder): You have an arbitrarily long doubly linked list. (It's arbitrarily long in the sense that you do not have enough storage to index every node in the list with pointers or that sort of thing). The list may or may not contain a circularity. Come up with an algorithm to figure out if it does. You may modify the nodes in the list in any reversible way.
    You have a LOT more than ten seconds.


    [ Parent ]
    Duh. :> (none / 0) (#239)
    by bored on Tue Jun 04, 2002 at 06:24:52 PM EST

    Well, since I overcomplicated the other solution. I have to answer these too... although neither one took more than 10 seconds. Part 1: (x<<1)+(x>>2) Part 2: Mark each node as you pass it., Assuming your only looking for circles then you could use the second link for storage. I'm assuming its really a list and not something more complicated.

    [ Parent ]
    Almost (none / 0) (#242)
    by x3n0ph1l3 on Tue Jun 04, 2002 at 07:03:00 PM EST

    Hmm, my bad. OK, Mark each node is a pretty good answer, but I didn't pose the question quite right.

    There was a braino in the post, it's not a doubly linked list, it's a singly linked list. Doubly linked lists open the door to all sorts of wierd possibilities.

    You can't add anything to the nodes, and all changes must be reversible. They are simply opaque nodes in a list that consist solely of a 'next' pointer, for our purposes. The problem is actually practical for finding filesystem errors (I'm not just making it harder for no reason).

    So 'marking' them isn't explicit enough, how do you mark them?


    [ Parent ]

    Idea (none / 0) (#244)
    by pexatus on Tue Jun 04, 2002 at 07:08:06 PM EST

    How about if you add a new temporary node in between every original node, using the temporary node's data field to store the mark?

    [ Parent ]
    Nope. (none / 0) (#245)
    by x3n0ph1l3 on Tue Jun 04, 2002 at 07:13:53 PM EST

    Remember the list is arbitrarily long. You have enough storage for the list, but no guarantee that you have 2x that storage.

    Good thought tho'

    Took me many sleepless hours to get it :)

    x3

    [ Parent ]

    Reverse them (none / 0) (#246)
    by bored on Tue Jun 04, 2002 at 07:16:23 PM EST

    You reverse them, then check for the inevitable node which points to the next node which points back at the current node.

    [ Parent ]
    Red Hot (none / 0) (#248)
    by x3n0ph1l3 on Tue Jun 04, 2002 at 07:24:19 PM EST

    Right track.

    Actually the node you describe doesn't exist. You have two subcases:

    1. reverse every node and wind up at the end of the list. You now know there was no circularity.
    2. You reverse them while traversing the list. You pass the point where the list loops back on itself. What happens when you continue around the loop and get back there?


    [ Parent ]
    not clear + alternate solution (none / 0) (#249)
    by bored on Tue Jun 04, 2002 at 07:35:10 PM EST

    I may not have made myself clear, lol.. You will have a node like I stated if you leave the first node in the correct direction. What happens is that you find the first node again. You won't know which node caused the problem but you will have a termination case which allows a decision about circular or non circular.

    There are probably a number of games that could be played. A simple (and a little slow) algorithm which doesn't require any list modifications, is starting with the second node scan the whole list from the beginning, up to the current node checking each link against the current node.



    [ Parent ]
    Yep. (none / 0) (#252)
    by x3n0ph1l3 on Tue Jun 04, 2002 at 07:44:12 PM EST

    I understand what you mean now. Yeah, you wind up at the beginning if it's got a circularity or the end if it doesn't. That was the solution I came up with.

    There's another one. Traverse the list twice at two different rates and see if both traversals ever wind up on the same node.

    Please do not ever implement your second solution. Although I'm not sure I get what you describe, I think more than 'a little slow' it would take an infinitely long time to complete if there were a loop in the list.

    Fun.

    x3

    [ Parent ]

    NO! (none / 0) (#255)
    by bored on Tue Jun 04, 2002 at 07:48:41 PM EST

    Read carefully, The seond one does terminate, in fact its probably faster for a resonably large loop than your alternate solution. (gonna have to check that one). It also finds the nodes which form the circular list, since it stops on the first node to refrence a previously traversed node.

    [ Parent ]
    Can you describe it better? (none / 0) (#257)
    by x3n0ph1l3 on Tue Jun 04, 2002 at 07:59:46 PM EST

    Hmm, ok. I couldn't follow your description very well. Re-post?

    [ Parent ]
    more... (none / 0) (#260)
    by bored on Tue Jun 04, 2002 at 08:21:53 PM EST

    Ok, after reading it I gues it was pretty unclear, in fact if could be read so that it won't complete.. :> Anyway. Basically take the second node, make sure that it doesn't point at the first node, take the third node, make sure it doesn't point at the first or second, take the 4th node make sure that it doesn't point at the first,second or 3rd node. If there is a circle the next pointer for the current node your are working on will point at a previous node (by definition). Its slow O(n^2) but it will find the busted link.

    [ Parent ]
    Marking nodes (none / 0) (#275)
    by richieb on Tue Jun 04, 2002 at 10:57:53 PM EST

    If you can assume that your program runs on a computer that forces all addresses to be even, then each pointer has a bit that can be used for marking. You just need to traverse the list the second time to undo the marks. :-)

    ...richie
    It is a good day to code.
    [ Parent ]

    Oops (none / 0) (#243)
    by x3n0ph1l3 on Tue Jun 04, 2002 at 07:04:50 PM EST

    s/doubly/singly/g Sorry. x3

    [ Parent ]
    On the topic of single vs double... (none / 0) (#253)
    by bored on Tue Jun 04, 2002 at 07:45:11 PM EST

    How do you convert an existing data structure with a single linked list to a double linked list without changing the memory footprint?

    [ Parent ]
    Cicular lists (none / 0) (#273)
    by richieb on Tue Jun 04, 2002 at 10:53:16 PM EST

    Yeah, we ask this question all the time. The first solution that I read about was in Knuth's "The Art of Computer Programming" (Vol. II). It was a method for testing length of cycles in pseudo-random number generators.

    I used the same trick to speed up computation of Mandelbrot pictures (as the points at which the computation diverged had cyclic sequences).

    For problem #1, I need to think a minute....

    ...richie
    It is a good day to code.
    [ Parent ]

    Two words. (none / 0) (#310)
    by vectro on Wed Jun 05, 2002 at 04:16:55 PM EST

    Strength Reduction.

    “The problem with that definition is just that it's bullshit.” -- localroger
    [ Parent ]
    Interview question (4.00 / 1) (#238)
    by bored on Tue Jun 04, 2002 at 06:16:41 PM EST

    An interview question that has been ciculating around lately is: "You have all numbers from 1 to 100 all mixed up. Then you remove one number. What's the algorithm to find the missing number?" Can you come up with a linear algorithm in 10 seconds?

    Ok, I came up with one in about 5 seconds, wasted 3 of them thinking about presorting the list. :> Ok, is this the answer? Allocate and clear an array 1 to n, scan the unsorted list from 1 to n, bump the corrisponding entry in the cleared data array for each entry in the unsorted list when it is found. Finally scan the array for entries which are still equal to 0. Should be O(n).



    [ Parent ]
    Your solution (none / 0) (#276)
    by richieb on Tue Jun 04, 2002 at 11:02:39 PM EST

    It's not bad. It's linear, but the constant is 2. You go through the array twice. As you can see from the other answers, just add up the numbers and subtract from 5050...

    ...richie
    It is a good day to code.
    [ Parent ]

    Cognitive dissonance (4.00 / 3) (#236)
    by epepke on Tue Jun 04, 2002 at 05:42:44 PM EST

    I'm having a hard time understanding what you are saying here. On the one hand, you seem to fault CS courses for being bad. On the other hand, you say that you are just beginning to access concepts taught in basic CS courses and have little experience with formal education yourself.

    So, I'm not sure what your gripe is with CS. Is it that many CS grads are clueless? I'll give you that. However, one of the things that has happened over the boom eras is that many people took the least-resistance path through school, and universities were pressured to provide that.

    My formal college-level education in CS (well, really mathematics with a CS concentration and some MIS stuff thrown in) began in 1977 and ended some time in the mid-1980's. I think it was pretty good. But even then CS departments were criticized for not providing enough "practical" training. I shared the view at the time but, many years later, am glad I went through that.

    It would help me to understand what you mean by basic concepts in introductory CS courses. The only tricky thing I remember from my first "real" introductory class was how to write a top-down recursive parser, which I thought was cool. But what are you talking about?

    Also, with respect to being an autodidact--I don't see any problem with being one but also getting a CS background. I was an autodidact for many years before setting foot on a university campus, at a reasonably high level, but I also got the education. Even people that don't get the education can pick up a copy of Knuth.

    But fear not! The era of the intelligent programmer is over. The need for the human mind os the source of intelligence for things artificial is over, it hsa been supplanted by glistening new buzzwords, IDEs that right code automatically, frameworks and modularization practices that require developers to only understand a minute component at a time.

    This is a double-edged sword. Real CS people have always known that such things did not exist. However, they've always thought that it would be fun if they did, and they were fun to do research on, because writing large programs has always been hard. So, they've worked on them. Also remember that there have been some successes, just no magic.

    Also, during the 1980's, the political belief that it was possible to use AI to write code was necessary for the Star Wars program. This program was technically bogus over just about every front, but it was the political thing of the day. (This day too--people never learn.) It's like the idea of computer simulations utterly to replace animal testing. The majority of people still attribute god-like qualities to computers.


    The truth may be out there, but lies are inside your head.--Terry Pratchett


    [ Parent ]
    My gripe with CS (none / 0) (#241)
    by x3n0ph1l3 on Tue Jun 04, 2002 at 06:52:27 PM EST

    First off, let me admit to heavily salting the previous post with hyperbole. I wanted to contrast the article writers assertion that accreditation was education. This is an issue I run into constantly, because I'm just slightly older than most graduates, so I'll take some time to answer you fully.

    When I said that I'm only starting to deeply grasp introductory CS topics, note the 'deeply' part. Everyone in CS learns that a computer is a turing machine, but that in of itself is merely a useful analogy. Getting an intuitive grasp of what a turing machine was took me a few classes in relatively advanced mathematical logic (I went back to school part-time in philosophy recently). Yes, CS includes a great deal of mathematics (although rather aenemic logic as compared to philosophy, oddly), but it was the synthesis of the math with a great deal of programming knowledge and experience that made the whole thing really stick. (Often people just axiomatically accept that mathematics is reproducible using basic logic, but actually playing with doing such things is a much more powerful epiphany)

    Likewise, while I would call myself a true programmer, and one that is talented at OOA/OOD, I readily admit to only having a very limited understanding of that subject. While I'm well read in OO stuff, have programmed more code than I can remember in a number of object-oriented languages, and pride myself on having a pretty good grasp of the wierd subtleties of C++, I still don't have that intuitionistic grasp of object oriented design that is the mark of a true pro. If you hang out on the Cygus STL developer list for a while, you'll understand what I mean.

    My beef with CS education is the way it's being approched. I've had to sit down and explain to a CS grad that C was a subset of C++, he had never taken a C class. As a matter of fact, he had never really done any procedural programming, just OO. This seems to me like a medical resident performing surgery without ever taking anatomy. Industry pressure has made CS curriculums focus more on 'modern' technologies, but at the expense of teaching things in a sane way. At the same time the heavily academic focus remains strong. Academic computer science is useful, but gets rather a lot easier with practical experience. Universities should get people into code fast, make them write a hell of a lot of it, and supplement this with computation / information theory instead of the other way around. In experience, the result is CS grads who have a great deal of potential, but typically do not have enough knowledge to appreciate where their knowledge is lacking, a terribly hard person to work with or train.

    Here's a little platonic anecdote (which actually occured, mostly):

    CS Intern: Why aren't we using C++ for everything?

    Me: Because it's rather inappropriate for what we're doing (writing a linux kernel module)

    CS (sceptical): C++ is better.

    Me: Well, sometimes.

    CS: But everyone knows object oriented programming is the way of the future!

    Me (sceptical): I agree, some people wouldn't.

    CS: So why don't we use C++.

    Me: Why don't you write OO code in C?

    CS (looking at me like I'm an idiot): Uh, C isn't an object oriented language.

    Me: Well, no. But an object oriented language isn't the same as object oriented design.

    CS (confused): I think your wrong. [I learned in class from an expert prof] There are a few languages for OO, smalltalk, Java, C++, and older languages aren't.

    Me: Well C++ was originally a pre-processor that emitted nothing but C code.

    CS (adamant): But C doesn't have objects!

    Me: It has structs...

    CS: Yes, but we we're told not use those. Just classes.

    Me: Uhm, and you can have pointers to function in a struct.

    CS (confident that she has me licked): Yeah, but those are really bad to use too!

    Me: Well, but you use both of those in C++ all the time. C++ just makes it easier by calling them things like classes and virtual function tables. You can use the principals of C++ in C without any real trouble, it's just a bit more time consuming, but for code that needs to perform well it can actually be a big advantage to know exactly what's going on. For kernel-mode programming it's an even bigger advantage, since performance is really important, especially in a network stack.

    CS: Well, I guess we'll have to agree to disagree. Do you know a good book on C, I never took any classes on it...

    If you like that one, I'll recount the time I had to explain to another CS grad why 'assfucker' was rather a bad choice for a variable name (nobody had actually ever read their code, in classes the grades we're based solely on output), or why O(logN) searching to find a TCP/IP port number for a incoming packet was a much better way of doing things than O(N) (didn't seem to really matter, and it was more work).

    If you fault the grads you must necessarily fault the system that produces them.

    Cheers, x3

    [ Parent ]

    a couple comments (none / 0) (#251)
    by R343L on Tue Jun 04, 2002 at 07:39:54 PM EST

    Regarding logic: it really helps a CS student to take more math then he has to.  I was a math major (see other post) so I also had taken all the intro classes (vector calc, linear algebra, diff eq) plus a bunch of classes where you spend a lot of time proving basic things in symbols.  My real analysis class started with proving things like 0 < 1 given a set of postulates (things like commutivity, associativity, existence of additive and multiplicative identitys, well-orderedness).  In that class and a topology class I delved a little into the arcana that is deriving all modern mathematics from the simple object called the empty set.

    Regarding flavor-of-the-year languages:  It really helps if a CS student gets it into his head that all languages are just representations of algorithms (usually in pseudo-code) which can themselves be reduced to mathematical symbols.  My algorithms classes spent most time in pseudocode that was half math and half words. Only on turn in programming assignments (not tests) did we half to have some algorithm implemented in a specific language.  It also helps if your teachers point out that C++ is just C with some stuff tacked on to hide the fact that C++ objects are just structs with function pointers. Which I did. :)  But you mentioned that.

    In general, most of my upper division classes (except compilers) followed the pattern of having pseudocode or math proofs or sometimes precisely worded English solutions on written homework and tests and then some practical stuff with implementing the current topic in a turn in assignment.  Most took into account content and results for programming assignments (except compilers which was all results).

    Rachael
    "Like cheese spread over too much cantelope, the people I spoke with liked their shoes." Ctrl-Alt-Del
    [ Parent ]

    Mathematics... (none / 0) (#277)
    by richieb on Tue Jun 04, 2002 at 11:11:16 PM EST

    I find that the best OO designers I know have had a degree in mathematics, not computer science. Perhaps this has something to do with the training to abstract things.

    Of course I'm prejudiced. My own degree is in math also... :-)

    ...richie
    It is a good day to code.
    [ Parent ]

    Technically... (none / 0) (#297)
    by R343L on Wed Jun 05, 2002 at 08:40:44 AM EST

    My degree is in CS.  It was going to be math too, but I got very sick the fall semester of my senior class (just barely passing some classes and failing one math class) which made the choice between getting a math degree in 5 years or finishing my cs degree in 4.  I was running out of money (I got a tuition waiver, but it can only be used for four years).  So I have a CS degree. I am only 3 courses shy -- a two semester number theory class and an elective.  The number theory isn't a problem, I study that all the time (plus a lot of CS math is basically number theory).  But you get the idea.  I hope I didn't give the impression that I graduated with my math degree, just that I was a math major.  Sorry.

    Rachael
    "Like cheese spread over too much cantelope, the people I spoke with liked their shoes." Ctrl-Alt-Del
    [ Parent ]

    More discussion (none / 0) (#316)
    by epepke on Wed Jun 05, 2002 at 05:47:52 PM EST

    First off, let me admit to heavily salting the previous post with hyperbole.

    That's fine; I do that too, and nobody understands it.

    While I'm well read in OO stuff, have programmed more code than I can remember in a number of object-oriented languages, and pride myself on having a pretty good grasp of the wierd subtleties of C++, I still don't have that intuitionistic grasp of object oriented design that is the mark of a true pro.

    The problem here is that it is almost impossible to achieve O-O grokkage starting with C++. While it is certainly possible to write good O-O design using C++ (I do it all the time), the structure of C++ is not particularly didactic about it. C++ is like a pair of sandals I once had which had soles made out of old automobile tires. They were great sandals, and a tire tread made a great sole, but sandals aren't particularly what tire-making is about. Combine this with the fact that every C++ book I've ever seen is terrible as an introduction to object oriented programming.

    I was doing O-O research before C++ existed (I even remember when C+- came out), so I managed to escape that. I think that one has to do some work with Smalltalk or even Modula to get the grokkage. Either that, or forget about languages and just play with the theory.

    Universities should get people into code fast, make them write a hell of a lot of it, and supplement this with computation / information theory instead of the other way around.

    I'm not sure that would work, either. I think the real problem is that four years is not enough. I think what would happen is that by graduation the theory wouldn't have been gotten to at all, and CS would effectively become just vocational training.

    You remind me of myself at a certain time in my life, about sophomore year of university. I had already done a hell of a lot of programming, and I was intensely frustrated at the practical ignorance in academia. I once got ticked at a C instructor because he didn't know that a character variable, unlike a string, wasn't a pointer. Of course, I had a lot of experience in assembly, so such was second nature to me.

    However, I had other professors that were clueful, and it wasn't until several years out of school that I realized just how worthwhile going through the process was.

    Me: Why don't you write OO code in C?
    CS (looking at me like I'm an idiot): Uh, C isn't an object oriented language.

    Heh. One of the programs I really enjoyed designing and writing was a 250,000-line visualization package. It was totally object-oriented and totally in vanilla C. People asked me why it wasn't in C++, and to save time, I answered that the SGI C++ compiler cost money. But really it was because C++, especially the implementations of the time, would have been a straightjacket. We were able to do some amazing things because we had the flexibility to do O-O right. Especially, I borrowed the concept of dependencies from Smalltalk, which lowered the cost of adding new stuff drastically.


    The truth may be out there, but lies are inside your head.--Terry Pratchett


    [ Parent ]
    Please do. (none / 0) (#327)
    by haflinger on Sat Jun 08, 2002 at 02:28:26 PM EST

    I'll recount the time I had to explain to another CS grad why 'assfucker' was rather a bad choice for a variable name
    Waha! At least that one was showing a Certain Personal Style, even if it was a little too close to South Park for the office. :)

    Did people from the future send George Carlin back in time to save rusty and K5? - leviramsey
    [ Parent ]
    What school did you audit at? (none / 0) (#247)
    by R343L on Tue Jun 04, 2002 at 07:23:05 PM EST

    My school (I am a recent CS grad--last May) basically had the following sequence:

    • Basic skills - programming, design, systems. I learned C++ (later classes learned Java) while being taught some basic data structures and algorithms. Then you have a class on UNIX (I tested out, being that I administered boxes part-time). Then, a class on OO design and programming (with some design patterns and UML). And a class on basic machine architecture (buses, pipelining, stack vs register assemblies, RISC vs. CISC, memory mgmt, etc.) In my architecture class we wrote a basic MIPS assembler, wrote plenty of MIPS and SPARC assembly programs (short ones, but for things we had in other classes done in C or C++..gives perspective) and wrote our own malloc. And then there was an intro data structures and algorithms.
    • Basic math - calculus, and two classes on discrete math (sets, graphs, modular arithmetic, etc.)
    • Upper division -- we had choices but it was one of those "take one from this set and one from this set and..." where each set has a bunch of hard stuff in it. I took another (harder) algorithms class, compilers, graph theory, computational linguistics, comparative programming languages (I had ML, Prolog, Icon and Java) and concurrent programming (by a teacher who understood that all computer problems can be reduced to concurrent ones...it was cool).

    I was also a math major or I would have taken "Automata, grammars and languages", "Operating Systems" (that one where you have to write the better part of a basic OS), "Computer Graphics" and almost certainly two semesters of formal logic (even though I had had a bunch in math classes). I find that even today, doing mostly client side applications programming that if I reduce problems to symbols (set notation, functions etc) and understand it better.

    So I guess this wasn't the type of education you were thinking of? Or not strong enough? Probably my only major complaint (other than a few really bad teachers, although the textbooks were almost always good) was the obsession with Java. After I took my intro two semesters in C++ they switched all the intro classes to Java, which meant that when I got to OO Programming & Design it was in Java. But that didn't hurt me much. When I got to architecture and more low-level classes, a lot was in C which really hurt the people who had their intro stuff in Java (instead of C++). People who didn't get pointers early (by a good teacher) seemed to have a lot of trouble with them. But I missed that problem.

    Maybe it's rare..but quite a few other people graduated with me and at least some of them should have had similar track. :)

    Rachael
    "Like cheese spread over too much cantelope, the people I spoke with liked their shoes." Ctrl-Alt-Del
    [ Parent ]

    CS (none / 0) (#250)
    by x3n0ph1l3 on Tue Jun 04, 2002 at 07:36:50 PM EST

    I audited a few CS classes at McGill Univeristy in Canada (where I did a few semesters of a Philo degree, recently), which is sort of the Canadian Harvard.

    It sounds like you took a pretty good program. The java thing is happening everywhere, and it's awful. I, really, really disapprove of teaching OO (C++) before procedural programming (C). You just don't understand C++ that way. (When I was learning the same thing was happening with C and Pascal, and my C is much better for my knowledge of Pascal)

    The general beef is that CS concentrates on theory and not enough on practice. That's pretty universal amoung people in the software industry. I think the issue is that again, if you learn to program well first, the theoretical aspects of CS are easier, and make more sense.

    I wrote a lot of my gripes about CS classes in response to someone else here, if your interested.

    Cheers,
    x3

    [ Parent ]

    ahhh (none / 0) (#256)
    by R343L on Tue Jun 04, 2002 at 07:54:13 PM EST

    My C++ intro classes didn't touch (really) C++ features much at all.  You would put a function in a class, but it was more a grouping of related data and functions.  Most intro programs were usually a few functions and main.  Later you would have a class or two or wrap up the concepts of student, teacher and person into a simple OO structure (with inheritance) but it wasn't complex.  Probably helped. :)

    I don't think the languages your intro class really matters as long as the teacher focuses on simple things.  (Oh: except that it probably needs to be procedural/imperative..a lot of people seem to have trouble with functional and logical languages).  No complex theory of language design or program design.  Our very first program (after being shown hello world and functions) was a program that was supposed to output the text to "The Twelve Days of Christmas" which has lots of redudancy.  The solution that got you the most points was one where you had a function for the first day and one for the second and so on where each calls the day below it.  main() then makes one call to each function, corresponding to each verse. You got partial credit if you made a function for each day and then just called them appropriately in main.  A crazy teacher obsessed with OO might make you make a function class (functor I believe is the term) and inherit each day and have members keep track of the minor text changes between days and which days should be called after it....but that would be too much theory for an intro class. :)

    Rachael
    "Like cheese spread over too much cantelope, the people I spoke with liked their shoes." Ctrl-Alt-Del
    [ Parent ]

    Talkative (none / 0) (#259)
    by x3n0ph1l3 on Tue Jun 04, 2002 at 08:21:21 PM EST

    Well, I seem to be chatty today ;)

    As I said it sounds like your program was pretty good. Not overly theoretical, etc. Where did you go?

    'Functor' is the right word, but using Occham's razor, a pretty terrible solution (beware those who are obsessed with OO). A much easier way would be to use the ladder of functions you described but have output functions they all use which remove the redundancy (and the memory footprint) without resorting to C++'s more arcane and useless features.

    But ultimately, if I were the prof, I'd like to see all the variable bits of text in an array, and a main that just has loops running through the array appropriately. Much easier to understand.

    The aesthetic of programming is important. It's all about writing code that people can read; machines can read pretty much any code that doesn't contain syntax errors. Something CS classes often forget to mention.

    Cheers,
    ~ol

    [ Parent ]

    Arrays for the 12 Days (none / 0) (#271)
    by mikey g on Tue Jun 04, 2002 at 10:33:27 PM EST

    That's how an old C book of mine taught it. Two arrays (one of items, one of ordinal digits) and looping call to a (recursive, not iterative) countdown function. It was the first non-trivial program written in the book and was interesting, I suppose. The recursion was unnecessary, but fun, certainly.

    I think the aesthetic is important, but I'd rather sift through whitespace problems than logic and algorithm problems. It's much easier to space out a file yourself (much less let a program do it for you) than to rehash the whole damn thing.

    So far as I can tell, teaching C++ is only hurting people. OO design is certainly handy to an experienced programmer, but in the wrong hands it's certainly dangerous. I learned BASIC, C, C++, and Scheme in that order. C and Scheme are the only two I've found to have consistent usage.

    I can understand teaching OO in a programming languages class, but OO ought to be reserved to the corner of computer science at this point. It's only a methodology for implementing algorithms, yet it's too often the focus. C is a good teaching language because it's widely used and as close to assembler as any popular language -- perfect, then, for practicum programming, such as the abovementioned operating systems classes. Scheme and other functional languages are good because few people come in knowing the language, so they can their understanding of CS becomes a tabula rasa. I had to relearn a lot when I took a class that used Scheme because I'd had such an improper prior education; when I took classes in C++, my (bad) code worked, so I just breezed through.

    All that I just wrote made no sense. So in short, I agree.



    --
    .sig
    [ Parent ]
    But I was trying to make fun.... (none / 0) (#298)
    by R343L on Wed Jun 05, 2002 at 08:42:31 AM EST

    ...of some people's silly ideas of a good solution. :)

    Rachael
    "Like cheese spread over too much cantelope, the people I spoke with liked their shoes." Ctrl-Alt-Del
    [ Parent ]

    capitalist management 101 (3.50 / 2) (#278)
    by turmeric on Tue Jun 04, 2002 at 11:30:31 PM EST

    problem:

    resource x is costing you a lot of money.

    solution:

    this is because the supply of resource x is small. band together as an industry to inflate the supply of resource x by any means necessary.

    result:

    resource x will now cost you a hell of a lot less.

    oh wait, resource x was human beings.

    in practice this worked by industry spamming the universities with 'we have a shortage of people' propaganda for the entire late 1990s. This story is as old as the United States, but that is just the trick: they separate techies from the 'fluff studies', in the hopes that the techies wont learn anything about unions, 40 hour work weeks, strikes, collective bargaining, and everything else that has held back the onslaught of the heartless people that tend to own gigantic megalith corporations.

    there were some people saying 'the shortage is bullshit' back in the late 90s, nobody would listen to them. everyone was taking COBOL from local trade schools hoping to strike it rich. well, too bad.

    Now we got the old 'its the immigrants' thing. This is also as old as the United States. when the ruling class wants to take the finger off themselves, they stir up racism and xenophobia in order to get us all hating each other, so that they can continue to control us quite easily. 'divide and conquer', just ask the Africans.

    that's a very interesting look at things. (none / 0) (#305)
    by Shren on Wed Jun 05, 2002 at 12:51:40 PM EST

    I wonder if CS programmers anywhere are unionizing, or if they think that they'll always be overpaid.

    [ Parent ]
    just a little link (5.00 / 1) (#280)
    by infinitera on Wed Jun 05, 2002 at 12:49:30 AM EST

    Not really. It's a long congressional testimony by a guy from UC-Davis, entitled "Debunking the Myth of Desperate Software Labor Shortage".

    good job (none / 0) (#301)
    by turmeric on Wed Jun 05, 2002 at 11:28:30 AM EST

    i read this in about 2000. why didnt i listen? haha. because 2 yrs in its hard to change your degree.

    [ Parent ]
    no it's not (none / 0) (#304)
    by infinitera on Wed Jun 05, 2002 at 11:37:58 AM EST

    Changing degrees two years in is half the fun! ;)

    [ Parent ]
    How I got hired during the early 90s downturn: (none / 0) (#322)
    by fencepost on Thu Jun 06, 2002 at 12:57:02 PM EST

    Ten years ago I was in similar straits - looking for a job in a depressed market, with all of the companies looking for people with 2+ years of experience.

    The most important thing I did was give up on getting hired at job fairs.

    That does not mean I gave up on looking or on going to job fairs - it means that I changed my focus. Going to job fairs wasn't a way to find a job, it was a way to find out what companies were doing - what sort of environments they had, what development tools they were using, anything I could learn. If I wasn't getting a job, I was at least going to get information.

    What was most interesting about this is that very early in this process I ran into a very good HR person who answered what questions he could, then decided to shuffle me off to someone with a bit more technical knowledge - the technical manager for the division, basically the guy in charge of the development group. I didn't have any experience at all in the tools they were using (then again, nobody available did - it was a fairly new toolkit), but I'd shown that I had information-gathering skills, could learn, and could communicate.

    Basically, I asked questions and it made me stand out from the pack. When you're looking for a job, this is a good thing. Consider trying it.


    --
    "nothing really says "don't hire me, I'm an idiot" quite as well as misspelling "pom-pom" on your resume." -- former Grinnellian
    What about... (none / 0) (#325)
    by CAIMLAS on Thu Jun 06, 2002 at 10:12:52 PM EST

    ...becoming a 'technologist hiring consultant'? Companies obviously don't know what they need, why not present companies w/ a standard consultation fee to audit their company and compose a list of probable position types and the specific requirements that are reasonable for each - NOT buzzwords and marketese.

    This would even work nicely for a company that already has a large 'technical' base, in order to reassess who they have employed, and whether the people are meeting the demands, or are inappropriate for their jobs, etc.
    --

    Socialism and communism better explained by a psychologist than a political theorist.

    I could not agree more with you! (none / 0) (#329)
    by zzzreyes on Thu Jun 13, 2002 at 11:46:16 AM EST

    your write-up defines the sad reality in which we have come to work in. I can mention countless examples in which I have come face to face with your argument and its sad.

    Is there really a technology worker shortage? | 329 comments (320 topical, 9 editorial, 0 hidden)
    Display: Sort:

    kuro5hin.org

    [XML]
    All trademarks and copyrights on this page are owned by their respective companies. The Rest © 2000 - Present Kuro5hin.org Inc.
    See our legalese page for copyright policies. Please also read our Privacy Policy.
    Kuro5hin.org is powered by Free Software, including Apache, Perl, and Linux, The Scoop Engine that runs this site is freely available, under the terms of the GPL.
    Need some help? Email help@kuro5hin.org.
    My heart's the long stairs.

    Powered by Scoop create account | help/FAQ | mission | links | search | IRC | YOU choose the stories!