My 2017 predictions:
- Back to insourcing: If you are pragmatic, software development is easier than ever. The only challenge is the deep understanding of the domain concepts and requirements (=the product thinking). Companies starting to realize that if they outsource their core expertise, nothing remains left. They become a "gray mass" indistinguishable from their competition. I'm also expecting increased investments in internal teams.
- Java is fast, productive, mature and extremely popular. Therefore the year 2017 is going to be full of "Bashing On Java" articles like e.g. "Oracle finally targets Java non-payers" Writing negative articles about Java draws lot of attention and so traffic. Publishers are under pressure -- writing blog posts, articles and content targeted against the Java programming language increases traffic and is good for business.
- I expect to see the first failures of microservice projects accompanied by some negative press. There are many projects out there with trivial business logic deployed on an unnecessary high amount of independent deployment units.
- I would expect some backlash against Fat WARs, Ueber JARs etc. I don't see any benefits, just disadvantages. Mixing a big amount of barely changing dependencies at each build, with tiny amount of frequently changing business logic sounds like Cargo Cult to me.
- Finally the microservice movement increased the need for monitoring. I expect the first "data overflow exceptions". I observe the tendency to gather all possible metrics without thinking about their meaning. It reminds me of past projects which generated gigabytes of logs with only a little amount of contained information.
- Projects become more pragmatic with more focus on users and less on fancy, but optional frameworks. "Brick and mortar" companies are going to recognize, that they requirements and scale differ from Netfix, Twitter, Facebook and Co. What works great for Netflix, might be an overhead for a regional company.
- JDK 9 is scheduled to 23rd March 2017. Particularly "senior" developers and architects are going to get really excited about Jigsaw. This will lead to proliferation of unnecessary modules. On the other hand Java 9 becomes even more interesting for microservice deployments.
- Companies will start to recognize, that Angular 2 is more similar to React, than to Angular 1.
- "Inclouding" :-) Hardware becomes less and less expensive and cloud management software becomes also available on premise. I'm expecting a slow trend towards private clouds.
- Java EE projects become more pragmatic. Already in 2016 it was relatively easy for me to let projects delete unnecessary patterns, indirections and modules. There are no arguments left against "Thin WARs", fast deployments, no setup and focus on the actual requirements
I do not agree with point one.
I mean, not entirely. Outsourcong will die eventually but not insourcing will replace it. I don't see programming as being "easier than ever" - sure, it's easy to write code, anyone can do it these days. Especially with all these scamming "IT schools" around. Writing tested, extendable and reusable code, on the other hand, is not so easy.
So instead of insourcing, I think other methodologies should take outsourcing's place, like XDSD:
Posted by Mihai on January 10, 2017 at 05:46 PM CET #
Nice blogpost, but please fix JDK 9 GA date in point 8. It should be 27th July 2017, see http://openjdk.java.net/projects/jdk9/
Posted by Boris on January 14, 2017 at 01:40 PM CET #