Most active commenters

    ←back to thread

    127 points Anon84 | 14 comments | | HN request time: 1.34s | source | bottom
    1. tw04 ◴[] No.38508735[source]
    Plenty of folks know COBOL - the problem is you need to entice someone YOUNG to learn it, which basically means overpaying them. If I'm an 18-year-old why would I focus on learning a programming language that puts me in a job with 0 chance of advancement? Sure I'm irreplaceable to the company, but I've also only got a handful of other places I could go if they treat me poorly or sunset their mainframe.
    replies(3): >>38508805 #>>38509372 #>>38510305 #
    2. tobyjsullivan ◴[] No.38508805[source]
    I’d be curious to know how we’re defining “overpaying” here. These companies have effectively accrued 50+ years of technical debt (they could have migrated off COBOL decades ago). Meanwhile, based on my limited experience with these industries, I’d be surprised if they even offer market rates to new hires.
    replies(3): >>38508933 #>>38509381 #>>38510716 #
    3. nobodyandproud ◴[] No.38508933[source]
    Let me up the ante. Why do we believe COBOL is yech-debt?
    replies(2): >>38509208 #>>38510346 #
    4. pixl97 ◴[] No.38509208{3}[source]
    Hell, after seeing both kind of applications (java vs cobol) by these bank/financial companies I am of the opposite mind.

    Those COBOL applications will keep working until the sun burns up or inflation makes the numbers so long they no longer fit in bounds.

    The java applications they write should fill you with terror.

    replies(1): >>38510578 #
    5. rini17 ◴[] No.38509372[source]
    How do you decide which language has better chances for advancement anyway? Pick some hot bleeding edge Microsoft tech instead and learn it only to get obsolete in few years.

    You will have to eventually relearn regardless what you pick. And I can't believe having some COBOL in the CV will be an issue for anybody.

    replies(1): >>38514364 #
    6. rabuse ◴[] No.38509381[source]
    So let the market decide their fate, as their outdated crap comes to a halt with no one to maintain it.
    7. Nextgrid ◴[] No.38510305[source]
    The problem isn't knowledge of the programming language. The problem is the developer experience not just within the language but the runtime environment it's executed in, as well as the corporate environment where such systems are used.

    The developer experience is terrible, it's a completely parallel world that diverged about 25 years ago from what we're used to, and it's not particularly good. Furthermore, it's so obscenely priced that it will be never used for anything new (and forget personal projects), so career-wise it's a dead-end and confines you to only ever work in existing legacy deployments.

    The "corporate experience" for the lack of a better word is terrible too. Companies that run this have zero engineering culture (if they did they would've finished their migration off COBOL long ago) and developer positions have about the same amount of respect and political influence as the janitor. There are much better options pretty much anywhere else, so the only remaining people are too mediocre to get those better opportunities, so it's not a good environment to learn from either.

    Migrating off COBOL (or any legacy system) is possible - after all, startups have built similar systems from scratch. The problem is that this requires a competent engineering team and you won't get that without a good engineering culture and embracing engineering as one of the key pillars of your business and giving it the resources and respect it deserves.

    8. tobyjsullivan ◴[] No.38510346{3}[source]
    If there’s a shortage of developers who understand the language, then the team cannot properly understand the application (as per TFA).

    If nobody can understand the application, it cannot be modified.

    If an application cannot be modified, its value will continuously decrease with time.

    That decrease in value, as well as the projected cost of building a replacement, is tantamount to accruing interest on a debt.

    They could have reduced that debt by moving to functionally equivalent but more commonly taught languages back when their team could still understand the system.

    It wasn’t necessarily wrong for them to accrue this debt - after all, banks and these monolithic institutions are masters at effectively utilizing debt. However, the practice may have become habitual and it looks like they might be in pretty deep at this point.

    replies(1): >>38510722 #
    9. trealira ◴[] No.38510578{4}[source]
    Why do you say the Java applications at banks and financial institutions so bad? I'm not trying to contradict you or say you're wrong; I just want to know why.

    Not having ever seen this kind of software, I would assume that the existing COBOL applications are good simply because all the bad COBOL code was probably scrapped decades ago, an example of survivorship bias.

    replies(1): >>38511089 #
    10. exhilaration ◴[] No.38510716[source]
    The answer is India. Just Google India and COBOL, there's tons of schools teaching it. So if Watson doesn't work out for you, IBM is happy to sell you offshore consulting services the bridge the gap! This is all win-win for IBM -- you can can keep your $200 million mainframe service contract or hire IBM to (kinda? maybe?) move you to something more modern.
    replies(1): >>38513084 #
    11. nobodyandproud ◴[] No.38510722{4}[source]
    Many systems are obscure or niche, but that isn’t tech debt.

    What you’re describing is a management and leadership failure.

    In US tech we have an overabundance of Type A people in it for the money, but there are plenty of smart Type Bs who just want stability and a life, for a fraction of the going SV engineering pay.

    You have to wonder why the latter is impossible for American companies to achieve.

    12. pixl97 ◴[] No.38511089{5}[source]
    Survivorship bias is bad if you're making a statement like "All old houses were good because we still see some old houses around".

    But if you already have an old house that's working it's worth considering survivorship bias if you're building a new house to replace it. That new house is much less likely to survive that bias filter. Getting the new house as good as the old house will likely take you far more time and money than you expected.

    And the same is with software. For example including outside libraries in your application makes the code much easier to write. You don't have to reproduce functionality. But libraries typically work like kitchen sinks. You may not have wanted a garbage disposal, but your library came with it and for the next X years your application is around you have to make sure that disposal doesn't catch fire. From the security side you have to make sure there is no code interaction with disposal or any of the other 'household' functions its including that you're not testing for.

    At least in what I do for a living which is in the field to code security reviews (I don't do these reviews myself, but I work with the teams that do), the amount of security issues that get caught in these new applications in a multi round process, at least to me is staggering. It has to be a multi round process as we see the issues being reintroduced we'd call out in previous sessions. Quite often in these larger organizations the programming teams are so unstable that between our first calls and last calls the entire team working on it will have rotated out.

    13. nunez ◴[] No.38513084{3}[source]
    Can confirm. When I was in Hyderabad in 2019, I saw signs for a few schools marketing COBOL and FORTRAN.
    14. Kwpolska ◴[] No.38514364[source]
    COBOL is one end of the spectrum, hot bleeding edge tech is another. Pick a mature yet modern stack and it should be fine for longer.