6 ms·
Cutting-edge IT firms need experts in 'dead' languages
- rbanffy 15y agoI have discovered, a couple weeks back, that the master's thesis of a guy, who was presenting it on a Google-sponsored event, is about the tools for gradually porting the still-running, still-mission-critical Dataflex application I helped write 25 years ago. It's used by a good couple hundred municipalities in Brazil to balance their books and help adhere to their required accounting practices.
- furyg3 15y agoBah, financial apps. My current company frequently hires a FoxPro 'expert' to do customization of a horrible financial app. It worries me deeply that there is a company marketing "new" accounting software based on tech this old, and that people buy it. It doesn't bother too much that we pay the consultant a lot to customize it, because it seems like hell.
- rbanffy 15y agoI don't know how the code evolved in the past 25 years, but Datafles, the version 2 in particular, was a very nice and productive language to use. I use to say it was like Rails for the VT-100 ;-)
- wccrawford 15y agoSounds like they need to realize that some programmers can learn a language as they go... At least, well enough to fix problems and do minor changes. You don't need someone fluent in the language for every problem. They also need to realize that sometimes it really is cheaper/better to start from scratch than to try to prop up a dying system. Complaining about the cost of programmers while refusing to do a rewrite is pointless. You've picked your path.
- 16s 15y agoMany of these older languages do things that younger programmers are taught not to do. If you've only ever programmed in OOP/Java, Ruby or .Net, I'm not sure you'll "learn as you go" as you'll have to go against much of what you learned in college or at your startup. If you are able to do that (think outside of what you've been taught), then you'll be fine, if not, you'll fail and complain and suggest that it be re-written in Ruby, etc. Edit: And if they do re-write it, they'll use C++ code written like C code. Not that there is anything wrong with that, but just know that they "think different" and you have to adapt to their way, not them to yours.
- CountHackulus 15y agoThis is especially true of COBOL where PERFORM statements are like an internal subroutine ending with a goto. It looks like heracy when you first see how it was implemented 30 years ago. Arbitrary unions are pretty neat too but look like black magic to the uninitiated.
- dagw 15y agoDoing a rewrite of, say, an APL system without programmers with a really deep understanding of APL on the team will most likely end in failure and misery. So you're still faced with the problem of finding and hiring people who know APL. Also letting some RoR hacker, who heard about APL for the first time 3 days ago, loose on your super critical production code, probably isn't that great an idea either
- gaius 15y agoA former employer spent literally 9-figures on repeated attempts to port a legacy app from VAX BASIC to C++ on Unix. God only knows how much they would need to do APL...
- jharsman 15y agoProvided you still have source code and development tools available, the problem in cases like this usually isn't the language. Even APL is pretty easy to pick up if you have a book or someone to teach you. The bigger issue is that the application you need to fix is mission critical, undocumented and contains massive amounts of spaghetti code. There usually aren't any tests, source control might not be used and it's far from certain there are automated builds or deploy scripts. In some cases you might not even have source or the tools to use it, and then you have much bigger problems. But the language usually isn't the main problem.
- mgkimsal 15y agoAlthough a perfect world option would be for organisations to move their entire systems to a new platform, this would prove extremely costly at a time when the sector has seen its capital expenditure come under pressure. Given that many banks are reporting record profits, I'm not sure I buy the 'it costs too much' argument. There are also enormous business risks associated with a transfer from one system to another Yes, there are risks, but there are also large business risks in finding out that there's no one left who can keep your systems running either. Or, there's only 2, and each person charges $2k/hour (remember, you can't switch because it costs too much!).
- retube 15y ago> Given that many banks are reporting record profits What??? UK banks, including RBS which is the biggest in Scotland - the source of this report - are having a disastrous time. They're still reeling from the 2008 meltdown, are facing huge costs re mis-selling of PPI and to cap it all are now suffering from the Eurozone crisis. Their share prices are collapsing and they're sacking 10s of 1000s of people. They do not have money for massive capital infrastructure investment.
- arethuza 15y agoUnfortunately I suspect RBS would simply go to its owners for any additional capital requirements.
- mgkimsal 15y agoI thought of that afterwards. Yes, some banks and having trouble. But... when business was great they didn't do it either. Banks shouldn't even bother mentioning "it's too expensive" because they've proved that even when profits are great, they still won't quickly move away from 60s legacy cobol systems.
- retube 15y agoDepends what you mean by "profits are great". When Goldman or Lloyds report profits of $10bn they get slated for massive profiteering. But a profit figure alone is meaningless. The number you're after is profit divided by market cap. Investors want a return on their shareholding: they want dividends. If a company has a market cap of $200bn a $10bn profit is 5% return. And not all that will be paid as dividends, much WILL be re-invested. So maybe the investor earns a return of just 2%. And if investors don't make a return, they'll bail out. Stock will fall, the bank will suffer, jobs will be lost. So it's important a bank does make these "big" profits. It's all very well to wring your hands and demand investment in an area that you think is worthwhile, but that profit has got to feed a lot of mouths. Relatively speaking the profits are NOT that big. Perhaps bank leaders _are_ being short-sighted about this, but it's a whole lot more complex than bankers filling their pockets to get rich in the short term. And from personal experience I can assure you one thing: they will invest wherever they think they'll get the best return. Perhaps that isn't aging IT systems.
- jsvaughan 15y agoJobserve has 4 pages of Java jobs in Scotland but zero pages of Cobol jobs. So this story isn't that plausible. Ok, so maybe there are fewer jobs but harder to fill? Well, when you look at Cobol roles across the whole of the UK they are paying below equivalent java developer rates. So yeah, not worth learning Cobol just yet.
- goodside 15y agoThe demand is expressed not by heavy monetary compensation of new hires, but by retention of low-performing, overpaid employees with extensive domain knowledge but few other marketable skills. It's less visible, but equally expensive.
- mathattack 15y ago"So, how do we reskill a workforce to adapt not only to challenges of the new but also to cope with the legacy of the old? Universities in conjunction with major employers should work together to address this issue." I think the market will take care of this, rather than universities. It is simple supply and demand. If COBOL programmers get paid enough of a premium, people will learn COBOL. This is an order of magnitude more likely than finding professors to teach a language they dislike. Even 20 years ago few students were lining up for university COBOL courses.
- arethuza 15y ago"If COBOL programmers get paid enough of a premium, people will learn COBOL" I've never understood why it is always presented as a bad thing for free market economics to apply to hiring people to do shitty jobs.
- JoeAltmaier 15y agoIts hard enough to get good programmers to write in cool languages - tried to hire some lately? It seems obvious, in a programmer shortage, that nobody good is going to go work for this cutting-edge(!?) IT company.
- arethuza 15y agoPay me £500K a year and I'd learn Cobol and I'm in Edinburgh :-) Pay me £600K a year and I'd even wear a suit and tie. Actually, I suspect that I'd probably start writing something to convert COBOL to/from s-expressions and automate any changes to be made.
- JoeAltmaier 15y ago...now to get suits to pay that much for a COBOL programmer! They probably would rather die. Maybe by marketing it right - you're a C2D (COBOL to Die) conversion consultant, ready to do the heavy lifting to modernize their obsolete codebase...
- nfm 15y agoGiven the spate of recent pre-2000 news articles that have been posted on HN lately, I was astonished to see (after skimming this) that it's dated August 2011. "While our universities are turning out very able graduates, well versed in the sexy new languages of Java, .Net and the like..." I chuckled.
- arethuza 15y agoInteresting - I tried three different recruiting sites (including s1jobs - which is local to Scotland) and I can't find any posts mentioning Cobol.
- cygwin98 15y agoI see utter incompetency in the management lack of planning and leadership. Though the hacker inside me find it a good opportunity to practice compiler theories, say, write a compiler to translate modern languages to Cobol, just like CoffeeScript to Javascript.
- exDM69 15y agoWouldn't the opposite solution be better? Write a compiler from Cobol to another language? Perhaps C, because C can be called from any other language and can do gotos, etc to emulate legacy control flow and other oddities. After you have your legacy Cobol code running in a modern environment and the frontend can interface with it, you can start gutting it piece by piece to get rid of the legacy codebase. I fear that in 50 years, there will be a tremendous need for programmers that can deal with a horrible 1990's language called Java and fucked up non-paradigm called object oriented programming. I also see this as a problem with the companies who still want to maintain code from decades ago. It will become more expensive day by day. Of course, to a banker, computer programming and it maintenance is nothing but a cost. However, at some point it will become more affordable in the long term to just scrap the old legacy systems.
- 16s 15y agoIn MBA school they are taught that you are a cog that can be replaced by a similar one. They have no idea of the weak position they are in. The old COBOL guys have them over a barrel and the system vendors can charge whatever they wish for maintenance.
- Stwerner 15y agoSince I'm taking a Cobol class this next semester for a similar reason, I went searching for whats out there and found some people attempting that: https://github.com/dayashi/cobor https://github.com/dayashi/cobor
- jurre 15y agoI really don't see the problem here, you can just hire people and have them learn Cobol right? Sure it will take some adjusting for someone who's never used it but after a month or so they should be fine.
- gaius 15y agoIt takes 6-12 months to become competent in a language. You could maybe be at the level to make modifications in 1 month. Remember that it's not about a language really, but a platform.
- s1rech 15y agoSummary: "We want to fill positions using ancient and obsolete systems that nobody would like to touch, BUT we are not going to pay any premium for it. We wonder why developers are not falling over themselves to come work for us."
- JunkDNA 15y agoIndeed. I recently saw a US job posting located in a major city that wanted a COBOL programmer to update a legacy system. I know I've read articles in the past about how much of a need there is for COBOL programmers, so I was kind of curious what someone would pay for one. They advertised that the pay would be $30/hour. You could make far more writing horrid J2EE code for practically any big company.
- ChuckMcM 15y agoHowever, if you have the requisite skills, you can often contact these folks and say "Sure I'll help, but my rate is actually $500/hr, is that a problem?" and see what they say. When you ask HR to run an advertisment like this they don't have any idea what they are asking, they hear "computer consultant for this program" and look in their book of "What do we normally pay consultants?" Oh yes, here it is $30/hr, put that in there. So when you contact them and tell them $500/hr they will initially tell you "No thanks." Then they will tell the person who asked them to write the ad that some "Kook" said they would do it but for $500/hr and the manager will say "Did you get their number? Are they local?" and the HR person will fall off their chair, then pick them selves up and sheepishly call you back :-)
- asymptotic 15y agoWhile our universities are turning out very able graduates, well versed in the sexy new languages of Java, .Net and the like... ...BUWAHAHAHAHHA. The number of serious problems with this statement gave me a good chuckle.
- derrida 15y agoThey don't need a whole bunch of people who write Cobol. They need someone to write a Cobol to (insert language) compiler.
- anamax 15y ago> They need someone to write a Cobol to (insert language) compiler. That can be very difficult, depending on the target language and the Cobol. More important, the output of said compiler may not be any more maintainable than the Cobol. (Even an accurate translation of assembly language to C can reduce maintainability.)
- ChuckMcM 15y agoOh absolutely, and surprising there should be a reasonable consultancy in it. But the trick is you need someone who understands both their domain (be it billing / accounting / catalog management) and legacy systems and can express that in a more modern system. These people DO NOT WANT PROGRAMMERS, they want tools that help them do their job. So they see programmers like the masons who laid the brickwork of their headquarters, indespensible when it was built, but never to be seen again. So they build their business logic 'tool' and they run it, for ever, and ever, and ever. Sometimes on really cool old hardware like DECSystem 10's or PR1ME machines.
- robryan 15y agoTo have got into this issue there must have been an attitude for a long time to spend the bare minimum on programming and patch things rather than refactor and overhaul.
- DavidMcLaughlin 15y ago> While our universities are turning out very able graduates, well versed in the sexy new languages of Java, .net and the like I have been flirting recently with a return home to Scotland (from Berlin) recently, and have found it extremely difficult to find any interesting opportunities on par with what I'm doing right now. The quote above reminds me why I had to leave to stay sane.
- daeken 15y ago> Instead, the sector faces the real threat of a shortage of one of its most crucial resources: programmers who possess legacy skills in older programming languages, such as Cobol and Assembler. Saying "assembler" is a language is like saying that "Romantic" is a language. Are you talking about PDP-8, x86, ARM, MIPS, SPARC, ... ? Also, having spent the previous night doing nothing but writing assembly (to patch machine code, no less), I suddenly feel very old.
- seanstickle 15y agoIn the context of COBOL, the natural assumption would be mainframe Assembler of the S/390 variety. Which is a distinct language, not the class of assembly programming.
- ordinary 15y agoYou're right, of course, but this is not a tech site. In this case, I think it's reasonable to use the more familiar term. It's a bit like Lisp; it's not technically a language, but everyone knows what you mean. [edit]Or seanstickle could be right. COBOL was invented before my mother was even born, so this isn't exactly my area of expertise. ;)
- wglb 15y agoWhen you hear COBOL and Assembler in the same sentence, you should (in addition to releasing the safety on your browning) presume 360/370/zOS. Turns out my brother-in-law is well versed in all the languages, as he works on a key cross-platform IBM product. He also is a whiz with reading core dumps.
- alttab 15y agoI agree to the point that colleges are shifting their curriculums. But to think its not the legacy giants (IBM, Oracle, etc) not pushing on colleges for "java hires" could be causing it? Not saying any intention is that sinister, but the general CS job market is a different market than administering legacy systems mostly. These guys will be able to sit on that job for years.
- jeremyarussell 15y agoThere are some other advantages of having someone who knows assembly and the likes as well. First, lets face it, if they can program well in that language they can probably program well in any other higher level languages. Second, not very many people at all even know what a CPU's register is, or what the difference between big endian and little endian is, or why we should be really really happy that we were brought Protected Mode Flat Model. Meaning that if your one of those people that do bother to learn it then you'll have a much higher "edge" factor for any company willing to admit they need those skills around still. And finally, to see how bits turn to hexadecimal. How hexadecimal matches with CPU's registers and all you really do is move or push data from one piece of memory to another. It all gives you a perspective on how programs work underneath it all, how the operating system works, and lets you see things like the code beneath something in front of you. You get a good foundation of a core technology which may one day be needed again very badly. (Hasn't anyone figured out that quantum computers will need someone to create a new assembly language/architecture for that matter?)
- perlgeek 15y agoSo, how about gradually migriting the systems to newer languages/platforms? The longer they wait, the higher the overall costs will be in the end.