Book Image

Developer Career Masterplan

By : Heather VanCura, Bruno Souza
5 (1)
Book Image

Developer Career Masterplan

5 (1)
By: Heather VanCura, Bruno Souza

Overview of this book

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.
Table of Contents (21 chapters)
1
Part 1 The Basics: Learn and Practice the Technical Skills
7
Part 2 Get Involved: Participate in the Community
13
Part 3 Create Impact: Share and Lead

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 too many things you do not know. That is called the Dunning-Kruger effect, and it is a cognitive bias that you can learn to control:

Figure 1.1 – Dunning-Kruger effect

To go broad, use the following techniques:

  • Follow people related to your focus on Twitter and LinkedIn
  • Search for technologies and projects in that general area
  • Talk and connect with people, ask questions, and pay attention
  • Attend online and in-person meetups and events
  • Subscribe to bloggers in that space

Here, you are looking to have a broad view of the landscape, get a feeling about the terminology, the most mentioned and used tools, the people that are shaping that area, and what they think.

This is a superficial view, but you should also look a little below the surface. When you hear about tools and concepts you do not know, a quick Google search will tell you what they are and what they are useful for.

Keep this in mind: you need to know that things exist, their general usefulness, what problems they solve, what problems they create, and a sense of their popularity. You can use your memory, a file on your computer, a notebook, or even tools such as Anki to maintain your general view of your problem space. This is knowledge, and it is particularly important that you are continuously aware of your problem domain.

One crucial point: this seems very time-consuming, right? If you agree, it is because you are thinking about going deep, and spending hours researching every day. But remember, that is not the point but rather a superficial understanding. You should be aware and connected. You should be paying attention to your area. A few minutes a day, or when the opportunity arises, is more than enough for you to build that general idea.

We can almost hear you say, “This superficial idea will not help me learn things!” And you are right. The objective of being broad is to know what exists. Then, you apply step 2.

Step 2 – Go deep when you are ready to apply

Now that you know what exists, look for opportunities to apply interesting things in your day-to-day coding and development projects so you can experiment with this approach. This can take many forms.

Look for opportunities to experiment with some of those technologies or ideas in your current project. Even if your project will not use these ideas in production, there are many opportunities to experiment with prototypes and test cases, as tools for you to be more productive, or to build a tool for the team.

Pay attention to what is going on in your company. You may hear of projects or proofs of concept that are being considered, customers that need a new solution, or internal projects that need to be implemented. Volunteering to discuss and participate in some of those may give you a chance to apply the technologies you are interested in.

Find things outside of work that you are interested in. Applying skills at work is your best option, but sometimes the opportunities are harder to come by, and you may need to look elsewhere. Personal projects, volunteer projects for a non-profit, or open source projects are all good options.

In all cases, when you see an opportunity to apply your knowledge, this is the time to go deep with just-in-time learning. Do a deep dive into how to use that particular technology or tool. Spend a few hours during the week creating a small prototype, getting something up and running. Your goal here is to get up to speed with it as fast as possible and go as deep as possible in that time.

The objective is not to become an overnight expert but to be able to apply that new idea to a real project.

What will just-in-time learning do to your skill acquisition process?

First, it will give you a broad vision of what exists and what matters to your focus area. That, in turn, will allow you to identify opportunities to apply that technology.

Second, once you find a real opportunity, you will go deep by learning and applying immediately what you learned, and that will give you the skills you need to advance.

That begs a new question: how do we practice?