Seven months ago:
Project Manager: - "Guys, we need to make this brand new ProjectX, here are the specs. What do you think?"

Bored Old Lead: - "I was going to resign this week but you've convinced me, this is a challenge, I never worked with this stack, I'm staying! I'll gladly play with this framework I never used before, it seems to work with this libA I can use here and this libB that I can use here! Such fun!"

Project Manager: - "Awesome! I'm counting on you!"

Six months ago:
Cprn: - "So this part you asked me to implement is tons of work due to the way you're using libA. I really don't think we need it here. We could use a more common approach."

Bored Old Lead: - "No, I already rewrote parts of libB to work with libA, we're keeping it. Just do what's needed."

Cprn: - "Really? Oh, I see. It solves this one issue I'm having at least. Did you push the changes upstream?"

Bored Old Lead: - "No, nobody uses it like that, people don't need it."

Cprn: - "Wait... What? Then why did you even *think* about using those two libs together? It makes no sense."

Bored Old Lead: - "Come on, it's a challenge! Read it! Understand it! It'll make you a better coder!"

Four months ago:
Cprn: - "That version of the framework you used is loosing support next month. We really should update."

Bored Old Lead: - "Yeah, we can't. I changed some core framework mechanics and the patches won't work with the new version. I'd have to rewrite these."

Cprn: - "Please do?"

Bored Old Lead: - "Nah, it's a waste of time! We're not updating!"

Three months ago:
Bored Old Lead: - "The code you committed doesn't pass the tests."

Cprn: - "I just run it on my working copy and everything passes."

Bored Old Lead: - "Doesn't work on mine."

Cprn: - "Let me take a look... Ah! Here you go! You've misused these two options in the framework config for your dev environment."

Bored Old Lead: - "No, I had to hack them like that to work with libB."

Cprn: - "But the new framework version already brings everything we need from libB. We could just update and drop it."

Bored Old Lead: - "No! Can't update, remember?"

Last Friday:
Bored Old Lead: - "You need to rewrite these tests. They work really slow. Two hours to pass all."

Cprn: - "What..? How come? I just run them on revision from this morning and all passed in a minute."

Bored Old Lead: - "Pull the changes and try again. I changed few input dataset objects and then copied results from error messages to assertions to make the tests pass and now it takes two hours. I've narrowed it to those weird tests here."

Cprn: - "Yeah, all of those use ORM. Maybe it's something with the model?"

Bored Old Lead: - "No, all is fine with the model. I was just there rewriting the way framework maps data types to accommodate for my new type that's really just an enum but I made it into a special custom object that needs special custom handling in the ORM. I haven't noticed any issues."

Cprn: - "What!? This makes *zero* sense! You're rewriting vendor code and expect everything to just work!? You're using libs that aren't designed to work together in production code because you wanted a challenge!?? And when everything blows up you're blaming my test code that you're feeding with incorrect dataset!??? See you on Monday, I'm going home! *door slam*"

Project Manager: - "Cprn, Bored Old Lead left on Friday. He said he can't work with you. You're responsible for Project X now."

  • 11
  • 3
  • 3
    Fml x10
  • 11
    Oh my god. Oh. my. god.
    Well, Bored Old Lead leaving was his first and only good decision for this project. And while he leaves you a mountain of shit, I think you're better off now.
  • 2
    how can someone leave a company within hours?

    but nevertheless, you earn my true condolences for inheriting such a project! at least he is gone now!
  • 1
    Mhe, drop his code up to last month, upgrade your framework and in a few weeks you're good to go 😁
    Of course that's assuming you don't get another ignorant as a project manager aaand that you don't get burned by a deadline either...
  • 1
    Wow!!! What a douche.
  • 2

    Guess Project Manager knows it?

    Otherwise explain it simple.

    Usually it would take a blowtorch to burn the shitty parts away by refactoring... But in this case, there is a mutant zombie on the loose that's made up of code that shouldn't have been there from the beginning... And changes that I'm not even aware off.

    So... No blow torch. More planet destroyer. You know... Alien? Nuke that shit from the orbit?
  • 1
    What a piece of shit.

    I better not run into Bored Old Lead or I’ll fuck his shit up for you.
  • 1
    What. The. Fuck...
    That guys a cunt but thankfully he’s saved you some pain now.
    All you’ve gotta do is update the framework, drop his bullshit and mix in your work et viola! You’ll be a hero for smashing out a business saving project.. send us updates on your success!
  • 1
    I would have left 6 months ago
  • 1
    @2erXre5 A bit over two years of accumulated leave, about 50 work days. He took all that and one month unpaid vacation.

    @IntrusionCM I wish! It's production code now, it brings money and many other (rather okay-ish) systems use its API. So not even a blow torch. A stick. And that's a maybe because PM insists on a toothpick.

    @Xamenyap Yeah... I wanted to. They just gave me a raise. Third one over last 16 months. Unfortunately, money talks.
  • 0
    @evilcoder Oh, believe me, I'm going to. Just need a few months more to buy my dream motorcycle first. Then I'll become a Harley Bum.
  • 1
    Shit, thats fucked up. Best of luck
  • 0
    Yay, time to update! :D
  • 1
    Honestly, and really surprising to my humble person, it's not a rant material any more. Ever since I got this project things seem to be running smooth-er-ish. We had a 2-day event storming session and described the model, starting with pretty okay tests coverage of ~70% pushed it to ~90%, cut off half of what's not needed from the framework, dropped both libs, we'll move it from PHP5 to PHP7 within next 6 months.
  • 1
    @cprn thanks for the update! I'm kinda surprised how bad Bored Old Lead really was for the project. Good to hear you improve things. I hope the project manager notices, you deserve a raise.
  • 1
    So, after we've risen the tests coverage to around 90%, added behavioural tests, migrated from PHP5.6 to PHP7.4, dropped most of the unnecessary dependencies replacing them with core framework functionalities, documented whatever wasn't obvious and refactored the most awkward parts of this abomination making it somewhat clean and bearable to work with... I've been officially told we're dropping the ProjectX to replace it with an equivalent system developed by the OtherCompany we merged with in December.

    Guess who got hired by the OtherCompany six months ago...
  • 1
    @cprn oof, bored old lead strikes back? Oh no. Oh fuck. This reads like some badly written fan fiction.

    Do your coworkers and bosses at least appreciate your achievements?
  • 0
    @VaderNT Yes, he's back with his brand new code. Bosses got replaced during the merger. Co-workers call with me for the mighty Norse gods to strike them with our anger and disappointment. It's a clusterfuck.
  • 1
    @cprn after thinking about it... this is such a deeply unfair situation.

    Basically, BOD left you with a pile of shit, for greener pastures. You bit the bullet and invested all that time and effort to turn it into something usable.

    Meanwhile BOD started fresh (or probably at least with something not a total POS) and didn't need to fix his own mess. People like him don't *deserve* that, and yet I see exactly that all the time.

    And maybe his new product is also a big POS. But it doesn't even matter. Your bosses (who knew him and his mess) are gone, and your new bosses view him as senior to you and *don't* know him well. I'm calling for the Norse gods, too.

    Is this story going to continue with at least some justice, I wonder?
  • 0
    @VaderNT His new product is almost exactly same shit he left but in node. He wanted to try something new again, I guess.

    At the moment I'm still trying to convince management to stay with our codebase but I don't believe it'll stick so... Yeah, life. 🤷‍♂️

    At least this time I have experience in unfucking the inunfuckuble.
  • 0
    > He wanted to try something new again, I guess.

    If that's true he never grew beyond junior level, cowboy coding mentality. Try something new all you want, but don't risk your actual product ffs.

    > At the moment I'm still trying to convince management to stay with our codebase

    Probably tough. Arguments from risk and cost may work (is your codebase more mature? Does it use more appropriate technology, have higher test coverage, a higher bus factor? etc).
    However... BOD is their "original" employee with their "original" product and may seem more trustworthy. And depending an BOD's ego, he might pull a "that was originally my project, guess why I left" stunt or something.

    > At least this time I have experience in unfucking the inunfuckuble

    Hopefully BOD lets you this time. Or quits again. ;) Good luck!
  • 0
    Oh, yeah. An update. No actual "justice" but I don't think I care any more because I left the company about 2 weeks after that last comment. Funny thing. They got sold again and closed 2 months later, so... Yeah, Bored Old Lead didn't deliver, I guess.
Add Comment