Most people start their journey in web development (or software engineering) because they’ve stumbled upon a problem that needed to be solved, or saw something developed by a programmer that they thought was amazing and wanted to be able to do that as well. The problem is that because of their excitement, they want to see “big” results within an unrealistic timeframe. Unfortunetely, as I like to say, “You can’t dive into the ocean without getting your swimming certificates first. You’ll simply drown”.
And that’s where the problem starts that you’ve stumbled upon. It seems tedious, unproductive and overall just quite boring. Especially in the beginning, where you learn simple stuff that isn’t enough to make any usefull, real world application with.
The first and foremost problem you need to tackle is your sleep. Not having enough sleep is the root of pretty much any other problem you encounter during your learning process, including your loss of motivation and / or focus. This happens to a lot of new developers and luckily there are a few things you can do to solve the issue:
- Stop learning / coding at least 1 hour before going to bed. Do something else for relaxation and to take your mind off of it.
- Put a pencil and a piece of paper next to your bed. In the beginning, you often wake up because of ideas or questions about coding. Use the paper to write them down so you can go back to sleep and worry about it later. (This was a golden tip for me, as I kept dreaming about code and suffered from sleep deprivation because of it).
- Don’t spend your entire day learning or coding. Give your mind some other impressions to process.
- Don’t spend every single day on learning or coding. This may seem obvious, but it’s important to do other things in life as well.
Now for the focus part. This is pretty close related to what I already said above. If you spend too much time doing the same, it becomes boring and tiring. I’m not nessesarily saying that you have to do go do something completely different. I’m just saying that you should work on something you like, besides what you’re learning.
I personally started developing because I was interested in chatsystems. Obviously a project like that was way too complicated for me back then, but that didn’t stop me from trying anyway. I just downloaded finished projects from other developers and started messing around with it. See what I could change etc.
Working on something I was interested in, even though it was way too complicated, revitalized my energy and interest in learning more. Simply because it’s a lot easier to focus on what you want than to what you have to go through in order to reach it. And you will come across many functions in other people’s code that you don’t understand, which will automaticly prompt you to do research on it.
Lastly I’ll give you a couple of general tips that will help you along the way:
- Take a 5 minute break after learning or coding for an hour. And I mean away from your computer! Go get a coffee, take a walk, just anything that gives your mind some rest.
- Don’t spend more than 3 hours in a row on doing the same thing. Play a game for an hour or watch a serie. Or better: Go do your groceries or something else that needs to be done in or around the house.
- Join our chatrooms on Gitter: https://gitter.im/FreeCodeCamp/home. Being able to talk to other campers or like-minded people will certainly help you stay motivated and doesn’t make you feel “alone” while learning.
- Stay healthy. Make sure you eat regularly (and healthy!) and get some excersize. You don’t have to go to a gym (though it would be better of course) or anything like that. Just taking a walk or jump on a bycicle for 30 minutes a day is perfect.
- Don’t pin yourself down on a problem for too long. If you can’t solve it, ask for help or leave it alone for a while. Get back on it after you feel refreshed and have a clear mind to focus again.
- Don’t force yourself. If you can’t focus for whatever reason, leave it and come back later. Forcing yourself only makes the situation worse and could lead to the point where you completely give up on it. There are plenty of days ahead, so stop using timetables for learning. You’ll be under pressure more than enough when you actually have a job as a developer.