
IT Runs on Java 8 - anielsen
https://veekaybee.github.io/2019/05/10/java8/
======
dcole2929
In the majority of companies it's simply not possible to operate on the
bleeding edge the way HN articles would have you believe you should. Besides
the obvious issues around the value of rewriting stable legacy systems on new
platforms, there are also man power issues. You need tier 1 developers to live
on the bleeding edge because any problem that comes up (and they will come up)
largely requires you to solve it yourself sans the help of the greater
internet. On a legacy system an average dev can generally Google any issues
that arise because they are known problems.

When dealing with new tech it's a lot more likely to be the first person to
run into some obscure use case no one has ever experienced before. And in that
case you need devs who are not only capable but willing to invest in solving
the problem. Sometimes that means, re-architect something in the stack and
sometimes it may even require making a PR to the original project. That's a
lot of investment that may make your devs happier but probably provides little
concrete value to the business.

That said I'm still building on elixir so what do I know.

~~~
wildermuthn
Good points here. Which is why HN is oriented toward startups with Tier 1
engineers. PG and his cofounders invented the web app, using a combination of
old tech (lisp) and new (the internet).

There are plenty of other forums and sites to read about conventional tech. HN
is where I find the bleeding edge. 90% of it is just fascinating. But the
other 10% offer tantalizing possibilities for making something novel, which is
to say: solving an unsolved problem.

“How to Become a Hacker” puts it plainly: no problem should have to be solved
twice. Drudgery is evil. And by those axioms, a ‘Hacker’ is just uninterested
in old solutions to old problems. We need to live in the future so that we can
build the future. Although HN’s content has suffered over the last 5 years
with the influx that accompanied a wider awareness of startups, it still is
the best place I know of to dip your toes into the various futures we may one
day encounter.

Having said that, lately I’ve found that Google Scholar is often more thought-
provoking. If only there was a HN for Google Scholar.

~~~
yourbandsucks
Oh, for christ's sake. I don't want to get all "get off my lawn" but HN is
full of early-20-somethings rediscovering things and calling them 'bleeding
edge'.

The highest paid people in our industry are working on drudgery full-time for
FAANG. And that's fine, people have families, I'm not judging anyone. But
let's not fool ourselves.

~~~
GordonS
A good example of this is static typing - shat on for years by HN, and now,
all of a sudden it's the greatest thing since sliced bread!

~~~
AsyncAwait
Yeah, but I think the kind of static typing that was 'shat on' for years is
not the same as the one being praised today.

The shat on one is the old Java, verbose, obtrusive style. The newly praised
one is Haskell-style, type inferred, expressive...

Now you could say that's not new, BUT what is new is marrying ML style type
system to languages whose other concepts devs are largely familiar with and
packaging it the right way to get into production, instead of just academia
and that being the case even for historically impenetrable low-level
programming and such.

~~~
wildermuthn
These are the kind of comments that make HN so special: knowledgeable and
insightful, due to deep experience with the past and critical understanding of
the present. It isn’t just a rush to what is shiny and new, but is capable of
identifying what is novel and valuable, and is articulate enough to explain
why.

Normally my comment would be an unnecessary back-slapping, but since the
conversation veered this way, I think it is appropriate to call out your
comment as something that represents the spirit that makes HN unique and
wonderful.

~~~
tamrix
I never realised how highly some people praise hackernews comments lol

Hackernews has an _instagram filter_ where everybody brags about how smart
they are.

Then there's a bunch of fresh grads who fanboy their favourite tech companies.

Then every so often you get a gem of a comment from knowledge leader in the
industry.

But that's quickly overshadowed by 'my Startup, my Startup, mah Startup' and
how everybody wants to be rich one day.

But like every larger community in the internet, it eventually derives itself
into an echo chamber.

~~~
nimih
Current-day HN strikes me as very similar to early 00s Slashdot, albeit more
self-serious and with an ideology more informed by SV
capitalism/entrepreneurialism than the convoluted politics of open source
software.

------
bsaul
Fun story : i had to develop the same system for two different companies, one
a startup with 3 employees (the founders) , the other a billion dollar
business. Just a backend api & web interface, together with an iOS app
displaying the content.

I could use shiny new tech for the startup (which at the time was python on
app engine and its nosql datastore, with a backbone.js framework), whereas the
other one forced me to use java and deploy the code on the big corp
datacenter.

The start up code was built in two months, and maintained by an intern for two
years with success. It basically cost nothing to run.

The big corp code was built in a year (note: i _did_ know how to develop in
java), people in charge couldn't manage to deploy it (i had to do it myself,
despite just discovering their infra on the spot), and i had to maintain the
code myself, because despite huge code guidelines and restrictions on the
technologies allowed, nobody inside was assigned to maintaining the code.

So, yeah, there's definitely a danger to absolutely wanting to follow the HN
hype. But don't feel good if your company relies on 8yo tech and process. It
could be loosing a TON of money by not staying up-to-date with the state of
the art.

~~~
oaiey
It is not the technology which is slowing down the enterprises. That is done
by processes, humans and risk.

You cannot stay up to date permanently, because that introduces risks all the
time. Once you earn money, there are layers to protect the money stream.

You can loose tons of money by not staying modern, that is true. But you can
loose everything when you ignore a risk. The trick is to find a balance.

And all of that is not considering investors and their idea how the money
should be used.

~~~
tonyedgecombe
You can't avoid upgrading forever though, eventually your legacy technology
will stop getting security updates and support. Then you are tasked with a
huge leap from old to new.

I suspect corporates don't really want to get stuck with so much legacy, they
just don't know how to avoid it.

~~~
oaiey
That is right. That is the balance I mentioned. In our teams we try to update
the base framework every year to avoid locking us out of the innovation in
language and library ecosystem. But a UI stack for example you do not migrate
without explicit funding.

------
mzkply
The HN front page is similar to any community. For example, a car site's
homepage will be listing the latest supercars, expensive turbos, rims,
whatever... while most readers are driving a $30,000 Civic.

The best & brightest in tech are working with the best tools on the biggest
problems, and that's what gets talked about, regardless of what the mass is
doing.

~~~
jsight
Are we just going to ignore the idea of paying $30k for a Civic? I hope noone
is doing that.

~~~
debunn
If the poster was from Canada, $30K is actually about right for a 2019 Touring
trim level (it would be even more after taxes):

[https://carcostcanada.com/Canada/Prices/2019-Honda-
Civic_Sed...](https://carcostcanada.com/Canada/Prices/2019-Honda-
Civic_Sedan/32041)

------
sarcasmic
Much of the ahead-of-the-curve, aspirational tech stack posts featured on HN
are the blogging equivalent of Instagram-polished shots. On a personal blog
they're equal parts self-expression and self-promotion; on a company blog
they're equal parts deep dive and recruitment teaser. It's okay. Some readers
will feel intrigue, some confusion, some envy. They'll wonder why they can't
use those new tools at their work.

It's nice to recognize there exist developers who seem to stand apart from the
vocal ones who make these posts, but they're not a single class. Some brag
just as much, just in different circles. Some don't brag, but they do lots of
good work. Some put out work that's not so good, and they may or may seek to
represent their accomplishment regardless. The only factor they clearly share
is their underrepresentation and their lack of attained popularity in talking
about their work on social media.

As tempting as it may be, it's a big reach to conclude due to their
underrepresentation that their tech stacks are conservative, or even dated;
it's not a given that their work is solid and they're hard at work solving
business problems given numerous constraints and office politics. Efforts to
define this population by their rejection of shiny hype just perpetuates a
kind of fictitious class divide between "fancy" developers and "plain"
developers, when the real class divide is between management that is desperate
for results, and IT workers that are desperate for empowered decision-making
and resources. Businesses are under tremendous pressure, and silver bullets
read about elsewhere carry great appeal. Transplanted organically by
enthusiastic developers or by order of management, such solutions rarely work,
because changing just a few inputs of a complex process won't
deterministically give a better result. And mediocre results of a messy
process make for a different genre of writing.

Maybe there's a class divide after all: between developers who are privileged
enough to cook up all sorts of clever, custom solutions to challenging
problems and can write about it, and those who spend their whole workday
surviving the onslaught of nonsensical demands and deliver something mostly
working in the end.

------
jum4
I have seen some Excel files from end users which grows into a whole
application. The users wanted more functionalty and didn't get through all the
management levels to reach someone from corporate IT and just start doing it
by themselve with the tools they know and develop from Excel to Macros to VBA
to VBA with SQL Database (because they have a standard process in the company
to request a new SQL Database and the data was to big to be just in the Excel
file directly). And then the company have this whole mess of "application"
which is already business cricitcal because a lot of other users just use it
as the fastet way to get their job done and the person who develop it is the
only one which someone knows to handle it and maintain the application.

At some point in time the original person isn't available anymore and whole
setup will have troubles because of upgrades of the basis (e.g. Excel) or just
performance problems. They are even consulting companies specialize in
optimizing or migrate to new Excel version for such kind of applications.

The corporate IT have to pick up the users early to help them to solve their
current problem or help them to be more efficient with IT. If nobody helps
they will develop their own solution which the knowledge/tools the have.

~~~
GordonS
Agreed, 'shadow IT' is very real in the Enterprise. And I don't think it's the
user's that are to blame - corporate IT departments just make everything so
bureaucratic, expensive and _difficult_. Meeting after meeting, and all the
time your department's budget is getting hammered for the hours, long before
any development even starts.

------
pron
The funny thing is that from a purely technological point of view, Java (even
the 5-year-old Java 8 and certainly recent versions) is far ahead of most
other stuff hyped on HN (as well as less hyped stuff). Virtually no other
platform comes close to that combination of state-of-the-art optimizing
compilers, state-of-the-art GCs, and low-overhead in-production
profiling/monitoring/management. And much of the cutting-edge development and
technological breakthroughs on these matters continues to take place in Java
(disclosure: I work on OpenJDK full-time). Just in the past few years we've
seen the release of open-source GCs with less than 2ms worst-case pause times
on terabytes of heap (ZGC and Shenandoah), a revolution in optimizing
compilers (Graal/Truffle), and there's an upcoming release to streaming access
to low-overhead deep profiling (JFR). So Java is not only the safe choice for
serious server-side software; it's also the bleeding edge.

~~~
sl1ck731
I was never super into Java development. I started working in 2014 and was
introduced to Weblogic, Jenkins, huge Maven POMs and all the rest, then went
into Cloud consulting. When I sit down to do anything I get so wrapped up in
all the stuff that comes along with Java and feel like I have to use some huge
IDE like Eclipse (I hate) or IntelliJ (I <3 U Jetbrains) to do anything
"real".

If I could just write code and have a simple package manager like NPM or even
Go packages and not be hindered by trying to get VScode to work I would never
look back. I just waste so much time trying to understand the ecosystem. I
know that isn't a great excuse (not wanting to take the time to become an
expert on tooling), but people who came into the professional space in the
same time frame likely also just see it as an obvious path to just avoid all
the cruft.

What I really want is to get a "lite" Java project like this up and running
with all of the smart people's opinions in place that I can develop entirely
in a lite editor (preferably without XML anywhere). Maybe something like
Spring Boot would solve that but I have not investigated that yet.

~~~
pdpi
Java-the-language is a fairly crummy thing to work with, it’s Java-the-
ecosystem that’s genuinely good — the JVM, the tooling, etc etc. The quality
of IDEs available is definitely a very large component of that. Doing Java on
a lightweight editor seems like a way to pay the price without reaping the
benefits.

~~~
js2
I use TextMate (!) to maintain an Android SDK that's a mix of Java, C and C++
avoiding Android Studio like the plague, to maintain an iOS SDK that's mostly
Objective-C, similarly avoiding Xcode's editor, and to maintain the backend
written in Python that these SDK's talk to. I've got enough going on in my
head w/o having to deal with the complexity of two different IDEs.

Anyway, for me Java-the-language is fine. The tooling, at least as it comes
with Android (looking at you gradle and all its Android plugins) is what makes
me want to pull my hair out.

~~~
willbw
I've not done any Android development but how is IntelliJ for it? While it can
be slow on big codebases and obviously never as responsive as vim in a
terminal, I think the tooling is excellent.

But again, you have to spend a month or so learning the shortcuts.

~~~
noisy_boy
IntelliJ has an excellent vim keybinding plugin which I use (having come from
Linux/scripting/Vim background to Java). Intellij also makes setting shortcuts
pretty easy so you can customize to your needs. Having used both Eclipse and
IntelliJ, I prefer the latter.

------
outworlder
> And what Hacker News was teaching me was that the entire IT industry was
> working on brand-new Macbooks, using Go and Rust, Docker and CI, to build
> amazing products.

The problem is, some companies _are_ using Go and Rust, K8s, Docker in brand
new Macbooks. They are not the majority, but they are there. You may care
about these things, or you may not. But if you do, working on a "normal"
company is infuriating. I had to use CVS while using Git for my personal
projects...

Now I _am_ typing this on a Macbook (although not brand new) and deploying Go
microservices in K8s.

The thing to keep in mind is that companies are schizophrenic. In another
corner of the same company, there are people arguing against Lua for an
embedded system because "no one uses it in production"...

So go find the corner that makes you happy.

~~~
philwelch
The converse problem is that some companies end up building or rebuilding
everything the most resume-driven way possible and then run headfirst into
tooling and frameworks that are either unnecessary to their actual
requirements, not mature enough, or was just a dumb fad all along. The actual
developers get to put stuff on their resumes and leave for a new company after
two years and their replacements end up wanting to rewrite their "legacy
codebase" in the newest fashions, and the cycle continues. I don't know what
the solution is, other than just exercising good technical judgment.

------
cbdumas
I went from a software dev role at a B2B SaaS company to a consulting role
about a year and a half ago. It has been eye opening to say the least.

One of my first projects was helping a Fortune 500 company run analytics on
AWS with data sourced from their Db2 mainframe, which had been in production
for multiple decades. Most clients are very uncomfortable with Linux, and
Microsoft stack is definitely the default. IT usually keeps the corporate
network and individual workstations under VERY strict control, so getting new
tech onboarded or new processes implemented can be a multi-week territorial
battle.

It truly is a different world at most places.

ETA: I forgot to mention that things at FAANG companies may not be as
different as you think. I am currently working with a business team at one
which is using a few tools based entirely on Excel and VBA.

------
inertiatic
It's a bit disturbing how much people in this industry are focused on tooling.

It's a biproduct IMO of working on boring problems or supporting morally
ambiguous corps. That thing that you need to keep yourself busy and keep going
in the rat race.

~~~
gambler
Tooling is great for job security. You can be absolutely shit at writing code
and designing systems, yet make yourself indispensable because you know
Framework X and most other people don't. All it takes is time to memorize
trivia of the framework and a bit of trial-and-error to figure out how to work
around framework's pitfalls.

Unfortunately, this creates a whole host of long-term issues. For example, it
create the situation where complex tools have their fervent advocates, while
simple tools do not (because they don't provide job security). It also create
an incentive to start a sort of complexity Ponzi scheme: you add tools to
manage tools to manage other tools and so on. Each new layer reinforces the
job security of people working on the previous one.

It's important to keep in mind that stuff like Java 8 and C are also tools,
susceptible to the same problem.

~~~
VBprogrammer
> you add tools to manage tools to manage other tools and so on. Each new
> layer reinforces the job security of people working on the previous one.

The first time I seen a job title of "Kubernetes Keeper" I died a little
inside. It's not that these jobs didn't exist before, and sysadmin is a
perfectly good role which I personally don't have the skills or desire to do,
but we keep pretending that we've build a way of replacing some of the effort
which just moves it around a little.

~~~
xfer
Yeah it's much better to list a dozen tools/frameworks that you must be expert
at than just making it clear about the current requirements.

------
peterwwillis
HN is basically Reddit for tech founders, so it tends to skew toward hype. And
it's a small place, which makes for great echo chambers. Anything that makes
it to the front page without being killed by admins, bots or users will
probably be over-hyped.

Wrt over-using new tech: I've mostly seen this with hype directed at C-levels.
Maybe one or two people on a team will pick up Rust or Go because they saw it
on HN, but a year-plus slog will be initiated to implement a single Kubernetes
platform that _everyone must use_ , because a jagoff in a suit read a Wired
article that said Kubernetes is the future of the internets. (Meanwhile, most
of the devs don't use containers, pipelines are stood up in one-off Jenkins on
shitty infra, the new "microservices" are really "distributed monoliths", and
the security team is a guy nobody knows whose main occupation is writing
drafts of best practices that nobody reads)

I think this will continue as long as we build tech by winging it, rather than
doing case studies, analyzing solutions, and setting industry standards. And
I'd argue another problem is cobbling together our own tools rather than
paying for well-made ones. Because we're so interested in either getting
things for free or writing them ourselves, really solid tools are rare.

~~~
UglyToad
This touches on something I've been thinking about a bit recently. It seems
like software is undergoing a crisis of delivery, though I doubt that's new it
still feels like there has not been much progress in delivering software that
matters where it's needed.

I'm thinking specifically about the Crossrail project here in the UK where
signalling has completely screwed the project
[https://www.google.com/amp/s/amp.theguardian.com/uk-
news/201...](https://www.google.com/amp/s/amp.theguardian.com/uk-
news/2019/apr/18/crossrail-opening-may-be-delayed-to-2021)

Of course such systems tend not to be taking advantage of the newest tech but
it feels like there's a lot of talk about how to achieve Netflix scale for
simple websites with a few 100,000s of users and not much progress on
delivering tangible, socially useful, software. Maybe it's selection bias and
Rust is perhaps promising in this space but a lot of hyped technologies feel
ephemeral or not useful outside of Web.

------
jressey
All I know is that reading HN and responding to what I've learned has made my
salary go up, up, up in the last 5 years. Partially by recognizing there are
so many cool things out there that pay well. You can be defeatist and say
"I'll never learn all of this,' or you can be clever and figure out the things
that are worthwhile to learn.

I went from working in a boring insurance shop to one of the fastest growing
tech companies in America. Had I not paid attention to HN, that wouldn't have
happened.

~~~
wikibob
Would love to hear more details about your story.

What were you doing before exactly?

What tech specifically do you feel helped you?

~~~
jressey
I was at an insurance company upgrading old systems to use less old
technology. I had an information science degree and was a pretty lousy
programmer.

HackerNews helped to demystify working at a software company. It just seemed
more and more in reach as I kept reading and contributing. The most important
thing though, is it taught me to get my shit together before making a comment.
That extended to being more rigorous in all the work I did, leading to
success. I also came across tons of articles about how to level up, and cool
resources where I could practice coding challenges. Looking back, it was like
having a rich community at tech-oriented company without being able to work at
a place like that.

It's really hard to draw a line, but I think I just gained familiarity with
the industry and learned to tell when an technology idea is bullshit or legit.
All that led to more confidence and that shit is gold when it comes to
leveling yourself up.

------
Sharlin
I mean, Java 8, that's great! From an enterprise point of view it was released
basically yesterday. I'm sure a large minority of systems still runs on Java 5
or 6.

~~~
vbezhenar
There's very little reason not to upgrade to Java 8. Generally things just
work. With Java 11 generally things just break, so it's completely another
matter. I think that Java 8/11 will repeat Python 2/3 story.

~~~
nunobrito
We are moving to Java 8.

There is a special place in my heart to hate the new shiny lambdas. Makes code
too difficult for reading, nowhere compatible when needing to use Java 7 every
now and then.

With the article would just disagree on Sharepoint, would say Confluence has
finally replaced that one.

~~~
sunaurus
I'm curious, do you really prefer anonymous classes over lambdas? To me,
anonymous classes are much more annoying to read.

Or are you just saying that lambdas are as bad as anonymous classes?

~~~
seeekr
IntelliJ IDEA actually just collapses them into lambdas by default. And it
also auto-generates them for you so you don't have to type them. At least that
was the state of things a couple of years ago, can only have gotten even
better since then.

------
jonenst
Using java8 in 2019 is pretty normal. It's "only" 6 years old (released at the
beginning of 2014), nothing like the cobol horror stories. The 6 years old
java is not very different from what software you get from debian stable. The
next lts java11 was released at the end of 2018 and does break some things so
you need time to update. It was supported by oracle until Jan 2019, while
other vendors have pledged support until 2023 and more.

And most importantly java8 is still a decent experience.

~~~
sound1
what cobol horror stories?

------
ar_lan
I don't know why, but Scott's comments in here came off pretty condescending.

If you're a developer on Twitter, it's really easy to fall into the trap of
believing that the only developers that matter are front-end engineers. Just
because helping develop the kernel, or integrating a new product on an already
existing, proven stack that runs Angular for the front and Spring in the back,
does not provide shiny things to look at doesn't make them less important, and
it really comes off as if he's saying the "famous developers" should feel bad
about that.

I don't know, maybe it just rubbed me the wrong way.

~~~
thrower123
Sometimes it can be mind-blowing the lengths front-end devs will go to avoid
writing a little html file with self-contained script tags for a one-off
throwaway page.

------
djhworld
I think the stuff that surfaces on places like HN is mostly out of the
ordinary.

I've worked in enterprise shops churning out staid Java code on weblogic
servers in the past, if anything HN was kind of an escape hatch for me to see
what else is going on in the tech world, even if sometimes it's driven by
fads.

Most enterprise software engineering is either very complex due to over
engineering, complex business rules or organisational structure or very
mundane CRUD development. Not to say it isn't challenging because often it is,
with the usual scaling, managing data models problems that need to meet the
needs of the corporate hierarchy, but a lot of it is very bespoke.

The only commonality is maybe the frameworks and tooling (C#, Java, Spring
etc) and maybe some industry level patterns that map to business processes
(shopping carts, reporting systems, invoice processing etc) but the web has
endless resources around these that take a while to dig through but usually
you find something to solve your problem.

------
z3phyr
I would argue that Hacker News is actually not about the latest in cutting
edge technology.

Rather, it derives more from the spirit of hacking, fundamentally making
computers do something other people thought are not possible to do or never
tried. It looks like the latest cutting edge tech but rather its a bunch of
people just experimenting.

It does not show whats the norm, but what is possible.

~~~
iamatworknow
That would be cool if that's how things worked, but it seems like nearly every
post here (certainly most comments) aren't considering the shiny new tools in
that context. Rather, most comments are in the vein of "this seems fun to play
with, may have marginal benefit in x business scenario, how do I convince my
bosses to let me spend resources implementing it?"

------
nileshk
At work, we have some customers who want to use WebLogic and Websphere, and
last time I checked those don't have versions that support anything beyond
Java 8.

I still use Java 8 even on personal projects. I'm migrating those to Kotlin,
so I'm at least not held back with regard to programming language features. I
could upgrade those to Java 11 (or 12), just haven't prioritized taking the
time to do that over other tasks, and the benefit would be minimal for these
particular projects.

When using Java 8 language, I'm just happy to have lambdas and streams. Java 8
was the biggest improvement to Java language since 5 -- and I'd say it's a
bigger leap that 5 was.

~~~
sanxiyn
I disagree. Addition of generics in Java 5 was bigger.

~~~
barrkel
I'd rather keep lambdas and live with runtime polymorphism, than keep
parametric polymorphism and lose lambdas.

Generics, in terms of scope, is a bigger feature, for sure. And generics make
lambdas more usable. But the distance between generics and their alternative -
manual casts throughout - is larger than the distance between lambdas and
anonymous inner classes.

~~~
usrusr
Lambdas on untyped streams? I think I'll pass...

Speaking of dark matter coding, story time: a spare time project of mine
involves bringing an actual, pre-generics codebase into the not quite as
distant past. That beast still has real, living users! Surprisingly, a
frequent complaint is running out of heap memory, so they are happily sharing
their magic -Xmx incantations with values that would have been outrageously
high when the code was written.

------
Tade0
_I’ve developed in environments where Java 8 was still the latest available
version because of upgrade security issues._

I have a friend who, until very recently, was working on a system based on
Java 6, which coincidentally was the latest version back when the both of us
were in college.

I'm currently in a not-that-old project(2 years old) the front-end of which
was built using Angular 1.x.

I have to admit I like this, because my biggest gripe with this framework was
that the API changes from version to version were so intense, that you
couldn't find a working tutorial for some stuff.

Now that it's not being updated that fast it's much easier.

------
overgard
I agree with a lot of what this article is saying, but here's a counterpoint:
[http://www.paulgraham.com/pypar.html](http://www.paulgraham.com/pypar.html)
(Although I think you'd have to call it something different from the python
paradox nowadays).

I know personally I prefer working for companies that have these modern tech
stacks, not because I'm a tech hipster or because I think these newer
technologies are implicitly better than the old ones. Rather, I think it
signals that the people there care about their profession and are interested
enough to read blogs, keep up to date, etc., and those are the people I want
to work with.

That's not a criticism of the people that want to work with what they know and
go home and not think about tech at all. Just a personal preference.

------
exlurker
Hehe... Cool, I'm a "dark matter developer" and I like it. Edit: Because of
downvotes, I'll expand a bit for more interesting comment. I work in a pretty
large corp. as a developer, and solve a lot of smaller day-to-day business
problems - let's say it begins with Excel and ends with a web form. I also set
up the server, database and anything else I need on Azure in co-operation with
our (very big) IT provider. I find it quite interesting, but my workday ends
at 16.

------
jordanbeiber
Patterns and tools exist that many a company could use and benefit greatly
from.

A lot of this actually gets described in various HN posts (ex just today “use
a pixel to log traffic and ditch google analytics.), and this is something I
really enjoy about this community!

There’s a lot of competent posters and as long as you’re just enough competent
yourself to make the distinction of “out of my league, google scale” and
“could make this thing I’m building simpler and better” all is good.

The key here use whatever’s “meeting your requirements”, and after 20 years in
both pure tech and enterprise IT let me tell you — many “dark matter” devs
could use stepping out of comfort zone and question whether there’s _simpler_
as well as _better_ ways of meeting reqs.

At many places politics and culture have stood in the way, but this is slowly
eroding.

I personally believe this ”out of comfort zone check”, or evaluation, be done
at regular intervals be it regarding infra, providers, tooling or languages
and it’s patterns.

It’s how you learn, and more important _unlearn_!

My last few years at enterprise dev shops seem to point at “we’ve won” at the
floor, when it comes to embracing open source and a sharing mindset (at least
here in Sweden).

For me personally — happy times! Finally I’m actually allowed to use that
pqsql or open source monitoring tool, and no one raises a brow.

This gives you magnificent opportunities but also an incredible amount of
potential foot-guns!

------
bluejay2387
Probably one of the most true things I have ever read on this site.

~~~
endorphone
It has been a sentiment that is posted on here just about monthly, and this is
surely not the first time you've seen it. Usually it yields a lot of cynical
posts with clever new phrases for whatever is new, as if there are a lot of
people feeling really defensive for whatever they're using.

HN is about the _interesting_ parts of tech, pushing at the edges. Yet the
vast majority of developers are developing vanilla IT processes in shops where
they want it to be the most benign, easily transferable solution possible. The
differential between the two isn't surprising or particularly interesting.
It's an obvious outcome.

And in ten years the stuff that people talked about on HN become the normal
stuff at those IT shops, and HN will be onto something else. And on your
"legacy" shops you'll be using frameworks that incorporated the best of those
ShinyNewThings. Or do people really think the Java ecosystem today (or the
.NET ecosystem, etc) hasn't changed over that time.

And that's okay. It's okay to wait until it matured. What isn't okay is that
it's usually coached in derisive, defensive terminology that denigrates
whatever is "Trendy". That part isn't cool

~~~
jskaggz
In your last sentence, the converse also applies to would be trendsetters
denigrating mature technologies. I think that the key problem is that people
in this industry are quick to play the denigration card in order to justify
their own beliefs, instead of fostering an environment of mutual respect.
Remember, a lot of the audience of hackernews, for better or for worse, are
impressionable green management that aren't exactly qualified to start
powering their homes with miniaturized fusion reactors, and would be better
off to keep using things like relational databases and cobol if the ends
justify the means.

Does this problem play out in respect to experimental medicine I wonder?

j2ee+oracle == aspirin? isomorphic reactjs+node == S100A9 vaccine?

------
bovermyer
This is my favorite quote:

> For better or worse, the world still runs on Excel, Java 8, and Sharepoint,
> and I think it’s important for us as technology professionals to remember
> and be empathetic of that.

------
tetha
Incremental improvements to an infrastructure or rather the software ecosystem
of a company isn't something many people talk about, indeed. Shiny new tools
are interesting and flashy to look at.

For example, I'm very happy with the development of the company I work for
over the last 2 or 3 years. I've pushed them from old unmanaged systems to
mutable systems managed through chef. There's still some really ugly things,
it's mutable, it's not shiny, it's VMs running tomcat running java 8. I like
to call it really 2000s and/or vintage. It took time to migrate all systems,
to gain trust of stake holders, to educate and convince the ops team. And I
guess in some cases, we're running a really ugly mess of a system, but it's a
reproducible mess.

But this was a massive improvement and value gain for the company. Suddenly we
have an ops team with a lot of leverage and competence to manage an ever
growing SaaS setup. And overall, the mindset of most people involved has
changed over time towards standards, automation and the value of this.
Automation has improved the cost efficiency of some default projects
dramatically. We're still old school overall, but we're generating value.

And now the wheel of time has turned some. We've been bought, now there's 8
more development teams, now there's new products being brought in. At this
point we're picking up containers at a larger scale because we have to move
faster than the config management can handle with the current manpower. So now
we're handling some stuff we can using the config management, some stuff with
containers.

Overall, moving slow and deliberately in an infrastructure is a very valuable
skill. Solve the important problems. Sometimes a trusty, ugly, old java
application server isn't your important problem.

------
phoe-krk
Sure it runs on Java 8. Some companies prefer stable and battle-tested
software and languages over whatever is currently The Hype™.

~~~
xxs
Java usually offer one of the easier paths to find decent developers.

------
caust1c
Great commentary, but I disagree with this point:

> we are listening to complicated set-ups and overengineering systems of
> distributed networking and queues and serverless and microservices and
> machine learning platforms that our companies don’t need

A lot of these technologies are talked about not because they're cool or hip,
but because they actually increase productivity quite significantly. You can
build complex architectures with any stack. But what many new technologies
enable is building a company with fewer engineers and fewer resources than
what was required before.

That said: it's clearly possible to be very productive with old technologies
as well. However, I just don't see new companies which need to interact with
"legacy" software being run without using some sort of virtualization or
containerization technology.

------
usermac
That was an enjoyable read. Just funny. Alright, I might not be a "dark"
employee but we do run our shop on... FileMaker! Since 1993 as best I can
tell.

~~~
Veen
I had no idea FileMaker was still around. Thirty-four years old and still
being developed and used. Seems out-of-character for Apple to keep it going.

~~~
usermac
It's pretty sweet. I just fielded a full online order system and did it in 30
calendar days flat. It wins five-star reviews from my users and raving
compliments.

------
X6S1x6Okd1st
I work at a company that employs +1.5k engineers that is currently stuck on
guava 16 (released in 2014) and upgraded to java 8 about two years ago.

P.S.

> This is the reason many government agencies return data in PDF formats, or
> in XML.

Equating returning data in XML to returning data in PDF is cray. I'd take XML
over human readable PDF 100 times to 1.

------
sdegutis
> This piece of the puzzle is the one that worries me the most. What I’m
> worried about is that places like Hacker News, r/programming, the tech
> press, and conferences expose us to a number of tech-forward biases about
> our industry that are overenthusiastic about the promises of new technology
> without talking about tradeoffs.

That's because these are marketing websites, meant to show off the newest and
shiniest things, with an agenda. We like them because by our nature we like
new and shiny things, but their content isn't representative of real life,
like _at all_.

> That the loudest voices get the most credibility, and, that, as a result, we
> are listening to complicated set-ups and overengineering systems of
> distributed networking and queues and serverless and microservices and
> machine learning platforms that our companies don’t need, and that most
> other developers that pick up our work can’t relate to, or can even work
> with.

This is also part of human nature and my experience in the tech world confirms
to me that the loudest voices are usually somewhere in the top of the bell
curve of correctness or usefulness. Make friends with people who are working
on real products every day and stay grounded in reality by talking to them,
like knives that sharpen each other. The less they want to talk about tech or
share their opinions, the more likely they are to have sane, reasonable and
useful ones.

------
cutler
According to [https://builtwith.com](https://builtwith.com) most of the
world's top websites are built with PHP or ASP.Net, ie. pretty old
technologies, yet all we hear about in the tech press and job boards is
React.js and Node.

------
sunaurus
>Java 8 is still the dominant development environment, according to the JVM
ecosystem report of 2018.

>If you think that’s bad...

Why would I think that's bad? The replacement for Java 8 was just recently
released, does anybody really expect the world to upgrade so quickly?

~~~
Rebelgecko
Seriously. The replacement is maybe 6 months old and breaks a lot of things—
the Java code I work on doesn't work with Java 11. While we can (and at some
point will) figure out why and fix it, there's other things to do in the
meantime. And just migrating from Oracle JDK to OpenJDK has been enough of a
pain in the ass.

~~~
isbvhodnvemrwvn
I'm currently searching for a replacement JAX-WS implementation so that we can
migrate to Java 11, and so far I haven't been able to find one without old-ass
CVEs which were patched in core Java.

------
sebazzz
Reminds me on the place I work. We have many projects for many clients.
ASP.NET Web Forms, ASP.NET "old" MVC. We don't have webpack, we use
BundleTransformer. We don't have MongoDB, we have SQL Server and NHibernate or
Entity Framework. .NET Core is not even on the calendar yet (maybe a little
bit sooner now .NET framework is essentially deprecated). We use Knockout,
though a replacement is being researched on. Our code is stored in SVN. We use
LESS and Typescript 2.x, modern eh?

If you have a single or a small number of products to maintain, because that
is your core business, you can afford to upgrade and experiment, revert if
necessary. But not if you have many projects, because those projects are per
definition smaller. So you take smaller steps, less risky steps. You can't
move that fast, it simply cannot be done unless you can create a business case
for it.

The real challenge is to resist, as the article states, all the new stuff you
get slapped with every day. It is not harmful to say on a bit older
technology, technology which may _seem_ to be of another era. It is still
useful, and as long as it isn't a business risk it is often not a business
case.

------
djabatt
HN news is about possibility, inspiration and also practical/tactical
insights. Writing about the past and the maintenance of the old systems isn't
all that interesting. Thus most don't want to write or read about. We all
agree there are many old and once very cool tech in the wild, but I for one
use HN to be inspired and jazzed about what the community on edge is doing or
wanting to do. :)

------
pwinnski
HN might be pointing the way to the future.

Or it might be overly focused on things that will never take the world by
storm.

~~~
SeanDav
HN is a bit of an echo chamber. A very interesting and worthwhile echo
chamber, but an echo chamber nevertheless.

This is not a criticism, but probably an unavoidable by-product of how it
works and the audience it attracts.

~~~
nurettin
Like some sort of colourful bird mating ritual, you have to append so many
explanations so as to not offend someone's trigger-happy finger and lose
karma.

------
Wonton56
There is nothing that «most people do». When will people realize this? Yes you
have trends on HN that are different from trends in, say, the oil prospecting
industry or something. And yet they overlap sometimes. You also have vastly
different needs. Some beed to optimize for execution speed and some for
development speed. Some need high parallellization some need single thread
performance. Analytics demands writing code in minutes or preferably seconds
while aircraft software may require years of testing for correctness. Even the
level of experience will impact how well you can perform on any level with any
tool. I mean stop discussing how many teeth a horse has and just count them.
We should spend time defining what problems current and old tools can solve,
not discussing what tools solve one problem better because no two people will
ever have the same exact problem let alone have the same exact understanding
of it.

------
vijaybritto
I was on the hype train for quite a while jumping between different systems
and burning out a lot. It's mainly because I entered web dev when javascript
was beginning to eat up the world. Its the only language I know and understand
well. (learning Rust and dart now) Lots and lots of ideas and frameworks keep
coming up. Now when i read stuff for the backend its pretty calm and steady.
Especially in the java stack. I used to laugh at people writing java. I
complained that JVM takes a lot of memory. But I didn't see that JVM still
completed >98% of the requests whereas my Node app was completing only around
65% of them. The memory mattered in my laptop but not in the server.

Now we rapidly prototype features in Node and move them to java once the
consumers like those features. Even though the stability of an application
depends on the programmers, its a good decision to use well tested and stable
stacks.

------
lanius
Is the story about Tesla's infrastructure true? I seem to remember it was
posted before, and the consensus then was that it was a great work of fiction.

------
abalone
See also: “Why NASA’s newest space shuttle uses a computer chip from 2002”

[https://qz.com/317406/why-nasas-newest-space-shuttle-
uses-a-...](https://qz.com/317406/why-nasas-newest-space-shuttle-uses-a-
computer-chip-from-2002/)

------
Zrdr
Effectively, HN has a strong bias over interesting things.

------
electrotype
At one point, you have to stop "looking for the next magical/better thing".

You pick something mature enough, that works well, and you ignore new cool
trends (anyway there will be cooler things soon enough).

[https://www.youtube.com/watch?v=ecIWPzGEbFc](https://www.youtube.com/watch?v=ecIWPzGEbFc)

What I am trying to do with my framework,
[https://www.spincast.org](https://www.spincast.org) , is to ignore new cool
trends as much as possible and focus on real use cases. Comments welcome.

------
johnjreiser
Isn't this what Bimodal IT strategy all about? You'd want to keep current with
cutting edge (through sites like this one) so you know which future looks
promising and then incorporate the changes into your organization's systems
when the time is right.

I enjoyed the article and too have felt the urge to think "why aren't we doing
that?" but the business still needs to happen while you're also experimenting
with tensorflow emoji recognition.

------
kilon
IT runs on a wide array of technologies. Desktop games and 3D graphics which
the area I focus and obviously a massive part of the software market if we
include consoles and mobile devices , C++ still is king. Most games nowadays
use either Unity or Unreal, which is C# or C++. Java is almost completely
absent apart of course from the Android. Of course native iOS is still
Objective C and Swift. AI another field that interests me is dominated by
Python. Also if we venture outside the commercial part around 40% of software
is written in languages that you will never hear anything about them . Mainly
because are small projects where using any language is not an issue. Generally
a vast majority of the IT is definetly not Java but a wide group of highly
popular languages mercilessly bombarded by thousands of unknown languages
struggling to gain a fraction of a percentage in terms of growing their
community. Essentially strength in numbers. Software is chaotic field of
countless of technologies. Even something as big as Java has no hope of
dominating because it’s impossible for a language to excel in billion
different scenarios. So don’t worry Java won’t be conquering the Software
world any time soon.

------
vbezhenar
I'm right now writing code for integration with one information system using
SOAP Web Service with digital signatures. Good old Java 8, wsimport, etc.
Nothing wrong about it, it gets job done. I'm still reluctant to throw away
XML from my Spring projects, I don't like their new approach with annotations
and XML works better for me.

------
sanxiyn
HN is an early adopter community. If you want technical community, there are
places like
[https://www.reddit.com/r/systems/](https://www.reddit.com/r/systems/).

Edit: Disclaimer: I am one of moderators and this is a blatant advertisement.

~~~
idlewords
Speak for yourself, man. Lots of proud dinosaurs here, when it comes to
deployed production systems.

~~~
sneak
Or even new ones. I’ve been given js+mongo apps by partners that I had to
modify to use standard postgres before becoming responsible for herding them
in prod.

Not everyone chases the hype cycle.

------
antoaravinth
This is so true that I can relate this myself and my co-workers. We work on
javascript side most of the time and daily there will be set of developers
talking about new bundlers, react features, hooks etc and they plan to use it
in the production. The one thing I see and relate to this article is that, few
team have used flow stating its a great tool for static typing in js world and
now they are forced to change now to typescript. The same developers who
introduced flow into the codebase, now in a position to say flow has huge
drawbacks compared to typescript. Now they are moving to typescript, but who
knows, typescript can change too. We never know. I always fight against these
tech updates, without understanding its cost, but in most cases I fail to.

------
cbsmith
What's funny about this is that Java 8 is no longer supported by Oracle, so
unless you are using openjdk or some other equivalent, IT is running on a
potentially insecure platform.

Not being cutting edge is one thing, but being insecure...

~~~
ciceryadam
There is no longer free Oracle support for Java 8. But Amazon's James Gosling
lead Corretto is reviewing updates, and even backports:
[https://docs.aws.amazon.com/corretto/latest/corretto-8-ug/pa...](https://docs.aws.amazon.com/corretto/latest/corretto-8-ug/patches.html)

~~~
cbsmith
That's if you are using Corretto, not Oracle's JDK.

------
guitarbill
Blindness to "old", established tools and technologies is one thing, but let's
not pretend Sharepoint, Java 8, Excel, et al don't have their fair amount of
suckiness and operational challenges.

~~~
4ndrewl
Is anyone pretending that?

------
garfieldnate
I don't think there's anything super surprising about running on Java 8. I
would be more worried if she said Java 4! Java 11, the next long-term support
release after Java 8, came out late last year, and there were a lot more
breaking changes between 8 and 11 than there were between 7 and 8. I had to a
lot of dependencies, especially the ones that use reflection heavily (Mockito
and Lombok come to mind!).

Meanwhile there are still young Java programmers who think that since 8 is the
newest and sexiest thing, _everything_ has to be written using lambdas and
streams.

------
jldugger
I'm not sure I can fully agree with the author's point. 'Don't feel bad that
your company is running outdated and expensive technology with known
vulnerabilities!' I'm not sure how else to read an article seeking to
highlight folks running telnet and ColdFusion. Complacency here isn't serving
your customer's best interests.

It's absolutely the case that HN / tech social media induces FOMO and Resume
Driven Development, but it's very easy become complacent if you adopt such a
viewpoint.

~~~
edgarvaldes
>'Don't feel bad that your company is running outdated and expensive
technology with known vulnerabilities!'

I don't think that is the point of the article.

------
hangonhn
But to be fair, Java 8 to Java 12 (2014 to 2019) happened a lot faster than
Java 6 to Java 8 (2006 to 2014). Being on Java 8 is not a bad thing because
it's actually not that old.

~~~
erik_seaberg
Java 12 won't have long-term support, so you need some compelling reason to
choose it for prod. Java 11 (the next LTS release after 8) has only been out
since September, and the module system (which I find pretty pointless for
backend) did break some stuff, so I only feel a little bad about not being on
it yet.

------
IloveHN84
Agree with article. Probably my company has a 95% of dark matter programmers,
plus writing C++ code as C with classes and keeping Java 5 (!!!) And Java
Applets still in development for customers who don't want to leave Windows XP
as their desktop OS..

IT might run on Java 8 if it's lucky, but more of them are even far behind it.

Imagine that Jenkins CI just last year moved to Java 8 officially as JVM
requirement.

A ton of products are still on Java 7. If we talk then about EE Standard, i
have bad news for you

------
gigatexal
Java 8? That’s great! It’s got streams and was fun to learn. Anything older
than that would be rough. We’ve still got code that runs on node 1.x so java 8
is awesome.

------
zxcvbn4038
Hacker News is for the people that are leading their companies into tomorrow.
Everything else is for the people settled in today or fighting to stay in
yesterday.

------
snlacks
Devs using the newest tech at start-ups, hobbies, and in their side work leads
to the menegerie of today's Node Microservices Containers (or whatever)
becoming tomorrow's Java 8 on Windows 2012.

Interestingly, I work at a medium sized company that is updating existing tech
to microservices and the cloud because 5 years later, it seems like those are
good investments that return good value in ease of configuration, deployment,
etc.

------
astee
Hits home here. I started reading HN as a college freshman. At the time, a lot
of the titles were gibberish to me. Over the next few years I sucked in
articles and comments until I had (what I thought was) a pretty good mental
model of the industry.

Well that model was... quite a bit off.

But the filter bubble has its merits. A little daily exposure to HN keeps the
ideas churning when you're mostly doing mundane stuff.

------
mnorton
this should be like, pinned, to the top of HN

~~~
idlewords
Just replace HN with this static file.

------
S_A_P
Salient points, but even Java is a regional thing. In Texas, if you aren't
using .NET then you are in the minority.

------
norswap
There is nothing that wrong with Java 8, honestly.

Have we done better since? Debatable, but maybe. But there certainly hasn't
been a quantum leap. Two step forwards and one step back, more like (and
sometimes the reverse).

Just the title shows you how much maturity the article can muster, and the
rest doesn't really hold up better.

------
sinuhe69
I always thought it's a common sense that most of the industry is still
running on legacy stuffs. I also thought it's common sense to critically
examine other stories and opinions and to evaluate them in your own context
before forming your judgment. But it seems it's not.

------
hanse00
Nice article. As someone who has worked at a company that DOES operate on the
bleeding edge of technology, it's also hard to go the other way.

Only after applying for other jobs, have I realized that essentially none of
my skills are transferrable to the majority of businesses out there.

------
ptx
> Java 8 is still the dominant development environment, according to the JVM
> ecosystem report of 2018.

At the time the cited survey was conducted, Java 11 had not yet been released,
so Java 8 was still the current LTS version.

> There’s a lot to dislike about the [HN] commenters ...

That seems uncalled for.

------
beiller
We have some java 1.4 code, which is running on OC4J app server version 10.1.3
with apache tapestry version 4.1 app framework. I have to look up some
official documentation on the internet archive because much of it is 404d. Can
someone please top this? :)

------
alkonaut
Yup still trying to migrate a big repo to git, and have been at it on and off
for two years. Once your products have a decade or more of history and 100 man
years or more of effort, they always carry a bit of momentum.

------
myrandomcomment
I love it because it is so true. I live in the bubble of the valley and I
cannot even begin to recount the number of arguments I have had with people
about why an big enterprise just cannot do/move/etc. to X.

------
ltr_
> I’ve finally come to realize that most businesss and developers simply don’t
> revolve around whatever’s trending on HN.

shocking.

but truth be told,HN have a share on my hate to any IT job in my country, and
my past professional decisions.

------
srameshc
It's a great argument. But at the same it is important to see where a lot of
new investment is going into. Enterprise is changing too. So next 10 years
will look a lot more different, is my opinion.

------
dbrgn
I work on an Android codebase. I _wish_ I could use all of Java 8...

------
matrix
I think the author might not realize the substantial difference between
working in a tech company (the HN audience) and in supporting roles in non-
tech businesses. I have worked in both worlds, and it really just comes down
to choosing the right tools for the job. In tech you're supposed to be on the
cutting edge. That's part of what makes it fun and rewarding.

However, if anybody feels lesser for working in non-tech they're probably
thinking the wrong way about the value they're creating. It can be immensely
rewarding to build something unsexy and relatively simple that moves the
needle by millions or even billions of dollars.

~~~
lwb
> I think the author might not realize the substantial difference between
> working in a tech company (the HN audience) and in supporting roles in non-
> tech businesses.

I too underestimated this -- a tech internship at ExxonMobil was such a vastly
different experience from a tech internship at Facebook that they could barely
both be considered the same field.

------
cptwunderlich
Java 8? I wish! We're mostly stuck with Java 6 and 7! :(

------
coreman
Honestly I would choose Java and not Go, Elixir etc. if I was writing software
for an insurance company or other customers that demand complex business
logic.

------
Annatar
"And, if the tech is, in fact old and outdated, and the tradeoff from
replacing it is lower than the tradeoff of keeping it, we shouldn’t be jumping
to replace it with the latest and greatest. While we should evaluate new tools
evenhandedly, most times, Postgres works just fine."

Bravo! Buzzword fanboy club here on "Hacker" "News" please take notice:
outside of this massively biased webshit / GNU/Linux / GPL / Rust / JavaScript
echo chamber, "Hacker" "News" is the butt of jokes. Try to guess why.

------
EugeneOZ
Everything is fine with HN front page - technology enthusiasts should talk
about bleeding edge technologies.

You expect them to discuss VB6 or Sharepoint? Well, problem is not with them.

If you don't learn new things your skills will be outdated soon - world is
moving forward, technologies are running forward. You shouldn't rewrite
everything with new tool/language, but you should constantly read what new
techs are around, what is interesting or useful for your business or just you
personally.

------
mrankin
I was right with the author until the last line where it was suggested that I
just need to live with sharepoint. :(

------
dana321
A third of the websites run on Wordpress, its not trendy but it works and has
a huge library of plugins and themes.

------
YeGoblynQueenne
>> Not me, but my mom's a COBOL programmer for a Fortune 50.

Smart girls learn COBOL.

------
exabrial
> IT Runs on Java 8 in Go

------
HeavyStorm
Actually, it runs on cobol. But whatever, self research is always amusing.

------
zapzupnz
> IT Runs on Java 8 using Go

> IT Runs on Java 8 using Rust

> IT Runs on Java 8 using Tensorflow

Still makes sense

------
diminish
Maybe it's wrong to see startup tech as the cutting edge part of the IT.

IT maybe just another industry similar to bio or agriculture and not part of
the startup tech.

Maybe IT crowd should simply avoid sharing common forums like HN with startup
and SV people.

~~~
dang
I hope not! HN is for everybody who is intellectually curious.

------
betolink
Most of the comments here are missing the point. Very HN.

------
jillesvangurp
HN is biased towards startups. Startups are mostly very short lived
operations. The lucky ones end up re-implementing their core technology
several times.

That stimulates a pattern of behavior where people emphasize engineering
things that differentiate their business from what others are doing. You don't
build a tech startup on doing basically what companies that already exist have
been doing for years. If you copy those, you'll be exactly like those and not
be able to differentiate. Also, startups don't have to worry about supporting
still relevant software that they inherited from way back. I't s a clean slate
by definition and that means picking current versions of whatever technology
is relevant to you. So, this is simply a form of selection bias.

It's actually interesting to see what startups are doing because many normal
businesses end up cherry picking what happens there some time later;
particularly when those startups survive (most of course don't).

The title mentions Java 8, which is not that old yet. It was basically the
current version until last year. 9 and 10 were non LTS releases with only 6
months support. v11 was only released summer last year.

If you use Scala or Kotlin or most other JVM languages, v11 brings very little
new to the table that actually matters. It's a very minor release unless you
actually use the Java language. GraalVM, which is a popular new related
technology is still stuck on v8. Personally, I'm a big Kotlin fan. It looks
exactly the same on JDK 11 as it did on JDK 8 and there's no big need to
update. Actually because of Android, Kotlin is still biased towards Java 7.

I always look at technology platforms from a point of view of risk management.
In a startup, you need to take risks but not across the board. If you go for
some new funky storage layer (nosql, event stores, etc.), pair it with some
new language nobody is using yet, and a bunch of frameworks that got released
on github 3 weeks ago in a pre 1.0 state, then you are taking a lot of risk
and the chance increases that some of it won't work out as you hope. It's fine
if your startup is about that technology stack but otherwise, you may want to
be more conservative and pick your risks more carefully.

If, for example, you need to have some microservice with a bog standard REST
API running, pick something that you are comfortable with or plan to take a
calculated risk by e.g. trying out a new framework but pairing it with a DB
and language you already know.

If your startup is building what is a glorified web shop or something
similarly mundane but necessary, there are a few good arguments for just
sticking with proven technology. This is why e.g. Spring Boot is pretty
popular with some startups. It's simple and new enough that you can get away
with it without looking too old fashioned. And if you need to scale an
engineering team around that in a hurry, it's kind of nice to have something
reasonably widely used, understood, and mature.

People stick with Ruby on Rails for the same reason even though lots of people
now pull their nose up for stuff like that. A lot of fintech startups tend to
stick with stuff like this. They'll use current versions and might bring in
e.g. Scala or Clojure. But overall they are definitely biased towards using
more enterprisey stuff.

Funnily enough, node.js is now old enough that you see that creeping into the
enterprise world as well. Personally for me that's still in the high risk
category due to the high amount of changes and turnover with many npms. I have
a few legacy node.js projects and updating their dependencies is an enormous
PITA because basically everything breaks if you do that to a node.js project
that is more than a few months old. It's like a snapshot of what was
fashionable a while back. Most of my remaining Java projects on Github I
update once every year or so (or whenever I need to touch them) and typically
without any drama whatsoever. V7 or v8 to v11 is mostly a just bumping a few
versions. Of course v11 can use them as is so there's no big need to do this.
But I like to stay on top of this generally.

If you run a company that still needs to exist in two years, resilience over
time is a good thing.

------
faustocarva
Perfect!

------
lucdurette
Great post

------
dr01d
Oracle

------
villgax
Dunno what hole she is in but Excel, Sharepoint are all things that new age
companies don't work on & rather is the tool of choice for all things by
legacy ones still chugging along.

~~~
chrisseaton
You may be very surprised how much very serious stuff runs in and is still
being written on top of Excel. Trading models dealing with tens of millions of
dollars a day for example.

~~~
ekianjo
Yup, can confirm, Excel is everywhere. And it's even applied where it's not
appropriate (VBA macros runnings on way too large datasets for hours and
hours, completely inefficiently).

------
torbjorn
IT runs on Java 8. IT in 2030 will not run on Java 8.

~~~
mrspeaker
Are you talking about Java 8 specifically, or are you saying that for some
reason there is going to be a sea-change and corporate IT is going to start
using all the buzzwords and tearing down their old systems?

If it's the later, and seeing how much enterprise has shifted in the last 30
years... if I were a betting fellow I'd say big systems will still be Java 8
in ten years time. Mayyyybe a freshly discovered catastrophic flaw in the jvm
causes them to upgrade a version!

~~~
dpc_pw
They won't tear down anything. But there will be more and more systems that
were built using newer things, some which we consider cutting edge right now.
Some companies will get acquired, some will go bankrupt and their old systems
deprecated, etc.

