Learning to code is hard. It’s so common to have doubts about yourself or your skill level. Maybe you feel like you’re simply going through the motions because you can’t reproduce everything yourself without a certain amount of guidance.
Referring back to previous code, notes, or documentation is normal and something that even senior developers often need to do.
Take a step back. Take inventory of how many times you’ve actually done a particular task or action related to programming or development.
For example, if you’ve built 5 full projects, that means you’ve only run the specific commands to create a new project 5 times. Don’t be discouraged if you don’t have the exact steps committed to memory– you’ve only done it a few times!
It takes a lot of time to commit things to memory, especially when you’re learning something completely new. And at the end of the day, your memory is not a measure of your skill or ability as a developer. Even if you don’t remember something, you’re not a bad developer.
Look at this tweet from DHH, the creator of Rails:
Hello, my name is David. I would fail to write bubble sort on a whiteboard. I look code up on the internet all the time. I don’t do riddles.
— DHH (@dhh) February 21, 2017
Even the creator of Rails needs to look stuff up. Try not to be so hard on yourself!
Here are five things you need to know and do:
1. There is always more to learn: Take a big breath! You started programming how long ago? DHH has been programming for years and years. When you get upset or frustrated that you do not understand something or know something off the top of your head, just look at that tweet from DHH and remind yourself that it’s normal and there is always more to learn.
2. Build a foundation: Set your focus on building a solid foundation. Don’t worry about the specific language or tools, and work on the process. Learn how different data structures work, their nature and properties, and how to manipulate them. When you have a solid foundation, you can rise above the tools and better excel in all tasks.
3. Be self-sufficient: One of the most important things you can do as a developer is strive to be self-sufficient. That means being able to problem solve, debug, and teach yourself new skills in an efficient manner.
4. Immerse yourself: Learning to code is like learning a new language. The best way to really absorb and learn is to immerse yourself in the language everyday. The more practice and exposure to different problems, aspects, and nuances of programming and development you have, the more things will click and make sense.
5. Learn your weaknesses: I went through several technical interviews and bombed a few of them. Treat each interview as a learning experience. In first interview as a new developer, I realized I didn’t really know enough about HTTP requests, so I went home and did research on HTTP requests. I recognized a weakness and set out to make it a strength.
Most of all, remember you’re not alone. Don’t let your doubt stop you. With enough determination and hard work, you can succeed!