4 ms·
There’s a story from The Mythical Man Month. They got a bunch of programmers from lots of different companies to all implement the same programming spec, and th
by josephg 2y ago
There’s a story from The Mythical Man Month. They got a bunch of programmers from lots of different companies to all implement the same programming spec, and they timed how long everyone took. Out of dozens of metrics (salary, programming language, etc), the #1 best predictor of your productivity is how productive your coworkers are.
One of my takeaways from that is that like attracts like. People are biased to hire people who are similar to themselves. And people apply for jobs at places they will fit in. 8/10 programmers don’t take jobs at 5/10 shops. 5/10 shops don’t hire 3/10 developers. Lots of people think that everyone “out there” is like them. But that’s really not true. I think most people just have an incredibly biased sample.
I was a programming teacher for a couple of years and in my experience, there is a huge range of aptitude between the best and worst people in my class. It’s all incredibly unfair - the weaker students needed to work many times harder to keep up with the better students. My best students could just intuitively figure things out that my weaker students could struggle with for weeks.
And it’s obvious if you spend enough time interviewing. I’ve interviewed over 400 people. (I did it professionally for awhile). In our interview, the best people could get an order of magnitude more done in the time we had available compared to the weaker candidates. I wish I could show you the videos. The difference is obvious.
- t-writescode 2y agoIt could also be that teams of people that work best together, grow the fastest together - that is, if you and your teammates are always helping each other out in big and small ways, then every engineer - even the ones that started out weaker - can become strong (or become confident, which can often be the same thing) over time.
- josephg 2y agoMaybe. How much of your programming ability comes from mentorship from your coworkers? I think its less than 10% for me. Maybe its a lot more for others, particularly self taught programmers? But that still doesn't explain my classroom experience. Some of my weaker students worked much harder than some of my more talented students. The weaker students also ended up getting a lot more 1-on-1 time from me as a teacher. That helped a bit - but the ranking in assessments was - for the most part - depressingly stable. I think the world would be a much fairer place if ability was purely a function of how much work you've put in. But unfortunately I don't think the data backs that up.
- t-writescode 2y agoA lot of my: * more advanced refactoring tricks, * patterns to improve mental management * project layout methodologies * SQL techniques and learning And more have come from mentorship with my coworkers; and I know that I've helped several developers grow more skilled themselves by showing them that a more tenured developer gets just as stuck, frustrated, etc - while also showing techniques to get myself unstuck, the way I search for answers, etc. I've also made sure to give others project sizes that I think they can handle - and when I'm wrong, I make shrink the task into smaller bits that they can then probably handle, and all of that builds confidence and experience without breaking them down. I think it even helps to build them up. So, yeah, definitely more than 10%. I'm speaking especially about the work environment. When I was going through college, sure, there were fellow students that had rougher times; but once I got into the industry everyone has been sufficiently skilled to work through things. Now, sometimes I was better at specific areas of work than people of the same or higher rank; but stepping back and watching, they were better at other areas than I was - a lot better.