Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Draft - getting unstuck in leveling up

Draft - getting unstuck in leveling up

As a software engineer, you commit to a lifetime of learning. The IT world evolves so fast, and there is much unknown in the young field of software engineering.
How can you keep learning and growing? You might feel overwhelmed by all the available information around you. Or maybe you think you know it all? Or do you feel like an imposter at work, because there is so much you still don't know? These thoughts are not helpful if you want to continue learning and leveling up. It would help if you saw how far you have come in your learning journey and what steps you still need to take.
In this talk, I will show different ways of looking at your level of seniority and how those different views can be helpful. I'll also share some important values and principles for continuous learning. Additionally, I will discuss some behavioral patterns that you can use to level up your skills. I'll touch upon themes like the Growth Mindset, Learning from peers, Unlearning old views, Creating a knowledge portfolio, and Dealing with uncertainty. In this way, you can take control of your personal development. You can make your learning path more effective and not based on coincidence.

Paul van der Slot

July 07, 2024
Tweet

More Decks by Paul van der Slot

Other Decks in Technology

Transcript

  1. Paul van der Slot Freelance Software Engineer / Architect -

    Domain-Driven Design & Collaborative Modeling Enthusiast Started working for Alliander in 2021 - First as a Software Engineer, later as an Architect
  2. Lifetime of learning My first day as a software developer

    (trainee) - Conversation with the CTO
  3. Urgency to get better in Learning From 1974 – 2014:

    Each 5 years, the population of SWEs doubled. - Clean Coder Blog Half the population has less than 5 year experience!
  4. Time to walk away? ( Or the most room for

    improvement? ) “I am afraid to challenge my beliefs“
  5. Junior / Medior / Senior (/ Staff) Different meaning in

    different company Often linked to compensation
  6. Junior, Medior, Senior (, Staff ) Years of experience Compensation

    related Different in each company Skill related Responsibilities
  7. Attitude of improving Apprentice Journeyman Master Value learning Responsible for

    own journey Inward focused Stages of craftsmanship You retain attributes of previous stages
  8. Focus on connections between practitioners Attitude of improving Apprentice Journeyman

    Master Value learning Responsible for own journey Inward focused Stages of craftsmanship You retain attributes of previous stages Different masters Sharing ideas Growing portfolio
  9. Focus on connections between practitioners Creating new tools Attitude of

    improving Apprentice Journeyman Master Value learning Responsible for own journey Inward focused Stages of craftsmanship You retain attributes of previous stages Different masters Sharing ideas Growing portfolio Training journeyman Superior skill sharing
  10. Biggest inspiration for this talk Most patterns I mention can

    be found in here Free online version @ oreilly.com
  11. Patterns Common solutions to common problems Might be useful in

    your situation. Pick the ones that resonate!
  12. Principles Set of rules, describing the most important goals Think

    of them as boundaries to our paths, which stop us being led astray.
  13. • I will use the Dunning-Kruger curve to walk you

    through the phases • Not each phase might be relevant to you Disclaimer
  14. • I will use the Dunning-Kruger curve to walk you

    through the phases • Not each phase might be relevant to you • I do not have all (or even most) of the answers, nor are all these ideas applicable in all situations. • Not each pattern/principle might resonate with you Disclaimer
  15. • I will use the Dunning-Kruger curve to walk you

    through the phases • Not each phase might be relevant to you • I do not have all (or even most) of the answers, nor are all these ideas applicable in all situations. • Not each pattern/principle might resonate with you • These patterns/principles are not only for a certain phase • Remember: You will retain attributes of your early career Disclaimer
  16. • I will use the Dunning-Kruger curve to walk you

    through the phases • Not each phase might be relevant to you • I do not have all (or even most) of the answers, nor are all these ideas applicable in all situations. • Not each pattern/principle might resonate with you • These patterns/principles are not only for a certain phase • Remember: You will retain attributes of your early career Disclaimer
  17. Take control of your learning journey Principle You are getting

    started in the field of software development. Context Guideline You have a lot to learn. However, it is not someone else’s responsibility that you learn fast / the right things. In a good team, you will get guidance and help. But it is up to you to get the most out of it, or seek a better environment.
  18. Unleash Your Enthusiasm Pattern You are excited and curious regarding

    the craft of software development You find yourself holding back, conscious of the less enthusiasm of others. One of the few responsibilities of lesser experienced developers. Bring excitement, question everything, bring your fresh perspective. Context
  19. Concrete skills / Sweep the floor Pattern You are seeking

    a role in a talented team, with a lot of learning opportunities Context Teams are not willing to hire people who do not contribute something right away Deep understanding of your first language, know- ledge of infrastructure, or above average soft skills can help hiring parties take a leap of faith. Volunteer for simple, unglamorous, yet necessary tasks
  20. Find a mentor / Rubbing Elbows Pattern A lot is

    new to you in the world of software development. Context Every day you wonder how you should do things. You need some guidance. Reach out to a team member. One who is easily available and can help you with most of your questions. Seek to work together often, so you can accelerate your learning.
  21. Be a great collaborator Principle You are seeking learning opportunities

    everywhere. You are ready to grow Context Guideline Open minded / no judgement Growth mindset Get comfortable with (or even push for) pair programming / software teaming
  22. Learn by doing Principle There is so much information around

    you. Reading or hearing about it, doesn’t make it stick Context Guideline Take time for deliberate practice Integrate experimenting in your daily job
  23. Deliberate Practice • Breakable toys – side projects • Coding

    Kata’s • Learning hours Creating an environment where you can learn from failure
  24. Expose your Ignorance Pattern Tomorrow I need to look stupider

    and feel better about it. This staying quiet and trying to guess what is going on isn’t working so well. - Jake Scruggs
  25. Expose your Ignorance Pattern You are often hearing jargon that

    you can vaguely place. Context You want to learn more and be confident about your job, but your instincts tell you to hide your ignorance. Build relationships on transparency. Be honest about what you don’t know. Ask a lot of questions. Learning & not knowing is part of delivering
  26. The Long Road – Sustainable motivations Pattern To become truly

    good at programming is a life’s work, an ongoing enterprise of learning and practicing - Ron Jeffries Anyone who has seen a programmer at work knows that programming itself […] is the biggest motivation in programming - Jerry Weinberg
  27. The Long Road – Sustainable motivations Pattern We live in

    a world where quick wins, fast promotions and easy roads are valued Context Becoming a master software craftsman is in conflict with those quick wins. In this stage, value learning and growth opportunities over salary and status. Find joy in programming itself. Seek an environment that brings this forward.
  28. What motivates people Autonomy Over Task, time, team and technique

    Mastery Finding joy in getting better Purpose Having a purpose greater then yourself
  29. Outward focus increases Your knowledge (and confidence) have increased a

    lot. You have become the go-to person for questions on your project. However, your context is still quite specific. You start to share knowledge with other people. However, because of your limited experience, you oversimplify things. You expect that things that have worked for you, will work again.
  30. If you hang on long enough, people will start calling

    you “experienced,” but that should not be your goal. All experience indicates is that you have been able to survive. It does not indicate the amount you have learned, only the time you have spent. In certain parts of our industry, it is quite easy to repeat the same year of experience 10 times without making significant progress in your abilities. In fact, this sometimes can turn into anti-experience: the phenomenon where every additional year or experience merely reinforces the bad habits you have picked up. This is why your goal should be to become skilled rather than experienced. The increase in your skill level is the only meaningful testament to the effort you have spent inspecting, adapting, and improving your working habits. - Apprenticeship Patterns, Dave Hoover & Ade Oshineye
  31. Being the Worst Pattern Due to your enthusiasm and learning

    efforts, you have outgrown your environment Context Your rate of learning levelled off Go find a different environment. Surround yourself with developers better then you. Show improvement and extra effort to grow to their level.
  32. Proclaiming that the new idea is the same as the

    old idea, gives you permission not to investigate it deeply
  33. Stance of not knowing Principle You are an experienced developer.

    When you recognize something, your mind connects the dots and you stop listening. Context Guideline Assume that there is always something to learn. Assume that you don’t know. Use questions and active listening. Search for new insights. Seek first to understand, then to be understood.
  34. Reflect as you work Pattern You have been working in

    software development for a while, and developed some habits Context Your experience increases, but you are not sure if you are doing things in a optimal way Start introspecting in your way of working. Why do you do things that way? And for how long have you done things in the same way? Examine if there are other (better) ways to do it
  35. Reflect as you work Pattern You have been working in

    software development for a while, and developed some habits Context Your experience increases, but you are not sure if you are doing things in a optimal way Start introspecting in your way of working. Why do you do things that way? And for how long have you done things in the same way? Examine if there are other (better) ways to do it
  36. Prioritizing Learning If we let ourselves, we shall always be

    waiting for some distraction […]. The only people who achieve much, are those who want knowledge so badly that they seek it while the conditions are still unfavourable. Favourable conditions never come.
  37. Find Mentors Pattern You realize you are not the first

    person to walk the path. It is hard to determine what to learn Context You have no idea what is around the corner and how to prepare for it. You need guidance Seek out those ahead of you and learn from them. Not one persons knows all. This can be experienced co-workers, people you admire who speak/blog, master craftsmen. (Repeat)
  38. Kindred Spirits Pattern In your day-to-day job you don’t have

    enough learning opportunities to your liking Context You are stranded without mentors and in an atmosphere at odds with your aspirations Get in touch with people that are walking a similar road. Engage in communities, find people with whom you can share thoughts and ideas
  39. Kindred Spirits Pattern Nothing is more powerful than a community

    of talented people working on related problems – Paul Graham
  40. Rubbing Elbows Pattern While you have Mentors and Kindred Spirits

    you meet with, you develop software alone Context Your productivity reached a plateau and you are missing out of ideas/techniques from your peers Find ways to collaborate with another software developer, hands-on and side-by-side. Introduce Pair Programming and Collaborative Modelling (CoMo) methods. (Repeat)
  41. Expand your bandwidth Learning about what we don’t know is

    often more important than doing things we already know how to do -Jim Highsmith
  42. The more I learn, the more I realize I don’t

    know. (The more I want to learn) The more I know, the more I realize I know nothing
  43. The Long Road – Sustainable motivations Pattern Internal drive of

    wanting to improve skill and knowledge, knowing that you never know everything. (Repeat)
  44. Your knowledge Portfolio Similar to a financial portfolio: 1. Serious

    investors invest regularly – as a habit 2. Diversification is key to long-term success
  45. Your knowledge Portfolio Similar to a financial portfolio: 1. Serious

    investors invest regularly – as a habit 2. Diversification is key to long-term success 3. Smart investors balance their investments between: Conservative and high-risk / high-reward
  46. Your knowledge Portfolio Similar to a financial portfolio: 1. Serious

    investors invest regularly – as a habit 2. Diversification is key to long-term success 3. Smart investors balance their investments between: Conservative and high-risk / high-reward 4. Try to buy low and sell high for maximum return
  47. Your knowledge Portfolio Similar to a financial portfolio: 1. Serious

    investors invest regularly – as a habit 2. Diversification is key to long-term success 3. Smart investors balance their investments between: Conservative and high-risk / high-reward 4. Try to buy low and sell high for maximum return 5. Portfolios should be reviewed and rebalanced periodically
  48. Share what you Learn Pattern You’re working in software developing

    for a while, and people see you as a source of knowledge Context You have focussed on your own improvement. To grow further you need the ability to communicate effectively and bring other people up to speed. Start sharing knowledge. In your team, in knowledge sessions of by blogging. This can be as small as something you learned on the job, you wished you knew before.
  49. Systems Thinking From Linear Thinking to Non-Linear Thinking Linear: Steps,

    can be broken down into smaller problems. Clear cause and effect – Computer program Non-Linear: No clear cause and effect. Lots of different forces (that we do not expect at first) are in play. We get easily surprised by the system - (Groups of) people
  50. We are working in Sociotechnical Systems Joint optimization of both

    Technical elements (software) and Social elements (humans)
  51. Value of understanding the domain/problem "SV-like" companies think of engineers

    as value generators, and creative problem solvers. Traditional companies think of them as factory workers. - Gergely Orosz
  52. Create your own curriculum If you read even one good

    programming book every two months, roughly 35 pages a week, you’ll soon have a firm grasp on the industry and distinguish yourself from nearly everyone around you.
  53. Reading List / Read Constantly Pattern You started reading books

    and you see the amount of information you still need to learn Context The number of books you want to read, or are advised, increase faster then you can read Create a habit of reading (e.g. just before work) Maintain a reading list.
  54. Plateau of sustainability Does not mean you have reached mastery

    Aware of the limitations of your knowledge You van more precisely work to improve your knowledge
  55. Mastery In software development, we don’t exactly know what constitutes

    mastery. But being a genius, lucky, rich or famous doesn’t make you a master. I am not a master. At best, a journeyman sharing about the road ahead.
  56. Slidesgo Flaticon Freepik CREDITS: This presentation template was created by

    Slidesgo, including icons by Flaticon, infographics & images by Freepik THANKS! Do you have any questions? Come talk to me, or reach out on LinkedIn Paul van der Slot