←back to thread

124 points edent | 2 comments | | HN request time: 0.529s | source
Show context
abigail95 ◴[] No.42726784[source]
Something is missing here, why do batch jobs take 13 hours? If this thing was started on an old mainframe why isn't the downtime just 5 minutes at 3:39 AM?

Exactly how much data is getting processed?

Edit: Why does rebuilding take a decade or more? This is not a complex system. It doesn't need to solve any novel engineering challenges to operate efficiently. Article does not give much insight into why this particular task couldn't be fixed in 3 months.

replies(6): >>42727086 #>>42727097 #>>42727182 #>>42727884 #>>42730222 #>>42732143 #
ajnin ◴[] No.42727182[source]
The batch jobs don't take 13 hours. They're just scheduled to run some time at night where the old offices used to be closed and the jobs could be ran with some expectations regarding data stability over the period. There are probably many jobs scheduled to run at 1AM then 2AM, etc, all depending on the previous to be finished so there is some large delay to ensure that a job does not start before the previous one is finished.

As to your "not a complex system" remark, when a system is built for 60 years, piling up new rules to implement new legislation and needs over time, you tend to end up with a tangled mess of services all interdependent that are very difficult to replace piece-wise with a new shiny architecturally pure one. This is closer to a distributed monolith than a microservices architecture. In my experience you can't rebuild such a thing "in 3 months". People who believe that are those that don't realize the complexity and the extraordinary amount of specifics, special cases, that are baked into the system, and any attempt to just rebuild from scratch in a few months hits that wall and ends up taking years.

replies(3): >>42727376 #>>42729588 #>>42731073 #
abigail95 ◴[] No.42727376[source]
The code will be spaghettified and hideous. The queries will be nonsense.

That doesn't change the fact that the ultimate goal of the system is to manage drivers licenses.

> In my experience you can't rebuild such a thing "in 3 months".

Me and my team rebuilt the core stack for the central bank of a developing country. In 3 months. The tech started in the 70s just like this. Think bigger.

replies(4): >>42729887 #>>42732027 #>>42733184 #>>42735854 #
1. mattmanser ◴[] No.42729887[source]
Yeah, I always raise an eyebrow at attitudes like that too.

I've also reimplemented or gradually replaced several out-of-date systems. Albeit on a smaller scale.

In my experience, when you start picking the programs apart you find 90% of the code is redundant or boilerplate. Much of it isn't even called from anywhere, abandoned code, and can be deleted en masse. A lot of programmers don't clean code up "just in case" and then no-one else deletes it.

They can also often be vastly simplified because programmers back then didn't have the patterns and knowledge to write consisely.

I often find myself simplifying the original code first, which gets rid of 50% of it. Then I can see what the code actually does and rewrite it which gets rid of the other 40%.

On the other hand, many programmers don't have the patience, stubbornness or skill to do this kind of work.

And the ability to get through the major panic you have when you're half way through and wondering if you were mad to even start.

replies(1): >>42730558 #
2. patrickmay ◴[] No.42730558[source]
> And the ability to get through the major panic you have when you're half way through and wondering if you were mad to even start.

I feel seen, thank you.