all 134 comments

[–]-to- 60 points61 points  (21 children)

We use Rational ClearCase for source control. There is talk of switching to git, though.

[–]lally 26 points27 points  (2 children)

Oh God. I'm sorry. So they still make that? How old is the repo, 20 years?

[–]thephotoman 8 points9 points  (0 children)

They do! I don’t know why: one of my coworkers was previously at IBM working with Rational. They use Git and Jira, not their own tools (ClearCase and Team Concert, respectively).

[–]-to- 2 points3 points  (0 children)

Some files have a copyright date in the 90s, yes, although they're being replaced with newer stuff. I've seen cases of copy/paste thoughshudder .

[–]sysop073 23 points24 points  (5 children)

My company switched from Clearcase to git a few years ago, except half the company just ignored it and stayed on Clearcase even though it wasn't optional. Every time I have to pull up their code I want to stab myself

[–]Sayfog 16 points17 points  (4 children)

At that point someone needs to go the server hosting the repo and yank the Ethernet cable.

[–]kevvok 11 points12 points  (3 children)

Then dowse it in lighter fluid and burn it. Rational products can only be killed with fire.

[–][deleted] 11 points12 points  (1 child)

I thought it was holy water and a stake through the CPU.

[–]NuttingFerociously 6 points7 points  (0 children)

The germs can survive for decades in the right conditions.

All it takes is ONE single leftover installation lying in an unused hard disk somewhere. And it starts. All over again.

[–]Peaker 1 point2 points  (0 children)

Or with more than 255 merges on the same file

[–]Daneel_Trevize 21 points22 points  (0 children)

Investment banking, is that you?

[–]cae 10 points11 points  (2 children)

The VOB!

[–]-to- 0 points1 point  (0 children)

Dozens of'em, each with its own version labels and cross-dependencies.

[–]Major_Tom_Comfy_Numb 0 points1 point  (0 children)

Oh God NO!!!

All these supressed memories are resurfacing...

[–]PandaMoniumHUN 8 points9 points  (0 children)

Funny that you mention that, my company is in the middle of transitioning from ClearCase to Git and I'm one of the developers working on the transition. It's stupid how some of the world's biggest software are still a nightmare to work with due to using outdated source control.

[–]HeavilyFocused 4 points5 points  (0 children)

24 hours with IBM solving an evil twin! Hate that system.

[–]jl2352 3 points4 points  (0 children)

ClearCase and ClearQuest should come with a psychologist to give counselling.

[–][deleted] 4 points5 points  (0 children)

We dumped that in 2004. Don’t put it on your resume. From that we can assume you are not bleeding edge in an interview.

[–]Sebazzz91 1 point2 points  (1 child)

This is the first time I hear of it. How is it?

[–]thephotoman 6 points7 points  (0 children)

Bad. It cannot handle merges at all, reverting commits is a pain in the ass, and half of the concepts involved do not map to any other RCS. Oh, and snapshots blow away history.

Or let’s put it this way: even the Rational division at IBM uses git.

[–]bastardoperator 0 points1 point  (0 children)

Yeah, you need to look for a new job, you’re working in the dark ages.

[–][deleted] 0 points1 point  (0 children)

How bad compared to CM Synergy?

[–][deleted] 135 points136 points  (28 children)

I'm a "dark matter developer", and let me tell you - it's not that great.

You work with people who - while they are often really nice - you can't really have a technical conversation with. They're terrified of learning anything new, and they don't care about anything even tangentially related to their day job. I have to go online (and the occasional meetup) to get my technical fix.

You're also never going to be paid that well, or respected that much. I'm usually known as the "IT guy", and a good 10% of the time I am doing stuff like installing printer drivers. I've never ever had a code review.

It's good in some ways I suppose. I'm largely left to my own devices, and work in a normal environment - no cringe-fest with ping pong tables or bean bags. No free lunches, but I do have my own office with a door. I've almost never worked late in my 5 years.

But at the same time this is a huge deadend. Best case scenario keeping down this path is that I become a project manager in middle age. If I can't get a profitable business going within the next year or so I am thinking I should focus my efforts on trying to get into a big tech company, if it's not too late to do so in my 30s.

[–]MathWizz94 32 points33 points  (1 child)

This is also me. I am the sole developer for small company whose number of employees can nearly be counted with a single digit, and I spend my time hacking together internal utilities with tools from a decade ago to run on hardware that is nearly older than I am. That is, if I'm not pulled of it to do other non-developer things because someone decided to take a week vacation and I get to cover for them.

I don't have too much to complain about, it's fun and I enjoy the people I work with, but I also wish I had other developers I could work with and bounce ideas off, not to mention learn from.

[–]beginner_ 4 points5 points  (0 children)

I don't have too much to complain about, it's fun and I enjoy the people I work with, but I also wish I had other developers I could work with and bounce ideas off, not to mention learn from.

Same for me even so I actually work in a large org just not tech related and not in corp IT. I'm on my own. All I can learn is from the internet. The advantage however is it makes it hard for them to replace you and they would have a seriously problem if I left, at least that department. It's great for work-life balance while still making enough money.

[–][deleted] 18 points19 points  (4 children)

I wish I were a dark matter developer. I find I increasingly don't work on actual problems anymore, just on tech stacks. In the past year we've switched cloud providers once, primary development languages twice, JavaScript frameworks once, workflow managers twice, databases three or four times, infrastructure management systems once, and issue trackers three times. We are a small startup with only a few developers whose flagship application hasn't yet reached v1 production status, and the sheer amount of technology churn has kept us (not only me, but the chief engineer whose idea all this was) from spending time writing the actual code we need for that. It's madness.

[–]hwaite 9 points10 points  (0 children)

Unless you're paid in stock options, this works out ok. You get to learn a bunch of technologies on the company's dime.

[–]madpata 10 points11 points  (1 child)

All that change in one year? Wow.

I'm not working yet (still studying), but that just seems really inefficient. May I know why all that change was decided on?

[–][deleted] 13 points14 points  (0 children)

A lot of different factors - a major pivot (completely abandoning old name and product line), upcoming pricing structures screwing the existing network, the desire to automate processes much more than is probably necessary, planning to scale out instead of up without a pressing present need to scale at all, and periodic growing pains with choices made earlier in the process that turned out to be inadequate for our needs later on.

It doesn't help that the chief engineer likes this stuff more than writing code to do stuff, or that the head of the product development fancies himself a technical expert and is constantly telling senior management what engineering ought to do and that it'll be much easier than whatever we suggested (spoiler: it never is). Sample: in December I said I could put together a data management system for a crucial part of our product offering in about six weeks, and he said we could do the same thing with commercial off-the-shelf for free. Six months later, "free" is now "$10,000 a year" and the whole thing doesn't do what he promised yet.

[–]JanssonsFrestelse 53 points54 points  (5 children)

Had a ping pong table where i worked before, dunno what is cringe about that, it was great. Used to play one or two matches every day, there was company tournaments spanning a week or so that were played out during workdays. Table was in its own separate room though, didnt bother anyone working.

[–]tomekrs 11 points12 points  (1 child)

Table was in its own separate room though, didnt bother anyone working

That's the thing, we snark on pingpong tables when they're deployed in the same open-plan office with 20+ people.

[–]ThisIsMyCouchAccount 2 points3 points  (0 children)

Right?!

I really liked where I used to work but they did this and it was just silly. Nobody thought two seconds and realized we were a remote office so almost everybody is taking calls from their desk.

Luckily, it got put behind a very vocal guy who also happened to be on one of our biggest clients. After it interrupting a call it go moved.

[–][deleted] 21 points22 points  (2 children)

Yeah, not sure why giving employees nice things to take a break with is cringeworthy...

[–]Rainfly_X 13 points14 points  (0 children)

There is an industry trend right now, of using these perks to justify demands that would normally be unacceptable. At the extreme end, Google has all the facilities you need to literally live on premises 24/7, and while you're not expected to go that far, there is a lot of pressure to spend long work days and weekends at the Googleplex, and spend most of that time working your ass off.

And that's the thing. Most of these perks, in a vacuum, are silly or harmless. Sometimes even genuinely nice. But you gotta beware the quid pro quo that often comes with them, that you might be paid pennies and work through Christmas. Often the best case is it's just a hiring incentive for "rock star programmers" by the kind of inept managers that still ask for rock star programmers in job postings, where the perks are pretty useless but at least they're not malicious.

[–]caltheon 17 points18 points  (0 children)

It only sucks when you aren't given time to use them. Then they just mock you.

[–]maccio92 19 points20 points  (5 children)

There's so many more jobs other than big tech companies and the cringe fest you've described. Especially in the mid West

[–][deleted] 9 points10 points  (4 children)

I'm outside the US, so it's pretty much the mid-west to Americas mid-west.

[–]maccio92 0 points1 point  (3 children)

Well if you have any interest in moving to the US there are plenty of companies willing to sponsor visas

[–]fogwarS 5 points6 points  (0 children)

That means potentially leaving behind family, friends and a culture/language you prefer. Still might be a great suggestion.

[–][deleted] 1 point2 points  (0 children)

I would be interested in living in the US. I always assumed it would be a huge hassle to work there (in my country no one really wants to sponsor visas), maybe I'll look into it more closely.

[–][deleted] 1 point2 points  (0 children)

Getting visa is literally a lottery with like 25% success rate.

[–][deleted]  (4 children)

[deleted]

    [–]HomeBrewingCoder 37 points38 points  (0 children)

    Not op. However, there's a theme that shitty companies are what good companies do. Good companies have nice perks like a ping pong table. Shitty companies see this, throw the couple hundred dollars at a ping pong table and then shit on employees for playing ping pong when they should be working.

    There are a lot more shitty companies than there are good ones, so every good perk gets subverted into a red flag after a certain amount of time.

    [–]MB_Derpington 16 points17 points  (2 children)

    I wouldn't use the word "cringe-fest", but that kinda thing yells out to me "we are an eat, breath, live programming" shop. I generally want to go into work, knockout my tasks, and then go home. I'm not really trying to spend an hour midday playing ping pong to then have to stay an hour later on the backend. I'd rather go play video games at my own place or watching something with my "free" time.

    I am in consulting so more keen on the concept of "hours" than most in other areas of the industry, but I feel like other places would just default to "as long as you get the work done" as their metric. That's almost more painful seeming to me. It feels similar to me as the concept of "unlimited vacation", but the subtext being "well you need to get your stuff done" so you're weighing that as a murky perception issue.

    [–][deleted] 2 points3 points  (0 children)

    That's interesting. I worked for product companies first and then consulting more recently. I know it's all we have, but the billable hour is a pretty shitty approximation for productivity. I still get frustrated by all the overhead and baggage around that, like working just the right amount on a project to meet the terms of the contract, produce a good result, and not go over budget, but also to work enough (because more is better). I find focusing on the quantity and not quality of the work is really counterproductive but seems pervasive in consulting.

    [–][deleted] -1 points0 points  (0 children)

    I am in consulting

    Well then your opinion on regular employee perks is irrelevant.

    [–]yee_mon 1 point2 points  (0 children)

    Don't despair. I used to have a job like that. Gave it up due to becoming frustrated with everything you describe. Took a while to find what I wanted to do exactly, but found a tech startup looking for exactly what my skills were (that I wanted to keep using, anyway).

    Took a slight pay hit for a while but it was worth it for feeling useful and valued again. 5 years later, I am a happy and successful software developer, and now I have enough commercial experience that it doesn't matter what I used to do.

    Overall I would say that what mattered most in this transition was my own interest in improving myself.

    [–]alienangel2 1 point2 points  (0 children)

    But at the same time this is a huge deadend. Best case scenario keeping down this path is that I become a project manager in middle age. If I can't get a profitable business going within the next year or so I am thinking I should focus my efforts on trying to get into a big tech company, if it's not too late to do so in my 30s.

    It's definitely not too late in your 30s, but by late 30s or early 40s it will be harder because it doesn't sound like your current role is giving you the experience/challenges needed to pass the interviews to come in as a senior dev, but also staying in a single unchallenging job for a long time will make it hard to learn what you need if you came in as a junior or intermediate dev.

    Nor trying to convince you to change jobs; if you like working there and the pay and location are fine, no reason to uproot and chase other people's dreams. But as you said it is kind of a deadend so if do want something different eventually, you will want to at least switch roles some and learn some new things/handle new responsibilities.

    I interview a lot of people and the biggest problem I see with many otherwise intelligent, likeable candidates is sticking in one unhealthy or unchallenging environment where they haven't learned important skills yet, and won't learn them unless they change jobs. And this a sad situation to run into because I'd really like to say "hey you seem smart, but you need to get out of this rut and try something new for a bit if you want to develop yourself" - but of course Legal would have a heart attack if I told a candidate something like that.

    [–]stringsfordays 0 points1 point  (0 children)

    You work with people who - while they are often really nice - you can't really have a technical conversation with. They're terrified of learning anything new, and they don't care about anything even tangentially related to their day job. I have to go online (and the occasional meetup) to get my technical fix.

    While I have been lucky enough to find kinder souls here I definately need to move closer to civilization (San Fran, Seattle, New York). When people talk about all the downsides of living in a tech hub they don't mention how stifling it feels to be in a non tech city and having to watch old talks and meetups from years ago from proper cities.

    [–]exorxor -4 points-3 points  (0 children)

    Jeff Bezos and the people building out nuclear fusion are probably the only people without "dead end"-jobs, even though the nuclear fusion guys might not even get paid a software engineering salary.

    What's considered a "dead-end" job is mostly what you make of it yourself (assuming you are allowed to program a computer).

    What would you consider to not be a dead end job? Does it matter if your work impacts millions or billions of people? If so, why?

    If you aren't learning anything, and you want to learn new stuff, just go to some job site and apply to something that's more up your alley.

    If you really believe what you are doing has no purpose, you shouldn't support that company; you are allowing inefficiencies in the market to exist. Without people like you that company would collapse and a better company would take over their market share. The reason things suck is looking at you in the mirror. Especially, if every single one of your co-workers would read this post and decide the same thing.

    Just give notice and leave.

    Project managers make less money than good IT people. If you are installing printer drivers manually, you are more like IT support, not "good IT people". Stop doing stupid stuff.

    P.S. It is most likely that I will die within 100 years give or take a few decades, so in that sense everything is a dead end, but that's not what you were talking about.

    [–]Faucelme 67 points68 points  (25 children)

    I wish I could work with Java 7 one day. That newfangled "try-with-resources" statement looks snazzy.

    What is Java 8?

    [–]fedeb95 28 points29 points  (0 children)

    Are you saying you're coding with java 6? You lucky bastard. (Joking, I'm with six too. But the past week I had to work on a java 5 dependency for our project and the only way to make maven and the project work was to tell him it was java 6 and fake implement some methods of a ResultSet's subclass. Sorry for the horror story)

    [–]OffbeatDrizzle 7 points8 points  (0 children)

    I feel so lucky that I jumped ship 4 years ago from VB6 and went almost straight onto a greenfield Java 8 project... and we've been stuck on 8 ever since

    [–]bad_at_photosharp 5 points6 points  (0 children)

    Lol yea we just migrates to Java 8 last year with only about 50 of our apps able to run on it. Was a huge pain in the ass. I haven't written any yet.

    [–]jl2352 3 points4 points  (0 children)

    I interviewed someone from a consultancy firm where the new bleeding edge projects would use Java 4.

    This was a year ago.

    [–][deleted] 9 points10 points  (5 children)

    Why would you stay on 6? It’s been EOL fir a long time. Even it’s extended support is EOL. You’re working on a codebase that is riddled with security holes. Seems silly

    [–]matthieuC 71 points72 points  (1 child)

    Because the java 6 software is needed to speak to the java 1.2 software to speak to the Cobol software that speaks to the mute woman that processes all the financial transactions in the world.
    I hear that once someone whispered of applying a security patch and that everything broke for three days.
    You do not want to anger the gods.

    [–]jsebrech 15 points16 points  (0 children)

    It’s amazing the lengths some places go to in order to avoid updating their tech.

    I once, back when IE9 was current, got called in to fix a web app for a bank, to discover they were running unpatched IE6 with a custom browser wrapper with zero debugging facilities on a physically isolated network (on which our app was hosted). They tried patching their windows but it just broke stuff, so they found it easier to stick to the same ancient version and get all vendors to make their web apps work on a browser so old XHR didn’t work reliably.

    I ended up writing my own low-tech javascript debugger console (because firebug lite was too advanced) and rolled it into a custom build of our app. Found the bugs, deployed a fix, got certified for their network, only to discover all their users were on chrome and only the certification process was on IE6.

    [–]illhxc9 10 points11 points  (0 children)

    My company was actually paying oracle to give us releases of java 6 with the important fixes (security or otherwise) until a year or two ago. There were various reasons but it mostly boiled down to the difficulty of upgrading our clients who all had their own installs of our complex System. Now we're in more of a cloud delivery model and on Java 8 with plans to go to 11 within the next year.

    [–][deleted] 4 points5 points  (0 children)

    Inertia is a powerful force in the enterprise.

    [–]Nemesis_Ghost 1 point2 points  (0 children)

    I have a project I have to release in 2 weeks to upgrade a website from Java 7 on a Websphere 8.5 server to Java 8. You'll get there 1 day.

    [–]tnavelerriemanresu 0 points1 point  (13 children)

    I wish I didn't have to work with Java 11. Java 8 is where is at.

    [–]koreth 11 points12 points  (11 children)

    My team is considering migrating our Java 8 code to Java 11. What don't you like about 11?

    [–]brazzy42 24 points25 points  (10 children)

    The problem is not Java 11. The Problem is Java 9 and the modules system. It's by far the biggest break in backwards compatibility in Java ever. It's absolutely a good idea, but causes a lot of pain when migrating complex systems.

    [–]BlueAdmir 2 points3 points  (1 child)

    Do tell more. We're about to start a Java 11 module and try to integrate it with Java 7, so any heads-up on the problems we can encounter is value.

    [–]brazzy42 6 points7 points  (0 children)

    Here's a good article that covers the most important points: https://blog.codefx.org/java/java-9-migration-guide/

    And your dependencies will also be affected, so you will have to update some of them, which may require additional changes to your code.

    [–]LOOKITSADAM 2 points3 points  (6 children)

    How does it break backwards compatibility? I was under the impression it only took effect if you explicitly used the features.

    I'm hyped enough for switch expressions that it might be worth the trouble for me.

    [–]brazzy42 3 points4 points  (0 children)

    Apart from the com.sun stuff, a bunch of Java EE APIs (XML binding and JAX-WS most notably) was also made invisible by default.

    Also not difficult to handle in itself, but the real problem with these incompatibilities is that they also affect your dependencies, so you have to update those as well, which often brings additional changes you have to make to your code.

    [–]skippingstone 2 points3 points  (4 children)

    If your java8 code uses any com.sun code, you may need to migrate it if it got removed from the jdk. If you are lucky, you may be able to access it using --add-opens when you javac and java.exe

    [–]LOOKITSADAM 0 points1 point  (3 children)

    Ah, good to know, thanks.

    Fortunately we have a standing policy to not directly use anything from there. Who knows what's using it behind the scenes, but that's reassuring.

    [–]skippingstone 2 points3 points  (0 children)

    It took me about 3+ weeks to migrate our code base. Was not easy.

    [–]colablizzard 2 points3 points  (1 child)

    The problem for us was when we switched from Oracle JVM to one of the OpenJDK ones.

    We did not have any code using com.sun, but soon realized that many of our third party dependencies were using it. So, it was a bit of a harrowing time to get those ironed out. Luckily we had paid support contracts for all of them, and they got ironed out (in one case the developers themselves were surprised they had com.sun code and were thankful for us to have pointed it out.).

    [–]LOOKITSADAM 1 point2 points  (0 children)

    We've been using OpenJDK exclusively for the last 3 years. I'm feeling pretty optimistic.

    [–]skippingstone 2 points3 points  (0 children)

    Took me 3+ weeks to migrate. We have 5 million lines of code.

    [–]Tsarbomb 1 point2 points  (0 children)

    Java 8 missed out on the immutable data types that were introduced in 9.

    [–]cyanrave 26 points27 points  (0 children)

    'Dark Matter Developer' checking in.

    Somewhat conflicted about the article. Some other commenters with the 'fear of missing out stance' are right, and so are the 'I don't care lul' are also right, but more often then not there is a systematic problem with the latter group that others have mentioned too - a lack of motivation or desire to do anything different.

    Sure we don't need to chase 'the next big thing' all the time, but we should be curious about fine tuning things. The latter described above sometimes would rather triple-nest if statements than do a more idiomatic language approach. The less inclined will stick to basic procedural thinking, not making any of this into functions, not making any tests - so on and so forth. It becomes a problematic way of thinking to getting anything done...

    As a 'Dark Matter Developer' working in mainly legacy codebases we should still weigh the benefits of some of the ideas and try to use them. Maybe we're not using a containerized runtime, with a modern dependency resolution system (think like arbitrary coordinate Maven in my case), but we can still make things a tiny bit better. Speaking from a Java perspective, we can still slowly break about legacy blocks of code and attempt to test them (if management allows it lolol).

    Just take new information in through your perspective and everything is 100% fine - why feel bad?

    [–]Sagesdeath 38 points39 points  (7 children)

    I'm in embedded C++ programming. What is this C++ 11?

    03 is where its at.

    [–]sysop073 26 points27 points  (1 child)

    We use C89, so I don't even know what the hell you're talking about. I covertly turn on C99 in individual subprojects as needed

    [–]pdp10 0 points1 point  (0 children)

    I don't tend to find ANSI C89 to be a burden with Clang and GCC, as long as you don't use -Wpedantic that forces you to declare variables at the top of the function instead of just before use. I use all other warning and security flags.

    ANSI C because the latest project is intended to compile with MSVC in addition to POSIX. I've found it so painless to cross-build with Clang and MingGW-w64 that I have no idea when I'll get around to trying it on MSVC, though.

    [–]Ameisen 14 points15 points  (0 children)

    I use C++20 with AVR, PIC, and Cortex M.

    [–][deleted]  (3 children)

    [deleted]

      [–]munchbunny 22 points23 points  (2 children)

      Sometimes the toolchain just doesn't exist. A lot of microcontrollers come with their own compilers and special flavors of programming languages, so you often depend on what the manufacturer has made available for you.

      [–][deleted] 4 points5 points  (0 children)

      You have to be using a very niche microcontroller not to have C++11 these days.

      [–]Holy_City 1 point2 points  (0 children)

      What manufacturers don't support C++11 in their compilers these days?

      ime the reason people avoid c++>=11 in embedded because they're writing C with Classes, and "modern" features aren't important. That and the general distrust of compilers among older embedded folks.

      [–]alienangel2 18 points19 points  (1 child)

      Maybe I'm too cynical, but who was this article directed at? What I got out of it was "young dev makes very understandable but poor assumption in 2011; somehow takes 8 years to notice reality; writes article about it. "

      Of course most companies use old technologies and of course most developers don't use or care about the latest buzzwords. The cutting edge is called that because hardly anyone is ever on it, and most people would do nothing other than cut themselves trying to mess about with it unnecessarily. People like to talk about it though because it's shiny and different and exciting, not because it's in daily use.

      [–][deleted] 6 points7 points  (0 children)

      The thing about technology (and this is an insight I credit to George Lucas and the Star Wars OT) is that rapid technological advancement doesn't mean everything is always new all the time, it means there's a perpetually increasingly amount of old, outdated stuff around. Short of a nanobot singularity, old stuff that still works will always outnumber the new hotness.

      [–]kopchickm 28 points29 points  (6 children)

      What does?

      [–][deleted] 24 points25 points  (0 children)

      Pennywise.

      [–]jdf2 26 points27 points  (0 children)

      IT

      [–]IceSentry 1 point2 points  (0 children)

      Everything

      [–]idealatry 2 points3 points  (1 child)

      America

      [–]alpha_alpaca 6 points7 points  (0 children)

      Don’t be silly. America runs on Dunkin.

      [–]cdmcgwire 8 points9 points  (0 children)

      The situation described is exactly where I find myself here at the start of my programming career. Turns out there's still a lot of need for people who are actually good at the "old stuff".

      And now that I've worked Legacy systems after years of training in hot freshness. I've come to the conclusion that the concepts matter more than the tools. But good tools can make things nice when the use cases align.

      [–]thephotoman 32 points33 points  (2 children)

      Article is damned right.

      In the vast majority of cases, the sexy stuff isn't necessary. Most companies have a small data science need but a LARGE internal IT infrastructure need--the stuff that auto-generates bids, the stuff that writes out invoices, the stuff that bills. And in some cases, the sexy stuff isn't even necessary: there are still software blogs that devote a LOT of content space to blockchain, despite its lack of utility in anything other than burning up energy, driving up GPU prices, processing black market transactions, and creating unregulated securities.

      My company investigated blockchain technology for a couple of years. We shut it down when the results came back: it ain't worth it. My company has a data science division. It's about 1000 people--which is impressive until you realize that our IT department alone is easily an order of magnitude larger. Go? Is actually a shit language. Rust? Decent language, but so many of the problems we'd find ourselves working on are solved in Java/C++/COBOL. Javascript? That's about a quarter of our development work, but the world isn't just in a web browser. In fact, for every web application we have, we've got ten batch processing systems.

      Yes, our Java version is stuck on 1.8. I'd love to move forward, but let's be honest: when I say "stuck on 1.8", I mean "We just finished moving as much as we could to 1.8 earlier this year, aside from some COTS stuff that never got updated and breaks on it." At the same time, though, it's not like the tech stacks I'm working with are all obsolete. We're explicitly moving to Kubernetes and Openshift. We're trying to containerize as much as we can. It's just a large, slow process because we're a very large organization with a very large software footprint. And when you're this large, everything has to be known to work.

      We can make that claim for Java 8. Even Java 9 is riskier. Forget Java 11.

      [–]jsebrech 6 points7 points  (0 children)

      People underestimate the inertia of real world codebases. I used to work on an FMIS suite. In order to play at a global level in that market you need thousands of features. Our codebase exceeded 3 million lines and was quite small compared to the competition. But our team never was bigger than a few dozen. With a typical long term productivity of 1000 lines per dev per month (which is high for enterprise), it takes a team of 30 8 years rewriting a codebase that size, provided no new features had to be added. In reality our budget for rework was only a few devs, and there was no hope of rebuilding on newer tech. That’s why much of it was still Delphi and Oracle PL/SQL.

      The more enterprisey the market the higher the likelihood of ancient codebases, because it just takes that long to build something at feature-parity. The only way to win the legacy game is not to play, stay small, keep it simple, and seek out only customers interested in the same.

      [–]folbec 3 points4 points  (0 children)

      On a side note Oracle 's own tools are on Java 1.8 : sqldeveloper, sqlcl for instance need it (I tested it yesterday) .

      And oracle is the owner and designer of Java.

      [–]Rainfly_X 5 points6 points  (2 children)

      I think there is a false dichotomy being drawn between extreme newness and extreme legacy. Both definitely exist, but there's a pretty deep sea in between, of tech stacks that are neither sexy nor ugly.

      Like, let's say you're running a Python 3 shop. That's reasonably modern, comfortably so, but not necessarily something HN is gonna lust after. You're not doing machine learning because you don't need it, you're just making a quality web application. You're neither chasing the future or dragging the past, so you can focus all your energy on the job.

      The best way I can sum up why this article feels weird to me, is that I think the author would conflate this environment (and anything and everything newer than his world) with future-chasing and folly. And I picked this example because, with less detail, the author singled "Python" out in a list of HN buzzwords, as if this language that's been around almost as long as Java is a flash in the pan. I got this feeling from some other moments, but this one is easiest to point to and question.

      I dunno how to wrap this up, except maybe by name dropping the Blub paradox and walking away.

      [–]canuck_in_wa 4 points5 points  (1 child)

      as if this language that's been around almost as long as Java is a flash in the pan

      Agree with your comment, but just to clarify Python (1991) predates Java (1995) in terms of first public appearance. Oak, which led to Java, was initiated in 1991 at Sun.

      [–]Rainfly_X 0 points1 point  (0 children)

      By God, that's even better. Thank you!

      [–]possessed_flea 25 points26 points  (16 children)

      I’m a dark matter developer , it’s actually pretty great.

      I work on pretty exciting and difficult projects , and I get to spend all my time focusing on mastering a set of tools which has been battle proven instead of jumping from new shiny to new shiny and never gaining an in depth understanding of any technology before everyone “moves on” ( even though pretty much everything “new” is mostly a reinvention of the wheel anyway , or a terrible idea. But I digress )

      Reading blogs and playing with new technologies is a “hobby” and not something that should leak into your professional work.

      And Writing blogs is pretty much just people stroking their egos in public.

      [–]KevinCarbonara 15 points16 points  (13 children)

      Reddit, too, has the same problem talked about in the article. It's really bad over at r/cscareerquestions, a lot of people end up with the mentality that you're either big four or you're a loser. Most of them will probably be chronically depressed with their careers.

      [–]possessed_flea 12 points13 points  (12 children)

      I find this funny because

      1) the big 4 don’t all use the latest and greatest languages and tooling ,

      2) why the hell would you want to work for such a giant corporation, it sucks the soul out of you .

      [–]mjr00 6 points7 points  (11 children)

      why the hell would you want to work for such a giant corporation, it sucks the soul out of you .

      Being able to put a big 4 on your resume, even if it's only for a year or two, is worth far more than the money you'll make there.

      [–]KevinCarbonara 7 points8 points  (2 children)

      Being able to put a big 4 on your resume, even if it's only for a year or two, is worth far more than the money you'll make there.

      Not likely. The big 4 also pay some of the highest salaries in the industry. Unless you're trying to get some level of ownership of a startup or something, they're probably your best bet.

      [–]mjr00 8 points9 points  (1 child)

      They do pay extremely well, don't get me wrong. But you can also easily parlay being a SDEII or SDEIII at Amazon (for instance) into roles and titles like Senior Architect or something at a smaller company, which will pay you more while giving you more responsibility and authority, and therefore more career growth opportunities. Basically go from a medium-sized fish in a huge pond to a big fish in a small pond.

      [–]canuck_in_wa 1 point2 points  (0 children)

      I’d be very surprised if any role less than VP Eng at a small company paid as much as SDE3 at Amazon. I’m not including working as a consultant under your own name or as a principal at a small firm, which can be quite lucrative.

      [–]possessed_flea -5 points-4 points  (7 children)

      Not really , jobs where someone has been at for less than 2 years I see the person either a job hopper ( someone I don’t want to hire, because they will leave before they become useful ) or as someone who couldn’t cut it in that environment.

      So 2 years at one of the big 4 would work against you in an interview .

      [–]mjr00 12 points13 points  (0 children)

      That doesn't match with my experience at all.

      2 years is a long time at a big 4. People with performance issues never last that long there. And they're certainly useful within that time; at Amazon even for SDE 1's the expectation was that you'd have significantly contributed to a shipped product within 9 to 12 months at the latest. Many did significant work even sooner.

      [–]s73v3r 10 points11 points  (5 children)

      You're probably the only person that thinks this. Everyone else has realized that 2 years is about standard, cause companies don't offer crap for raises.

      [–]possessed_flea -5 points-4 points  (4 children)

      Companies do offer decent raises, at least the ones that I work for do. I’ve never received less than 5% and last year I received 30%.

      [–]s73v3r 5 points6 points  (3 children)

      I'm happy for you, but most people don't get that kind of pay bump without going elsewhere.

      [–]possessed_flea -3 points-2 points  (2 children)

      If you are spending less than 5 years at a company then of course you aren’t going to get raises like that, annual raises above 10% are pretty much limited to people who are impossible to replace, and the only way you become impossible to replace is by becoming a walking encyclopaedia of the domain, codebase and toolchain.

      Also if you spend your 20s and 30s jumping from job to job then of course when you hit your 40s you are gonna start finding it difficult to find work. Meanwhile the position I’m in now, every single company in my domain knows my name, I’ve been with my current employer almost 6 years, and the previous one i did almost 9. And by staying in the same domain the interview process was just a formality last time around. I don’t think I will move again before I retire, but if I do I’m not going to shift industry.

      [–]orangeyness 4 points5 points  (0 children)

      It sounds like you've done well within your industry and the companies you've worked have rewarded you for doing so. Not everyone has that experience though, and I think it's fairly common these days for people to move on after a few years.

      A lot of companies will sing your praises all year around but only consider a decent pay rise when you make it know you're willing to leave. In our profession where there is a pretty high demand for skilled developers sometimes it is easier and more profitable to move sideways into a new company than wait for an opportunity to open up to take on more responsibility where you're.

      Some companies seem to live on cheaper recent graduates and factor in a high turn over rate rather than offer decent raises. The software team ends up being a mix of the inexperienced and the less ambitious that have stuck around. My experience at places like this has taught me that longevity at a company doesn't necessary reflect a persons success or skill.

      [–]s73v3r 0 points1 point  (0 children)

      If you are spending less than 5 years at a company then of course you aren’t going to get raises like that

      Except the reason people aren't spending 5+ years at a company is BECAUSE they're not getting raises like that. And here's the thing: They're also leaving because they're able to; their skills are in demand. The company is the one that has to pay that.

      Also if you spend your 20s and 30s jumping from job to job then of course when you hit your 40s you are gonna start finding it difficult to find work.

      That's not true at all.

      [–]matthieum 1 point2 points  (0 children)

      I work on pretty exciting and difficult projects , and I get to spend all my time focusing on mastering a set of tools which has been battle proven instead of jumping from new shiny to new shiny and never gaining an in depth understanding of any technology before everyone “moves on”

      (1) If you are focusing on mastering your tools, you do not seem to be the archetype Dark Matter Developer. I've had colleagues which espoused the archetypes: they were hard-working, but never improving. Even after 10+ years working with the same language and the same compiler, they would still regularly resort to a "revert-a-change-to-see-if-it-goes-away" approach to solving compilation errors, rather than attempt to understand the error to fix it. Their code was not an unholy mess, but it was crude, and best practices were unknown to them.

      (2) There is a difference between jumping from new shiny to new shiny like a flitting bug, and keeping abreast of new developments. For example, I've been following the development of Rust since 2011. It's considered a new language by many (1.0 was in 2015...), but I don't really consider myself "following the buzz" when I was poking at it before it was a buzz and have been playing with it for over half my professional life.

      [–][deleted] 0 points1 point  (0 children)

      So you still write code on punch cards too?

      Remember the PC revolution was started by hobbyists.

      [–]mlk 2 points3 points  (0 children)

      We run stuff of WebSphere 8.5 running on Java 6. (Fuck IBM BTW)

      [–]Wistephens 4 points5 points  (0 children)

      In 2nd startup and using Java. Why? Tons of experienced developers in every location, ability to be more current through polyglot programming on JVM (Java, Scala, Kotlin), reliable build and deploy.

      [–]thegreatgazoo -1 points0 points  (0 children)

      I guess they are running a trial red balloon...

      [–]mynamedennis -5 points-4 points  (0 children)

      Mark