4 ms·
I had a coworker recently whose behavior became problematic, leading me to discover a similar situation. For example: I introduced a style / complexity checki
by jfrisby 11y ago
I had a coworker recently whose behavior became problematic, leading me to discover a similar situation.
For example: I introduced a style / complexity checking tool into various repos, including his. When I ran it, it flagged a couple methods as too complex. We got into an argument over whether this was a fair assessment or not. The end result was that I left things where they were and moved on to something else until I could coordinate with the CTO on how to achieve my objectives in this context. (My role involves security...)
It's worth noting that at that point the tool was optional and out-of-band. It wasn't failing CI, it wasn't required as part of any other workflow, etc. At that point it existed solely for my own use and he could have ignored it for the time being.
At the end of the very next day, he brags to me about how he's "fixed" the complexity issues in the code. Based on my previous interactions with him, I decided to check this out. His "fix" was to put meta-comments in that disabled the relevant rules for the code violating them. Except he put the meta-comment to disable each rule several statements earlier than needed, and didn't include any meta-comments to re-enable the rules after the relevant code. And he had changed the config file comments I had made, reflecting that the exceptions from the company standard configuration were done to accommodate his needs (I felt it was important to have that context present for future maintenance efforts).
His bragging to me about "fixing" the complexity issues (and yes, he used the word "fix") struck me as being either deeply dishonest, or representative of a truly breathtaking lack of understanding.
Between this and several other incidents (most of them I merely observed, some I was entangled in), I decided to dig into his background a bit.
I found a few things that I could chalk up to simply not understanding the very domain-specific meaning of some general-sounding terms in particular contexts. For example: On his FounderDating profile he listed himself as having been a "mentor" to TogetherSoft / Borland. That just seemed... beyond implausible to me. So I read deeper and it seems his role at TogetherSoft (acquired by Borland turing his tenure) involved mentoring coworkers.
Ok, I'll chalk that up to an innocent mistake.
Then I get to the startup he co-founded. Except... wait. The dates here don't fit with those on his resume? Hrm. Start-date was some 6 months after the company was founded.
I tracked down the main founder's email and sent him a brief inquiry, with a fairly vague wording, asking about the time discrepancy, and asking if perhaps this was some unusual situation and that he was in fact a founder. I got an initial response asking for clarification, to which I responded. No response to that. So the founder didn't even want to say "yeah, he was a (co-)founder."
At my employer, he had taken a truly beautiful codebase written by ThoughtBot and absolutely wrecked it in the space of 2 months: He refused to gain any significant understanding of Ruby, Rails, or Angular. He ripped out Angular in favor of his own templating library. He reinvented ActiveRecord associations, incorrectly because he didn't like that the column name had to have `_id` at the end. And all the while he would rail in front of the entire company during demos about how "stupid" various tools were. "HighCharts is such a broken library -- you can't even remove a series from a chart once you've added it!" / "Wait, that seems ridiculous. Are you sure?" / "Yeah, I scoured the docs and found nothing. Googled it and found loads of other people having the same issue. I'm gonna have to blow away the whole chart and recreate it whenever there's a change!" / "... I just found the method right here while you were talking about it, and here's a jsFiddle showing that it works as expected."
I also found out he'd introduced his templating library without clarifying that it was created by him (he just announced it as a good tool he'd "found"), and had done so at at least one other company.
Given the damage done, here and apparently elsewhere, I'm seriously inclined to blog about it publicly -- name him, so that any potential employers who google him will have access to some very relevant information.
Perhaps you could write a blog post that makes a point of outlining who the founding team is? A "founders" page doesn't help because one expects that a departed cofounder would be scrubbed from it, but a blog post may raise alarm flags for more people. You wouldn't even have to name him explicitly -- just not include him, or mention him indirectly ("we hired a contractor to do X").