Live data from Hacker News

The Mediocre Programmer

themediocreprogrammer.com

41–50 of 95 posts

Re: The Mediocre Programmer

#41
post #5
post #2

> before we can become better programmers we have to pass through being mediocre programmers Sure it's true, but it leaves out a fundamental truth about programming (and technically complex disciplines in general): most people that attempt programming will never be a good programmer - indeed most never even cross through the gate of mediocrity. There seems to me to be a superegalitarian notion that all people given t…

On another hand, many commercial programming tasks or programming roles are relatively mundane or lower-skill, and do not require exceptional levels of programming ability. If an exceptional programmer was dropped into one of these roles, they might quit out of boredom, or try to refashion the role into building tooling or systems to automate away some or all of the drudgery, but perhaps at the cost of not delivering…

"spending 100 hours building a beautifully elegant solution for a class of problem of which there will only ever be a single instance"

That's not an "exceptional" programmer. An exceptional programmer who does mundane stuff has this posted on their cubicle wall: https://xkcd.com/1205/

Re: The Mediocre Programmer

#42
post #5
post #2

> before we can become better programmers we have to pass through being mediocre programmers Sure it's true, but it leaves out a fundamental truth about programming (and technically complex disciplines in general): most people that attempt programming will never be a good programmer - indeed most never even cross through the gate of mediocrity. There seems to me to be a superegalitarian notion that all people given t…

On another hand, many commercial programming tasks or programming roles are relatively mundane or lower-skill, and do not require exceptional levels of programming ability. If an exceptional programmer was dropped into one of these roles, they might quit out of boredom, or try to refashion the role into building tooling or systems to automate away some or all of the drudgery, but perhaps at the cost of not delivering…

I agree. Never underestimate a bad, but determined programmer.

The worst part is he’ll feel extra smart afterward, because he finally figured out enough of the bugs in his horrible implementation to call it “done”, and he’ll likely be re-visiting this code for a long time to come, as issues pop out that he still doesn’t understand fully.

Re: The Mediocre Programmer

#43
post #5

Earlier quoted context omitted.

On another hand, many commercial programming tasks or programming roles are relatively mundane or lower-skill, and do not require exceptional levels of programming ability. If an exceptional programmer was dropped into one of these roles, they might quit out of boredom, or try to refashion the role into building tooling or systems to automate away some or all of the drudgery, but perhaps at the cost of not delivering…

Building something in 100 hours that satisfies a class of problems but will only see use once is definitely not smart. It's called taking advantage of your employer to satisfy your own curiosity. Do that in your free time of your job is not one where that solution will see millions of uses (meaning you are not working for - depending on decade we are talking - Bell Labs, IBM, Microsoft, Amazon etc.). If you are that…

The fact that many intelligent people are still fat means that they like everyone else don't have perfect self control. So any tips on what people should do if they were in perfect control of their emotions doesn't help, knowing how to think rationally and being capable of acting rationally are two separate things.

Re: The Mediocre Programmer

#44
post #38
post #8

Earlier quoted context omitted.

I gotta ask, What do you consider good? There's plenty of working software that's good enough. Made by fair programmers who don't care about lisp or FP. Is your scale of good affected by what you see here on HN? Because I feel like the front page of this site has the same effect as Facebook for skewing views of reality.

It's good enough for a time until a competitor comes in with better software and you go bankrupt due to unable to compete on price and usability.

It's a trade off. But if you spend ages getting to market because your jumping at shadows. Gold-plated software doesn't mean good software. I think we should just try and call good software that which fits time, budget and scope. And works!

Re: The Mediocre Programmer

#45
I half read, half skimmed the contents, and what I found was significantly divergent from what I was hoping for.

I was hoping to find some combination of a breakdown of potential paper cuts that hold programmers back, and an insightful breakdown of seemingly insurmountable problems that keep programmers in their provincial comfort zones, providing a series of bite-sized victories to lead one to greatness.

Instead I found number of already well-tread tropes of self-acceptance, limiting the amount one compares one's self to others, finding friends, and taking breaks. Furthermore, it does this without presenting any kind of new model to achieve this within the programmers existing emotional, executive and motivational budget.

I don't know if I'm staggeringly abnormal but I'm already acutely aware of those requirements. Absent some seemingly miraculous improvement in my executive function, in order to effect change (at least in me), the content needs to provide either compelling anecdotes as to why I should try harder, or a new model that provides a path where the extra smashing of face is not required.

I fully acknowledge I have no claim of liability for the content not meeting my hopes, given the generous lack of cost, but I must say I'm disappointed.

Re: The Mediocre Programmer

#46
post #5

Earlier quoted context omitted.

On another hand, many commercial programming tasks or programming roles are relatively mundane or lower-skill, and do not require exceptional levels of programming ability. If an exceptional programmer was dropped into one of these roles, they might quit out of boredom, or try to refashion the role into building tooling or systems to automate away some or all of the drudgery, but perhaps at the cost of not delivering…

"spending 100 hours building a beautifully elegant solution for a class of problem of which there will only ever be a single instance" That's not an "exceptional" programmer. An exceptional programmer who does mundane stuff has this posted on their cubicle wall: https://xkcd.com/1205/

Problem with that comic is that it doesn't take skill acquisition into account. Automating something increases your skills in automating things and therefore can be worthwhile even if automating this specific task isn't.

Lets say that automating a task saving you 1 hour takes 10 hours. Is it worth it? No, you'd say. But what if you had 100 such tasks, and the time to automate them goes down as you become a better programmer taking a total 50 hours? Then it would be worth it, but you would never achieve that level of expertise and therefore lose that productivity increase if you followed the advice of that comic, since none of the tasks you'd come across would be worth automating when you got to them.

Re: The Mediocre Programmer

#47

I half read, half skimmed the contents, and what I found was significantly divergent from what I was hoping for. I was hoping to find some combination of a breakdown of potential paper cuts that hold programmers back, and an insightful breakdown of seemingly insurmountable problems that keep programmers in their provincial comfort zones, providing a series of bite-sized victories to lead one to greatness. Instead I f…

Without any sarcasm, maybe that's the content you need to write.

Re: The Mediocre Programmer

#48
post #5

Earlier quoted context omitted.

On another hand, many commercial programming tasks or programming roles are relatively mundane or lower-skill, and do not require exceptional levels of programming ability. If an exceptional programmer was dropped into one of these roles, they might quit out of boredom, or try to refashion the role into building tooling or systems to automate away some or all of the drudgery, but perhaps at the cost of not delivering…

I agree that an exceptional programmer would not only not be appreciated in a job like this but their work/code will also be misunderstood and create a huge libility for the company. Hence tgh industry dumbed everything down to the lowest denominator (not absolutely lowest but quite low) such that every role is replaceable (hint: it has to look like an ordinary cog in a system)

> I agree that an exceptional programmer would not only not be appreciated in a job like this but their work/code will also be misunderstood and create a huge libility for the company.

Writing complicated and unmaintainable code is not the hallmark of an exceptional programmer.

Rather it is writing simple code to solve simple problems and writing understandable code to solve hard problems.

Code other's cannot wrap their head around is not good code and even the clever author will have a harder time debugging, re-factoring or adapting it. Chances are it would be a liability even on a solo project.

Re: The Mediocre Programmer

#49
post #5

Earlier quoted context omitted.

On another hand, many commercial programming tasks or programming roles are relatively mundane or lower-skill, and do not require exceptional levels of programming ability. If an exceptional programmer was dropped into one of these roles, they might quit out of boredom, or try to refashion the role into building tooling or systems to automate away some or all of the drudgery, but perhaps at the cost of not delivering…

I agree. Never underestimate a bad, but determined programmer. The worst part is he’ll feel extra smart afterward, because he finally figured out enough of the bugs in his horrible implementation to call it “done”, and he’ll likely be re-visiting this code for a long time to come, as issues pop out that he still doesn’t understand fully.

The energetic stupid programmer is the single most destructive thing you can have on your team and in your codebase. They make messes for everyone else, and a dummy writing bad code can produce more volume than even the best coder writing good code.

Eventually, guardrails and processes get put in place to protect against their damage, and the whole team slows down. Good coders walk, and you're left with the dummies, cranking out a high volume of low quality code. It's absolutely tragic.

When you build a flexible high-performance templatized system, hand it off, and realize a few weeks later that an energetic stupid coder has "written" more than 50 copied and pasted hard-coded classes from that codebase for the different places it was called from, only to have him and the non-coding manager push hard for sticking with that approach because the work is "nearly done", that's when you brush off the resumé and walk.

Teams need workaday coders sometimes, and every coder should know how to just grind out a big refactor or massive change. However, I aim for coders who are lazy enough to find a cleaner way to do it and smart enough to know they can.

Re: The Mediocre Programmer

#50
post #8
post #2

> before we can become better programmers we have to pass through being mediocre programmers Sure it's true, but it leaves out a fundamental truth about programming (and technically complex disciplines in general): most people that attempt programming will never be a good programmer - indeed most never even cross through the gate of mediocrity. There seems to me to be a superegalitarian notion that all people given t…

I gotta ask, What do you consider good? There's plenty of working software that's good enough. Made by fair programmers who don't care about lisp or FP. Is your scale of good affected by what you see here on HN? Because I feel like the front page of this site has the same effect as Facebook for skewing views of reality.

My bar for good: willing to read the existing documentation and say "it's terrible".
Post reply on HN