7 ms·
100 times this. There's a massive organizational cost to having N "languages" that a developer needs to know to be able to solve a problem end to end. Unless yo
by ledauphin 5y ago
100 times this. There's a massive organizational cost to having N "languages" that a developer needs to know to be able to solve a problem end to end. Unless you have a very large team and redundancy within every specialty, having N heavyweight tools is going to destroy you on a regular basis while you wait for the new person to spin up on them.
Pick 5 tools and use them religiously. They're rarely the optimal tool for anything, but unless you're operating at large scale, you'll always get better results sooner.
- lmilcin 5y agoWhen people complain that nowadays new developers can't get anything right, I think we forget that when those experienced people started their careers, myself included, you just had to know one or two languages, couple of simple APIs and that would be enough to code away almost everything that you were expected to do. Nowadays I seem to need 20 different complex technologies to be able to do even a simple service. I can do that because I had the luxury of learning them slowly over the years as they were taking over the market. But what about those new guys? They can't learn everything well all at the same time. So they must do shoddy work at least somewhere, the whole system is stacked against them. Or they need to Ctrl+c/Ctrl+v most of their solution without understanding where it came from or what it does exactly. And compromise on understanding the important parts like computer architecture, OS internals or networking protocols that they just don't have bandwidth to learn after learning all those frameworks, libraries, DSLs, tools and so on so that they can see something running. I think it is responsibility of the senior people in the project to manage cognitive load of the rest of the team and keep it at a reasonable level. Sometimes a new tool looks shiny and fun. But is the added benefit worth the disruption to everybody? I think of ability to learn and keep things in memory as a kind of budget. I try to make good use of it.
- ledauphin 5y agoI want to copy-paste this whole comment onto my mirror so I see it every morning. Yes, managing the team's cognitive load is one of the primary jobs of a senior technical leader. I feel lucky that I've been able to pick up as many tools as I have, but it was generally only two or three at a time, and the more I look around, the more great tools I see that I still don't know how to use. That doesn't mean they aren't great, but I know that even with my decades of experience, I wouldn't be able to build something with those tools without a big upfront investment in learning them.