Live data from Hacker News

Things I’ve learned in my 20 years as a software engineer

simplethread.com

321–330 of 745 posts

Re: Things I’ve learned in my 20 years as a software engineer

#321

Earlier quoted context omitted.

The more I learn the more I realise everyone else is wrong too. Especially when it comes to general purpose tools - there's so many tradeoffs even in an ideal world but really often the original author just did things wrong, but right enough that his solution stuck and everyone kept piling on and building on top. PHP and node come to mind immediately. Ruby is down right retarded with promoting Concerns for modeling c…

Your comment about Ruby is actually referring to the Rails framework. It also suffers for the slur.

True, my problem with Ruby is stuff like having select/filter/find_all or map/collect and then frameworks also inventing their own conventions and this somehow being ruby philosophy. Also naming conventions like to_i to_a to_s to_h. And then the scoping rules. I'm not a fan of the language or the design philosophy and will avoid in all future projects.

As for calling it retarded - it's the emotion it evokes, I don't find it particularly offensive - but thankfully I'm not from the pronoun declaring part of the world.

Re: Things I’ve learned in my 20 years as a software engineer

#322

> I’d rather someone give me opinions that I violently disagree with than for them to have no opinions at all. I've been a developer for 15 years... anybody else feel like the further they get into their career, the more they want to keep their opinions to themselves? I feel like as a junior dev I had way stronger opinions and I was a lot more vocal about them. Now, I still have opinions, but I've learned that nobody…

No, I've been doing this for ~30 years now and I have really strong unpopular opinions on things. Like: - NPM/Yarn/Gems etc is a disaster waiting to happen. Having lots of dependencies is a security nightmare and a maintenance issue. As these projects get dropped by their original maintainers we'll start seeing more supply-side attacks and more vulnerabilities going unpatched. - Docker is a great solution for a speci…

> I expect to get downvoted because these are unpopular opinions.

Well, not really. These opinions are very common among my peers. We sold multi-million dollar transformation projects with the stated goal of making things simpler and easier to use and understand.

Re: Things I’ve learned in my 20 years as a software engineer

#323

The 10x programmer is a silly myth. The idea that someone can produce in 1 day what another competent, hard working, similarly experienced programmer can produce in 2 weeks is silly. You know, 10x is an optimistic number here. Some programmers will do in 1 day what you wont achieve in a life time. And not understanding that makes you a bad programmer by my book simply because this is the foundation of the job. So let…

Agreed, I don't know why the industry (or people?) in general have a problem with accepting this abilities gap. It's as if the notion of people being arbitrarily born more or less with a knack for something is evil. Let me tell you the story of when I realized I was (at best), a "not-mediocre" dev: 1. I've been programming for fun even as a kid. That's what got me into it: If you count kid-programming as "programming…

> It's as if the notion of people being arbitrarily born more or less with a knack for something is evil.

The stretch from person A is a better programmer / SW engineer than B to 'thus, person A is innately better' is unnecessary.

In my experience, the programmer that spends more time programming is almost always better than the one who does not. You can hate side projects, open-source work, whatever as much as you want, but IME, the programmers that engage in that (and thus have multiple times more actual experience than one who works 9-5) are universally the 10x people.

In other words, it's not innate intelligence... it's simple effort and working towards improvement.

Now... there are some people that are truly just stellar, and I can attribute perhaps some of this to innate ability, but the difference between mediocre programmer and 10x is typically one of hard work. Between 10x and the extremely rare 100x... well maybe we can talk brain differences. Those programmers are so rare though, it's futile to expect you'd be able to hire them, since there's not enough supply. 10x is good enough.

Re: Things I’ve learned in my 20 years as a software engineer

#324

The 10x programmer is a silly myth. The idea that someone can produce in 1 day what another competent, hard working, similarly experienced programmer can produce in 2 weeks is silly. You know, 10x is an optimistic number here. Some programmers will do in 1 day what you wont achieve in a life time. And not understanding that makes you a bad programmer by my book simply because this is the foundation of the job. So let…

I think the "10x programmer" as a term is confusing. In one analogy it could be the 10x bricklayer. One who does a well defined job 10 times faster than the others. I think this is the notion people oppose. Another analogy is the 10x classical composer. A person who produces music that is 10 times better music. But this is much more about creative/artistic capacity than about producing. Nobody oppose this. I that you…

But very often what makes an idea "better" is that it produces a result faster. I've done exactly this: spent hours trying to solve a problem to no avail. Then walk away, come back to it and see that a completely different approach will solve it in ten minutes.

Re: Things I’ve learned in my 20 years as a software engineer

#325
post #319

Earlier quoted context omitted.

Yeah, if I ever discovered that a potential employer took this view of PTO then I wouldn't want to work there anyway. Huge red flag.

Small point: The author of the article does NOT have this attitude. He's calling it out as a bullshit attitude...FWIW

Whoops! I should have read the article. Edited.

Re: Things I’ve learned in my 20 years as a software engineer

#326

> “if they ask about time off in the first interview then they are never going to be there!” The fact that this attitude is common scares me when I'm doing interviews. Time off is incredibly important to me. What's the use of making a great income if you can't get the time off to enjoy it? The culture about the use of PTO varies wildly between companies. A friend of mine worked somewhere that supposedly gave 20 days…

[deleted]

Re: Things I’ve learned in my 20 years as a software engineer

#327

> “if they ask about time off in the first interview then they are never going to be there!” The fact that this attitude is common scares me when I'm doing interviews. Time off is incredibly important to me. What's the use of making a great income if you can't get the time off to enjoy it? The culture about the use of PTO varies wildly between companies. A friend of mine worked somewhere that supposedly gave 20 days…

Usually I am more inclined to hire someone who discusses time off during an interview. It shows that they think about their life-work balance.

I do not need heroes, I need reliable folks who do not burn themselves out.

Or to put it in a cliche... I need people who work to live rather then live to work.

Re: Things I’ve learned in my 20 years as a software engineer

#328

Agree with most of this. > 1. I still don’t know very much Same here, Im still realising how much I dont know. > The 10x programmer is a silly myth. Yes it is. It's a stupid harmful myth. Everyone on HN and Reddit think they are the "10xers", and its used as an excuse to be rude and insufferable. Some time ago, I decided I'd be happy being a 1x programmer[1] > Don’t mistake humility for ignorance Very true. Some of t…

The 10x exists, I've met and worked with him and it's not me. But it is a guy who graduated Stanford before he could legally drive a car, so good luck finding many like him. But yeah, if I had to use a word to describe him, humble would fit.

Re: Things I’ve learned in my 20 years as a software engineer

#329
post #183
post #32

Earlier quoted context omitted.

Well, you could create software as art. Basically to create it for the fun of creating it, not to use it. But yeah, the end result is useless then, and can be thrown out.

Or, like some art, of variable degrees of folks caring about it based on other interesting properties - and made for some purpose other than maintainability. Demoscene, obfuscated coding contests, etc. seem to fall under that category. Uselessness in the eye of the beholder or something like that.

But in those cases you are creating for other people. The point was made about software that didn't have any use for any people.

In those cases, only the creation itself has a use, not the end result. By definition.

Re: Things I’ve learned in my 20 years as a software engineer

#330
post #91

21. is that management cannot, will not, and will never understand why open plan offices are the worst for reducing productivity. You don't want the plebs to also have their own offices.

22. no matter how well you plan, as soon as the (completely arbitrary) deadline gets close, everybody - even people who know better - will demand that you throw in last-minute hacks at 10 PM to "fix" a problem that nobody thought of before that create technical debt that will never be paid off and will be blamed on you.
Post reply on HN