Hi there,
because there is not much to tell about my workouts at the moment, I’ll write a post about another subject that I mainly spend my days at work with, namely software engineering. My work career has consisted of many jobs where I have had the delight to work on many kinds of software systems, mobile apps, large-scale web apps, eCommerce etc. with Java as my main tool. During the past few months I have started to really think about the future and which technologies could be worth learning and future-proof. Java and Java based technologies will probably be there a long time still, but I personally think, most of the web and app development will be done with more flexible languages and tools.
I have rarely been so excited about any software development language or tool that I am now. I have namely spent the last few months on a splendid Full Stack Web Development course by the University of Helsinki that is completely free for anyone(!). It is also possible to get official credits by registering as a student at the Helsinki Open University. What delights me most, is the great flexibility and speed of the development compared to the traditional Java Servlet applications deployed to a server. It is an absolute blast to be able to try out things and see the results immediately. Moreover, you don’t necessarily need the latest hardware to be able to develop effectively. For sure, it will help to have enough RAM and an SSD drive on the development computer, but also a more modest setup will work. Moreover, the modern tools of the web development have really developed well during the past few years. The dev tools in the browser are a really great aid and editors, such as Microsoft Visual Studio Code with a rich plethora of community-developed plugins makes one wonder why to pay for an IDE, if you can get this kind of stuff for free.
When I last time tried actively to learn the basics of modern Javascript web development, I lost my nerve with the setup of a project, and I really think, this is the domain, where the development has been really quick. It is no longer a pain in the ass to create a new project – when you can e.g. grab create-react-app and off you go. Also adding libraries and testing them is mostly a pure joy compared to e.g. a Maven-based Java Project – thanks to the package manager npm.
Another wake-up during the course was GraphQL. I had hardly any expectations about the topic. Naturally I had read a bit about the technology, but first after testing it a bit in exercises and on the full stack development project, I am sold. In many cases it is so much quicker to develop a working API with it than with REST so I wonder whether GraphQL won’t reach a much wider popularity than it now has.
Nevertheless, not everything is pure gold with ReactJS and co. Debugging and problem solving is still painful compared to the debugging of a Java project on IntelliJ for instance, but on the other hand also here the gap is getting smaller and smaller. The past months have made me to think of my future as developer; I don’t see a point to continue on the same path, but as always, there’s time to learn new technologies and also hopefully get a chance to use them at work.
Cheers!