This is a very insightful list. But there is one thing I'd quibble with: while it's inherently a super-subjective metric, I would say that 10x programmers do exist. Both in the "can support a company by themselves" sense and the "mad lone genius" sense. Not all the 10x programmers are good at working with other people or on other people's ideas. 0.1x programmers are often lost or afraid, although they may just be uni…
-1x programmers also exist, in a variety of guises. From the dev with long cv of projects he’s contributed nothing to and been sidelined from, but who manages to keep getting hired because of his cv, to the dev who crowbars in new tech where it’s not needed and causes a ton of problems.
Things I’ve learned in my 20 years as a software engineer
171–180 of 745 posts
Re: Things I’ve learned in my 20 years as a software engineer
#172This is a very insightful list. But there is one thing I'd quibble with: while it's inherently a super-subjective metric, I would say that 10x programmers do exist. Both in the "can support a company by themselves" sense and the "mad lone genius" sense. Not all the 10x programmers are good at working with other people or on other people's ideas. 0.1x programmers are often lost or afraid, although they may just be uni…
Saying 10x programmers are a myth because it's crazy that someone could do in 1 day what another could do in 1 week makes the assumption that both programmers in the example have the same amount of context, background understanding, and experience. The benefit of talented engineers comes from the fact that they avoid costly pitfalls - not that they pump out more code per hour worked. I feel this "10x programmers are…
Not just avoid pitfalls, being able to put together a good architecture is a huge factor as well. The effect is cumulative. If you have a good design to begin with, everything becomes easier with less risk of bugs. The result is that implementing new, or changing existing functionality takes less time.
The 10x developer doesn't write 10x as much code, (s)he will probably write less code than the 1x developer.
Re: Things I’ve learned in my 20 years as a software engineer
#173This is a very insightful list. But there is one thing I'd quibble with: while it's inherently a super-subjective metric, I would say that 10x programmers do exist. Both in the "can support a company by themselves" sense and the "mad lone genius" sense. Not all the 10x programmers are good at working with other people or on other people's ideas. 0.1x programmers are often lost or afraid, although they may just be uni…
I like to say that I am a 10x developer 10% of the time. My work tends to be very "bursty" followed by long bouts of low productivity. It probably has more to do with my mental health than anything else. :/
- enough sleep, rather get in bed early than late as the quality of the sleep depends on natural rhythms
- engage with people that are affected by my work - this is important for motivation and to keep track of what actually matters
- operationalize everything, say out loud what to do next
- being honest when I have bad focus, talk about it
- trust my instinct and do the right thing, if I don't I quickly lose focus and motivation, if opinions don't align learn why
Re: Things I’ve learned in my 20 years as a software engineer
#174Earlier quoted context omitted.
With that argument you could say that everything humans ever did was for humans. So either it is a platitude or it is wrong.
You could say that, but my cat thinks you'd be wrong. However, I'm yet to see my cat boot up the computer.
Re: Things I’ve learned in my 20 years as a software engineer
#175Earlier quoted context omitted.
I think this applies to not just software, but engineering in general. See, science is mostly about observing the natural phenomena. On the other hand, there are jobs that are mostly about taking care of people's needs. Engineering sits in the middle. It's a mediator. We have to understand the circumstance of both sides - nature (this could be something like hardware capacity in our case) AND people. Just taking care…
It applies to every job not just engineering. I thought this was considered obvious.
Re: Things I’ve learned in my 20 years as a software engineer
#176Earlier quoted context omitted.
Or they write it for themself and not _other_ humans.
Your future self can be seen as “other” humans given a long enough time frame. Anybody who has looked at their own code done more than 5 years ago can surely attest.
Re: Things I’ve learned in my 20 years as a software engineer
#177Earlier quoted context omitted.
I think this applies to not just software, but engineering in general. See, science is mostly about observing the natural phenomena. On the other hand, there are jobs that are mostly about taking care of people's needs. Engineering sits in the middle. It's a mediator. We have to understand the circumstance of both sides - nature (this could be something like hardware capacity in our case) AND people. Just taking care…
It applies to every job not just engineering. I thought this was considered obvious.
I think those are important jobs, and completely disagree with you. I'm trying to understand if those are jobs you weren't considering, or if we view each the responsibilities of those jobs very differently.
Re: Things I’ve learned in my 20 years as a software engineer
#17840+ years of experience here, and I'll tell you the #1 thing I've learned: * Software is a social service. Its for other humans. Incredibly, it doesn't matter how educated the developer, they still seem to have to learn this lesson themselves, over and over, until it sinks in...
Approching the same experience level and fully agree. A piece of coding art that doesn't fulfill customer needs, or requires understading of language standard minutia for fellow devs to do maintainance updates is worthless.
Re: Things I’ve learned in my 20 years as a software engineer
#179> 1. I still don’t know very much > “How can you not know what BGP is?” I learned a while ago that answering someone who asks you "What is X?" and replying with a phrase similar to the above is probably one of the worst ways to broach the subject. It comes off as questioning the person's intelligence/knowledge. Instead try to see it as a teachable moment. If it is something you think is cool and/or you are passionate…
I hate when people do it to me, so no idea why I was doing it right back.
Re: Things I’ve learned in my 20 years as a software engineer
#18040+ years of experience here, and I'll tell you the #1 thing I've learned: * Software is a social service. Its for other humans. Incredibly, it doesn't matter how educated the developer, they still seem to have to learn this lesson themselves, over and over, until it sinks in...
Software is whatever you want it to be. I can write software that is not for other humans. That's the most fun part of software engineering to me, when you don't care about the users and just do it just for the fun of doing it.