Hacker News new | past | comments | ask | show | jobs | submit login
Why Bad Jobs-or No Jobs-Happen to Good Workers (ieee.org)
93 points by noonespecial on July 23, 2012 | hide | past | web | favorite | 70 comments

Have you ever noticed that some developers see the job market as a bleak and desperate place where jobs are scarce and exploitive, while others see this market and can't believe their amazing luck to have stumbled into such a fantastic career?

We all know guys from both those camps, so something must be up.

I think a lot of guys get trapped in this cycle between their own lack of confidence and predatory companies that look for that sort of employee to exploit. I mean, what better employee to have than one who's constantly in fear of losing his job in the next round of layoffs and will happily work long hours for "market average" wages in the quest for job security.

That developer, when he hits the market, will hit it via a layoff. And he'll have four years of his last employee reinforcing his lack of value, so he won't expect much beyond a desperate search for somebody, anybody who will hire him. That's not the sort of dude who will network his way into coffee with your CTO. He'll pray and spray resumes at HR and endure half a year of being rejected by keyword filters. By the time the next exploitive company finds him and offers him another death march at a "market average" salary, he'll be so grateful that he'll never want to leave.

You see that guy here from time to time (though more often at Slashdot and Reddit). I wish there were a way to get through to him to let him know that it's really not like that.

Programming computers for money is the single greatest profession in the 21st century. If you're doing it and you're not happy, know that you can fix it.

>Have you ever noticed that some developers see the job market as a bleak and desperate place where jobs are scarce and exploitive, while others see this market and can't believe their amazing luck to have stumbled into such a fantastic career?

I'd consider myself to be in both camps simultaneously. I find that there are a ridiculous number of opportunities, but they're A) pretty bad ones or B) are unwilling to pay for what the talent they claim they want. I hate to sound so negative, but a lot of opportunities just aren't great. It isn't working for a startup, or working on some new infrastructure in a company that does something interesting. There's a lot of extending spaghetti code for a cost center within Cardboard BoxCo with enterprise software that's EOL'd by its vendor. More so if you live outside one of the big tech hubs.

I can have 8 finals in 4 weeks and get 4 offers, but after meeting with the organizations and finding the reality is the opposite of what they advertise, that I don't want any of those jobs. Especially at the levels of compensation they think they can get anyone, nevermind the top 5-10% of the candidate pool.

I've resorted to freelancing. Within the first 30-minute phone call we already know where things are going based on their reaction to my hourly rate. Additionally I figure if I hate the assignment, I know when it'll end. It also pays well enough that I only need to bill 7 to 8 months a year and can spend the rest of that time making video games.

That sounds like a pretty ideal position assuming you have a consistent stream of new work.

I've been having an extremely difficult time finding a job in tech, and I've been in SF looking since late May now.

Contrary to your image of the guy who can't find a job, I've been networking heavily and for the first couple of weeks, that's all I did. I explicitly decided not to focus on applying or interviewing until I'd had the chance to chat with multiple people with hiring authority, either over beers or coffee. Interestingly a sizable chunk of people I've met at hackathons have been in a similar situation, minus the networking focus.

>We all know guys from both those camps, so something must be up.

I think what's up is that nearly everyone is chasing the same few attributes in potential employees, one of which is already having expert skills at X thing they want to do. As mentioned in the article, few companies are willing to train entry level or junior level employees and many even have a policy of rejecting any candidates who don't already have a job! This is almost guaranteed to create a bidding war for a small number of people while passing up many others who could fill their shoes after an adjustment period.

I fully agree with you about the importance of networking, but when large numbers of hard-working people with a high percentage of the needed skills can't get in without an inside contact, the overall job market for the sector is not hot. Anyone who claims the job market is 'on fire' is either out of touch, full of BS, or both.

What is a red-hot job market right now is teaching English in China as a foreigner. There, horribly incompetent people who lack skills, charisma or even valid working papers are hired quickly! Programmers in the US had a similar situation in the late 90's. In 2000, I was offered multiple jobs despite having no programming experience just because I knew some HTML.

Interestingly, the market for really low-brow contract programming work has been much easier to crack. I've been meaning to blog about it, but haven't had the chance to fully organize my thoughts on it. Basically there seems to be a bimodal distribution of supply of programming work vs difficulty of the work.

...everyone is chasing the same few attributes in potential employees, one of which is already having expert skills at X thing they want to do.

I've never worked at a place that did this (unless "X thing they want to do" == "basic computer science"). I've always had difficulties hiring.

The fact of the matter is that most people you interview just aren't very good. It's hard to find the good ones. This is a complaint about search costs as much as price.

Correction: most people you interview don't demonstrate that they're good, for whatever reason. Is that because they aren't good? Or is there another reason? Since you won't be working with them, you'll probably never know.

Everything Jason says and then some. (Well, OK, I'd quibble about luck having anything to do with it. Nobody lucks their way into being a doctor - they correctly identify it is a good idea based on the scads of available evidence and then work hard on the obvious pathway to becoming one - and we should similarly avoid trivializing ourselves.)

I have a folder in Gmail of comments thanking me for my negotiating advice articles. My running tally is folks are $214k a year wealthier literally just by asking for it.

It's not all harmless roses. I lost my job two months ago because I asked in the performance review to be able to do the job that I signed up to do, and that we agreed on the position description terms in an update six months previously.

With no functional receptionist (we kinda had one, but she was always offsite or legitimately busy elsewhere), my day was interrupted more and more and I couldn't focus on my actual role. I was told that my role now includes general reception, and I refused to take this unilateral change. This was an issue that I was always careful to diplomatically make them aware of prviously, so it's not like they were blindsided. That was the end of my employment there.

My circumstance was a little unusual, but seriously, it's not as feelgood or harmless as it sounds to 'just ask for it'. I wasn't even asking for more money. I was asking to do my job as agreed upon in the countersigned job description. And this was at a generally ethical workplace that just had a cashflow and hence staffing numbers problem.

You're better off, because there are many jobs available to you where a) you won't be asked to play receptionist and b) you can get a nice raise out of the deal. (I'm operating on the assumption that any place which couldn't find a second receptionist with the change they pulled out of the sofa isn't compensating engineers at anything near market.)

Sounds like you're better off elsewhere.

Although strangely, you use words like "countersigned job description" as if a job description is a legally binding contract. I think that it's reasonable and expected that the job you do does not always match word-for-word with the job description you had when were hired. Things change, and it's good to be flexible. You might have to learn a new programming language on the job, install some software, design some icons, and other programming-related tasks that were not technically in your job description.

But that doesn't extend to answering the main switchboard, getting the front door for people, and cleaning up coffee cups after a meeting.

You're right to say, "I'm a programmer not a receptionist". Good for you. But I would be less supportive if you said, "I am a programmer not a DBA" when asked to create a new index.

Good luck to you.

I don't think Jason was saying luck had anything to do with it, just that developers (or even employees in general) get the life ground out of them, are cast aside, and then FEEL like they've hit the lottery when they get another job. What Jason's talking about is employee victimization. Treating everyone like shit, so that people will think "Oh, I'm lucky to be here!" akin to a beaten spouse. Be that in comparison to the larger job force after bad experiences elsewhere, or bad treatment against your own coworkers.

After all, remember what the common person finds revolutionary about tech companies. Not the nice salaries and high employment rates. Food. Laundry services, on premises events. The faintest hint that the company cares about the people, and tries to treat them well. That's a foreign concept to most.

Mostly employees get "you're lucky to even have a job" shoveled down our throats. (And that could in reality be the situation at those larger tech jobs I've loosely described, but the point is, things like that? Good PR against it.)

After all, remember what the common person finds revolutionary about tech companies. Not the nice salaries and high employment rates. Food. Laundry services, on premises events. The faintest hint that the company cares about the people, and tries to treat them well. That's a foreign concept to most.

A fair portion of tech companies don't even do this stuff. My first corporate job had Peapod snacks from Stop & Shop, but didn't have so much as an actual lunch hour. We were often told we'd get a tech seminar or go out to one at a local university, and somehow we never did.

It wasn't that any particular boss withheld perks they had promised. There was just an overall culture of "keep your head down, don't act like a geek, and work all the hours God sent to earn your salary", which was a very strange thing to encounter in the tech sector and a downright disturbing thing to see happening without enforcement by a cruel authority figure.

It's weird when people oppress themselves.

As far as luck goes, I do consider myself lucky that something I enjoy and have passion for happens to be in demand and lucrative.

If programming wasn't worth the money it is, I'd either be making less money or doing something else that I maybe don't have the same aptitude for.

So to that extent, lucky that the market values us so much for something many of us were innately drawn to anyways.

> folks are $214k a year wealthier literally just by asking for it.

How do you ask for it? (or how do you get there?)

Personal anecdote: I literally just asked while on the phone with the recruiter for negotiating for a six-month contract last year in NYC. At the time, I was getting about $67K.

Recruiter: "Our client is offering $45/hr for the position, what do you think of the offer?"

Myself: "How close to $50/hr can we get?"

Recruiter: "He can do $50/hr."

That was all it took, and that was the discussion about it verbatim. It's hard when you're already in the position and you have to negotiate a higher raise with your boss because you need to prove you're worth it by performance(and whether or not you meet their metrics, etc etc), but in the interview process, that's how it went for me.

Can't stress enough that you should ask.

As someone who's been on the hiring side most of my career: I've never given my "best and final offer" to a potential hire right away. Doing so is leaving money on the table, as most hires accept the first offer made to them unless it's totally out of the ballpark.

But that also conversely means that not asking for more than you get offered is leaving money on the table.

If they clamor to accept right way, I'm left wondering if I offered too much.

I've also never terminated discussions with someone, or known about situations where that happened, without providing at least one counter offer. I'm sure it could happen, but as long as you're not being an ass about the way you're doing it, few people will turn around and decide not to hire you just because you try to get more money. If anything I want the people who have the confidence to ask, rather than the one that just quietly accept what's offered.

> If they clamor to accept right way, I'm left wondering if I offered too much.

I doubt that it's ever "too much", but sometimes it can just be a matter of appeasement or desperation. I told the same story above to a friend of mine who had been out of work for at least one or perhaps two years after finishing a degree from a video-game school as he was being offered a position as a web developer. I encouraged him to ask for just a little more than what he had offered, but he sent back an acceptance of the original offer from the employer as he was afraid of rocking the boat, and simply just wanted to get paid as bills began to mount up.

The original offer was for a $50K salary, which isn't terrible for starting out of school. In my eyes, I was slightly disappointed that he didn't even really try to get another $2000 or $3000, but in his position, he didn't want to risk losing the original $50K just for a little more.

I can understand that people are worried. But for anyone who reads this who fall in the worried category, I usually ask for at least 20%-30% more. Asking for just a tiny increase has never been something I'd even consider. There are situations I might settle for an increase in that range if the original offer was high enough, but I'd certainly ask for more than that. If asking for an increase that low is rocking the boat, there will be other problems with that employer...

A counter-intuitive trick for those who have trouble getting offers and/or worry about talking up their offers: Look for jobs below your desired salary range.

Most people look for jobs where any stated salary range match what they expect based on past experience - I see that in candidates for jobs I hire for all the times. Most candidates fit squarely within the range.

If you look for jobs slightly lower, it will often mean you interview against less skilled candidates than yourself. As long as you can convince the hiring manager you're not overqualified and looking to leave as soon as possible, it significantly increases your chances of an offer.

Once you have an offer, if you stand out skills wise, you'll be in a far stronger position to ask for more, even if you're asking for more than their salary range - everyone will have "invested" in you as their preferred choice, and standing out in terms of skills makes it easier to justify to HR to offer even beyond the top end of the range, sometimes beyond what they'd planned on stretching to.

I've seen this work from both sides of the table - psychologically it's hard to give up what is seen as a great deal, even when the other side makes the deal less and less attractive (by bumping up the salary requirements), and in the end people (on both ends) tend to be happier with deals where they've had to negotiate.

This method leaves the minimum on the table in theory, so I see why you find it attractive.

But it also leads to the situation where people's compensation is mostly based on how good they are at negotiation, not how good they are at their job. I would argue that this is not only unjust, but actually in the long term poisonous to your business.

People talk. They compare salaries. If the results are out of whack with perceived contribution, people get upset. If they're the kind of person who wouldn't negotiate a higher salary with you in the first place, they simply leave the company. And you're out a valuable employee because you tried to screw them on the margin for not negotiating.

Not a quick effect, granted, but if you plan to operate your business for longer than a couple years it seems to be very important to me.

I don't agree people's compensation will be mostly based on how good they are at negotiation. The range we'd consider will be based on our understanding of their skill.

But within that range, we'd never start at the top, not least because we need a buffer to deal with the candidates we really want that do negotiate.

If the rest are the kind of persons that don't know their worth and can't stand up for themselves enough to ask what they think they're worth, perhaps they're not worth that much in the first place.

I'm about as left wing as you get (enough so that I know plenty of people who where openly watched by security services in Norway back in the day...), but I also realized a long time ago that I was wasting my time (being politically active) fighting for what was in fact other peoples benefits, as I could easily get jobs at well above average rates while the people whose interests I fought for had no interest in it, or actively disagreed with the level of redistribution I believe is fair.

As long as the vast majority of people support a system that makes the above the natural corporate response, I don't see it as screwing them. I see it as rewarding the people who have skills that are valuable to the business (ability to stand up for themselves, and to negotiate) at the expense of those who can't really be bothered taking responsibility for themselves.

This isn't an issue where someone for whatever reason can't - everyone can look at the offer and say "is that the best you can do?", or "I was looking for X amount more; if you can meet that I can sign right away". If someone is so scared about standing up for themselves or care so little, I really don't want to pay them more. If that makes them leave sooner, then so be it.

Your argument makes great sense if you're hiring business development people, or sales people. Both of those kinds of jobs reward skill at negotiation.

But if you're hiring software engineers, it's just not true. There's a pretty strong negative bias against negotiation for most engineers, and it's not useful to the job. Being good at demanding higher compensation does not correlate with programming skill. I don't know what kind of employee you're hiring, but you really might be driving away some of the best people that way.

That said, I'd advise really just about anyone to get over themselves if they don't negotiate. You should always negotiate when you take a job, or at least try.

> and it's not useful to the job.

I absolutely can't agree with that at all.

Any developer that needs to talk to product people, customers or other teams spend a substantial amount of time negotiating. Even when dealing with other team members you're constantly engaged in negotiation.

In my experience there's a strong correlation between ability to assert yourself and negotiate, and your ability to get your point of view through to a team and develop consensus around your solutions.

A developer can write brilliant code, but if they struggle to assert themselves enough or negotiate to get buy in for their views, they can often get steamrollered completely and the team end up shipping some mediocre solution that wasn't as hard to defend, written by someone who isn't afraid to make their voice heard.

Conversely, I've seen teams where some "high profile rock star" team member leaves, only for the rest of the team to breathe a collective sigh of relief that it's now ok to throw out his code and change most of the decisions he made that they disagreed deeply with but that they were unable to stand up to, despite in some cases outranking said developer.

As a result of those experiences, I want developers that can stand their ground and that are not afraid of fighting for what they want and believe is right, and that know how to do it in a manner that isn't confrontational but wins them respect. And no, I don't believe for a second that the meriot of the code itself is sufficient - so often it boils down to heated opinions.

He offered $45 an hour expecting you to ask up to $50.

However some people would just say "yes" straight away.

He offered $45 an hour because he know some would take it and he'd save $5 per hour. Don't be that group.

Some people say "yes" straight away, some want to feel like they bargained for something. The 45-but-really-50 line works for both.

A lot of other offers I had gotten at the time didn't budge after the initial offer, and they hadn't been as good as the one I accepted. I do see your point, though.

Yeah, I wasn't saying that's always the case, but there's something about "45" that says "you can have 50 and feel like you drove a hard bargain".

I've written on this subject extensively. Most in-depth here: http://www.kalzumeus.com/2012/01/23/salary-negotiation/ and here: http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-pro... You can also HNSearch.com for my comments about it on HN. (I also recommend looking for tptacek's comments on negotiation/rates.)

Is the site down?

It seems my hosting provider's DNS company is under DDOS. Wait a while, it should let up. Alternatively, hitting reload a few time seems to work for me.

With your words.

More specifically, when they make you an offer for $x/year, you say "how about $(x + 15)" instead of "holy crap yes yes yes!"

You can also try it at your current job if you've been there a while and haven't seen more than "cost of living" adjustments in your salary for a while. Though the sad reality is that it's usually a lot easier to ask another company instead and get your raises by switching jobs.

Years ago an interviewer asked me "Bob wanted me to ask you if $X was the number, would you be happy?" I told him yes, I'd be happy with $X, but I'd be really happy with $(X + 3000). I got ($X + 3000).

That's because both markets exist at the same time, depending on who you are, who you know and what state their businesses are in.

I applied for jobs with well-known BigCo's in senior year of college. I got 2 job offers out of maybe a round dozen firms, though these two offers were from Amazon and Microsoft. I got to a sight interview with Google, but got rejected. Overall, did good but not great. Didn't even get to meet start-up folks, because most start-ups are in San Francisco and what start-ups exist in Boston, even funded ones, fall all over themselves to hire from Harvard and MIT while pretending UMass Amherst doesn't exist.

Then, over the summer, when I decided I couldn't move to Seattle, I worked with a boutique recruiter in Boston who catered mostly to funded-stage start-up software companies. Suddenly, firms were falling all over themselves to hire me. I bet it helped that they knew I had a standing offer from a BigCo!

Ended up job hunting again this winter. Got lots of interviews, but no offers until my friend recommended me to his boss. Got told by a lot of people that they couldn't take the risk of someone without front-end web development experience, that I didn't have the right background (for entry-level software engineering? Give me a break!), or the most disappointing response, that they thought I belonged in academia and would clearly end up there.

End of the story: I ended up contracting, living in my nice town again instead of freaking Boston, and signing up for graduate school somewhere very nice. But through it all, I can say I've seen both sides of the market.

To get a job, you need to cast a glamor/enigma spell on yourself, and seem like you're searching for exactly the kind of position the companies are hiring for. It helps if you work with someone like this recruiter I worked with, who (if they're good) maintains a huge Rolodex of companies who're hiring.

The two groups you refer to are "over 30s" and "under 30s".

Curious which age group you'd assign to which category.

Personally, I was in the "this job is awesome" camp before I turned 30, as well as before I turned 40, and still am.

> If you're doing it and you're not happy, know that you can fix it.


>>Programming computers for money is the single greatest profession in the 21st century.

He he, the kids never learn, even when the discussed article covers the crashes of this roller coaster job market... :-)

That said, an insightful comment.

The thing that makes programming such a great thing is that you can do a bunch of it at once, then sit back and make a good living off the result with just a bit of maintenance.

That doesn't work with other candidates for "single greatest profession". Doctoring, lawyering, nailing things together, whatever. They don't scale the same way.

That is, there's no way for a Dentist to perform a single act of Dentistry that he can sell as a service on the Denternet and maintain his lifestyle indefinitely with just a few hours of work per week. He has to keep Dentisting day in, day out, either by hand or by running a practice, or the money stops rolling in.

Software is rather unique in that quality.

Creative works such as music and writing have a similar scalability, but it can be more difficult to demonstrate value and it's nearly impossible to sell subscriptions to a single story or song.

Historically, novelists. Even now there are evergreen hits.

I think the interviewee made a very solid case that there is a hiring gap in the area of experienced specialists. He seemed to think that was the major chunk of the "skill gap" employers complain of.

I have seen that.

On the other hand, he described an army of job-hungry young people striving to get the right education for entry level work... but missing the boat on just the right tech -- again for overly-constrained hiring processes. That does not match my experience: I see students coming out of the educational system -- reputable universities -- with a huge gap in fundamental knowledge.

I fear that universities, colleges, and vocational schools, in their effort to deliver workers with fashionable resumes, are failing to deliver the fundamentals.

Yes, you can teach yourself the fundamentals if you know you need them. But if you've gone through 4-6 years of university under the theory that they are teaching you what you need to know, it may be harder to realize that, in fact, you have learned how to look good, but not how to be good.

The problem he described with colleges has been going on for a very long time. I was interested in both engineering and Journalism when I started college.

I vividly remember attending a lecture by a noted career counselor my first week in school. They had just laid off tens of thousands of engineers nationally when the space program wound down. He told us if we got the engineering degree and weren't in the top twenty percent of our class we wouldn't find work.

But if we went the journalism route there would be four jobs for every graduate. I was more passionate about Journalism so that's what I majored in.

So what happened? Four years later I literally couldn't find work in my chosen field. But my buddy with his engineering degree and 2.1 gpa had employers fighting over him. All of this happened in four years time.

It's interesting that he mentions the software and doesn't really mention recruitment companies.

To the extent that this guy is right, recruiters are getting paid a lot of money and doing a pretty crap job. They are supposed to be the ones saying to employers "The requirements are too specific, The salary is too low." They are supposed to be the ones qualifying borderline applicants with a low percentage out of a deep pile. It's a hard job, but its not like they're charging $100 for it. They charge a lot. enough to justify full days talking to lots of applicants, hundreds if necessary.

It feels like HR "consultants" spend 60% of their budget chasing clients 30% advertising & 10% actually doing the job you want them to do.

Anyway, this guy, or one of the good HR consultants should blow the whistle (I'm exaggerating) on what they actually do. Then, show us how to do it right. Make a video going over job descriptions and point out when/if they're absurd. Show us the CVs that come in. Let us see the pain from the employer side. Why is Joel Spolsky the best resource for this? Where is the industry?

Getting hired is as much a skill as programming is. What many people never grasp is that learning to present yourself in your CV and your interviews in such a way that people want to employ you is a skill in and of itself.....which means that the ability to code well does not equal the ability to get a job that requires you to code well.

It's absolutely true that getting through the hiring process is a skill. So is miniature golf. The question is why companies are spending weeks on interviews and logic puzzles when they could just send all their candidates down to the mini-golf course and hire candidate with the lowest score. Unless there's evidence that the skill of resume writing is related to the skill of programming, your candidates will be just as qualified and you'll have saved everyone time and stress.

Not really. When we interview, we look at more than just technical prowess. We want to find people who fit well with the organisation. In fact, being the best possible coder in the world is just unnecessary in what we do. Our interviews reflect that, and I think it would be naive to assume that other organisations don't also tailor their interview process to find the candidates with the best skill set - that means, four our software dev team, coding well but also communicating and presenting well (we have close relationship with our users, seeing them practically daily), writing documentation, training users, writing code that the rest of the team can understand and debug when they are on vacation or sick, without having to disturb them etc. At the end of the day, it isn't just about who can write the most brilliant piece of code....I'll take an average coder with additional skill set over a brilliant coder who grunts in the corner any day.

Interesting, but I don't really by his it arguments. All that is required to learn in our industry is a sub $1000 pc (and on a budget, sub 500) or a $1500 mac.

Yet somehow we end up with people who cannot solve fizzbuzz.

That seems like a talent shortage to me.

> Yet somehow we end up with people who cannot solve fizzbuzz.

Remember that those people (most likely) won't get hired. But they will keep fiddling with their resume/CV until they get called. So they'll keep showing up at interviews and be over represented. The talented folk will interview just a few times years apart so they are far less likely to be seen by interviewers.

If you do end up interviewing someone who can't solve fizzbuzz then it is a very good indicator that the hiring process is broken. The usual solution is to keep adding extra requirements in an attempt to weed them out, but that also weeds out the talented people too since they are less likely to have the exact required set of acronyms.

Hiring is hard - simple solutions like adding acronyms doesn't make it easier.

I have a hammer, but I have no clue how to get from driving nails into boards to building houses. I don't know what the road map should even look like, or what skills I would end up needing, or how to evaluate them along the way.

Thus why software engineers often get a degree, buy books, pay for classes, and so forth.

The self-education threshold tends to be even higher at the beginning. Most people have no clue how to get from owning a computer to Hello World, to FizzBuzz, to simple scripts, to a well-designed and documented program.

The real failure is when people turn to university (etc.) to learn a skill, get a "QC Okay" stamp at the end - and then still can't FizzBuzz.

You need shorter feedback cycles which focus on finding and correcting errors, not monolithic course grades and monolithic degree pass/fail stickers. You wouldn't expect it to end well if you tried code a major project that way. Why would it work any better as an education plan?

My instinct is to say that self education is hard & we still aren't good enough at it yet. On second thought I want to say that education is hard & our expectations are very high. One of my best friends has a 9th grade formal education, has done serious jail time and has still managed to succeed as a "professional" in the tech sector. I regularly listen to or read non degree people I would consider intellectuals. These aren't just brilliant edge cases anymore. Most of us know these people because there are lots of them. I have learned so much online. More than at work. More than at Uni. (Hard to compare it to school: learning to read & add was important). We are doing pretty well on self education. Lets pat ourselves on the back (or thank those people who made it happen) every so often.

I think the reason my first instinct is to say we aren't good at self education yet is that we can see so much potential. There really is no reason someone couldn't get to bachelor level chemistry, biology, civil engineering or economics on their own. There are all sorts of problems that just go away and let everything go much quicker when you're self educating. People might be able to learn 4 year equivalents in 6 months.Who knows.

Universities solve all sorts of problems in seemingly inefficient ways that we might see being superseded soon. A lot of the things they solve though are genuinely hard problems. Most people in an Econ2003 are not fascinated with Theories & Models of Supply Elasticity in A Recession. They are sort of interested in economics and have a general feeling that its something they should be studying. They might even be reading Why Keynes Matters. But, in a lot of cases they're cranky they have to take this stupid class in the first place. I'm not sure how that problem gets solved outside of a University. Maybe it doesn't need to get solved. Maybe the future is a word where students don't need to get dragged through material they don't want to learn. If it is, I'm excited.

35 year olds are looking back and thinking: "If I was 19 today I would do it like this..." But if you were 19, you'd be a different person, a 19 year old. You'd probably think like one. There are better tools than econ2003 out there a lot of the time. But they don't work for everyone all of the time. I think we have to accept some clunky systems that sort of get the job done.

I have a hammer, but I have no clue how to get from driving nails into boards to building houses. I don't know what the road map should even look like, or what skills I would end up needing, or how to evaluate them along the way.

If you could tear into existing houses to look at how they're built, and if building practice houses were cheap and easy, building houses would be more like building programs.

The feedback cycle is great with DrRacket. And I don't think that's the only beginning-programmer learning environment.

Thus why software engineers often get a degree

Or is it because people learn early on in school that there is "no other way"?

I recently met with a banker to discuss a mortgage. We talked about what I did and discussed my education. I proudly stated that I was self-taught. When we opened up the financials, she almost fell out of her chair in amazement that someone could make that much without a degree and proceeded to call me a genius.

I'm not a genius. In fact, I ended up being self-taught because I wasn't smart enough to enter into college in the first place; rejected from every single one I applied to. Most people think like the aforementioned banker though, with the idea that only a super genius can learn without a teacher. The result is that most people aren't even willing to try to learn on their own.

I think you're missing the point. The problem is that when you go to hire someone, you get swamped by thousands of applications from candidates who may or may not have any qualification.

So what happens is you apply filters to screen out people. One method is to filter out colleges, GPA, lack of work experience, underqualification, overqualification, or anything that isn't legally protected to get to a workable candidate pool. Another method is to only hire people you know, or people you know people you know. Still another is to build barriers (Civil Service exams, grammar tests, math test).

The problem is that if you are an unfortunate soul who doesn't get through the filter (ie. 2.9 GPA, state school, etc), doesn't operate in you social circle, or doesn't know about or cannot get through the barriers, you're screwed.

Sadly, both the GPA and the school are so me. I actually ended up with a 3.0 but same deal.

Which is why I am making 17/hr and no benefits (no health/dental, no paid time off at all). Also probably why I spent a year looking for any job at all before I landed this one.

Don't give up. For a variety of reasons, I ended up getting out with a 2.6. I was able to parlay one of my college jobs into a "real" job, and was able to go from there.

Now I've "made it" from some people's POV. Some of the companies who wouldn't give me the time of day a decade ago would hire me in a minute now.

Thanks for the words of encouragement. Unfortunately I feel my career is dead. I too feel that my lower GPA was due to a variety of reasons (no financial aid, working 40 hours a week, depression, health problems, etc), but at this juncture of life it is another set of seemingly insurmountable odds. Low pay, high debt, crappy job, new baby, demanding wife...

Well, not to be self critical, but I don't see myself ever being a rockstar. I'll be lucky if I ever hit 60k+... Sadly even that isn't much here in the Seattle area.

no scholarships anyway, plenty of student loans. Too many. I was 26 when I started college, and while my parents always told me they'd help if I went to college, all I got was co-signed loans. I'm 35 now.

And all you need to be an olympic runner is a pair of shoes and some clothes.

The tech industry, like many other industries, uses simple filters (such as work experience or a college degree) to pick the number of people they have time to interview. The skills required to be a talented programmer, and the skills required to get and keep a job (or earn a living programming without a job) are not equivalent.

Right you are, and the metaphore is brilliant. You cannot demand from a programmer to be a nice speaking salesman, when you do, you are ending with a half baked software well sold.

I'm a CIS student and a telecommunications professional, with aspirations of eventually being a professional programmer, so if this is a dumb question, please forgive me.

If there are people who can't solve fizzbuzz that are getting programming jobs, what do they do at work?

I can solve fizzbuzz easily, but I haven't ever built an application that I would consider useful. I've solved puzzles like fizzbuzz and completed lots of programming assignments (mostly involving stuff at the command line) and I feel like I know nothing when it comes to actually building something significant. I feel like it would be impossible for me to get an entry-level programming job right now, but from the sound of it, maybe not.

> If there are people who can't solve fizzbuzz that are getting programming jobs, what do they do at work?

The good news: They cause the programming messes which you'll eventually get hired to clean up, while they're off somewhere else making another mess for you.

> I can solve fizzbuzz easily, but I haven't ever built an application that I would consider useful.

The bad news: All you're ever do is clean up those frauds' messes. Anyone can build a system with 100k lines of Java code (incl comments). But only people like you can come along after it's up and running and make it work, so that's all you're ever be doing. Unfortunately, the employers will expect you to carry a cellphone around and solve those problems at 3:00am. It's cheaper to pay you 10% extra for wake-up calls than take your time away from other maintenance clean-ups in the daytime.

"(incl comments)"


If there are people who can't solve fizzbuzz that are getting programming jobs, what do they do at work?

Much of the programming work out there is little more than connecting libraries together into an easy to use package. I've worked with some people that I'm not sure could pass the fizzbuzz test, but they were still really good at what they could do and provided value to the organization that way.

Those people probably aren't going to be hired by Google to optimize their search algorithms, but software development is many-faceted. You don't always need someone with those skills to still create something of value.

> If there are people who can't solve fizzbuzz that are getting programming jobs, what do they do at work?


This is just one example, but it's a very accurate description of all of those people who can't solve fizzbuzz and yet still manage to get jobs.

Why not just hire someone you like and expect them to learn on the job? You probably do this anyway, but wrap it up in complex requirements.

It's fine to have new hires learn the particulars of your technology and domain on the job. It's not fine to have them learn basic computer science on the job.

Somebody who can't write fizzbuzz clearly does not have the fundamental CS background needed to do any sort of nontrivial programming. It takes most people years to get this background, usually in a university setting. You can't replace that with on-the-job training!

So it should be easy to find people to hire in a Country with such a world class higher education sector. Ignoring the financial implications; would you be adverse to teaching people CS on the job? It isn't inconceivable that the quality of the end result would be much higher.

He touched on the "Silicon Valley model" of poaching employees from companies that handled the costly training. In a culture where loyalty to your employer is largely anachronistic, why should most companies -- and not just the top employers -- bear the costs? The risk of attrition to free riders seems high.

I'm not disagreeing with his assessment so much as questioning the value to the typical employer. In aggregate it sounds like the right solution, but individually I'm not so sure.

Because you wind up in a position with a large number of underemployed people missing just the right skill and a large number of employers who can't seem to find anyone to hire.

We have an issue here with basically two sides that keep blaming each other.

What would it look like if we had a talent shortage instead of a skills gab? How would that effect our expectations?

Actually they wouldn't change much, the best solution is still for each individual to see where he is most likely to find employment, with less priority given to areas where breaking in is more difficult and more to do what he is good at.

So why have this debate?

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact