In the past several weeks, we have embraced the learning impulse during the EU Code Week and held two successful workshops for our colleagues.
More than forty developers from our company had the opportunity to further develop their knowledge using practical examples over the two-weekends-long workshops in Coding Standards and Elements of Object-oriented Design with Zoran Horvat.
Working in a learning organisation means that we try to go an extra mile to stimulate our colleagues' progress through personal development. So, we were eager to learn more about their impressions upon completed workshops and how these newly gained experiences will benefit them in future.
Stoja Obradović’s impressions from Elements of Object-oriented Design workshop
“The workshop was conceptualised as a knowledge-sharing event where we had the opportunity to thoroughly analyse elements of Object-oriented Design with Zoran. We used interesting examples of how to solve problems we might encounter on a daily basis in order to practise new approaches to solving them.
Instead of introducing elements of OOD concepts theoretically, or explaining them using already prepared examples, Zoran chose to guide us through those concepts independently - by solving interesting and compelling problems.
At first, we were solving simple tasks and throughout the lecture, the complexity of our tasks gradually arised. During each phase, we were encouraged to discuss the pros and the cons of suggested solutions.
This experience has helped my developer colleagues and me to explore different approaches in designing optimal software solutions using the suggestions and under the guidance of an experienced lecturer such as Zoran. ”
Nemanja Šobo’s Coding Standards workshop impressions
“Since we talked to the colleagues who already had the opportunity to participate in Zoran’s workshops, my expectations were high and I’m glad I wasn’t disappointed.
Using an already prepared example, Zoran Horvat introduced us to the advanced concepts of Object-oriented Design. By working on the given example, throughout the workshop, we analysed the following subjects:
- Naming Concepts
- Single Responsibility of Classes
- Single Responsibility of Methods
Zoran was committed to answering all of our questions, clearing any doubts and discussed each of our ideas with my colleagues. I have to say that he definitely brought these topics much closer to us. Since his choice was to explain these complex concepts on real-life examples, it will be much easier to implement a new way of thinking in our work.”
Ognjen Stanić’s impressions from Coding Standards workshop
“I have been following Zoran's lectures and online educational work for approximately 4 years, and I was thrilled to be invited to participate in his workshop once again.
At the first glimpse, Zoran presented us with a fairly simple problem - to develop a program that will emulate a popular game tic-tac-toe by using .NET platform. Zoran led the development process himself and created an adventurous divergent developing experience for us.
Down the road, he explained his mathematical, engineering way of thinking. He referred to multiple examples from his professional career and common problems he has encountered along the way which kept our attention throughout the entire lecture.
Zoran emphasized several times that we should be focused on one thing only during the development. He told us about horizontal decomposing of user requirements which, in this case, was programming a popular game. The most impressive detail of all was that we developed a code path after a code path, without deleting previously written code whatsoever. It’s like a developer’s dream!
This was a true example of the so-called emergent design. The solution was, in my opinion, designed perfectly, which gave us the opportunity to further develop it in order to get a lot of interesting information.
This is very close to real-life problems, where user's requirements are variable and one needs to have a good software design to support user’s newly defined ideas.
What I expected from this workshop was to learn something new, to further develop an engineering mindset, and I wasn't mistaken. This experience motivated me to practice and learn even more, in order to develop top-notch solutions in my everyday work while using methods of emergent software design I learned from Zoran.”
Why do we continue to develop our skills?
Even though the covered topics vary in their complexity and intensity, we recognised the incredible impact workshops had on our colleagues.
Hearing our colleagues’ impressions only proved our motivation to continue to invest the resources in our personal and professional development. Only by doing so, we can have a successful and productive team by our side.
We would like to thank everyone who participated in the workshops and we’ll surely continue to organise events similar to this one.