3 ms·
As others have pointed out, if this is the third time then it's pretty highly likely that there's more involved here than programming skill. Remember, we're on
by notacoward 10y ago
As others have pointed out, if this is the third time then it's pretty highly likely that there's more involved here than programming skill. Remember, we're only getting one side of the story. But let's assume for the sake of argument that it really is about a coding-skills gap.
Most code will be read far more than it's written. Somebody else will have to read and maintain this guy's code after he's gone, especially since he's a contractor. I think we can all agree that there are many ways code can be good or bad, and that it can be good in one way but bad overall. If this guy's code is hard to read and maintain, then in the most important sense it's not good code. Nobody will care that it's "intelligently decoupled" as he (and he alone) claims. Are there comments to make the relationships or interactions between these decoupled components more clear? Or external documentation? Decoupling is great in the abstract, but if it obscures intent or effects then it's bad code. Ditto for any other kind of "greatness" we might attribute to code. If it can't be maintained or enhanced efficiently, its greatness is transitory at best.
This isn't about "sticking out" so much as putting one's own interests ahead of the employer's. If the employer quite legitimately values code that is consumable more than code that is impressive, and you insist on making the opposite tradeoff, you're not providing what was paid for and you're also showing disrespect to everyone else involved. For that you should be fired.
- bitL 10y agoThird time might mean that he is just unlucky to find the same ol' company type or that the prevailing culture of French workplace is that of doing nothing and smiling to everyone around, and getting promotions by kissing up. He might be headhunted by Google/FB/Netflix etc. later. I know a guy who was absolutely being destroyed by his boss and director (by being simply too good and threatening them, while they were pompously presenting his achievements as their own outside), it drove him to mental hospital, he rebounded and now is a top management member of some famous German company directly affecting business with those two guys (i.e. they aren't getting any business from his company anymore). If you decide to unleash mob on somebody because "he simply can't be that good", think about the consequences. In 5 years you might be shown the door as you become the blocker for your own employer's business. It's delusional to think that everybody can read somebody else's code. Imagine Linus was employed by such employers; he would be fired within a month as nobody would be able to understand what he wrote. But right, it must be that guy who is wrong. Show me also which new hire is able to maintain production-grade Perl/Scala/C++/JEE code easily? It's a pipe dream of management. There are so many nonsenses in this discussion it's unbelievable how low our business now sank. It's like employer expects a person to be their company's slave. Exactly the mindset most of us hate with a passion as we got into computing with the goal of changing the world, not propelling everything that was horrible to new heights.
- notacoward 10y ago> Imagine Linus was employed by such employers; Your hero-worship is cute, but Linux succeeded precisely because a whole lot of people could read and understand and extend Linus's code. Furthermore, it was based on Minix, which was explicitly written with understandability in mind. That is great programming. > Show me also which new hire is able to maintain production-grade Perl/Scala/C++/JEE code easily? While it's true that not every programmer can read and maintain every other programmer's code, that's a bit of a strawman. The question is whether some easily hired programmer can maintain the code. If it requires someone with buckets more ability and experience than average, then it's too esoteric. I'll bet I can write more advanced code than you in a more difficult problem area, but I know a lot of my code needs to be maintainable by mid-level programmers (or below) so I write it in an appropriate style and try to explain it well. The OP was obviously incapable of doing that. If 11 is his only setting then - again - he's a poor programmer. It's possible to be passionate about programming without making it one big ego contest. If you want to write "clever" code, stick to TopCoder or HackerRank. If you want to write code that actually stands the test of time and benefits real people in real production, that's a whole different thing.