Hacker News new | ask | show | jobs
by kennend3 1311 days ago
> My experience is also that large proportion of hires can barely program at all

whenever i read statements like that I am reminded of this : Illusory superiority

" Illusory superiority is a condition of cognitive bias wherein a person overestimates their own qualities and abilities, in relation to the same qualities and abilities of other people. "

It comes across as you stating you are so much better vs everynoe else. Sort of like how 88% of the population think they are better-than-average at driving

2 comments

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".

> 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.

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.

My own ranking doesn't matter when I rank the other 5 people on my team in relation to one another. Maybe they're all better than me! But ignoring my own performance, 1 guy is crap, 1 is great, the others are in the middle.