• Nanis (unregistered)


  • Derp (unregistered)

    Oh god, I've worked with someone like this. He overheard me justifiably criticizing the outdated (it finally started allowing for loops in 2013, 27 years after it released) proprietary language we used and spent the next three months making it impossible for me to work.

  • MaxArt (unregistered)

    I wonder how many of those "geniuses" are around. Because one might ask how the world even resembles to be working.

  • Blakeyrat (unregistered)

    Lovely writing. The style looks familiar. A bit Poe-ish. Any idea on what it's based?

  • Meh (unregistered) in reply to Blakeyrat

    Great Old HP Lovecraft also had several stories in diary format - I'm guessing the inspiration came from there

  • Remy Porter (google) in reply to Blakeyrat

    According to Ellis, it was Mary Shelley that she drew the inspiration from.

  • DocMonster (unregistered)

    Still a good choice. And yes, people like that lurk in dark corners everywhere, using seniority in time spent with the company (because they can't get a job elsewhere) to worm their way into and corrupt the heart of the company, where they remain until they finally get ousted and find their career has been put to the sword, or their poison finally kills the organization and they go down with the ship.

    What I have never managed to figure out, is do these types KNOW that their design is shit? Are they just arrogant and conceited, or is it more that they just don't want to risk anything, no matter how minor, showing that they aren't the genius-level guru that management believes? In other words is it ignorance or selfishness that brings about the rise of these self-proclaimed geniuses who know nothing, ruin everything they touch and vehemently fight to remove anyone who could show them for the frauds they are?

  • TheNewGuy (unregistered)

    I've been working for over 6 months now in a company like that. Our "Architect" (for correct pronunciation put some awe on it) fits even the physical description from the story. The "Framework" (again, with awe, it should be easy since heavenly music will sound when you say it) is a giant I have to do battle with for every small change I'm asked to implement, even when it's intended purpose is the exact opposite. Bonus points to the Architect for trying (enphasis on "trying" because it fails miseralbly) to create his own ORM; because you know, the thousands of development man hours put on well stablished, proven products like Entity Framework and Hibernate are just a lie. I've tried to talk about this to my fellow developers, but I have the feeling I'm living in a computer science version of the old tale of "The The Emperor's New Clothes"

  • (nodebb)

    @DocMonster dunno if you've heard of Dunning-Kruger (look it up on Wikipedia if not), but it sheds some light. Personally I think the majority of these types (rather frighteningly) really don't realise they suck hard and fuck everything up.

  • Peter (unregistered) in reply to DocMonster

    I worked with the hardware equivalent of The Architect. He was an intelligent, personable older guy, an experienced and competent engineer.

    However...he liked challenges. If a project did not have enough of them, he would create them, by making things more complicated and/or ornate than necessary, or ripping out sections of circuitry and redoing them. We put up with his antics, because he was a good engineer, just...finicky.

    The final straw came on a project he owned, but I was called in to take over the design of some programmable logic. He had roughed out (and by that, I mean created blank files with empty headers) the design, and all I had to do, according to him, was fill in the logic.

    The files were in...wait for it...Word 1.0. Yes, these were Verilog source code files, written in Microsoft Word, as .doc files. When I asked why, he replied that he found it easier to code in Word, because he could write comments in one color, headers in another and code in a third. He had written a macro to convert these Word files to plain text files, which were then used as input to the Verilog compiler. His conversion macro wouldn't run on any later version of Word, so he had created a removable bootable hard drive with the particular version of Word and the version of Windows (I think it was Win95) on which it ran. Of course, we were running the PLD development system on the latest version of Windows, so this meant that source file creation needed to be done on one OS and compilation of the PLD code on another.

    Needless to say, after he explained all this to me, I was pretty much speechless.

    Then, he went on a 2 week vacation. My boss told me I owned the code. I asked if this meant I owned the entire process as well, and I was informed that I did. I immediately began to use vim for source code editing, with the Verilog keywords automatically highlighted, and on the same PC used for the PLD development system. There was a significant boost in my productivity.

    This was at least 5 years ago, and the engineer involved has left. But whenever the topic of source code editors comes up, my boss always mentions Word...

  • Ron Fox (google)

    "I shall log my experiences for your edification. " -- Please don't was my first reaction. Nice writing to dress up an all too familiar tale of woe.

  • Gargravarr (unregistered) in reply to Peter

    Anyone, absolutely anyone writing source code in a word processor should be fired on the spot. That's just outright horrifying.

  • Remy Porter (google) in reply to Peter

    Do us all a favor and click that little submit button on the site. That's a great hook for an article!

  • Nook Schreier (unregistered) in reply to Gargravarr

    I had a college "professor" who started writing C code (in class, visible on the projector screen) in notepad, and was confused when he couldn't find the menu item to compile.

  • Nahkh (unregistered)

    My greatest fear is not that I would have to work with someone like the Architect, but that I would become one.

  • (nodebb) in reply to Gargravarr

    Anyone, absolutely anyone writing source code in a word processor should be fired on the spot.

    Worse still, they might be writing VBA!

  • Architect in training (unregistered) in reply to Nahkh

    This. I'm at a currently small company, in a pretty good position to eventually become one. I'm terrified that I'm already on my way and don't even realize it.

  • (nodebb) in reply to DocMonster
    Are they just arrogant and conceited, or is it more that they just don't want to risk anything, no matter how minor, showing that they aren't the genius-level guru that management believes?


  • Mason Wheeler (unregistered) in reply to Gargravarr

    What if it was the boss who required us to do so? (Yes, this has happened to me. No, I'm not still with the company in question.)

  • Carl Witthoft (google) in reply to Remy Porter

    Odd.. seemed much closer to the letter-writing format in the original Dracula novel.

  • DocMonster (unregistered) in reply to Gargravarr

    Irony here: I had a job where Word was our IDE, because we "programmed" using a custom-built (it might have been an existing addon, never found out) templating language for RTF (not even .DOC) files that was like a slightly better but not quite version of Word's mail merge feature (and later we "switched" to using the mail merge features for a program we became consultants for, so programming dynamic word docs, often with lots of if/then logic, using MAIL MERGE). An example syntax might be:

    [QUERY "EXEC USP_MYPROC '#VARIABLE1#', '#VARIABLE2'] Hey here's some document text! [IF SOME_FIELD = 'Y']SOME_FIELD was Yes[ELSE]SOME_FIELD was No[ENDIF]. Here's some more text. [MERGELOOP "EXEC USP_PROC_FOR_LOOP '#param#']Customer names: [MERGEFIELD CustomerName][ENDMERGE]

    and I spent about 2 years doing that. Then we moved to using a program that actually used word's mail merge and was even less intuitive than the above one and even harder to do things (our custom language could check multiple values, the mail merge one needed to have nested if statements inside of double quotes.

  • (nodebb) in reply to Nook Schreier

    He may have been one of those Linux (or Mac) developers who was not familiar with Windows's Notepad. Or he was working on a machine that didn't have Notepad replaced with a minimal IDE like Notepad++ like his own did and simply forgot.

  • George Gonzalez (unregistered)

    Yeah, I've been at places like that. The wizard there had complicated an already bad 5-million-line code base to the point where it was unmodifiable. I tried to fix one small problem in the error reporting and I failed, as the distance from the error to the error logger code was more than 18 levels. I lost track when it jumped through an interface. Maybe it's just me but I think an error logger doesn't need more than a couple levels. Another big bag on the side was a user-accessible scripting language, that was rather shaky and had grown to encompass over 400,000 very shaky lines of code. It was pretty much that way everywhere, about a dozen levels of unnecessary complexity in every little thing. Fortunately for me my "boss", who thought the code was "amazing", and I both realized I was not the one for this and we both agreed I should shove off. About the happiest day of my life.

  • Rick (unregistered) in reply to Gargravarr

    When I was finishing up my BS, in my second Java class my three team members all submitted their code to me in Word files. They constantly complained that they couldn't get anything to compile.

  • (nodebb) in reply to George Gonzalez

    You know something? The last time I read something talking about a "bag on the side of" something was The Soul of a New Machine, where the plans were criticised sometimes for being directed at producing "a bag on the side of the Eclipse", that is, the Data General Eclipse 16-bit minicomputer.

  • Nook Schreier (unregistered) in reply to djls45

    No, unfortunately he was simply a moron, which became obvious for other reasons. Also, this was around 1998, so notepad++ didn't exist yet. He was supposed to be using a DOS-based Borland C IDE.

  • SmellTheDespair (unregistered)

    TRWTF is Frederik: "The other developers are starting to filter into the office now. Peeking over the cubicle walls, I see plainly the hopelessness in their eyes."

    No, you must interview with the existing Dev's before taking the job. Back in the dark ages in Memphis, I interviewed at an old IBM shop (I was DEC and Data General, lol), and the owner and I toured the dev area as part of the interview. I saw the despondence and silent despair in the terrified developer's eyes as I walked through. I remember it to this day. I turned down the offer.

  • PITA (unregistered) in reply to MaxArt

    They are all the same genius, just on different threads.

  • CrushU (unregistered)
    Many functions and constructors require 256 parameters- or more!

    I involuntarily shuddered and gagged at that line.

    If I ever have more than 5 parameters, I start looking for a way to bundle things up into a single Object that makes sense to pass instead. Basically, more than 5 parameters: Something, Somewhere, has gone Terribly Wrong.

  • gnasher729 (unregistered) in reply to Rick

    But really, why doesn't writing source code in Word or some other word processor work? Programming languages read lines from a file containing characters. All you need is a library that reads a word processor document line by line and use it in the compiler, and compiling word processor documents shouldn't be a problem. It's just a limitation of compilers and diff tools.

  • George Gonzalez (unregistered) in reply to Steve_The_Cynic

    Yeah, that's where I got "a bag on the side". In that case it really was, they used some of the NOP bits in the original Nova instruction set to implement all the new instructions, which made the instruction set awfully random.

  • (nodebb)

    Oh come on, nobody's mentioned SpectateSwamp yet?

  • DocMonster (unregistered) in reply to SmellTheDespair

    And by extension, a company that doesn't let you meet with the developers is itself a big red flag, because it shows (even if not the case) that they are hiding something.

  • DocMonster (unregistered) in reply to Tsaukpaetra

    Let's not bring THAT up ever again.

  • Matt Westwood (unregistered) in reply to dkf

    Way back when, before fancy IDEs like Notepad++ and the like, we started to rewrite our system documentation (which was a paradigm of quality, I kid you not, I've never seen a company document their stuff so well) in html so it could be presented into one of those new-fangled "browsers". We wrote it in plaintext on a VAX (as that's where most of our code still lived, this was getting on for 20 years ago, and we were behind the curve even then) and copied it up to our PCs somehow or other, I can't remember now.

    And then one of our bosses started to take our carefully-crafted html and edit them in Word, using the html import/export functionality that it had in those days. Except it was rubbish, and all our fancy formatting (like: use of sophisticated things like H1, H2, LI, OL, UL, TR, TD, all those exciting commands that made the text all pretty on the screen ) all got changed into what Word thought it ought to have looked like.

  • Andrew (unregistered) in reply to gnasher729

    The big reason would be that .doc files aren't just text . They're text and formatting, ie font type, font size, spacing information, etc. In theory you could make a compiler that would strip out the superfluous formatting information and compile the resulting plain text. Also in theory you could turn a screwdriver into a tool that can pound in nails. But why?

    It's the wrong tool for the job in the first place, and if you don't want the added features of a proper IDE you can just code in Notepad++ or some other plain text editor.

  • TimothyB (unregistered) in reply to gnasher729

    Your comment is successfully yanking my chain.

    Anyone here have to deal with someone who copy/pasted commands from a doc or email into a shell script? It turns out that those fancy em-dashes don't work well for command switches...

  • Worf (unregistered)

    Stupid question - why is the Listener interfacing having a publish() method a WTF?

    Or perhaps.. what are those things?

  • (nodebb)

    Dark code of Cthulhu, Frederic, what have you done? Don't you know that the word of Cthulhu spreads like contagion, and that your missives have doomed Susanna? Woe for you both.

  • J. (unregistered) in reply to Peter

    Heh, reminds me of ColorForth

  • Bert (unregistered) in reply to CrushU

    If you ever need more than 5 parameters, your function is doing too many things in the first place. A single ParametersObject argument is just sweeping the problem under the rug.

  • Appalled (unregistered) in reply to TimothyB

    "Anyone here have to deal with someone who copy/pasted commands from a doc or email into a shell script? It turns out that those fancy em-dashes don't work well for command switches..."

    and "curly" quotes, single or double, for any other language that uses them. (Are there any that DON'T?)

  • Meh (unregistered) in reply to DocMonster

    Are they just arrogant and conceited, or is it more that they just don't want to risk anything,...?

    I assume this is a logical OR, not a linguistic one ? I've ran into several people who were both at the same time...

  • Mr A (unregistered) in reply to DocMonster
  • Werner (unregistered) in reply to Mr A

    +1 I also came across that blog recently. It is a fascinating read.

    TLDR: those people are Expert Beginners. They are "good enough" early in their careers when they are starting out. Management is non-technical, so they believe him to be an expert, and he himself doesn't realize he still has a lot to learn: Anything he doesn't know is simply not worth knowing.

    When the company grows and hires people more competent than "the Expert" he then uses his seniority and clout with management to conceal his incompetence.

  • Barf 4Eva (unregistered) in reply to Nahkh

    a++ on this statement.. I think that it is good thing to admit to the fear becoming the Architect, or to admit whether you already have become one. It means you are not stuck in your ways, willing to change, admit making the wrong choices, and move on to make them right... All of which allow you to "re-architect" yourself in to a better developer. All about droppin that ego, son! :)

  • FennNaten (unregistered) in reply to Worf

    Hi Worf, publisher/subscriber or emitter/listener is a pattern where some objects can emit signals/events/messages and some others can subscribe/listen to those. There are several ways of achieving this, with or without levels of indirection. And you may have objects being both emitters and listeners. However, when you talk about the listener interface, this means roughly "the set of methods/properties required to be a listener". So, having publish(), which is a defining method for a publisher, inside of the listener interface, is kind of a WTF.

  • StegOSaurus (unregistered)

    Frederic's advice shouldn't be for Susanna to change her major, but rather to be wary of working anywhere with a resident 'genius'.

Leave a comment on “It's Dark In Here”

Log In or post as a guest

Replying to comment #:

« Return to Article