In today's tutorial, I will give you a basic process about how you can learn to code. If you are wanting to learn how to code but are a little stuck on how to get going then this tutorial is for you
First, you need to define a goal. You need to define what you need to learn. Pick a language, any language. If you are unsure of a language or framework to pick using one of the following resources to find out what's current.
After picking a language, your next question will likely be, what should I code?!?!?
Instead of trying to pick the perfect program, or, to get unblocked one simple option is to take on a coding challenge. Making a commitment to yourself to code for one hour a day on a small project will help you improve your skills.
There are loads of challenge you can take, for inspiration pick one of these ones:
When coding, pick one thing and stick with it. When you start trying to learn to code it is easy to become overwhelmed with everything that you need to learn at the same time. Do not try to learn 5 languages at the same time. Master one thing. Then move on.
Push Your Challenges To Github
At the same time as you are learning you should also be improving your understanding of your tools. Understanding your tools is a key part of mastering your craft. You need to learn these things:
Before undertaking a coding challenge, create a Github account. For each daily challenge commit your code into your Github.
These challenges can eventually be used as your coding portfolio to demonstrate your skills. Be consistent with your project, a future employer who can see you have been making frequent commits every day for years will be impressed.
Pushing to Github is really important as in the future you can show a future employee what you can do.
Master GIT will be a vital part future employers will expect you to have, so you will be killing two birds with one stone.
Get into the habit of using the command prompt to commit and push your into code into your repo. You can use a visual tool like GitKraken but you will become a lot more efficient if you understand GIT from the terminal.
When commit your code, if possible try to get a friend or someone you know to code-review your work. If you can get this type of feedback then this will definitely help accelerate your progress to mastery.
While undertaking a challenge learn to promote yourself now. The 100 days challenge recommend you tweeting everything with a hashtag. If you are brave enough you can record your progress and push it to YouTube. Do not worry about being nudged at the start. No one will view your videos, but it will get you into a good habit. Some ideas to help you connect and market yourself include:
- Go to meet-ups. In our new virtual world, these are now online
- Tweet popular hashtags about your work
- Ask questions on blogs
- Answer questions on StackOverflow
- Attend a conference and talk to people.
- Follow thought-leaders and programmers you admire on social media.
- Try to grow Stackoverflow Rep
The list of promoting yourself and making connections is endless.
The Power Of Habit
When you learn to code you will get frustrated and at points, you may feel like you are not making progress.
I think this is why challenges are good. Focus on doing the best you can do within a given time frame. If you are consistently creating a new project every day then you will make progress. If you get stuck, give up and start all over again tomorrow.
Start building small projects. If you get stuck, start again
On Github, you can see a visualization graph of how frequently you push into your account. You can use these metrics as a benchmark Try to keep a chain of daily commits. Do not break the chain.
When coding, maybe set a Pomodoro timer. Use a chrome extension like WateNoTime, or, StayFocused.
Use tools like RescueTime, or, WakaTime to monitor how often your code. These tools will give send you weekly email summaries so you can track progress. I use these tools to check I'm spending enough time writing my books each week.
It is really important that you are very specific when defining your goals. The easier is more likely that you will hit them. If you find you do not have time make time.
For instance, I wake at 5 am at least 5 times a week, before my son is awake to make progress on writing and publishing books. Not everyone is an early riser and For you, it might be making progress every lunchtime in our break. The main takeaway is to find a time each day and be deliberate with your practice.
Remember every day counts. Happy coding!