> 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…
Things I’ve learned in my 20 years as a software engineer
651–660 of 745 posts
Re: Things I’ve learned in my 20 years as a software engineer
#652Earlier quoted context omitted.
It should not be an insult to be told that there are people more skilled than you, though. It is hubris to think otherwise. Are you saying in 20 years, you haven't met any engineers that were head and shoulders noticeably more productive than their peers, in terms of code volume+quality?
There are undoubtedly developers who are 10x more productive. But I doubt its because they are born smarter. There are developers who are 100x more invested in their work, and only 10x more productive.
That's an insane claim. How far must people go to be politically correct and to avoid "insulting"(?!) the average person?
Re: Things I’ve learned in my 20 years as a software engineer
#653Earlier quoted context omitted.
People are often willing to sacrifice any amount of development velocity to avoid being seen to make mistakes. IMO that attitude never makes sense - it can make sense to avoid certain mistakes at all costs (self-driving car), but it never makes sense to try to avoid blame for them (company refuses to admit their car isn't good enough). This is a problem of culture, not individuals. Does the culture at a company openl…
> it can make sense to avoid certain mistakes at all costs (self-driving car), but it never makes sense to try to avoid blame for them Eh? As you say, it's a culture thing, and the culture of a lot of humans is that the mistake only matters if you take blame for it. Plenty of people and organisations put more effort into avoiding blame for things than the thing itself. Blame-free culture is great, but it has to be ac…
Blame is pointless (particularly directed at humans), learning from mistakes is invaluable. What I'm saying is it is a terrible mistake to put more effort into avoiding blame than avoiding mistakes.
Blame-free culture is great, but it has to be actively maintained.
I agree.
Re: Things I’ve learned in my 20 years as a software engineer
#654Earlier quoted context omitted.
> This is the opposite of how you should want any knowledge worker to think. Some of us don't choose our beliefs based on what is most convenient or most beneficial to us. Instead, we try to see the world for what it is, truthfully (or as close to a true representation of the world as it's possible to get, anyway). If having a realistic worldview hinders my ability to learn, then so be it. Not everything is about max…
I feel the core idea is that hard work and deliberate practice will move both those with talent and those without forward and fretting over things you cannot change is an exercise in futility, and you're rather focus on things that you can change.
Furthermore, the poster has very clearly expressed in subsequent posts that they don't believe talent ("innate ability") exists. I strongly disagree with this idea as well, and there is a mountain of evidence to support my position.
Re: Things I’ve learned in my 20 years as a software engineer
#655Re: Things I’ve learned in my 20 years as a software engineer
#656Earlier quoted context omitted.
No. It's like saying that a good mechanic can fix a car 10 times faster than another. Even if a good mechanic manages to find the problem in less time than a non experienced one, he still has to do the repair. That is similar to programming: even if you have everything clear in your head, you know how to do every single thing that is written in the requirements of the program, you still have to type it out. A lot of…
IMO having a fancier keyboard that does more clickety-clack will not make you a better programmer. If anything, your co-workers cannot work as good and will have to put more energy to focus. Experience and the skill to remember or recall well, help a lot with engineering.
But I would switch this around and definitely say with my few years of experience, those that were “the best” were also those that were interested the most in their tools of the trade.
And whether that is a mechanical keyboard or a better screen or better performance or better IDE setups. Doesn’t really matter. Sadly many companies don’t seem to encourage this enough imho
Re: Things I’ve learned in my 20 years as a software engineer
#657Earlier quoted context omitted.
There is a mountain of evidence to the contrary. No matter how much you or I would practice, study, etc. we would never become as good as tourist. Most people reach their plateau in competitive coding within 1 year. For example, here's my Codeforces profile: https://codeforces.com/profile/baobab Started in 2015, plateau'd in 2016 and no measurable improvement from subsequent 3 years of practice and study.
is it at all possible that practice and study are insufficient to create further growth? What I think faizshah is talking about is that there is enormous complexity that goes into creating skill. what sort of community do you leverage for their knowledge? how frequently do you expose yourself to new ideas? do you practice abstraction in places other than code? do you practice effectively and take notes that you revie…
Sure there is enormous complexity and many factors that go into creating skill, but that's a generic claim, whereas faizsah was making some specific claims. In particular, they were claiming that talent does not exist (or "innate ability" is not a significant contributor to creation of skill, if you want to phrase it more softly). There is a mountain of evidence to show that innate ability is one of the largest differentiating factors between "masters" at a skill compared to "normal people" who practice that skill.
> a plateau is a sign of stagnant processes.
Nope, there are limits to achievable skill. If I practice height jumping, I'm going to plateau pretty quickly and make only incremental improvements even with the best of processes. Same goes for mental pursuits like competitive programming as well.
Re: Things I’ve learned in my 20 years as a software engineer
#658I've always found this to be very true personally. Unfortunately fear often directly opposes it, i.e concepts like "what if that guy gets hit by a bus" which are valid but sometimes taken too far to the point of attempting to make everyone easily "replaceable"... i've a saying to warn of this that has helped me alleviate such fears in others so far:
If you make your entire developer team replaceable, they will create code and products that are equally replaceable and hold no value. People are the company, they need to be valued as such.
Re: Things I’ve learned in my 20 years as a software engineer
#659Earlier quoted context omitted.
> If you’re dealing with a reasonable person, you should be able to preface the question by explaining how having sufficient time off helps you do your best work and avoid burnout If you are dealing with a reasonable person, hopefully you want have to explain any of that.
Have you ever had a date where the first thing someone talks about is something like having babies, or going on and on about their ex, or they want to know how much you make in the first 15 minutes? It is not a pleasant feeling, and makes it pretty clear what their priorities are (and aren’t). Namely that having some idea who YOU are and if they like you doesn’t really matter much. If someone starts the interview pro…
If someone starts off with asking about essential thing that is important factor for them it means that its a dealbreaker issue for them.
Whats the point of interview if they know there is no flexi time, and you only look for flexitime jobs??
Its actually a matter-of-fact approach that goes straight into details and saves everyone time. Given it was properly delivered I would be more inclined to hire engineer like that.
Re: Things I’ve learned in my 20 years as a software engineer
#660The 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…
Because it's not in their interest to accept it openly.
What would be the point of a employer to tell their employees that they are mediocre at best and no matter how hard they try they will never shine? That is the exact opposite of the carrot dangling ever slightly out of reach.
Why would someone blessed by luck tell their employees he didn't get there by working himself to death?
McDonalds is a money printing machine despite not using world class chefs. Telling everybody they can code depending on effort and hiring them for relatively cheap is a solid business plan.