Spaghetti Code - what do you do?

Fox News / Eng
HannityS

Fox News Eng

BIO
15 YOE in Java, includes 8 YOE in Android.
HannitySmore
Sep 6 10 Comments

YOE: 15 as java, includes 8 as android.
TC: <<Peanuts>>

Disclaimer:- This is with regards to multiple projects across different organizations, and not just my current employer that i have been with only for the past 1 year, although the situation does exist.

90% of my programming experience, i have adopted project code-base from other developers, that i replaced, or joined alongside, with minimal to no support for coming up-to-speed.

7 years ago i used to take pride in my overwhelmingly extra-ordinary ability to read code-base like a magazine / novel, and identify root-cause for bugs and fix them immediately. and i used to wonder how is it that other developers much older and senior to me can't seem to put one-and-one together.

past 3 years have been an entirely opposite up-hill battle. i have been struggling to wrap my head around the code-base, let alone being able to identify root-cause for bugs and potential fixes, to fixes that necessitate editing code in multiple files, to new-feature development even, based of existing architecture implementations.

part of the problem clearly is lack of adequate support from peer developers. nobody's got the time. i used to not have time back then, to share some tribal-knowledge of the operations within the team, more so than inefficiencies with the tech-stack. when a feature-functionality comes up in discussions, as a engineer i have a vague idea, but the reality of code implementations seemingly is entirely different.

i am sure many senior and super-senior engineers and architects come across this problem while job-hopping. how do you cope with it?

comments

Want to comment? LOG IN or SIGN UP
TOP 10 Comments
  • New bbsfojs
    You can not change something rotten in the root. Time for you to move on.

    You have a bigger issue. Who is going to hire you after putting Foxnews on your resume. Time for you to move on to a better company and a better paying job.
    Sep 6 2
    • Fox News / Eng
      HannityS

      Fox News Eng

      BIO
      15 YOE in Java, includes 8 YOE in Android.
      HannitySmore
      OP
      why would digital engineering have anything to do with everything else in the org?
      Sep 6
    • Amazon 273g67eb2n
      Ignore the post from the no-name-company employee. Nobody worth their salt would care if you work for a media station as an engineer just because that particular station doesn't line up with their own personal politics.
      Sep 6
  • Google / Product ex-xoogler
    How good does code to display clickbait and annoying ads really have to be?
    Sep 6 1
    • Fox News / Eng
      HannityS

      Fox News Eng

      BIO
      15 YOE in Java, includes 8 YOE in Android.
      HannitySmore
      OP
      we try to do it better, around your lame ima library and it's non-functioning callbacks.
      Sep 6
  • Google monrow
    I don't have as much experience as you do but I have seen a lot of such bad code bases. The are two kinds of spaghetti codebases in my opinion.
    1. The code base was well maintained during the initial stages of the project but once the core/experienced developers left, it got messy.

    2. The project started out as a shithousery and got even worse as time passed.

    In case of 2, I'd leave right away because it's impossible to change the culture of the team. If you are a tech lead you could propose a migration plan or an incremental revamp but that is a huge investment.

    Case 1, you can go through the history and understand why something was written the way it was. Atleast you can cope with it a bit longer than 2.

    But if you are working with legacy framework which will have no market value, it's a hellish job to do.

    I once read through a Java codebase and I questioned my entire existence. AbstractFactoryInjectonBuilderStub. Lol what the heck is that.
    Sep 6 1
    • Express Scripts TCorLC
      It’s a Stubbed Builder which injects Abstract Factories of course
      Sep 6
  • Netflix rAcC67
    Most interesting part of this post is that’s the OP works for Fox News.

    What I always do is start reading the unit tests first. If the tests don’t make any sense, then it’s a low bar engineering org.
    Sep 6 0
  • Uber uZ9mM
    Could you spend some time refactoring the code? Once it’s de-spaghetti-ed, do you think you could keep it that way, e.g. with reviews and guidelines?

    If yes, do that because it’s your job.

    If no, there are cultural issues that likely are above your pay grade. Complain, start interviewing, and be prepared to leave if things don’t improve.
    Sep 6 0
  • Indeed Odd Job
    Add some sauce, meatballs 🍝
    Sep 6 0