Being a Successful Beginner
Tags: beginners
Published: 2019-09-30 15:57:29

It’s only been a month since I started learning how to code, but that month has felt like a year. Since then, my perspective on learning and curriculum has changed drastically. In college, I viewed classes and assignments as items on a checklist—meaning the importance was placed in the completion of a checklist rather than on the items themselves. Checking off boxes is always so satisfying and used to make me feel like I was being productive. This strategy worked well in terms of being able to get good grades on my transcript and a nice GPA for my resume. However, when it comes to actually applying that knowledge, pieces of paper have very little practical use.
	
When learning to code, I knew the emphasis was no longer placed on grades and pieces of paper. I had to be able to build tangible projects using my knowledge. So, I decided to stop viewing my work as a checklist and instead focus on retaining information. I decided to focus deeply on each lesson, put away distractions, and play around with the code until I felt I had a good conceptual understanding. In the beginning, this definitely slowed down my learning process, but I found it saved me time in the long run because I didn’t have to go back to previous lessons as often.

While I don’t claim to have the perfect, cookie-cutter understanding of how to be a beginner and learn to code effectively, I do want to share some of the tactics I’ve used to help me thus far in my journey. I’m sure my perspective on learning and being a beginner will continue to grow and change overtime. With that disclaimer, my current opinion on what makes a successful beginner.

<h2>Commit time and energy to learning</h2>
<p>Coding takes a lot of time to learn, just like learning a new language. There's no magic in the amount of time it will take either; you have to really give yourself time to absorb the concepts. Spend whatever time you have each day dedicated to learning to code and put away any distractions (social media, video games, online shopping, etc.) Thirty minutes of undistracted, deep, focused work is far better than 4 hours of half-coding and half-netflix.</p>

<h2>Don't take shortcuts</h2>
<p>When you don't understanding a concept, spend extra time playing around with the code and researching. Taking an extra moment on the difficult concepts you don't understand will save you tons of time in the long run when you begin building on those concepts. I've definitely been tempted to move on if the solution is correct but I don't understand why. But, whenever I gave into that, I ended up spending way more time later on and getting more overwhelmed than I would have had I taken the time to understand my code conceptually.</p>

<h2>Make imperfect plans and just build</h2>
<p>Planning can save a lot of time and save you from having to completely scrap hours of coding. However, too much planning can also get in the way. When I was beginning, I found <a href="https://medium.com/edge-coders/the-mistakes-i-made-as-a-beginner-programmer-ac8b3e54c312">this article</a> which I think really helped me frame my planning practices. It's definitely worth a read if you're starting out. Having a "good-enough" plan has saved me a lot of time when building my projects and also made the code so much cleaner off-the-bat.</p>

<h2>Enjoy the process</h2>
<p>Programming is not a skill you can ever be a complete expert in. Technology is always evolving. There's no book you can read in a major programming language that will tell you all you will ever need to know about that language. In choosing to pursue web development, this fact was actually one of the major pulls for me. I've always loved learning new things, and this career would actually force me to keep my knowledge sharp. Always learning, always a beginner. So I'm enjoying learning to code and being a beginner. I don't view code lessons and challenges as assignments or chores, but rather I view them like I view reading a good book, playing music, or a video game. It's all about enjoying the journey I'm on because, with any luck, I'll always be a beginner in some aspect of coding. There will always be room for growth.</p>

<p>These perspectives have really helped shaped my learning thus far. If I ever feel stuck or unmotivated, I take a break and turn back to these ideas. Learning any new skill is about figuring out what works best for you. What keeps you motivated?</p>