5 Lessons Learned in 5 months of Self-taught Programming
- Don’t worry about the language
For us newbies, we’re always curious about “What language or framework should I learn?” and we do all this research trying to find the right one for what we think we want to do. The truth is, you’ll more than likely have to learn multiple languages/frameworks over time so it doesn’t really matter. The most important thing is that you learn and understand programming concepts and work on your problem solving skills because that is transferable across all languages.
Once you learn one language, the learning curve for another language is significantly shorter because you’re just learning new syntax but you already have the concepts and methodology down. Personally, after learning Ruby for 6 months, it took me about 2–3 weeks to get comfortable with Python and work at the same proficiency as I was in Ruby (which took 6 months!)
2. You will feel overwhelmed
One of the biggest lessons I learned was to just focus. As you begin to code, you will soon learn that there is soooo much different tech out there. Front-end languages and frameworks, back-end languages and frameworks, working with databases, deploying your app, etc. It’s going to be a lot but it will start to make sense as you put the time in. You’ll be tempted to try all the new tech that you learn about. There are so many technologies out there, it’s impossible to keep up with everything. It’s also impossible to get really good at any of them, if you’re continuously moving to something new each month.
It helped me to outline a learning plan and stick to it. My initial goal was to learn Ruby on Rails development so everything I did was focused towards that goal. Identify the topics you will learn, list the resources you will use, and schedule a time to study them. You will be surprised how far you come along if you stick to your plan. It also helps to follow a course or curriculum to get you started as it will help keep you focused. I recommend following something like the The Odin Project
3. Don’t just code along with tutorials
All of us newbies fall into this trap. This is great if you’re getting familiar with a new topic but this doesn’t help you actually learn the material. One of the biggest surprises to me while learning to code, is how much time you actually spend trying to fix bugs. In doing side projects, most of my time is spent researching issues and you don’t get that experience from coding with tutorials when the answer is always right in front of you.
Ways to improve your skill after completing a tutorial:
•Try recreating the project without the tutorial guiding you. That tutorial that seemed straightforward will surprisingly become hard and present some challenges which will be good practice.
•Add new features to the tutorial that you just completed. For example, let’s say you just completed a tic-tac-toe tutorial that 2 users can play.
You could add the following features:
-play against the computer
-add a scoreboard to count wins
-add the ability to save and reload the game
The point is to make the tutorial better on your own. This will further develop your creativity, problem solving, and Googling skills.
4. Build on your own
The real learning takes place in building applications on your own. This could be building apps from scratch or adding new features to the tutorials you already completed. Both present their own challenges but give you great experience.
Don’t worry if the project takes you longer than you expected (because it definitely will), just focus on getting it done. Ideas you thought were simple, may prove to be harder to implement but that’s part of the journey. You may feel stuck but you are progressing with each problem that you solve along the way.
5. Find a community
Learning is always more fun when you are doing it with others. You will quickly see that other people are having the same struggles as you and no, not everyone is an expert programmer who understands everything immediately. There’s plenty of Facebook,Discord, Slack groups to join for just about any tech. Pick a community and try to be active so you get the most out of it.
Having a community for motivation and answering questions is integral to your success, especially as a self-taught developer. Don’t be afraid to ask questions BUT make sure you do thorough research before asking a question
Twitter is full of great/encouraging people to follow.
Definitely use the hashtags #100DaysOfCode #CodeNewbie and you will be able to interact with people in all stages in their code journey.
My favorite tech people on Twitter to follow are:
And there a bunch more.
Good luck on your coding journey!