Unable to load image

Ask HN: Inherited the worst code and tech team I have ever seen. How to fix it? :marseysoycry::marseylaughpoundfist:

https://news.ycombinator.com/item?id=32883596

I have to find a strategy to fix this development team without managing them directly. Here is an overview:

  • this code generates more than 20 million dollars a year of revenue

  • it runs on PHP

  • it has been developed for 12 years directly on production with no source control ( hello index-new_2021-test-john_v2.php )

  • it doesn't use composer or any dependency management. It's all require_once.

  • it doesn't use any framework

  • the routing is managed exclusively as rewrites in NGInX ( the NGInX config is around 10,000 lines )

  • no code has ever been deleted. Things are just added . I gather the reason for that is because it was developed on production directly and deleting things is too risky.

  • the database structure is the same mess, no migrations, etc... When adding a column, because of the volume of data, they add a new table with a join.

  • JS and CSS is the same. Multiple versions of jQuery fighting each other depending on which page you are or even on the same page.

  • no MVC pattern of course, or whatever pattern. No templating library. It's PHP 2003 style.

  • In many places I see controllers like files making curl requests to its own rest API (via domain name, not localhost) doing oauth authorizations, etc... Just to get the menu items or list of products...

  • no caching ( but there is memcached but only used for sessions ...)

  • team is 3 people, quite junior. One backend, one front, one iOS/android. Resistance to change is huge.

  • productivity is abysmal which is understandable. The mess is just too huge to be able to build anything.

This business unit has a pretty aggressive roadmap as management and HQ has no real understanding of these blockers. And post COVID, budget is really tight.

I know a full rewrite is necessary, but how to balance it?

28
Jump in the discussion.

No email address required.

A noob who has never seen legacy systems. The bigger and older the company, the bigger the chance you'll come around this. I was a contractor for 6 months for a company that still ran Classic ASP in 2012 and was migrating to C#. I was hired specifically because I had worked with it but I hadn't touched it in like 10 years cuz who tf uses that in 2012, but then I went to a big tech corp that used asp.net 2.0 for their billing system and didn't want to touch it. Both systems were a mess because they weren't supported and nothing worked well with it.


Krayon sexually assaulted his sister. https://i.rdrama.net/images/17118241526738973.webp https://i.rdrama.net/images/17118241426254768.webp https://i.rdrama.net/images/17156480765435808.webp

Jump in the discussion.

No email address required.

Classic ASP in 2012

:marseybooba: :marseyracistgrandpa:

Jump in the discussion.

No email address required.

Yeah, the two head guys in charge learned coding on the job and had been there for 10 years. The one got fired and the other was having a meltdown that they were migrating because he built the system (it was a mess) and was completely unable to grasp MVC and C#. The other dev got sick of him taking shots for us not knowing Classic ASP, so I was left with him and he was a smug idiot. He fought hard to keep them using Classic ASP because it's all he knew, so he really felt like he was getting fired I think because he had no idea what the code was doing. He went from smug idiot to having a complete mental breakdown since I'm sure he knew he'd never get a job anywhere else.


Krayon sexually assaulted his sister. https://i.rdrama.net/images/17118241526738973.webp https://i.rdrama.net/images/17118241426254768.webp https://i.rdrama.net/images/17156480765435808.webp

Jump in the discussion.

No email address required.

He fought hard to keep them using Classic ASP because it's all he knew

That's almost a darn shame.

:#marseyschizowall:

No, no look. This older system is so much easier, I have it all mapped out here. We simply cannot move on from using the abacus, we just...hey! Stop walking away!

Jump in the discussion.

No email address required.

Yeah it was crazy. Social security numbers and credit card numbers stored in plaintext too. lol It wasn't a startup either. But I saw it all the time where a company didn't have any money for an experienced coder, so they got someone cheap who learned on the job and the database and code are a disaster. Now it's 15 years later, the same guy is there and is your boss, so you just argue with them that these things are bad and they take smug shots at you because they built it and think they are king coder.

The flipside is that you can make really great money being a contractor and working with these jobs, but it grinds you down. I'm glad I'm out of that jerrrrb market.


Krayon sexually assaulted his sister. https://i.rdrama.net/images/17118241526738973.webp https://i.rdrama.net/images/17118241426254768.webp https://i.rdrama.net/images/17156480765435808.webp

Jump in the discussion.

No email address required.

Social security numbers and credit card numbers stored in plaintext too

Jesus fricking Christ. I truly believe everyone's private shit will be available on the Internet one day because businesses don't take security seriously enough on top of the fact that people don't take their privacy seriously enough.

Congrats on getting out of that shit, though. It sounds grating despite the money. To success :marseycheers:

Jump in the discussion.

No email address required.

And that’s when you r*ped him :marseysad:

Jump in the discussion.

No email address required.

Verbally, yes. The nice thing about contracting is that you aren't trying to keep your job. You know it'll be over in a few months. They can cut you at any time, which is fine because you just move on to another one. Most people can't deal with it though because programmers are socially awkward and don't know how to interview. Plus they don't have my amazing tits.


Krayon sexually assaulted his sister. https://i.rdrama.net/images/17118241526738973.webp https://i.rdrama.net/images/17118241426254768.webp https://i.rdrama.net/images/17156480765435808.webp

Jump in the discussion.

No email address required.

transcoders dunking on legacy coders.

:marseypopcorn:

Jump in the discussion.

No email address required.

lol I've interviewed so many of him at my current job. How the frick do these people have 15+ years of experience as leads and still can't pass a basic whiteboard. Frick I had one guy that wrote as an accomplishment on his resume that he upgraded the TLS security on his company's "ebay project".

Jump in the discussion.

No email address required.

lol yeah, it wouldn't be so bad if they weren't so smug about scraping code together. The big wtf is always the database and storing all kinds of things in plaintext. But they are your boss because they just happened to be really cheap when the company was a startup.


Krayon sexually assaulted his sister. https://i.rdrama.net/images/17118241526738973.webp https://i.rdrama.net/images/17118241426254768.webp https://i.rdrama.net/images/17156480765435808.webp

Jump in the discussion.

No email address required.

![](/images/1663516903085857.webp)

Jump in the discussion.

No email address required.

No source control over 12years?

Mother of god

Jump in the discussion.

No email address required.

Start with version control and dependency management. Then slowly refactor it before adding new code

Jump in the discussion.

No email address required.

See this is how peoples ambition fricks then up. Just get a normal coding job where you can frick off half the day and still make money

Jump in the discussion.

No email address required.

:#marseyauthleft:

Snapshots:

Jump in the discussion.

No email address required.



Now playing: Candy's Love Song (DKC).mp3

Link copied to clipboard
Action successful!
Error, please refresh the page and try again.