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
On demand workshops: Java EE 7: Bootstrap, Effective, Testing and Microservices available for streaming.