Hacker News new | ask | show | jobs
by twawaaay 1311 days ago
I have quarter century of experience in software development and have been programming most days for the past 30 years. Can't say how I am stacking up against developers with same level of experience but I can say with no exaggeration that I do, in fact, have more experience and more valuable skills (as I am routinely called to help with failing projects) than most developers I am working with. Saying otherwise would be just false modesty.

Also stating that there exists something like "illusory superiority" does not mean there does not exist "superiority". Yeah, I also studied theoretical math.

Even though most drivers think of themselves as above average it absolutely does not mean that there do not exist superior drivers. An F1 driver can absolutely say he is a superior driver and it is completely true, factual and not driven by feelings of "illusory superiority".

2 comments

> Also stating that there exists something like "illusory superiority" does not mean there does not exist "superiority". Yeah, I also studied theoretical math.

This makes zero sense and shows you lack understandings of the issue being brought up.

Obviously like anything else, driving fits on the bell curve and there are really bad drivers and some exceptional ones.

But the point of the effect is that when asked, most(>80%) THINK they are above average. If they were actually tested they would be shown this is mathematically impossible and they would not rank where they think they do.

You may very well be that superstar dev because as stated, when there is an average there exists the possibility that some are below and above the average.

> Can't say how I am stacking up against developers with same level of experience

This is very telling.. you come across as condescending to others but are unable to rank yourself vs others with your level of experience?

I’d suggest that if someone has had a 25 year career in software development and are still working in dev, it’s more than likely they sit on the exceptional end of the curve for a couple of reasons—-

One, 25+ years ago tech got the best and brightest. Early ‘00s because of high demand and good salaries, schools cranked out a lot of mediocre developers, plus offshore poor quality firms had companies snapping up nearly anyone good or bad just to have warm bodies to do what they need. The average developer quality dropped drastically.

Two, they have likely worked in many many different platforms and tech and bring a more holistic knowledge that folks that have been working for 3 years in (name whatever language/platform/framework du jour).

My career started in the mid eighties, I’m not a developer, but have worked with many over a long career and I can say without a doubt in my experience the average software dev in 2022 pales in capability to the average dev in 1984. Im often in awe at how bad they are…

> … schools cranked out a lot of mediocre developers …

I attended a very reputable CS department (top 5 in the US) and there was very little instruction on actual development skills. Most of us were not skilled developers upon graduation and had to learn these skills in industry.

Now, there were a few, rare, lower tier schools that “cranked out” developers with say C++ skills or Java, but I found most of them to be mediocre within industry and quickly surpassed by the CS kids out of better programs.

I suspect the better programs probably developed better troubleshooting skills in their grads, or simply attracted smarter people to a more challenging program who had innate troubleshooting skills. By troubleshooting I also mean that problem solving/creative engineering/inventive capability.

To me this is the skillset that seems to be the biggest difference between 2022 and 25+ years ago. I see developers today that if the requirements are not spelled out down to the crossed t or dotted i—-or an engineering plan is not drawn out in incredible detail, they are simply not productive. It’s almost robotic.

> I see developers today that if the requirements are not spelled out down to the crossed t or dotted i—-or an engineering plan is not drawn out in incredible detail, they are simply not productive.

Perhaps this is due to resources like Google and stackoverflow, which provide solutions on tap. This avoids the educational and sometimes frustrating process of doing a deep dive into an area / “rabbit hole” in order to figure it out by oneself. It also can result in developers that give up more easily when solutions are not easily available on the internet.

Kinda like me driving on Google Maps all the time makes me absolutely helpless without it. You have to be using the skill.

I spent 8 years learning German at school and I don't remember anything. I never attended a single English lesson (not my native language!) and yet I am using it every day.

That's why I do not give any credit to people who finished CS courses. In my opinion -- monumental waste of time. You spent 5 years not really pushing yourself learning one, not even very important subset of skills needed for development. And are completely unprepared to handle the real work.

At least when you study engineering courses those kinda help you prepare for the work ahead (so you know how to design a building safely and can theoretically start doing it on day 1 in your new job -- with supervision). That is not what is happening with people leaving CS courses and joining development teams.

This rings true for me as well.

One thing I've really had to get over is "illusory inferiority" - I am objectively an extremely good programmer, as demonstrated by my accomplishments and career path, but I constantly underestimate the value I provide to my employer because the contributions I make don't always feel important.

As an analogy, I can imagine a slightly bored senior sushi chef who is a master at preparing fugu (poisonous blowfish). The value they provide is huge, but they've done it for so long that it does not provide a challenge.

Or, you are overestimating your contribution because fugu is 0.01% of the restaurants order and you being the super chef don't like to help with normal boring sushi.

Okay, enough analogies. Here is the thing: your 30 years of experience maybe means squat if you are a COBOL god and we are a React shop.

To stay relevant in this business you need to study. A lot. If you don't, you might end up in this situation where you contribute barely to the team but consider yourself the top dog because you don't understand what the other are doing.