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

Getting unstuck in levelling up - Patterns for ...

Paul van der Slot
September 09, 2024
38

Getting unstuck in levelling up - Patterns for Personal development

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

September 09, 2024
Tweet

Transcript

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

    Domain-Driven Design & Collaborative Design Enthusiast
  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 do not have all (or even most) of the

    answers, nor are all these ideas applicable in all situations. Disclaimer
  14. I do not have all (or even most) of the

    answers, nor are all these ideas applicable in all situations. Don’t get offended by things that do not resonate. But search for insights that helps YOU in your learning journey! Disclaimer
  15. I believe that if you follow most of this advise,

    you will improve faster then most software engineers
  16. 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.
  17. 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
  18. 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 or a specific skillset can help hiring parties take a leap of faith. Be of value ASAP. Volunteer for simple, unglamorous, yet necessary tasks
  19. 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.
  20. 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
  21. Deliberate Practice • Breakable toys – side projects • Coding

    Kata’s • Learning hours Creating an environment where you can learn from failure
  22. 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
  23. 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
  24. The Long Road – Sustainable motivations Pattern Anyone who has

    seen a programmer at work knows that programming itself […] is the biggest motivation in programming - Jerry Weinberg
  25. 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.
  26. What motivates people Autonomy Task, time, team and technique Mastery

    Finding joy in getting better Purpose Having a purpose greater then yourself
  27. Context expands Circle expands as well: A lot of information

    is now within reach of the ‘Zone of Proximal Development’
  28. 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.
  29. 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
  30. 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.
  31. Proclaiming that the new idea is the same as the

    old idea, gives you permission not to investigate it deeply
  32. Reflect as you work Pattern You have been working in

    software development for a while, and developed some habits Context 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
  33. 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
  34. 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.
  35. Find Mentors Pattern 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)
  36. 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
  37. Kindred Spirits Pattern Nothing is more powerful than a community

    of talented people working on related problems – Paul Graham
  38. 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 methods. (Repeat)
  39. 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
  40. 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
  41. Sustainable motivations Pattern Internal drive of wanting to improve skill

    and knowledge, knowing that you never know everything. (Repeat)
  42. Your knowledge Portfolio Similar to a financial portfolio: 1. Invest

    regularly – as a habit 2. Diversification is key
  43. Your knowledge Portfolio Similar to a financial portfolio: 1. Invest

    regularly – as a habit 2. Diversification is key 3. Balance investments between: Conservative and high-risk / high-reward
  44. Your knowledge Portfolio Similar to a financial portfolio: 1. Invest

    regularly – as a habit 2. Diversification is key 3. Balance investments between: Conservative and high-risk / high-reward 4. Buy low and sell high
  45. Your knowledge Portfolio Similar to a financial portfolio: 1. Invest

    regularly – as a habit 2. Diversification is key 3. Balance investments between: Conservative and high-risk / high-reward 4. Buy low and sell high 5. Review and rebalance periodically
  46. Share what you Learn Pattern With your experience, 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 or by blogging. This can be as small as something you learned on the job, you wished you knew before.
  47. 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
  48. We are working in Sociotechnical Systems Joint optimization of both

    Technical elements (software) and Social elements (humans)
  49. 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
  50. 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.
  51. 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.
  52. Plateau of sustainability Does not mean you have reached mastery

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

    mastery. But we know that 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.
  54. Be Humble and Kind Principle You are an appreciated developer.

    People look up to you and value your opinion. Context Guideline Stay humble and curious, you still have a lot to learn Be kind and patient to the people who are, just as you, still on their learning journey
  55. 15% Solutions Take some time to think for yourself: What

    action can I take, however small, to create some momentum in my Personal Growth? Liberating Structures
  56. 15% Solutions Take some time to think for yourself: What

    action can I take, however small, to create some momentum in my Personal Growth? I you want to, you can share it in the chat. It may inspire others. Liberating Structures
  57. Slidesgo Flaticon Freepik CREDITS: This presentation template was created by

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