Building a Personal Development Plan for Software Developers

Ali Murat Umutlu
5 min readJul 7, 2024

--

If we consider HTML as a programming language :) I can say that I started coding while I was still in high school. This period also coincides with a time when I placed incredible importance on personal development. Especially Anthony Robbins’ “Unlimited Power” was a masterpiece for me back then. Since those times, these two phenomena in my life, software development and personal development, have always supported each other. Until today, I have supported myself in both areas with many great applications and tools. Today I will share the most important things I learned while developing my coding skills.

TLDR:

Software development and personal growth have always supported each other in my life. I track my personal and professional development using tools like Nuclino. To overcome common challenges faced by software developers:

1. Identify your gaps.

2. Understand how you learn best.

3. Compile your learning resources.

4. Set SMART goals with milestones.

5. Create a detailed action plan.

6. Implement continuous monitoring and adjustment.

Use tools like Nuclino, Notion, and Trello to track your progress. Manage your process with a weekly plan. Use your time efficiently and continuously evaluate yourself. I emphasize progress with the saying of Prophet Muhammad (PBUH): “The one whose two days are equal is at a loss.”

Step 1: Identifying Gaps

In my previous article, I actually pointed out a common problem among software developers. There are quite a few self-taught professionals among us who have learned software development from institutions and/or platforms outside of university. Many of them are really talented because they gained experience in many real projects due to the high demand in the Frontend area in recent years. However, unfortunately, these friends face significant difficulties in job interviews at the level of their expertise. The main reason for this difficulty is their lack of sufficient terminological or practical knowledge in areas such as object-oriented programming, system design, clean code, SOLID principles, and JavaScript fundamentals.

Depending on the reason you want to improve yourself, listing your deficiencies will make your job much easier. Please be generous when making this deficiency list. We will put them all in order and catch all the Pokemon!

Step 2: Understanding How You Learn Best

I had the opportunity to give many training sessions on game development with Unity and React. During these trainings, I realized that each of us is unique and has unique learning methods. Some of my students learn very well by asking questions, some by explaining to themselves, and some by writing articles.

Focus on yourself and think about how you have learned so far. If you learn well by explaining to someone else like me, explaining to yourself could be a good solution.

If listening to someone else is the easiest solution for you, ChatGPT voice assistant is a great opportunity because you can discuss with it and instantly learn topics you don’t know while on the go.

For some, writing is the most effective method that connects brain neurons. Often, you have to think more to form the best sentence during the writing process.

Note: A SWOT analysis (Strengths, Weaknesses, Opportunities, Threats) can be a helpful method at this stage.

Step 3: Compiling Your Learning Resources

In the previous step, we compiled how we learn and our strengths. Now we need to address them with the right resources. We have thousands of paid and free resources at our fingertips. I especially love up-to-date YouTube resources and official documentation sites. Never underestimate react.dev for learning React and the official documentation pages for Next.js!

Step 4: Set SMART Goals with Milestones

Be clear with yourself. For example, “I will complete my transformation to a Full-stack Developer within 18 months.” Let’s determine milestones based on such an example:

1. Complete the freeCodeCamp Full-Stack course in the first 3 months

2. Code the “Airbnb Clone with Mern Stack” project on YouTube in 1 month

3. Contribute to an open-source full-stack project by month 12

4. Obtain a relevant certification (e.g., AWS Developer Associate) by month 15

Step 5: Create a Detailed Action Plan

Here is the part where I believe I can be useful to you. I have tracked my development process with many tools until today. Finally, I found happiness with Nuclino 😅

A screenshot from my private Nuclino Workspace: Software Architecture. Yes, it has also system design topics

It has a great graph feature, and classification is very simple with its folder-based mirroring feature. It even has a board structure similar to Trello. The same features, except for the Graph, are also available in Notion, but unfortunately, Notion seems too complex to me. After a while, I start thinking that Notion serves me, not the other way around. Trello, Asana, or GitHub Projects are other tools you might want to use.

The big picture is here

Another option is Apple Notes. If you say, “I will soon collaborate with iOS and ChatGPT, so Apple Notes seems more logical,” I understand you very well. This way, it can be easier to extract information from your notes while talking to Siri.

After selecting the tool you will use, you can make a weekly plan like this:

• Monday & Wednesday: 1 hour of online course

• Tuesday & Thursday: 1 hour of practical coding on side project

• Friday: 30 minutes of reading technical articles

• Saturday: 2 hours of focused deep-dive on a specific topic

Step 6: Implement Continuous Monitoring and Adjustment

You can objectively evaluate yourself by attending job interviews. However, I still advise against attending interviews you are not interested in. Since time is a valuable asset for everyone, it would not be ethical behavior.

As I conclude the article, I want to remind you of a saying I love from Prophet Muhammad (PBUH): “The one whose two days are equal is at a loss.” I wish to be helpful to professionals who want to build a happy and peaceful future for humanity!

--

--