I'm so sick of having to maintain a 10 year old back-end codebase that is built on a proprietary php framework that isn't documented at all. I am still a student, and I'm left mostly alone to figure things out. It's been a while since I started, but it sucks all the energy out of me to figure out how things are built...

My senior is too busy with other projects so when I ask a question I only get answers hours later, and we work remote. He is so busy that he has to consistently work overtime.

I am so overwhelmed...

  • 5
    This is the stuff I hate the most about programming. Undocumented code. Undocumented libraries.
    It drives me mad.
  • 0
    Reading code is a skill. Welcome to the fire.
  • 1
    @Redd I started of as an undergraduate as well, maintaining legacy Python2 code with dirty hacks, fucked up classes, zero meaningful comments, zero threading/multitasking, even syntax errors and plain simple wrong logic.

    1year 3months and a major unauthorised rewrite later, half of it is smooth like butter. But I still find some jewels like this. They appreciated me when they came to know about the refactoring anyway. I basically refactored and documented each module/class/job which had any bug/feature implementation assigned to me.

    Gets better with time.
  • 1
    If it makes you feel any better I think anyone would struggle being alone on a 10 year old codebase, even a good one.
  • 1
    Sounds like one I had to deal with for a while. Had a mix of codeigniter, zend, angularjs (1.x), two extra node servers (because some people didn't want to deal with the mess that was the PHP side anymore, so started porting stuff, never finished).

    On the front end, each page was a separate angular application, where PHP was used to render javascript objects into the global scope, which the corresponding angular app picked up to hydrate.

    An API endpoint could be in one of 3 repos, you had to search stuff you saw printing out or getting returned, to find where.

    PHP side used raw SQL, then there was a node app that used raw SQL, and then another node app that used ORM (sequelize).

    These would call each other in completely undocumented and unpredictable ways.

    On many pages, half of the database was pulled straight into the browser so that there's no need for complicated endpoints to fetch the required data.

    Summary: If you can't move to another project, don't bother for too long...
Add Comment