On 8 of April 2019, I took part in a big (2300 participants) conference 4Developers.
4Developers is an event not focused on the specific programming language or technology, but it mix many of them. Attendees could choose lectures among architecture, backend, frontend, soft skills and many others. In my opinion it is event not only for developers, but for all interested in software engineering.
As Java is my main programming language, I started with “Java. Migrating to 11 in real app” by Piotr Przybył. Topic was interesting for me, because recently we had migrated one of our projects to Java 11. Piotr has done a great job, it was just WOW effect 🙂 So many information in the short time. This lecture was exactly what I expected. It was about migration, not about new features in Java 11. Important thing is fact that Java is still NOT paid (there are some myths about new Oracle licence program, just look for this project: AdoptOpenJDK). Piotr also show the migration steps:
- Upgrade IDE
- Upgrade build tools and CI
- Upgrade containers
- Upgrade all dependencies
- Compile in Java 8 and try running with 9, 10, 11
- Add explicit dependencies (if needed)
Just remember “Code once, debug everywhere”😉
Next presentation by Mikołaj Milewski was lessons learned after breaking up monolith into microservices . I think it was the most successful presentation that day I took part. All seats were taken and probably twice as much people were standing. The high level of participation was also surprising for presenter. He admitted that a large part of his company success with implementation of microservices was full cooperation with client. It was very important that client understood changes, was aware of advantages and disadvanteges architecture of microcervises (we wrote about it in our blog). It enabled us reach a compromise and work out a proper solutions. Their project was a good example where problem determined architecture of microcervises as a solution.
In “Secure Domain” Dominik Przybysz was trying to convince attendees to separate domain from other part of application architecture. Many hints were good summary of clean code, but I couldn’t agree with all of them. For example “Separate model for domain and database” in simple CRUD applications is overkill, which can provide some bugs.
Maciej Gajdzica presented very interesting topic about safety critical system. I can recommend this presentation for everyone. Despite I don’t create this kind of software, I’ve learned a lot about it. Maciej showed that sometimes some known software fails like Ariane 5 or Therac 25. The rarest activity in this kind of software development is … development. The most effort is focused on verification, testing and documentation. These things are strictly required by default, because this kind of software could not receive some certification and can’t be used. We know that this is also very helpful in “normal” systems, but often is skipped or poorly quality. I can say that safety critical systems are about quality and discipline.
I want to also mention about very short presentation “Insecure by design” by Tomasz Konieczny because of a natural curiosity. It was unexpected that company like Tesla, didn’t implemented 2FA in their cars. If only we know password to Tesla account, we can find and drive someones car.
I’ve also listened about relations between developers and managers (by Jakub Petrykowski) where conclusion was the most important is cooperation and mutual understanding because developers and managers are only human. We have to respect each other and it should make our work more effective.
Other presentation was about progressing career by Bartosz Bonisławski. It was quite funny, but there was a little bit controversial advice. I agree that graduation of the university not guarantee of being a good programmer and at work we should work, but faking resume is too much.
The last session of that conference concern interesting comparison between Spock and JUnit 5 by Marcin Zajączkowski. My colleague recommended me this presentation and he was right, it was very inspiring. I’ve recently started to use Spock, so before presentation I was sure that Spock is better, but after it I wasn’t defenitely sure.
To sum up, 4Developers is a very interesting event where meet representatives of many areas of IT world. It’s also a great opportunity to progress our skills, especially with topics which aren’t us everyday job and networking.