Programmers or System integrators ?
When I look back 20 years, programming in Java was a different beast. We would write the code for the API handling, needed to understand the design patterns (Singletons:)), Write the servlet pipeline to handle security and URL/header sanitisation, and also write the database handling for caching as well as mapping from table structures to Java objects.
In the recent years, with annotations, innovations like Spring, JavaEE etc have been enabled. But, more and more work is being done in those annotations. When I talk to young coders now, they know that it is handled automatically by the framework, so are more “productive” and can focus on the “business” side of the problem.
We will be soon sitting where there will be very few people who can build systems that do the magic. And applications will become more about writing “business” than about the logistics of getting there, much like the OS services are now assumed to exist.
Essentially, as we said in the past, most of us will become more “system integrators” than “programmers”. Or, maybe the definitions will change once again.
I still like building things from scratch. NodeJS/ExpressJS feels more like “Servlets” and JDBC all over again. So am attracted to it.
Any other suggestions ?