Hacker News new | ask | show | jobs
by tristan_juricek 5771 days ago
So, we should be taking care of our own career growth? Shocker.

Yes, there will be a point where your salary will not grow. But that salary is usually higher than most other skilled professions. (Note: this is an assumption; if I'm wrong, that would be interesting.)

My experience has seen very little "mastery" in programming; after about 5 years, most engineers hit about the same level of ability. (Note, I'm not saying you can't hit mastery of a particular thing, but that most don't do it.) Thus, there are only two kinds of programmers, skilled, and learning. If you don't gain differentiating skills after those extra years, why should you be paid for it?

Maybe this is the real "dark secret": most programmers don't know how to gain mastery of something useful to a business. Maybe this is what "we" should be worrying about, rather than hiring practices?

1 comments

All that said (and a lot is certainly true (except you're leaving out the unskilled and/or unlearning types of programmers :-) ), it's widely perceived that there is serious, unreasoning (aside from cheaper salaries, which is often a false economy) age discrimination in our field and that it's particularly strong in Silicon Valley. Doesn't matter if you're skilled and learning.
Most programmers definition of "highly skilled" is more like "proficient with a language", or framework, etc. A lot of people I know aim for "can use stuff" rather than "master this thing", which is mostly because, hey, it's technology, and there's always a new thing.

But there are skills past simply becoming proficient in new tools. You could "master the tool", like knowing the details of the JVM memory model, and very importantly, be capable of identifying very hard problems that you can solve that those "young guns" can't.

It is incredibly rare for me to find an experienced programmer that can sell anything but their past "obsolete proficiencies" to me. Most of them sell me on the fact that they've simply been good with X+Y number of tools, where Y of them are now no longer relevant. But they never focused on developing deeper skills that might have relevance (big data problems, etc).

It's the constant shift of tools that adds a lot of this tension. Yes, we need to be able to pick up new ones (languages, frameworks, etc) quickly, but if broad proficiency is how we define mastery, this has little relevance to businesses.

I'm not saying this is easy. How do you unambiguously describe a programmer's skillset past the languages and frameworks they say they know, especially in a way that might be "future-proof"? ("I optimized my system to display 30 frames a second!" "Wow, my phone does that now...") Ultimately, if we can't clearly describe why people's experience is better, it will be hard to justify paying them more, once you become proficient with that particular toolset. Thus, I don't sense real age discrimination as much as a simple inability to sell the value of our experience.

Of course, some programmers are WAY more valuable than others, so this is a problem that isn't just about age and experience. Hiring practices sure haven't matured at all during my 10 years on the job. But, until the finance guy can see why a guy with 25 years of experience but with 3 years with tool X is more valuable than the guy with only 5 years of experience but all 5 with tool X, well, you're not gonna see the money flow.