Discover millions of ebooks, audiobooks, and so much more with a free trial

From $11.99/month after trial. Cancel anytime.

Developer Career Masterplan: Build your path to senior level and beyond with practical insights from industry experts
Developer Career Masterplan: Build your path to senior level and beyond with practical insights from industry experts
Developer Career Masterplan: Build your path to senior level and beyond with practical insights from industry experts
Ebook724 pages8 hours

Developer Career Masterplan: Build your path to senior level and beyond with practical insights from industry experts

Rating: 0 out of 5 stars

()

Read preview

About this ebook

Written by industry experts that have spent the last 20+ years helping developers grow their careers, this book offers invaluable insights and guidance tailored to the specific needs of technical professionals. By discovering the secret of continuous learning and adapting in the ever-evolving field of software development, you’ll explore various learning paths with formal and informal methods, as well as gain an understanding of the value of certifications to validate your skills. This book will teach you the significance of building a strong support network, holding crucial conversations, and taking ownership of your career growth. You'll delve into acquiring both soft and hard skills, becoming a well-rounded and sought-after developer. Packed with practical examples, stories of successful developers, and real-world applications, the chapters will equip you with actionable advice on how to push beyond your comfort zone and embracing communities to enhance your teamwork abilities. Additionally, you’ll uncover the benefits of joining open-source projects, speaking at conferences, and building a personal brand to amplify your visibility and reputation. By the end of this book, you'll have a well-laid-out long-term and short-term plan for your career progression, equipping you with advanced technical skills, strategic thinking, and the ability to effectively manage relationships within your organization.

LanguageEnglish
Release dateSep 15, 2023
ISBN9781801811668
Developer Career Masterplan: Build your path to senior level and beyond with practical insights from industry experts

Related to Developer Career Masterplan

Related ebooks

Information Technology For You

View More

Related articles

Reviews for Developer Career Masterplan

Rating: 0 out of 5 stars
0 ratings

0 ratings0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    Developer Career Masterplan - Heather VanCura

    Cover.png

    Developer Career Masterplan

    Copyright © 2023 Packt Publishing

    All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.

    Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book.

    Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.

    Group Product Manager: Kunal Sawant

    Publishing Product Manager: Akash Sharma

    Senior Editor: Kinnari Chohan

    Technical Editor: Maran Fernandes

    Copy Editor: Safis Editing

    Project Coordinator: Deeksha Thakkar

    Proofreader: Safis Editing

    Indexer: Manju Arasan

    Production Designer: Shyam Sundar Korumilli

    Marketing Development Relations Executives: Rayyan Khan and Sonia Chauhan

    Technical Reviewers: Viktor Grazie and Scott Wierschem

    First published: September 2023

    Production reference: 1250823

    Published by Packt Publishing Ltd.

    Grosvenor House

    11 St Paul’s Square

    Birmingham

    B3 1RB, UK.

    ISBN 978-1-80181-870-4

    www.packtpub.com

    To my family and friends, for their patience with me as I spent much of my free time working on this book, and specifically for their encouragement, confidence, and support throughout the process.

    In loving memory of my grandfather, who inspired me to share my passion, knowledge, and stories with others.

    – Heather VanCura

    In loving memory of my father, Hamilton. His encouragement early on got me on the path of helping developers in their careers. To my wife, Karina, who supported me during all the craziness of my career. To my friends and mentees, and also my daughters, Juliana and Lara. Everything in this book, I learned with you. To my long-time friend and co-author, Heather, you know this book would not exist without you.

    – Bruno Souza

    Foreword

    An individual person’s career is shaped by many turning points. These turning points are often encounters, either with other people, with particular tools or technologies, or even with ideas. More often than not, those moments only become apparent in hindsight. But the ability to recognize those moments when they happen, or shortly afterward, turns out to be an important career skill. One such moment early in my career was when I first met Heather VanCura. It was at an early JavaOne conference. I had just started taking my first steps into the career-broadening world of open standards. Heather was also early in her career but had already started working with the Java Community Process (JCP). This particular event was the first awarding of the JCP Star Specification (Spec) Lead program. A Spec Lead is a role. It’s a person who leads a team that produces a specification for a part of the Java platform. I point to this event as a turning point in my career because it encapsulates all three parts of this important book: first, learn and practice technical skills; second, get involved; and third, create impact. As you’ll learn by reading the distilled wisdom from the many colleagues Heather and Bruno have interviewed in this book, the three parts are all a process, not a destination. During your career, you continually learn more technical skills, continually get more involved in existing and new communities, and continually create impact. That first JCP Star Spec Lead event was a turning point for me for the following reasons: I was working on technical skills, then I eventually became a Spec Lead, and then became a Star Spec Lead, and ended up stewarding a community that had a positive impact on our industry. The stories of the individuals profiled in this book follow a similar progression. By reading and applying the learnings in this book, you can too.

    This book arrives at a historically important moment for careers in general, and Information Technology (IT) careers specifically. Over the over 25 years of my career, I’ve learned that experienced and expert developers are hard to impress. The more experience you have, the more you can really say, I’ve seen it all before. This current Artificial Intelligence (AI) moment is different. Not everyone I’ve talked to is actually impressed, but they all agree that the current AI moment is different and significant. This speaks well for the first part of the book. You’ll learn to push yourself outside of your comfort zone, how to discern which new technologies to absorb, and which to skim, and how to be intentional in assembling your invisible college of fellow developers into a support network. In this hyper-accelerated, AI-charged moment, these meta-skills are more important than ever.

    Once you build a process for keeping the skills fresh, the second part will show you how to find an audience for them. Experienced developers know that software development is a cooperative game. You can’t do it on your own. You must join your talents to a community. I have personally benefited enormously from applying the lessons in this section. In my case, I applied the lessons before Heather and Bruno collected them in a book, but I can attest they worked for me, and am confident they’ll work for you too.

    Finally, the last part is where it all comes together. At Microsoft, we have three core leadership principles/bromides: create clarity, generate energy, and deliver success. The third part of the book is all about delivering success, both for your community and for yourself. By the time you get to applying this part in your career, you will understand your own individual actions will have a bigger impact when they are delivered downstream by other actors. You will have learned that your own actions influence others and you are able to benevolently wield that influence to create value.

    Heather and Bruno have created an accessible book distilling a career’s worth of advice from many individuals, each independently successful. You can think of it like many lifetimes worth of success right in your hand.

    Ed Burns

    Principal architect for Java, Microsoft

    Ed’s book Secrets of the Rock Star Programmers: Riding the IT Crest (McGraw-Hill 2008) is a good supplement to achieve a broader perspective on the ideas in this book.

    Contributors

    About the authors

    Heather VanCura is a senior director at Oracle, leading the JCP program and MySQL Community Outreach team. With 20+ years of experience at Oracle and Sun Microsystems, she actively engages with the developer community as an international speaker, event organizer, and mentor. She has visited 6 continents and over 50 countries, meeting developers and helping them to engage in standards-related and open source projects. Heather is passionate about promoting diversity in technology and volunteers with organizations such as Women Who Code and IEEE Women in Engineering. Her extensive involvement includes serving on the boards of Dress for Success and FIRST LEGO League NorCal. Heather’s dedication to empowering developers and advocating for diversity makes her a respected leader in the industry.

    Bruno Souza is a Java Developer and the founder of SouJava (The Brazilian Java Technology Users Society). With extensive experience in large Java projects, he holds the position of Principal Consultant at Summa Technologies. He is also the founder of Code4.Life, an initiative focused on helping developers grow their careers towards a life of freedom and purpose. Developer communities are his personal passion, and Bruno has actively worked to build and nurture several open-source communities.

    As the founder and coordinator of SouJava, and the Founder of the Worldwide Java User Groups Community, Bruno has played a pivotal role in strengthening the global Java Community. He is a Founding Member of the Java Champions and has been a Java Developer since its early days. Bruno represents SouJava on the Executive Committee of the Java Community Process (JCP) and holds the position of an emeritus Director of the Open Source Initiative (OSI).

    Beyond technology, Bruno enjoys puppeteering and cherishes family time in a country hideout near São Paulo.

    We would like to thank all the amazing community members and developers who have been with us along the way in our career journeys. Thank you for sharing your stories with us and trusting us to guide you on your career path.

    Interviewees

    In this book, we have interviewed the following industry experts. We’d like to wholeheartedly thank them for their contributions:

    Chapter 1: Rafael del Nero

    Chapter 2: Mala Gupta, Ben Wise, Barry Burd

    Chapter 3: Nikita Koselev, Helio Silva, Barry Burd, Scott Wierschem

    Chapter 4: Arun Gupta

    Chapter 5: Scott Wierschem, Thiago Bomfim, Nikita Koselev

    Chapter 6: Edwin Derks

    Chapter 7: Elder Moraes

    Chapter 8: Rodrigo Graciano

    Chapter 9: Mary Grygleski, Trisha Gee

    Chapter 10: Ixchel Ruiz

    Chapter 11: Josh Juneau

    Chapter 12: Jim Weaver, A N M Bazlur Rahman, Mimar Aslan

    Chapter 13: Victor Grazi and Wellington Rosa

    Chapter 14: Ed Burns

    Chapter 15: Yolande Poirier

    All the interviewees are personal friends of one or both authors, and they have encountered their own career challenges and triumphs. We have strived to present their experiences in an inspiring manner to encourage and prepare you for your journey ahead. Many others could have shared their stories in this book, but due to time constraints or missed opportunities, we couldn't include them. We extend our gratitude to all who volunteered, engaged in discussions, or contributed in any form to shape this book. Your dedication to your careers is greatly valued and appreciated.

    About the reviewer

    Douglas Hirsh, a self-taught software developer with 22 years of experience under his belt, is celebrated for his zeal to innovate and unravel complex business and technical challenges. With a commitment to quality and insightful design, Douglas ensures that solutions resonate with both technological and business visions. His adventure began in the early days of .NET, progressing into arenas such as Python, network automation, and AI. From roles ranging from hands-on developer to CTO and piloting his own freelancing venture, Douglas’s diverse path has provided a holistic perspective. He’s proud of his three-year stint instructing at a coding boot camp, nurturing emerging tech talent.

    I’d like to extend my profound gratitude to Bruno for inviting me to be a part of this enriching endeavor. His faith in my expertise has been truly inspiring. A heartfelt thanks to my family for their unwavering support and patience as I dedicated time to this project. Their understanding made this journey smoother and all the more rewarding.

    Table of Contents

    1 The Secret to Learning about Technology Quickly and Continuously

    2 Choose Your Best Path for Learning, Training, and Certifications

    3 Optimize Your Support Network for Growth

    4 Acquire the Right Skills Deliberately

    5 Stepping Outside Your Comfort Zone

    6 Become a Team Player by Embracing Communities

    7 Focus Your Growth by Giving and Receiving Mentoring

    8 Be Part of a Larger Group – Meeting People at User Groups and Meetups

    9 Grow Your Network through Social Media

    10 Build Lasting Relationships

    11 Build Trust and Solve Problems with Open Source Projects

    12 Scaling Trust through Public Engagement: Speaking and Blogs

    13 Be a Leader: Manage Up, Down, and Across Your Organization

    14 Stepping Up Your Technology Game – Defining Technology Instead of Merely Using It

    15 Build Your Personal Brand and Become a Trusted Advisor

    Preface

    There are many books on technical topics and just as many on careers, but there is no guide or roadmap for moving in a technical career from junior developer to senior developer. As experts working in the software development industry, with over 20 years of experience each, this is one of the most common requests that we receive from developers asking for advice and guidance. This book provides that guide, along with examples and stories from our global careers working with developers from all parts of the world.

    When we decided in 2021 that we wanted to author a book together, it was a conversation that developed organically, and started with a discussion on how to create a more engaging online social networking event for developers. We had already been working together in the community for over two decades and we shared many experiences both together and separately, many of them in the Java community ecosystem. We both shared during our conversations that we wanted to author a book. Almost immediately our thoughts went to sharing some of the career stories from developers we have worked with over the course of our careers. We worked together at Sun Microsystems for a brief time, and for most of our careers, we have worked in adjacent roles in the Java User Group (JUG) global communities, in the Java Community Process (JCP) program, and at various software development conferences all over the world. During these activities, what we see is the influence that participation has on the careers of these developers. During this time, we have both had the opportunity to interact and share our learnings with thousands of developers. We both share a passion for developers, communities, and technology and enjoy seeing and sharing the successes of those three passions coming together for greater impact.

    In this book, we will share how you can advance your technical career from a junior or mid-level developer to a senior developer. We will share the steps you will take on this journey, based on our experiences working with developers in over 80 countries as they navigated their careers across the continents of Africa, Asia, Australia, Europe, and South and North America. Along the way, we will share some interesting career stories from developers working in some of the largest employers as examples.

    We are excited to have this opportunity to guide you on the way to achieving your career goals and enjoying career success. By the end of this book, you will have gained the knowledge you need to clearly develop a plan for your career progression.

    Who this book is for

    This book is for anyone who wants to advance in their technical career, no matter their level, but specifically for a junior to mid-level technical professional, engineer, developer, or architect who wants to move from a junior to a more senior level and excel in their professional life.

    What this book covers

    This book is divided into three main parts, each having a few chapters to help you fulfill the aim of advancing your technical career. Here’s a brief overview of what each part covers:

    Part 1, The Basics: Learn and Practice Technical Skills: Career growth in the technology world involves being great at a technical level. Although the technical side is not everything, and sometimes not even the thing that will make your career grow, it is needed to be part of the game. Part 1 will help you go deep into the technical side and get you ready to advance your career faster and farther.

    Part 2, Get Involved: Participate in the Community: Although developing your technical skills is a great step, to have an amazing career, you need to go beyond technical skills. Software development is a team effort, and being able to work together with others is a required skill that puts you at the next level. If you want to go fast, go alone. If you want to go farther, go together (an African proverb). Building a career is playing the long game. We are not here for the fast, short sprint, but long-term unique results. Part 2 will prepare you for the long run.

    Part 3, Create Impact: Share and Lead: Now that you know how to establish long-term relationships that will drive your career forward, it is time to take the last step: position yourself as a leader, to break all limits in your career growth. Part 3 will discuss advanced actions you can take that will differentiate you in the market and transform the lives of people around you.

    Developer Career Masterplan involves constant growth, a constant feedback loop. You learn and then practice your knowledge. You can network with your peers, and share what you learned. This will open more possibilities for learning, practicing, networking and sharing. This loop will take your career to great projects, and amazing positions. You will grow to senior levels, and beyond.

    As you can see in the image below, the three parts of this book have chapters covering each step of the masterplan. You will start with learning and practicing. As you progress, you will do more networking and sharing. This masterplan can be applied over and over, always resulting in career growth. Each step, described in detail in the corresponding chapters, builds on and reinforces the other steps, to help you build your career path, to take you where you want to go.

    To get the most out of this book

    To get started on this journey, you need to understand the importance of emotional intelligence, or EQ, how to grow beyond technical skills, how to strategically build your technical knowledge, and the importance of increasing your visibility.

    In a well-known Fortune-500 company, there is an engineering team with a couple of developers who stand out for promotion. There is a developer who has the best technical skills, and a developer who has good technical skills but also is an expert communicator and team player/collaborator. Who do you think will receive a promotion? Based on the tired media trope of a solo programmer working alone in a basement eating pizza, most people would think that the developer with the best technical skills will receive the promotion. However, this is not the case. The developer with communication and collaboration skills alongside the technical skills gets the promotion. These are the skills that make up emotional intelligence.

    Many academics have written on this topic with diverse ways of measuring and evaluating emotional intelligence, but to understand the point, it is enough for you to know that most employers today would prefer to hire, retain, and promote a developer who not only has the top technical skills but also a high degree of emotional intelligence. Even if that means sacrificing some level of technical ability, when given the choice, employers will more often choose the individual with better emotional intelligence. The one with the best people skills wins. Emotional intelligence requires skills that you cannot learn from reading a book alone. These are skills that require practice and human interaction. This is true in technical roles as well as non-technical roles.

    The World Economic Forum is an international organization that brings together public and private organizations for cooperation purposes. The Forum engages the foremost political, business, cultural, and other leaders of society to shape global, regional, and industry agendas. The World Economic Forum recently issued The Future of Jobs Report. The report listed the following skills with growing demand through 2025 and beyond:

    Critical thinking and analysis

    Problem-solving

    Self-management

    Working with people

    Management and communication of activities

    Take the time to consider and evaluate your level of emotional intelligence. Identify areas where you need to grow and look for opportunities to practice your skills. While machine learning and artificial intelligence will impact development jobs, and you must learn to work with them, the demand for development jobs will continue to grow and will remain strong even in economically uncertain times.

    How do you grow beyond just technical skills to incorporate emotional intelligence? It is easy to think that as a developer, you should only be coding. It may seem to fit into your predisposed view of how you can advance your career to the next level – to focus on the technical skills that you were hired to use in accomplishing your tasks and projects.

    Developers cannot expect to write code in isolation and deliver it by throwing it over the wall or putting it in a repository and closing the project. Open source and agile methodologies for software development have been just some of the factors that have changed this method of working to deliver software.

    The way to grow beyond the technical and develop your emotional intelligence is to practice with others, whether virtually or in person. Look for moments to empathize, communicate, and collaborate with other people. You will see your skills develop through repetition and feedback.

    How do you choose the right skills to learn? Many developers tend to want to learn the newest, coolest, or shiniest technology. Often, they will start the process of learning a newer, more innovative technological skill without considering whether it will benefit them in achieving what they really want. Before you start spending time learning a recently released technology, evaluate why you want to learn that technology or skill. Does it align with your goals to advance your career to the next level? Is it worth the time you will lose learning the skill when you could be spending that time in other areas?

    It is great to learn new things, but before you add every modern technology that is popular to your list of skills to learn, think about the reason that you want to learn that technology. Is it required for a project you are working on? Or do you think it could be used in such a project? Or do you see the potential for this technology to grow and be useful to you in the future? If yes, then you should invest the time required to learn it.

    Employers expect developers to be learning on the job and filling skill gaps in technical areas. The problems arise when we add every recent technology to our list of skills to learn. At that point, it can be overwhelming and can lead to procrastination and stagnation. The sheer volume of new tools, techniques, and technologies can trigger the exact opposite of what you are trying to achieve, resulting in immobility.

    Time is finite. It is our most precious and valuable commodity as humans. Take the time to evaluate and consider why you want to learn a new technology before you add it to your career map. You can often gain visibility by getting involved in projects or areas that are valued by senior management. Pay attention to the projects that your line manager prioritizes. Listen to or read reports, listen to podcasts, or read articles where they discuss future directions. Communicate your interest in working in those areas. Learn new skills in those areas. Share knowledge that you have in those areas. Some excellent ways to share include social media, public speaking, user groups, and networking at industry conferences or events.

    What we have learned in our own career journeys is that sharing builds communities and trust. The authors of this book share the common desire to help you advance your technical career and build your trust in us to guide you on your way to a senior developer position. Do you have a map ready with some of the areas identified where you need to grow? Take some time to think and get clarity on those items before you move on to Part 1 of the book.

    Conventions used

    Tips or important notes

    Appear like this

    Get in touch

    Feedback from our readers is always welcome.

    General feedback: If you have questions about any aspect of this book, email us at [email protected] and mention the book title in the subject of your message.

    Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you would report this to us. Please visit www.packtpub.com/support/errata and fill in the form.

    Piracy: If you come across any illegal copies of our works in any form on the internet, we would be grateful if you would provide us with the location address or website name. Please contact us at [email protected] with a link to the material.

    If you are interested in becoming an author: If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, please visit authors.packtpub.com.

    Share Your Thoughts

    Once you’ve read Developer’s Career Masterplan, we’d love to hear your thoughts! Please click here to go straight to the Amazon review page for this book and share your feedback.

    Your review is important to us and the tech community and will help us make sure we’re delivering excellent quality content.

    Download a free PDF copy of this book

    Thanks for purchasing this book!

    Do you like to read on the go but are unable to carry your print books everywhere? Is your eBook purchase not compatible with the device of your choice?

    Don’t worry, now with every Packt book you get a DRM-free PDF version of that book at no cost.

    Read anywhere, any place, on any device. Search, copy, and paste code from your favorite technical books directly into your application. 

    The perks don’t stop there, you can get exclusive access to discounts, newsletters, and great free content in your inbox daily

    Follow these simple steps to get the benefits:

    Scan the QR code or visit the link below

    https://packt.link/free-ebook/9781801818704

    Submit your proof of purchase

    That’s it! We’ll send your free PDF and other benefits to your email directly

    Part 1 The Basics: Learn and Practice the Technical Skills

    Career growth in the world of technology involves being great at a technical level. Although the technical side is not everything, and sometimes not even the thing that will get your career growing, it is needed to be part of the game. Part 1 will help you go deep into the technical side, and get you ready to advance your career faster and farther.

    This part has the following chapters:

    Chapter 1, The Secret to Learning about Technology Fast and Continuously

    Chapter 2, Choose Your Best Path for Learning, Training, and Certifications

    Chapter 3, Optimize Your Support Network for Growth

    Chapter 4, Acquire the Right Skills Deliberately

    Chapter 5, Stepping Outside Your Comfort Zone

    1

    The Secret to Learning about Technology Quickly and Continuously

    Software development is a creative and innovative field. Although the main concepts last for many decades, the applications of those concepts, as well as technologies and tools, come and go in short periods of time. Because of this, software developers need the right skills and habits to continuously learn and adapt.

    There is no better way to start a book on technology careers than by going directly into the number one career problem that you may be facing: how to stay up-to-date with the fast pace and changes of the technology world.

    In our many talks and presentations around the world, the question of how to learn all the new things is common angst for technology professionals. It is common to find people that reserve several hours each day for learning, and still feel outdated and unable to catch up. To get out of this predicament, the best solution is to stop focusing on knowledge and start focusing on skills.

    We, therefore, bring you this chapter, where we’ll unravel the secrets to learning about technology constantly and quickly. You’ll learn about the following main topics in this chapter:

    Knowledge versus skills

    Finding focus and priorities

    Applying just-in-time learning

    Practicing deliberately to learn a tech

    Implementing important good habits

    Let’s dive right in!

    Knowledge versus skills

    Developers around the world ask us a quite common question: How can we keep up with current, ever-changing technology? Developers spend many hours every week trying to do exactly that: learn about technologies, frameworks, APIs, languages, and tools that pop up all the time, hoping that this will amount to keeping up to date with technology.

    The problems with this approach are multiple:

    There are too many things happening at the same time, and it is impossible to know which ones are the most important

    Trying to learn many things at once is confusing and you end up feeling tired and overwhelmed by the number of things that need to be done

    Forcing yourself to spend many hours a day doing something that seems never-ending is a recipe for frustration

    But there is one thing that gets the crown for being the most frustrating:

    Learning many things that you will not apply right now is not only superficial but the knowledge will neither last nor will it be useful for long

    When you learn a new skill, think about how you will apply that skill. Actively search for a way to incorporate your new skill into your day-to-day coding projects. Using the skills you gain right away will help you to build the muscle memory for the new skill and assimilate it into your library of knowledge.

    Have you ever spent hours learning something that you are not using in a project right now, and a few months later, when you need it, you remember next to nothing, and have to refresh it? And does that refreshing feel like almost having to relearn everything? There is a reason for that feeling and it is the difference between knowledge and skills.

    An effective way to think about knowledge is that it is a collection of memories that are disconnected from each other. Because they are disconnected, it takes some time for you to remember those things when you need them. And once you recover one memory, it does not help you recover other memories. This is like learning about the history of bicycles and how they were invented. Although you may love bikes, it is hard to remember the names and dates and who did what. There is a better way.

    Have you ever heard the popular saying that goes like this: once you learn how to ride a bicycle, you never forget? This is because riding a bicycle is not knowledge; it’s a skill. An effective way to think about skills is that they are collections of memories that are connected to each other. Once you recover one of those memories, they all come together and are accessed in a much faster way by your brain.

    That is why, once you acquire the skill, you just sit on the bicycle and go. You do not need to remember each fact about riding a bike. It just comes to you, without effort. The most important thing about skills for you to keep in mind is that although you can acquire knowledge by reading or listening, you can only develop skills by doing. There is no amount of reading, listening, watching videos, or following amazing tutorials that will ever get you to ride a bicycle. The only way is to go down to the park and try, fall, try again, and eventually, do it.

    This is the same for every developer skill that you want to master. To really learn something, you must do things, instead of simply studying to acquire the knowledge.

    When you write your CV or resume or prepare your LinkedIn profile, do you list in it all the books you read and YouTube videos you watched? Do you list all the knowledge you have? Or do you put more focus on the projects you worked on and the experiences you acquired?

    Even when just starting, you will clearly be better off including everything you did, even if they were just personal and volunteer projects, because, at the end of the day, it is your experience and skills that really matter.

    We started this chapter by talking about how developers spend a lot of time trying to keep up to date, so does the discussion around skills just make it worse? We must spend time keeping up to date, but the outcome we desire is to gain more skills. As we gain skills, we must still do our day-to-day things, so it will take more time, not less!

    Sometimes, in order to do things, you need to develop a strategy for doing so. This reminds us of a developer we know named Maryna Savchenko. She is a software engineer, based in Germany, and a true believer in software craftsmanship, clean code, and TDD. She finds intellectual fulfillment in accomplishing hard tasks and is passionate about acquiring and improving skills. When we asked her to share a story with us about learning continuously and shaping her career, she shared that what really helped her in her learning journey is a book entitled A Mind for Numbers, by Barbara Oakley. By reading this book, she figured out her own learning framework. Understanding how she learns best helped her to avoid frustration and keep being motivated during learning complex topics. Understanding the best way to learn new skills and gain experience by doing is a crucial step as you continue your path for learning. Let’s hear some more from Mayrna.

    After leaving Kharkiv National University of Radio Electronics with a bachelor’s degree in computer engineering, I did not work as a software engineer. I was told that I do not have it. And I strongly believed that for some time. When I was offered a job in application support at a software development company, I was glad. I worked hard. I learned accounting by myself (to understand enterprise resource planning systems better) and passed four certifications, only to realize that I was learning the wrong thing. I learned the hard way how focusing on the right thing matters! Why was it wrong? Well, that technology (1C Enterprise) was limited to a number of countries (Ukraine, Russia, Belarus, and Kazakhstan). I could not reuse my knowledge, and working for a company with headquarters in Russia was not right after Russian-Ukrainian War started in 2014. In addition to that, I was making less and less money every day because of inflation. I was paying full price for my wrong decision and for listening too much to other people. At this point in time, I did the first analysis of the Java ecosystem and thought that it may be a good way forward. In the meantime, my husband and I decided to move to Poland from Ukraine. I realized at this time that I needed to think hard about what to do and what to learn next. After one more analysis of the market and technologies, I was sure that Java was a good choice and decided to become a Java programmer. Finding a job abroad without relevant experience is not an easy task. You need to be better than local candidates and prove it. In my case, I needed to prove it to myself also. So, I needed to learn a lot of things, such as the language itself, frameworks, build tools, testing frameworks, databases, design patterns, and so on. In the beginning, I was very slow, ineffective, and overwhelmed. So, I googled how other people learn. Many said they just learn and that is it. After some searching, I found Barbara Oakley’s book and it was full of the advice I needed. I also discovered a rich and diverse software engineering community (including Java champions, Microsoft MVP people, experienced software engineers, techno bloggers, and tech educators). It gave me an understanding of what I was doing wrong, and I started to believe in my plan. But looking for a software developer job in Poland was not successful for me. I had only one technical interview. When I tried to send my CV to Germany, I realized how geography matters! From sending 13 CVs, I got 6 responses, 2 onsite interviews, and 1 job offer. And we were on our way to a new country. In Germany, I still needed to learn a lot to level up, as well as the German language. Having a learning framework gave me the right tools and confidence to proceed. Last year, I got promoted to mid-level and started blogging (https://savchenko.tech/). Now, I am living in Munich and on my way to improving my career.

    As Mayrna’s story illustrates, sometimes you have to find your inspiration and curiosity to continuously learn. Next, we will discuss how to find focus and priorities to help us identify the skills we need to keep up to date.

    Finding focus and priorities

    Connected to the how to keep up with current, ever-changing technology question that we looked at in the previous section, there is a follow-up that we also hear all the time: Which technologies are important to learn today, and which ones should we prioritize?

    This question is a recognition that there simply is not enough time to acquire every skill, so what do you choose?

    There is a simple answer to that: Choose to learn something that you need to apply right now.

    It may sound simple, but it makes sense. If execution is what develops your skills, then if you prioritize learning about something that you need to use immediately, you will go ahead and use it, which will develop your skill. This is the best way to get yourself to do the skill the fastest. This is simple, but it is not very helpful, is it?

    Imagine this. You must do something at work, and your boss tells you to learn and apply it. In this case, what we just discussed could be the right answer. However, that leaves you at the mercy of what your company wants you to do, and someone else’s ideas of what is important. Not a good strategy for an awesome career, is it?

    For you to take control of your career—the theme of this book—you need to proactively go after the things that make a difference to you. For that, you will need to focus and choose what matters to you.

    And immediately when you hear that, you may feel a tiny bit of anxiety pop up in your head. There are so many options to choose from:

    What if I choose the wrong thing?

    What if the thing I choose is not the best thing?

    What if I miss the important things?

    What if things change?

    If you feel like this, maybe it is because you think that the focus is the technology or the tool that you will spend time mastering and developing the skills for. You may be thinking that the focus is, for example, on Java instead of Go or Ruby.

    But that definition of focus is too narrow, and not very useful for your career. Choosing an area of your focus is not about choosing a technology or a tool, much less a framework or an API. Choosing a focus is choosing the problem you want to solve. In a way, choosing a problem is a much more specific and narrow focus.

    For example, you can focus on solving the very pressing problem of achieving high performance for large, scalable, Java-based finance applications in the cloud.

    This is a very precise problem to solve. It seems much more specific than focusing on Java or the cloud.

    However, the tools, knowledge, and skills needed to achieve high performance are actually many and varied. You will need to know about Java tools, cloud tools, performance tools, financial concepts, scalable architectures, and so much more!

    Well, this seems too much to learn! Aren’t we back to the problem of lack of focus? If you keep the problem in mind, then no. It is the problem that will help you keep your focus.

    In our example, you don’t need to learn or keep up to date with everything in Java, just the parts that focus on performance. There's no need to follow every single tool that shows up in the cloud. You will focus on the ones that give you an edge on the scalability needed in the financial world.

    Finding your focus is finding an interesting problem to solve that you are passionate about. In the next section, we will introduce a concept to help you.

    Applying just-in-time learning

    Here is where the rubber hits the road. Once you know a problem, even if it is a broad idea of what it is, you have a direction to go, learn, research, and dive deep. How can we mention broad and deep in the same sentence, and not make that contradictory? This is what we call just-in-time learning, which is a two-step process. Let us discuss each step briefly in the following subsections.

    Step 1 – Have a broad vision of the market

    The first step is to have a broad view of the problem you are going after, the tools, technologies, companies, people, and more.

    Once you lean toward a problem or direction, even if it is fuzzy and just defined in general broad terms, surround yourself with related information. Your goal is to go broad, to know what exists.

    This will be scary because the more you know it exists, the more you will feel there are

    Enjoying the preview?
    Page 1 of 1