In the software development industry, as in many other modern industries, constant self-improvement and learning are equally important to both an individual and companies as well. Considering the speed at which the changes are being introduced to the information technology sector in terms of technology and the market demands, this seems to be even more important for this industry than for the others.
The companies strive to be more agile, deliver their products faster, make them more reliable, and adapt to changes quickly. And, what better way to achieve this than to educate their employees, allowing them to expand their horizons by feeding off the ideas from some of the most successful people in the business. This is the reason why I gladly took the opportunity to visit the Craft Conference in Budapest earlier this year.
Craft Conference as a Compass on New Technologies and Trends
The conference took place from May 7th to May 10th, at a Hungarian Railway History Park in Budapest, Hungary. The venue itself is a railway museum located at the railway station and workshop of the Hungarian State Railways. This is Europe’s first interactive museum of its kind, covering an area of more than 70,000 square meters, and featuring more than one hundred exhibits, most of which are railway vehicles and equipment. The talks were organised at the two platforms, and in four tents.
We were attending the sessions on Thursday, the 9th, and Friday, 10th of May. The conference offered a wide range of talks on different subjects given by excellent speakers. The topics were covering a lot of aspects of software production and delivery, including development, software design and architecture, agile coaching, team leading, UX design, new technologies and even career advice. Since we listened to a lot of talks I’d like to single out a few of them which caught my attention.
Concepts: The Future of Generic Programming (The Future is Here)
Bjarne Stroustrup, the creator of C++ programming language and a Managing Director in the technology division of Morgan Stanley gave an amazing talk. The talk focused on the C++20 standard and introduced the idea of the concept to the C++. Since generics in C# and Java programming languages are similar to the C++ templates, the concepts looked like nothing particularly new since there are already interfaces performing a similar role in mentioned languages. However, Bjarne claimed that it is not the same, and even elaborated on it, which helped me understand it more clearly.
Why Software Architects Fail and What to Do about It
Stefan Tilkov, a co-founder and principal consultant at INNOQ, a technology consulting company with offices in Germany and Switzerland, gave a very insightful and helpful lecture on common mistakes of software architects and gave suggestions for improvement and prevention of those mistakes.
The talk breaks down a software architect job. It clarifies the way it is perceived by others and suggests an approach which would improve this perception. It also allows an architect to relate with the product, bring him or her closer to the team, thus increasing the chance of success. Having been in a situation when I perceived architects wrongly and noticed the failures Stefan talked about, as well as the improvements that architects tried to make, I’d say that the talk is really well summed-up as it addresses important issues in a software development process.
Another architecture talk was delivered by Martin Fowler and Birgitta Böckeler, both experts from ThoughtWorks. The emphasis was on governing the teams as an architect, as well as identifying strengths, weaknesses and risks while trying to achieve a common goal.
Martin and Birgitta also presented ThoughtWorks technology radar as a tool to help architects with the decision making process. Also, they gave cool advice on how to keep track of all architectural decisions. Namely, it is advisable to do it on the repository with the rest of related code, so that the reasons behind a decision that has been made are easily accessible to anyone who might be wondering about it.
Security Precognition: Using Chaos Engineering in Security Incident Response w/ ChaoSlingr
Aaron Rinehart, CTO at Verica.io and Former Chief Security Architect at UnitedHealth Group, the largest private healthcare company of the world, shed light on how we should take care of security in a large distributed systems. These systems have evolved beyond human ability to mentally model their behaviour. Aaron has explained the new approach needed to analyse such systems by using the first open-source security chaos engineering tool ChaoSlingr that he created.
Reliability Engineering: One of the Best Jobs in Software Engineering
In this, maybe one of the most interesting talks, Mary Poppendieck, who, together with her husband Tom came up with the term “lean software development”, talks about the reliability engineering applied to modern-day large distributed systems.
This was a trip through the history of development and reliability challenges that were met and solved. Also, we had an opportunity to see the pros and cons of a job like this. The overall conclusion was that in this age of a large cloud-based system the reliability engineering has changed the focus from trying to prevent failures to building a fault-tolerant systems.
Why Craft Conference 2020
We attend conferences to broaden our knowledge. This is where we meet a bunch of people who inspire us to come up with some new groundbreaking ideas.
The whole experience is both intense and refreshing because it boosts our energy and mood. That is exactly the reason why I appreciate all of the opportunities to attend conferences so much. Those kinds of gatherings are probably the most valuable sources of expanding knowledge.
With this in mind, I am looking forward to next May and one more amazing Craft Conference!