5 minutes to read With insights from... Ivan Ivanov Lead Software Architect ivan.ivanov@zuhlke.com Insights in briefExplore the importance of growth and development for modern software engineersDiscover how to get the most from on-the-job training with a structured approachLearn Ivan’s top career development tips for software engineers who want to create the biggest difference When it comes to career advice for software engineers, the most common tip you’ll hear is that practical, on-the-job learning is a great way to learn new skills. This hands-on approach can be extremely effective, allowing you to iterate quickly and gain valuable experience as you do so. Ivan Ivanov is a Lead Software Architect who has experience working with both frontend and back-end technologies. During his time with our Bulgaria team, he has also worked as a Delivery Lead and experienced the benefits of on-the-job learning first hand. But Ivan also knows that this style of learning comes with challenges.“In a lot of everyday situations, on-the-job learning lacks structure. This means progress is hard to track and the consolidation of knowledge and skills for software engineers is often left just to float in the air,” explains Ivan. How software engineers can cultivate a growth mindset Understanding how to develop a growth mindset is one of the most essential skills for software engineers that want to progress their careers.Ivan believes one of the best ways to cultivate this hunger to keep progressing, is to open your mind to new ways of thinking and novel applications of your skills. “My work at Zühlke has given me the chance to test my skills in a lot of new areas and with new people. I would say it’s been a very diverse experience that’s made me rethink how to improve my software engineering skills. When you’re exposed to these new perspectives and influences, it makes you more curious. It makes you want to learn more and continuously test your skills in new areas.”This influx of influence reached a new level when Ivan became a ‘Delivery Lead’. Delivery Leads are a vital part of Zühlke’s approach because our experts often work in blended teams – working alongside team members from our clients’ organisations. In this immersive way of working, a Delivery Lead is the vital bridge between the client, our client’s customers, and Zühlke.“As a Delivery Lead, you’re almost like an interpreter of different stakeholder’s needs. Balancing those needs teaches you a lot about your discipline and those of the people you’re working with,” says Ivan. How to overcome the challenges of on-the-job learning While on-the-job learning has helped Ivan develop key skills for software engineering, he did feel that the lack of structure made his learning quite inconsistent.There was a lack of autonomy over the skills he acquired and even missed learning opportunities because he didn’t spot them quickly enough. So Ivan and his team started working on a new model for improving software engineering skills based on ‘intentional learning’ founded on three pillars: mastery, autonomy, and purpose. How to overcome the challenges of on-the-job learning In this model, Ivan and the engineering team come together before the project starts to identify learning goals and areas for development for the coming months. They then look for commonalities among those goals so that they can share their effort and the learning opportunities more easily. The timing is very important as Ivan explains:“The goals have to be what you want to learn in the short-term so it’s active and relevant. This is not about drawing up a two year plan.” Practically using the intentional learning approach At a practical level, the intentional learning model involves Ivan and his team setting broad goals which are then distilled into more tangible, project-level goals using the SMART framework. This framework defines useful goals as being: Specific, Measurable, Achievable, Relevant and Time-bound.An example of a helpful goal within the intentional learning model might be ‘to broaden programming language skills’ or ‘to improve efficiency of the team’s processes’. These learning objectives are then discussed as a team and matched to areas of the project where they can best be explored and which provide measurable impact for the client.“Once someone has set a goal, we may find that it makes sense for them to lead on a certain area of the project because it’s a learning objective of theirs,” explains Ivan. “Furthermore, setting this goal before you start, makes it easier for you to identify emerging opportunities to learn key skills for software engineering.”A crucial element of the intentional learning model is to ensure that your team embraces the philosophy that underpins it. This is the philosophy that you never steer a project towards the goals you’ve set at the expense of the outcomes.Ivan also recommends that the overall process, and its alignment with project goals, should be made transparent to the clients, as it synergistically benefits them as well:“Don’t be afraid to share your goals with the client – if they are interested, share it with them. You shouldn’t refrain from sharing your growth goals.” Ivan’s top career advice for software engineers Of course, there may be skills that software engineers want to learn but that don’t fit with the needs of the project.So Ivan’s top career advice for software engineers? Don’t underestimate the power of off-the-job learning and find an employer that gives you space for this.“Zühlke recognises the need for self-development and dedicates time for employees to focus on personal and professional growth. This provides you with opportunities to pursue relevant activities in areas which are particularly important for you as an individual even if they are not immediately relevant to the project you are working on,” explains Ivan.Ivan also explains that working with a mentor (or a Zühlke People Lead) can help you identify which of those off-the-job learnings are going to help you the most in the future. This will help you bring the benefits of a more intentional approach to off-the-job learning too.For Ivan, the cumulative impact of this intentional approach to both on-the-job and off-the-job learning has been a greater sense of connection to his career progression as a software engineer. But the most rewarding part has been seeing the impact on those around him: Would you like to know what a career with us could look like? Then stop by here and find out more
People and Culture – "Software Engineering isn't just about high tech, it's about empathy as well" Learn more