2 ms·
> you can choose 20 different programming languages, dozens of framework and operating systems and you’re paralyzed by choice. In practice, a lot of these choi
by yodsanklai 4y ago
> you can choose 20 different programming languages, dozens of framework and operating systems and you’re paralyzed by choice.
In practice, a lot of these choices are already made of us. When you join a new project, the space of choice is limited. But when choice is too be made, what I find difficult is that you need to reach a consensus with your colleagues. When you're introverted, it's taxing. There's always some person that needs extra convincing.
Code review wasn't as pervasive and can be tiring too. Sometimes you need to explain again and again why you made that decision (it was in a design document, it was discussed in a meeting, and then the question is brought again in the code review).
But the worse part for me is the accumulation of abstraction layers and dependencies. I'm working on a project with tons of internal dependencies that are loosely specified and documented, all of them introduce some unreliability. The whole edifice is fragile, and yet is expected to work 24/7. This causes a lot of stress.
- ravenstine 4y agoI really appreciate the code review process, but one of the sorts of tyranny that can come from code review is for everything needing some kind of explanation. It's not necessarily a good thing for crap to get into a codebase, but as long as the code works well and is readable, I am less concerned if something is redundant. Either someone will realize that redundancy later or it will remain in place because it's just not that important. But code reviews today can feel like an anal probe from FBI agents.
- 0x445442 4y agoYeah, I call it collectivized micro management.
- deleted 4y ago[deleted]
- coliveira 4y ago> But the worse part for me is the accumulation of abstraction layers and dependencies. Yes, open source has a lot of positives, but the bad part is how it has created a culture that incentivizes such a huge amount of dependencies for every project. It seems that for any new requirement the only possible solution is to add a new dependency on yet another library. This results in fragile builds and daily changes caused by dependency updates. In some cases it causes as much troubles as the perceived benefits.