You don't understand anything until you learn it in more than one way.Marvin Minsky
Working in a dynamic industry such as IT has shown us that the path to a solution is not always choosing one way or another. We have learned that it takes a synergy of our knowledge and skills to find the right solution for each individual challenge.
In the past few weeks, we have had the opportunity to listen to 4 insightful lectures by the renowned IT consultant Zoran Horvat. Once again, our topic was the Principles of Object-Oriented Design.
In order to further expand their knowledge through practical experience, a couple of weeks ago, 20 of our colleagues participated in Zoran's hands-on workshop on Coding Standards, where they worked on examples they can encounter on real-life projects.
Our colleagues Ljuba, Vukašin and Aleksa shared their impressions with us, and here is what they said.
“At the Coding Standards workshop, I realised that every problem can be solved in a million different ways. Only by taking a step back, and really thinking about the users' needs, can we develop a solution that is best for them.
As Zoran emphasised, "software is not a fast pencil." We should not create software that just automates something that can be done with a pen and paper, but create software that offers solutions to the clients' problems.
Zoran also showed us how functional programming is different from object-oriented, and taught us the advantages of thinking in a functional (mathematical) way, by implementing the legendary Tic Tac Toe game. We had the opportunity to create the game in 3 different ways, while talking about the advantages and disadvantages of each solution through the whole workshop.
I am looking forward to future lectures and workshops!”
“This thrilling workshop provided me with a completely new insight into software development, problem modeling and, especially, the way of thinking.
By working on a simple real-life problem, I had a chance to approach the task from a different perspective, and implement functional way of thinking, and therefore, functional programming.
Zoran provided us with the step-by-step demonstrations of code destructuring, separation of logic and modeling of the given problem.
We were provided with a strong reminder to always put the nature of the problem in front of bare coding, and divide our implementation into small, yet significant, and isolated steps, which would drive us towards the solution. He gave us concrete and elaborate answers to all our questions, which helped us learn a lot.
This was certainly one of those workshops you think about long after it has finished, and I hope there will be many more similar events in the future!”
“Finally, I had a chance to attend one of Zoran's workshops, which left me as excited as I was before starting it. I enjoyed seeing Zoran's development in real-time, and his elegant solutions to a complex set of problems.
Attending this workshop taught me new useful real-world practices, which I will strive to maintain in the future.”
“In the past few weeks, we have listened to Zoran's lectures on the Principles of Object-Oriented Design, and last weekend, we had the opportunity to show the acquired knowledge in practice through a workshop on Coding Standards.
The goal of the workshop was to create a Blazor application, using the best two approaches. It was very dynamic and we used a step-by-step approach, breaking down large requests into smaller and independent units. We discussed them first, and then implemented them.
After making it, we went through both solutions, commenting and recognizing where we could improve our code. Then, Zoran presented his solution to us, and explained the approach to us by programming, and pointed out where we could use the best practices in order to improve the purity of our code.
I especially liked that Zoran found a very elegant way to combine the object-oriented and functional paradigm, explaining how to take the best of both worlds.
For me, this was a very productive weekend with a great atmosphere. I am glad that I was a part of this workshop, and I can't wait for the next one.”
As a company, we strive to be a place where learning continues, and where each of our colleagues has a chance to expand their knowledge and grow, both professionally and personally.
We deeply believe that having workshops like this can inspire our teams to further explore their own individual areas of expertise and improve their skills.
Have you ever had the opportunity to participate in an interesting workshop like this?
Feel free to share with us your experience in the comments below, and give us your suggestions for the next topic.