3 ms·
Honestly, if you are working on a standalone feature with complicated math/distributed algorithm/transactional concurrency etc. only a handful people in the wor
by bitL 11y ago
Honestly, if you are working on a standalone feature with complicated math/distributed algorithm/transactional concurrency etc. only a handful people in the world understand, how is a code review going to help you beside trivial matters like code formatting/naming? How do you approach this situation in order not to upset the few people that can get it done?
I remember SUN's application servers had a licensed code inside their transactional core nobody was able to understand nor touch; it just worked as it was supposed to, prepared by a single genius who got it right.
- tyre 11y agoHow many teams in the world have this problem? My guess is not many. The 99% usecase in version control revolves around teams that need to enforce standards.
- bitL 11y agoI was on two such teams. So for me it's like 50% so far. But your point is taken. I am more hinting at bothering your geniuses as little with distracting tasks as possible, even at cost of hiring a "cleaner" that would make sure their work is smoothly integrated with whatever flavor of version control/issue system/project management you are running. You can completely obliterate their abilities if you force them to change their workflow instead of building a workflow around them.
- 13of40 11y agoWell, for one, it would give your coworkers a chance to learn what's inside the black box, with you there to answer any questions.
- bitL 11y agoUnfortunately, the coworkers might not be intellectually capable of understanding it at all, not even in infinite time :-( I understand this could be a management nightmare, but some things are just "given from above" and you can either turn a blind eye on them and lose the race, or use them for the benefit of your people. I would choose the latter even if I can't control it.
- 13of40 11y agoHuh - can you share a piece of source code that the average developer wouldn't be intellectually capable of understanding, not even in infinite time? Or point to one in the open source corpus?
- bitL 11y agoFor example code that computes robotic motion via non-linear optimization of non-linear differential equations? Code that computes CFD of Formula 1 car aerodynamics? Code using advanced computer vision allowing autonomous drones? How many of your developers would understand what is going on? Do you think their code review input would be different than a handful of useless comments such as "here is an extra space", "the name of this class has lowercase letters" etc.?
- detaro 11y agoYou still can make dumb mistakes in genius code. And if your teammates can't follow the code at all, then it should either be better documented or they better educated. Having code that is untouchable because the lone genius left the company/got hit by a bus isn't something to be celebrated.
- bitL 11y agoSure, but companies like SUN have huge automated testing suites that run after each commit, as well as gazillion of branches. And the author of the code is most likely contributing plenty of those tests, if only in philosophical sense (by the hands of accompanying SDET). And whether you like it or not, the best companies rise and fall with geniuses. You can't automate them away. You can only accommodate them or they go elsewhere and you are done.