DEV Community

Cover image for How to stay motivated while learning programming and new technologies
Yonatan Bendahan
Yonatan Bendahan

Posted on

How to stay motivated while learning programming and new technologies

One of programming main struggles is the learning process. whether you just started your programming journey, or you want to learn new technology. In this article, I want to share some of my personal tactics and strategies that help keep me motivated in this sometimes difficult journey.

Learning programming is not about memorizing. try to ditch the mentality of a high school/college student, going through books and lecture notes, remember as much as possible, and score high on exams.

Learning programming is about solving problems, to clear your way through building something.

My first tip is, focus on building, not on memorizing - start by choosing a project.

Choose a project

After you have in mind what you want to learn, choose a project.
Usually, I go for an idea I have for a while and excited about it. Then I define the parts of the project I want to implement (number of screens/number of features/number of components) and choose the language/technology I want to implement it with.

Break the project into milestones

This is an important part of learning and building projects.
Do not try to do the entire project at once, you will be exhausted and demotivated quickly. It is difficult to stay positive when the goal is too far away.
For example, if you want to build a twitter clone as a project, the first milestone can be to build the first page where you can post a tweet, and see a list of tweets (without a server connection). Then you can move forward to implementing other features: signup/sign in, likes, comments, and so on.
Make sure your steps are as small as possible

Priorities the subjects you want to learn

I know that you want to learn a lot of things at once, me too. But it's difficult, it will take a long time until you will feel a sense of progress.
So just like breaking down your project into milestones, try to priorities the languages/technologies you want to learn.
For example, You want to learn HTML & CSS? build only the UI without functionalities. Want to learn React? build the UI without building a server (you can use mock data or a public API), want to learn Node.js? build a server and test it using curl/postwoman/postman.

Focus is the key

Focusing is about you making the right decision on what to do when, and more importantly what not to do.
it will always be choosing to learn/build small parts, step by step, instead of doing all at once.

The actual learning

After you decided on a project, defined your milestones, and choose the languages/technologies you want to learn, it is time to do research.
Usually googling the subject you want to learn will be enough, but you can always ask a friend or online communities for resources. Don't be afraid to share your goals - what you want to build, and with which technologies.
Remember! When you have a well-defined project in mind, the actual Youtube lessons you watch, or articles you read, are less important. You will see you have a "flashlight" that guides your way while learning - the project you want to build.
You will also notice, that while you read or listen to teachers online, your mind will already process the information better, you will have a context of what can be done with the new knowledge you have, and how you can implement what you learn in the project you want to build.

Motivation

How to stay motivated is always an open question, and each one of you might have different techniques for that.
I believe that focusing on building something and moving the learning part to be a by-process of it, helps much with staying motivated, as long as you plan your path the way it fits you.
And who knows, maybe your next learning project will be the beginning of a successful startup :)


Hope it helps you in your programming journey. Happy coding!


Looking for personal/group training? Feel free to contact me through my website: https://yonatanbendahan.com


Photo by Julian Christian Anderson on Unsplash

Top comments (0)