3 ms·
Your description sounds so familiar to a situation I was in over a decade ago I almost wonder if it is the same! In my case the "brilliant" engineer wasn't real
by reggieband 7y ago
Your description sounds so familiar to a situation I was in over a decade ago I almost wonder if it is the same! In my case the "brilliant" engineer wasn't really that brilliant although he did have grand intentions. He ended up building an XML based configuration systems so wildly over-complicated it retarded development for everyone else involved. He'd come in overnight and make massive change that would require everyone to spend their entire day re-doing their work. He was also extremely toxic from a personality standpoint, often getting into angry exchanges with his piers. He was the type of engineer who tried to dominate technical discussions by insulting and dismissing others rather than by demonstrating the merit of his ideas. Most engineers would just avoid the confrontation and this allowed him to railroad bad ideas through. Eventually, after I left, he bypassed all dissent entirely by working overnight so that no one could even challenge him.
I was on contract so I just left. No way was I going to deal with that environment. I lost all respect for the technical management there too. The director in charge of the project seemed to be confusing arrogance and belligerence for ability. Rather than reign in a clearly toxic employee he actually encouraged everyone to work around him and touted the benefits of the crazy XML system he was building. These benefits, of course, were no more than empty promises from the employee himself. But they were politically expedient ... the director could claim the team was building some advanced system that could potentially be reused. It gave him some cover to explain why things were taking so long to deliver.
IMO, this is the worst environment possible for development. You have directors favouring empty promises for incredibly complex systems to give them good talking points. You have toxic developers who make any dissent to their bad ideas so unpleasant that they gain control. This creates a feedback loop where good engineers see bad ideas and bad behaviour get rewarded with special treatment.
- chasd00 7y agothat person doesn't sound brilliant at all. What earned him the badge "brilliant"?
- JohnBooty 7y agoWhen dealing with complicated systems (PARTICULARLY fragile, over-complicated ones) the engineers are often (unfairly) seen as "brilliant" because they're the only ones that understand the mess. It's ironic, right? The more fragile and over-complicated the system, the more the engineers who created the mess in the first are considered "brilliant." I've seen this countless times. (In defense of such engineers, it's often not their fault. They built one thing, and then management and business needs dictated a plethora of changes and technical debt against their wishes. I have been one of these engineers on occasion)
- tarsinge 7y agoThe irony is strong because brilliant engineers are the ones able to simplify problems and write simple, robust and easy to understand code. Whereas not so good engineers don't know how to manage complexity and write fragile code (and yes I'm guilty of that but trying to improve).
- watwut 7y agoProbably this: "He was the type of engineer who tried to dominate technical discussions by insulting and dismissing others rather than by demonstrating the merit of his ideas. Most engineers would just avoid the confrontation and this allowed him to railroad bad ideas through." I have seen this play out multiple times - acting like asshole can make you look smarter then you are and smarter then nicer people. First, he ended up dominating discussions, so other peoples ideas were not told. This is simple, he is having ideas and they seemingly don't. Second, other people got criticized a lot and he did not got criticized. Hence, others looking like having bad ideas and him looking like having good ideas. Yes, criticism was actually insults and dismiss and actually actual arguments, but it unfortunately often does not matter when people make impressions. Third, people have tendency to buffer criticism with praise. So when they criticize him for having been asshole, they will first euphemise with "low social skills" and then add something like "but he is good programmer/professional" to it. So that they dont sound biased or overly negative. Unfortunately, they rarely buffer praise with praise "he is so nice" is rarely followed with "and also good programmer" cause it feels unnecessary. It does not work that way for every kind of asshole through, not everyone can achieve the same. But when it works this way, imo, above are factors.
- reggieband 7y agoA few reasons, which I alluded to. He offered a grand vision for a highly-configurable system. This vision meshed with the directors desire to have such a system. He was effective in promising all of the features of such a system that the director wanted. In fact, he promised even more! To be fair to him as a developer, he was trying his best to deliver on this promise. The system as promised was beyond what he could produce. Within the giant mess he had created were many of the elements required for the grand system, they were just buried underneath very complicated XML systems and over-engineered code. He would prototype new system features working (held together with digital tape and bubble gum) to prove viability. The fact that these features were incomplete would be hand-waved away. Of course, sooner or later the system would have to be "filled in" so that all of the details were correctly handled - which would inevitably require further massive rewrites to all systems. This gave a feeling of progress but that progress was actually hollow. If anyone pointed out that most of the systems he was implementing were basically prototypes and would fail on any case other than the ones he used as examples - he would become extremely toxic. I mean, literal yelling matches. His tactic was to belittle anyone who pointed out issues in his design or his code. Most of the developers on the project were junior so they didn't stand up to his tirades, the rest just didn't want to deal with it. I have no idea why the director allowed that behaviour to continue but it was a regular occurrence. This meant that his examples worked barely enough and no one else could get their own code working without his input. That matched his toxic rhetoric that everyone else was just getting in the way of him getting things done. It also gave him the cover to work late nights when no one else was around, so no one would interrupt him while he completed this grand system. This attitude of "I am so great that others are getting in my way" is now a huge red flag for me. If your attitude is "once I'm done my grand system, everyone will thank me" then I want you off my team. Your grand system will never be done and if you develop it in isolation I can guarantee it will be of no use to anyone. If you react to feedback about your grand system with "you are too stupid to understand it" then that is even worse and I cannot get rid of you fast enough. If your system cannot be understood then that is your problem, not a problem for everyone else. The fact that someone with either of those attitudes is seen as "brilliant" by anyone is a mystery to me.
- nullspace 7y agoHah! I feel like you are writing about me from several years ago, although I don’t believe I was this toxic with my peers. Q: was the programmer in question fairly young and inexperienced? My gut tells me that these types of “brilliant programmers” flare up early on in their careers, think they are hotshots, but mature a few years into it.
- reggieband 7y agoI'm not sure how long he had been developing but he was considered senior on the team. I didn't get enough of his history to determine if he should have known better. I definitely believe people with those kind of negative attitudes can be reformed because I've seen it with my own eyes. Often all it takes is a supportive manager and some positive role models.