Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

You'd hire her, I'm sure, but would you pay her 70% more than the kid out of college? Because in reality you probably won't get 70% more value out of the experienced candidate.


Because in reality you probably won't get 70% more value out of the experienced candidate.

I was a fresh graduate once. I remember my productivity less as "60% of that of a twenty-year veteran" and more as "It is a miracle that they allowed me into the room for a purpose other than to empty wastebaskets, to say nothing of permitting my code in shipping products".


For that matter, I don't think I had 60% of my current productivity as recently as 2-3 years ago. I can still see my first commit at the day job in the repository. That code is an offense against God. It took me two months to get working the first time and then another two years of squashing periodic bug reports. (Unit tests? What is a unit test? Is that something you do with Subperversion?)

My product's code, particularly the parts of it which were laid down earliest, is so bad in some points that I wouldn't pollute a repository with it if I were rewriting today. Oh, God, the print logic. I can quote one line out of that file by memory:

// Abandon all hope ye who enter here.


On the other hand, Google's interns are producing... http://googledocs.blogspot.com/2009/05/spotlight-on-develope...

I know a developer who was learning two new programming languages and started writing serious production code within three weeks of starting his first job post graduation. He took over maintenance of a complex application and rewrote it in a new language. He managed to double his salary 18 months into the job. There risk in hiring someone unproven, but you can buy that down quickly.


The point isn't that they produced something shiny, but the quality of the code that backs it up. The link you presented did not link to any source code, but to a marketing blog. The quality might be horrible, but they shipped it.


If you are not 3x as productive 15 years after graduation as you where when you just graduated you are probably doing it wrong. The only advantage to employing young people is their willingness to work insane hours, but that pales in comparison to experience.


Sorry. I'm coming up on 15 years, and I am not 3x more productive than the better young developers I've hired. I just don't think this sentiment is valid.


better young developers I've hired that's not what I said. Are You ~3x as productive Now than when You started? It's not a question of typing speed or syntax, it's a question of what you can get done in a 1 month. And how much damage you will do in that same month.

One of the better examples of this is helping to debug someones program. Now I frequently hear, I was trying to do X, it almost works, but it's also doing Y, and I will say ok you made a mistake in this area. It's not just understanding code, but also understanding the typical mistakes we make. Tracing down an off by 1 error is something everyone learns, but they don't teach it in school.


I might be 3x better. I am not 3x more productive. I do much more than just code now, though.


Young developers can be, and often are, highly productive but software development is more nuanced than just raw lines of code. Sensible design is both very difficult and very important and I don't think anybody gets very good at it with less than 10 years of experience.

The first 100K lines or so are easy and somebody with talent who is fresh out of school is going to get to the finish line at least as fast as a 10 year veteran. The real test is the next 100K lines of code which the experienced designer is going to breeze through while the novice is about to learn an important lesson: Writing large programs is much harder than writing small ones.


So write smaller programs. Use a higher level language.


You're missing the point, I think. Higher-level languages just reduce the number of lines before you start to hit the maintainability wall from poor design. So, while maybe it's >100K lines of C that's where it typically happens, it might only be 10K or 20K lines of Ruby.


Perhaps. Though I'd rather deal with a messy 10K lines than a messy 100K. And having less code helps you keep it clean.

In a higher level language you get a lot of good design for free. For example nobody has to worry about GoTo-spaghetti-code any longer.


Second reply: Fail faster.


A few year's real commercial experience is often enough to at least double someone's productivity, often much more. Why? Familiarity with all the things that aren't pure coding. Understanding requirements/domain knowledge. This is the big one, if you are working in field X and you know the terminology, the business and so on, you can find out what people need and solve their problems with no messing around. Just to pick an example I am familiar with, banking, in pretty much every programming/IT job ad it will say "must have previous banking experience".

Plus there's experience with the toolchain. Experience with the codebase. Knowing how to play "the game" of meetings and reports.


Is it equivalent to say that I'd pay a fresh college grad who hasn't done anything but RoR 70% less? Because I'd totally do that.


No.

Suppose you pay a fresh college grad 50k. 70% more is 85k. But 70% less than 85k is 25.5k.

So you would definitely pay the experienced guy 70% more.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

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

Search: