Codento Goes FooConf 2023 – Highlights and Learnings
Author: Andy Valjakka, Full Stack Developer and an Aspiring Architect, Codento
Introduction
While spending most of our time consulting for our clients every now and then a perfect opportunity arises to get inspiration from high quality conferences. This time a group of codentians decide to spend an exciting day at fooConf 2023 with a bunch of fellow colleagues from other organizations.
FooConf 2023: Adventures in the Conference for Developers, by Developers
The first-ever fooConf has wrapped up, and it has given its attendees a wealth of information about tools, technologies, and methods, as well as inspiring keynote speeches. We got to experience a range of presentations that approached the listeners in differing ways, ranging from thought-provoking presentations where the attendees were offered novel perspectives all the way down to very practical case studies that illustrated how the learning is done by actually doing.
So what exactly is fooConf? As their website states, it is a conference that is “by Developers for Developers”. In other words, all the presentations have been tailored to those working in the software industry: functional, practical information that can be applied right now.
Very broadly speaking, the presentations fell into two categories:
- Demonstrating the uses and benefits of different tools, and
- Exploratory studies on actual cases or on how to think about problems.
Additionally, the keynote speeches formed their own third category about personal growth and self-reflection in the ever-changing turbulence of the industry.
Let’s dive deeper into each of the categories and see what we can find!
Tools of the Trade
In our profession, there is definitely no shortage of tools that range from relatively simple IDE plugins to intelligent assistants such as GitHub Copilot. In my experience, you tend to pick some and grow familiar with them, which can make it difficult to expand your horizons on the matter. Perhaps some of the tools presented are just the thing you need for your current project.
For example, given that containers and going serverless are current trends, there is a lot to learn on how to operate those kinds of environments properly. The Hitchhiker’s Guide to container security on Kubernetes, a presentation by Abdellfetah Sghiouar, had plenty to offer on how to ensure your clusters are not compromised by threats such as non-secure images and users with too many privileges. In particular, using gVisor to create small, isolated kernels for containers was an idea we could immediately see real-life use for.
Other notable highlights are as follows:
- For Java developers, in particular, there is OpenLiberty – a cloud-native microservice framework that is a runtime for MicroProfile. (Cloud-Native Dev Tools: Bringing the cloud back to earth by Grace Jansen.)
- GitHub Actions – a way to do DevOps correctly right away with an exciting matrix strategy feature to easily configure similar jobs with small variations. (A Call to (GitHub) Actions! by Justin Lee.)
- Retrofitting serverless architecture to a legacy system can be done by cleverly converting the system data into events using Debezium. (A Legacy App enters a Serverless Bar by Sébastien Blanc.)
Problems Aplenty
At its core, working with software requires problem-solving skills which in turn require ideas, new perspectives, and occasionally a pinch of madness as well. Learning from the experiences of others is invaluable as it is the best way to approach subjects without having to dive deep into them, with the added bonus of getting to hear what people like you really think about them. Luckily, fooConf had more than enough to offer in this regard.
For instance, the Security by design presentation by Daniel Deogun gave everyone a friendly reminder that security issues are always present and you should build “Defense in Depth” by implementing secure patterns to every facet of your software – especially if you are building public APIs. A notable insight from this presentation relates to the relatively recent Log4Shell vulnerability: logging frameworks should be seen as a separate system and treated as such. Among other things, the presentation invited everyone to think about what parts of your software are – in actuality – separate and potentially vulnerable systems.
Other highlights:
- In the future of JavaScript, there will be an aim to close the gap between server and client-side rendering by leaving the minimum possible amount of JavaScript to be executed by the end-user. (JavaScript frameworks of tomorrow by Juho Vepsäläinen.)
- Everyone has the responsibility to test software, even if there are designated testers; testers can uncover unique perspectives via research, but 77% of production failures could be caught by unit testing. (Let’s do a Thing and Call it Foo by Maaret Pyhäjärvi.)
- Having a shot at solutions used in other domains might just have a chance to work out, as was learned by Supermetrics, who borrowed the notion of a central authentication server from MMORPG video games. (Journeying towards hybridization across clouds and regions by Duleepa Wijayawardhana.)
Just like learning from the experiences of others is important for you, it is just as valuable for others to hear your experiences as well. Don’t be afraid to share your knowledge, and make an effort to free up some time from your team’s calendar to simply share thoughts on any subject. Setting the bar low is vital; an idea that seems like a random thought to you might just be a revelation for someone else.
Timeless Inspiration
The opening keynote speech, Learning Through Tinkering by Tom Cools, was a journey through the process of learning by doing, and it invited everyone to be mindful of what they learn and how. In many circumstances, it is valuable to be aware of the “zone of proximal development”: the area of knowledge that is reachable by the learner with guidance. This is a valuable notion to keep in mind not only for yourself but also for your team, especially if you happen to be leading one: understanding the limits in your team can help you aid each other forward better. Additionally, it is too easy to trip over every possibility that crosses your path. That’s why it is important to pick one achievable target at a time and be mindful of the goals of your learning.
Undoubtedly, each of us in the profession has had the experience of being overwhelmed by the sheer amount of things to learn. Even the conference itself offered too much for any one person to grasp fully. The closing keynote speech – Thinking Architecturally by Nate Schutta – served as a gentle reminder that it is okay not to be on the bleeding edge of technology. Technologies come and go in waves that tend to have patterns in the long run, so no knowledge is ever truly obsolete. Rather, you should be strategic in where you place your attention since none of us can study every bit of even a limited scope. The most important thing is to be open-minded and achieve a wide range of knowledge by being familiar with a lot of things and deeper knowledge on a more narrowly defined area – also known as “being a T-shaped generalist”.
(Additionally, the opening keynote introduced my personal favorite highlight of the entire conference, the Teachable Machine. It makes the use of machine learning so easy that it is almost silly not to jump right in and build something. Really inspiring stuff!)
Challenge Yourself Today
Overall, the conference was definitely a success, and it delivered upon its promise of being for developers. Every presentation had a lot to offer, and it can be quite daunting to try to choose what to bring along with you from the wealth of ideas on display. On that note, you can definitely take the advice presented in the first keynote speech to heart: don’t overdo it, it is completely valid to pick just one subject you want to learn more about and start there. Keep the zone of proximal development in mind as well: you don’t know what you don’t know, so taking one step back might help you to take two steps forward.
For me personally, machine learning tends to be a difficult subject to grasp. As a musician, I had a project idea where I could program a drum machine to understand hand gestures, such as showing an open hand to stop playing. I gave up on the project after realizing that my machine learning knowledge was not up to par. Now that I know of Teachable Machine, the project idea has resurfaced since I am now able to tinker with the idea since the difficult part has been sorted out.
If you attended, we are interested to hear your topics of choice. Even if you didn’t attend or didn’t find any of the presented subjects to be the right fit for you, I’m sure you have stumbled upon something interesting you want to learn more about but have been putting off. We implore you to make the conscious choice to start now!
The half-life of knowledge might be short, but the wisdom and experience learning fosters will stay with you for a lifetime.
Happy learning, and see you at fooConf 2024!
About the author: Andy Valjakka is a full stack developer and an aspiring architect who joined Codento in 2022. Andy began his career in 2018 by tackling complicated challenges in a systematic way which led to his Master’s Thesis on re-engineering front-end frameworks in 2019. Nowadays, he is a Certified Professional Google Cloud Architect whose specialty is discovering the puzzle pieces that make anything fit together.