Main Lessons from Jfokus 2016
As you can guess from the number of covered topics, this conference is huge. Over two days, it had almost 80 presentations, most of the time six running in parallel, and hosted around 2,5 thousand people. Nonetheless, the arrangements were perfect. Fast wifi, excellent food and great distribution of rooms, exhibitions and people. In the following, I will try to summarize what Jfokus 2016 taught me:
1. Be passionate
Being passionate is the key to everything: to happiness, success and world peace. Love what you do and do it with all your heart. And find what feeds your passion the best! Explore new things, do hobby projects, read books or articles, and share your thoughts and experiences with other people. You can see many examples on Jfokus from people doing development just for fun. My favourite was Stephen Chin's Java retro console project. Unfortunately, it was not recorded at Jfokus, but you can watch the session here. Also, I warmly recommend you to read Chad Fowler's "The Passionate Programmer: Creating a Remarkable Career in Software Development" book.
2. Don't be a ghost
It's not a surprise that being social is one of the main lessons of a huge community event. So, don't be the ghost, who lurks in the night, developing in silent solitude just to vanish on the first light. Be part of the online community that spans across nations and bounds together everybody from freshly graduated Indian developers to Architects of the Silicon Valley. Even if you don't have time to regularly write blog posts or participate in opensource development, you can surely find the time to ask and answer questions on StackOverflow, read and comment the latest articles on Dzone or join some local developer communities close to your area. Worry not, if you don't find any, there are virtual ones as well like VirtualJug, Nighthacking and many more.
3. Value code quality
Believe it or not, many presentation focused more or less on the importance of clean code. Not only Uncle Bob is obsessed with the topic enough to write a whole book about it, but it is a generally accepted good engineering practice that many of us ignore. Clean code is easier to read and understand by others, including your future self, and it also has a better performance and it is proven to be less error prone. The most common argument against it is that it takes too much time to refactor. The ones who say this may not have looked deep enough into the topic to know how to do clean code efficiently, and probably don't know how to use their IDE's modern refactoring tools properly. It will take you only few minutes to clean up the code before committing your change. In the long run, with easily readable code you'll end up saving much more of your time than just those few minutes you could choose to spend on the cleaning up process.
4. Keep on going, but follow your own path
Each time these conferences introduce new buzz words, like the current "microservices". New technologies arise all the time and existing ones release new features on daily basis. Of course you have to go with the flow or else you will loose your market advantages and sink to the bottom. So, be wary since everything may not be meant for you. Sure, microservices could be your new dream architecture, but if you jump into it without a proper knowledge, DevOps and most importantly, without a real need, it can turn into a vivid nightmare. Similarly, the new parallel streams of Java8 can boost your application's performance, but it can also slow it down if your algorithm is poorly written or your dataset is too small. Therefore, I recommed you to keep up with the change, but think twice before you adapt a new thing. Do it only if you can gain business value with it.
5. Build a coding-engineering culture
One of the most important things in a company is to build up a culture. Not just a simple everyday company culture, but also a coding-engineering culture for the developers where teamwork and open discussion are natural and recommended practices used by instinct. This takes a lot of work to implement, but it has long term benefits which lead to the success of the company. Remember that projects, technologies and even people come and go, but the culture will stay with the company.
Maybe none of this was new for you, or maybe it made you think at least a little. Anyhow, most (but not all) of the presentations have been recorded and you can watch them online here. Also, as a closing note, I would like to recommend you some of my favourite presentations:
Mod Programming, A Whole Team Approach: watch online
The Uncomfortable Truth of Bad Code: watch online
Beyond Features: watch online
Coding Culture: watch online