Live data from Hacker News

How to Succeed as a Poor Programmer

psgraphics.blogspot.com

91–100 of 196 posts

Re: How to Succeed as a Poor Programmer

#91
I dislike this mindset too. For any other profession it would be crazy, but for programming it's fine? What happened to apprentinceship and mastering the craft? Why is it fine to be considered a fool if you are not an expert programmer from the start? Should a blacksmith never make a sword, because at the beginning they can only make nails?

Re: How to Succeed as a Poor Programmer

#92
post #68

> 4. Make arrays your goto data structure. The others are arguable. But, in 2019, this is flat out bad advice. Your "go to" data structures should be hash tables about 70% of the time and vectors about 30% of the time. In 2019, memory and CPU are so stupidly abundant that the abstraction costs nothing in 99.9% of all cases. The programmer gain for not having allocation, dereference, fencepost, and invalidation errors…

> Your "go to" data structures should be hash tables about 70% of the time and vectors about 30% of the time.

I literally just wrote a comment elsewhere about how hash tables are obscenely overused and cause measurable performance degradation in many situations.

Re: How to Succeed as a Poor Programmer

#93
post #89
post #69

Earlier quoted context omitted.

It depends. Some things are visibly awkward, unpleasant to learn and use, and clearly short-lived. It only pays to learn and work on them if you are paid a lot of money. My pet example from the 1990s is Win16, which I skipped entirely for Win32. Many 4GL languages from the 90s stayed there too. Every second of time dedicated to Javascript frameworks before React/Vue was probably a waste of time. (OTOH learning the ba…

Angular?

Angular is disputable, remember AngularJS? :)

Re: How to Succeed as a Poor Programmer

#94
post #16

Earlier quoted context omitted.

It's not terrible advice. You mentioned SICP, funny thing is, years ago when I put someone on to SICP, next thing you know in our production code we started getting these weird ass recursive functions..... Also had similar issues with Design Patterns, all kinds of overly engineered class structures started popping up. On the side of ALAN, I used to work with guy who did a lot of machine vision research, he coded ever…

You lost me at "next thing you know in our production code we started getting these weird ass recursive functions...". I don't mean to be mean, but recursion is pretty fundamental to a lot of algorithms, and it sounds like the SICP coder was just writing stuff more advanced than you were comfortable with.

Anything that is more advanced than necessary is too advanced to be comfortable with.

Re: How to Succeed as a Poor Programmer

#95

The "Avoid Learning Anything New" advice is insane. (Well, practically all of it is, but that one really stands out). I think the exact opposite advice is far better: never assume the way you know how to do something is best, and always be on the lookout for what others are doing that might be better. Here's the thing about learning: the more you learn, the easier learning the next thing becomes. You form links, insi…

He is right though – new tech nearly always disappears.

Example: Learning CoffeeScript was a total waste of time. Learning JQuery helped me for a few years, but now JQuery is basically useless to me.

Based on past experience, I strongly suspect the same will happen with React, Rust and a bunch of other new exciting tech. There are countless examples besides the ones I mentioned.

But on the other hand, the time I put into mastering SQL or Unix will probably continue benefiting me for the rest of my career. Even C will continue to benefit me, even though it'll only ever be a small part of my job.

So I would modify his rule: Avoid Learning Anything New – Learn Something Old

Re: How to Succeed as a Poor Programmer

#96

Earlier quoted context omitted.

> So I’m working on getting better and getting more confident. FWIW, I'd say the most important characteristic of terrible programmers is their supreme unearned confidence! Which is to say: Focus on getting better. The confidence is secondary.

The confidence is for sanity reasons purely. There’s nothing more demoralizing than agreeing to do a seemingly simple task and then failing. So I’m getting better so that I have the confidence in my self

I'm a quite senior engineer, and I fail routinely at tasks.

My secret trick is simply to ask people for help when I'm stuck.

Re: How to Succeed as a Poor Programmer

#99
post #95

The "Avoid Learning Anything New" advice is insane. (Well, practically all of it is, but that one really stands out). I think the exact opposite advice is far better: never assume the way you know how to do something is best, and always be on the lookout for what others are doing that might be better. Here's the thing about learning: the more you learn, the easier learning the next thing becomes. You form links, insi…

He is right though – new tech nearly always disappears. Example: Learning CoffeeScript was a total waste of time. Learning JQuery helped me for a few years, but now JQuery is basically useless to me. Based on past experience, I strongly suspect the same will happen with React, Rust and a bunch of other new exciting tech. There are countless examples besides the ones I mentioned. But on the other hand, the time I put…

I agree about 90%. Sometimes though, it pays to learn the weird or new stuff. Sometimes, you can make a lot of money knowing the next big thing, even if it goes away in a year. You have to be well positioned though, like being an hourly contractor.

I'm generally the guy who knows the boring shit. C, networking, 'Linux', hardware, RF... But I keep telling myself I'm going to jump on the next bandwagon just to see how the ride goes.

Re: How to Succeed as a Poor Programmer

#100
A very interesting post, since it poses one very conservative, tried and true approach to programming productively. I know a lot of programmers tend to arrive at those very same conclusions in their career. That said, I think the article and most of the commenters here don't necessarily conflict with each other; every piece of advice can apply or not, depending on the circumstances.

On a larger scale, it's remarkable that a lot of the general programming advice given today is more of a heuristic/guide than a tautology, but many people still assert that their advice is The One Right Way To Do Things. It's important to understand that the vast majority of all this advice comes from real examples of what worked and what didn't. So, perhaps the best thing one can do as a programmer, in any domain, with any technology, whether you're a great programmer or a poor programmer, is to listen to it all with zen and a grain of salt.

Post reply on HN