DEV Community

Cover image for Top 9 ways to become a successful self-taught developer
Pramit Marattha for Aviyel Inc

Posted on • Updated on

Top 9 ways to become a successful self-taught developer


The term "self-taught" developer is frequently used to refer to people who have studied coding/programming on their own by reading books, taking online classes and doing other kinds of independent study. Since you are not being forced/required to take lessons by a teacher or educational system, this can be an excellent approach to learn how to program because it gives people the freedom—and flexibility—to concentrate on learning methods that suit them best. Self-taught developers can build their skills by using a variety of methods other than simply reading books or watching internet/youtube videos. We'll explore nine different techniques—hacks, tips and tricks inspired by real life experiences—in this article!

1. Start each day with a plan

The first hack is to start each day with a plan. This can be as simple as writing down your goals and objectives for the day, or it can be more complex, such as creating a detailed lists/spreadsheet with all of your tasks and timelines.

Start with Plan

Once you’ve jot that down, you need to make sure that everything else in your journey supports these goals:

  • Plan out your week ahead of time — even if it means waking up at 5 AM on Saturday morning to do so!
  • Create a calendar reminder system so that nothing gets lost in time(e.g., "I will start working on XYZ programming language/project by Monday afternoon")
  • This hack/technique is all about building momentum. If you don’t start early enough, it can become easy to get caught up in other activities that aren’t related to your goals for the day. It also helps make sure that everything gets done on time and that nothing falls through the cracks.

2. Take short breaks often

When you're programming/coding, it's easy to get into the zone and stay there for hours on end without realizing how much time has passed. Break periods should be used as a way to keep your brain fresh, functioning and aware of what's happening around you, so that when you return back to coding, there will be no surprises or obstacles in your way.

Short Break

How frequently should breaks be taken? It is impossible to predict. A fair general rule of thumb would be 20 to 30 minutes for every two hours spent coding, although everyone has a different working style. Make sure to take a break at least once during an hour long of uninterrupted coding unless you can do it without getting fatigued.

I suggest looking into the Pomodoro Technique if you need an alternative approach. It's a great way to schedule your breaks and get work done in short bursts.

What should you do during your break? A lot of people use their breaks to exercise. Going on walks, running around outside, or even doing pull-ups/push-ups can help get some blood flowing and oxygen into your brain. Other options include reading a book for pleasure (not related to any programming/coding), listening to music, meditating, or just relaxing with friends.

3. Rotate between different subjects

If you want to become a versatile self-taught developer, it's important to rotate between different concepts/subjects. If you're not good at one concept/subject, then switch to another(but don't switch too often; you need to stick with a plan).


The more diverse your knowledge base is, the more likely you are to be able to handle any problem that comes up in your career as a developer.

4. Be consistent, not rigid

It's important to be consistent and not rigid when it comes to your study schedule. A good way to do this is by switching up your study/practicing sessions, making sure you're staying focused, and setting a schedule in place for yourself. If you're working/learning through the materials in a particular order, then stick with that order; but if it feels more natural for you to move around from section-to-section or chapter-to-chapter, then go ahead! Just be sure that when you stop studying each topic or section again before moving on, there's always some kind of structure in place—even if just a rough outline of what will happen next time around.


This tip also applies when rotating and switching between different programming subjects/concepts: if one method works well for one type of material but not another type, try using other methods until something clicks!

5. Make it fun

You are learning something new and it's not easy. So if you ever find yourself struggling with a particular topic or technique, take a break. This is a learning process and if you are not enjoying yourself it can be difficult to keep going on. If you're having trouble focusing due to massive distractions, consider listening to different songs or watch some movies until your interest in coding returns back to normal!


6. Use spaced repetition to reinforce learning

One of the best ways to learn something is by reviewing it at increasing intervals. This technique involves repeating and reviewing/re-learning material for a short time period, usually 30 to 60 minutes, before performing an exercise that tests your ability to recall what you learned.

The idea behind spaced repetition is that it helps you remember things longer by forcing you to use the information in your head rather than on paper or screen. If a piece of information isn't used often enough (or at all) in the first place then it won't get stored properly and will be forgotten completely when you need it later on!

Spaced Repeat

For example, if you have a list of 10 new concepts to learn, start by reviewing/re-learning them every day for 30 minutes. When that becomes easy try increasing it to 45 and then 60 minutes before doing an exercise that tests your ability to recall what was learned. It's almost like magic! Spaced repetition can be beneficial in any situation when there is a lot of new information to absorb.

7. Review progress and adjust plans accordingly

Once you've figured out your goals and what you can do, it's time to figure out how much time is needed for them. If you want to become a successful developer, there are three things that will help:

  • Keep track of your progress and adjust plans accordingly.
  • Focus on what you are good at (and work on improving weaknesses). This means focusing on one skill at a time; don't try to learn everything all at once!
  • Explore new topics by researching online resources, asking other people/friends about their experiences with similar problems/needs as yours, or looking up information from google or books that could help guide your learning process. You may also want to start with simpler topics first so that if something gets too difficult later on down the line then there won't be any big surprises when they happen!

Review progress

If at all feasible, focus on developing your strengths before attempting anything new. It is preferable to concentrate on your strengths rather than trying to fix your weaknesses. Don't be concerned about any areas of development that aren't your strong suit!

8. Take notes by hand to learn more deeply

Taking notes is one of the most efficient ways to learn new material. You can do this by hand or on your computer. In either case, taking notes reinforces what you're learning and helps you remember it better than reading alone would.

Take note

When I was in college and preparing for my final examinations, my favorite teacher gave us a task: write down everything we learned in each class so that we would have a record of where our knowledge was at any given time. It was a fantastic self-reflection and timeline-making activity, but more importantly for me personally—since I had never done this before—writing down the concepts helped me grasp them better than just hearing about them from memory alone!

9. Focus on understanding the theory rather than memorizing code

If you want to become a self-taught developer, it's important that you focus on learning the theory behind coding rather than memorizing code.

You can better understand the code if you grasp the theory behind it. You won't need to read through every line of code and examine how each function operates separately if you have a solid understanding of what's going on behind the scene, which will also make it simpler for you to comprehend why certain things are done in particular ways. This can be especially beneficial if there is a particular characteristic of your chosen language or framework that makes mastering some aspects of it first challenging (like if there are multiple ways of doing something). The massive benefit of learning theory is that it will improve your understanding of the code. If you know how to accomplish something but forget how, it will be simpler to figure it out again because you will have a greater understanding of why specific things operate the way they do.

It's much more efficient in terms of time spent learning new things when they're broken down into smaller chunks than if they were presented all at once as one big wall of text!


All of these hacks and techniques can be used to hone your skills.

The most effective method of learning is by doing, and that's exactly what you're going to do. As a self-taught developer, there are various ways to practice your abilities, but the most crucial thing is that you put the effort in and keep at it. The more often you practice these techniques and builds, the better your understanding will become. It's also crucial to remember that it's alright when something doesn't go according to plan for whatever reason! Learning from mistakes helps us improve our overall productivity as developers since we can pinpoint what went wrong and prevent repeating the same mistakes in future projects or iterations on existing ones.


Becoming a self-taught developer is not easy. There are many hurdles to overcome and it takes time to learn the skills that will help you become a successful developer. However, it is feasible! With these tips from the hacks & tips outlined above, I hope you will have some success in your journey toward becoming a successful self-taught developer.

Top comments (10)

jimmoo profile image
Jim Moore

I've been trying to learn how to code since 1978. I tried in spurts, all thru the 80s, for example. I always "borrowed" opc. I hate typin. I always love building my own libraries and reusing code.
Many basic practices, patterns and designs remain the same over the years, just renamed.
As new tech became/becomes available I learn it and adopt it right away. The only language I really ever left behind is pascal.
Am teachin myself python, go, js to complement my C in '22.
Am always reading, learnin; always trying ascertain where tech is headed next.
AI will put me in my grave 👋😃

glenn_miller_860ba12ffbf7 profile image
Glenn A Miller

Programmers are all self-taught beginning the first day of their first job. On a career timeline, you'll repeat the process at least a few times. Embrace the process.

pramit_marattha profile image
Pramit Marattha

Exactly ! 💯

efraimla profile image

I'm a self taught developer from 13-14 years old, this is true. It's good to take breaks and make your goals enjoyable. Also, read tech articles and news :)

apongpoh profile image

As a self-taught developer i followed most of this rules before even reading this post and they help me alots.Thanks for the reminder.

riverpoet profile image

Thanks Pramit. Your stepwise advice is most helpful!

vinceamstoutz profile image
Vincent Amstoutz

I can confirm that it really works and is very effective! Thanks for sharing!

colinchidiogo profile image
Colin Chidiogo


danedens profile image
Dan Edens • Edited

I must say, as a Self taught Dev, I have to disagree with this article.
This reads more like a college assignment you were doing and published, than shared experience.

You should have talked about finding ways to bring programming into your day to day life, and iterating on issues you run into, as you solve a problem.

For me it was controlling my lights to not wake up my newborn baby.
I had a cause with a time constraint, and a test environment, to see my code in action right from the start.
Becoming a strong Software Dev isn't about doing Vocab and learning all the syntax, possible data types, and libraries that you might need to know one day.

It's about having a problem, and knowing how to go find the answer.

You aren't a self taught Dev so all you've done here is describe being a college student with more steps.
Yes learning theory is important, but it isn't first.

The first thing you need to do is fail.
Write sloppy code that works, and then learn the reasons why it's sloppy by tracing issues and having the drive to improve your code.
If you worry about doing it right the first time, you're going to end up writing an article like this.

I suggest picking up an app called Tasker, or another framework like Node-Red or Eventghost.

And wait you actually hand write code because you think it will retain better?
Bruh the correct answer is to Mqtt pub your notes to your Ec2

wilmela profile image

Nice info. Point no. 6 is very powerful.