How do You Determine What to Learn Next?

It’s no secret that as developers, the learning curve is literally never ending. It is just impossible to stay caught up completely on a modern set of skills. In this post, I will show my method of how I determine what I will learn next.

If you have ever read The 7 Habits of Highly Effective People you are probably familiar with the four quadrants. If you haven’t read it, there is an image of the concept below.

I use a similar matrix to categorize what I need and want to learn. I am a Microsoft full stack developer so the technologies and skills I use daily are C#, ASP.NET MVC, SQL Server, Entity Framework, T-SQL, Bootstrap, AngularJS, Angular, JavaScript, software architecture, etc. The technologies and skills that I am 100% comfortable with and don’t feel a pressing need to learn more about go in Quadrant 2, Important/Not Urgent. These are sharpen the saw activities that I need to stay up to date on but taking another course or reading another book on C#, for example, is likely to net me very little. However, when a new version of C# is released, I need to get up to speed on it as soon as possible. In my skills matrix, I list C#, ASP.NET MVC, Entity Framework, T-SQL, SQL Server, JavaScript, AngularJS, SSIS, and BootstrapV3 in Quadrant 2.

In Quadrant 1, Important/Urgent, I list the skills from three different categories:

  1. Skills I am currently using that I need more knowledge of or experience with.
  2. Skills, technologies, and frameworks that I know are in the pipeline and I will be using soon.
  3. Skills that, if I knew more, would give me a better quality of life.

In Quadrant 1, I have Angular, BootstrapV4, RxJS, NgRx, TypeScript, ng-bootstrap, project management, sales, marketing, branding, and software architecture. All of these items, if I were more knowledgeable about, would give me much better footing. Skills like software architecture will always be in Quadrant 1.

In Quadrant 3, Urgent/Not Important, I list skills that will probably be very important to me at some point but until my list in Quadrant 1 gets much smaller, won’t be feasible. WordPress, Python, DevOps, and artificial intelligence are a few items on this list but there are many, many more. All of these skills would help me, I know, but time is limited and I have to be mindful of where I am spending it.

Finally, in Quadrant 4, I list skills that I like the sound of and would learn to love at some point, but just aren’t anywhere on my radar currently. A mountain would have to be moved before I could actually justify spending time on them. Rust, R, and Unity3D are in this list but, again, it is long.

I actually schedule a few hours each week to work on items in Quadrant 1. I typically focus on one skill so that I can eventually move it to Quadrant 2. Right now, that is Angular, RxJS, and TypeScript and it is more than just a few hours, it is about 8-10 hours.

When I have downtime, I first look at Quadrant 2 and try to determine if there is anything recent that I need to be aware of and get up to speed on. If not, I more to Quadrant 1.

As for Quadrant 3 and 4, I look at these lists every month or so and see if there is anything that needs to leave the list or be added but that is all the attention they get.

What about you? How do you determine where you spend available learning time?

Leave a Reply

Your email address will not be published.