Hacker News new | ask | show | jobs
by stackbutterflow 1693 days ago
Regarding your last sentence, I think technical jobs, and especially people who write code as part of their job, are forced to develop a special kind of humility. Engineers, scientists, technicians, deal with the law of physics everyday. As a developer particularly you get immediate feedback dozens if not hundred of times a day. You can't bullshit your way out of a bug. The computer is cold, rational and executes the piece of code you wrote. You can't convince it to run your program with pretty words.

This is in contrast to other jobs, for example marketing specialist. As a marketing specialist you spend weeks or months on a well crafted marketing campaign, then you launch and the results are not bad but yet not great either. There could be millions of reasons for your campaign to have failed. You could job-hop thinking you did a great job and blame the lukewarm success on external factors.

There are people who spends their whole career failing at what they do who would never know otherwise because their job lacks this sort of cold instant feedback.

3 comments

Programmers also suffer from the problem of no objective performance measure - there is no way to tell the difference between good programmer + hard problem and average programmer + easy problem.
Which is why many programmers don't want to make good UI's. It is a ton of technical work to get all those features working, and at the end people praise the UX designers for doing a good job creating such a good UI and not the people who coded it all together, except if it breaks then it is the programmers fault. People say the code is the easy part, but seemingly not a single big company can actually manage to get the code right, and it gets even worse at most smaller companies, so from my perspective we lack programmers who knows what they are doing way more than we lack programmers who has empathy.

No amount of empathy matters if the programmer ultimately fails to code up a working system, you'd rather have a programmer who can code up a working system with all the fancy parts needed for good UX when given proper requirements.

Sure there is. You take each programmer’s self-ranked hardest N problems and get the other programmer to try and solve them.
People are not actually fungible.

Each of us has different skills, insights, strengths, weaknesses, and life experience.

What caused one of us months of misery might be the next person's perfect problem, what they were born to solve flawlessly.

That’s why you average across several questions. If one is too hard just leave it. You’ll pretty soon get an idea who’s good at what.
And if one person has had a career of spending 1 year on each research problem while the other person has had a career of spending ten minutes on each UI micro-bug? You swap the problems, and person A spends 20 minutes, person B spends half a year, and you think person A is better even though they're actually 4x worse.
Just because you can contrive a pairing that’s less efficient to compare doesn’t mean it’s a bad test for colleagues.
Plot hole. Why did he spend 1 year on each research problem? After a year, what? A paper incorrectly proving the goal was impossible because that's what PhD's in industry say (I've seen this) so they're boss gets off their case?
Have a crack at the problem yourself.
Sure, you can bullshit your way out of a bug. It is called making a "kludge", also known as "technical debt".

It happens all the time... unfortunately.

You can also blame things that were actually your fault on systemic problems. People will believe you.
I get the gist of what you're saying, and broadly agree that seasoned programmers tend to develop a strong sense of professional humility. I have to say that I think the analogy goes a bit too far, though. Even very poor programmers can get things to compile and tests to pass. The things that make a programmer very successful are still very nebulous and difficult to measure, just like in creative professions.