Write Small Code Everyday
As a student developer, I have an eager urge to start creating new projects all the time. In my field of study (Ruby on Rails), this means creating the project, setting up my database server, creating models, running migrations, and more. These things are time consuming. Whenever I take this approach to learning code, I end up spending more time running commands to generate files than actually writing the core of my project.
By all means create that project. Any large undertaking will give you important experience and teach you lessons along the way. There will also be disappointment along the way to. Disappointment will lead to burn out. I’m beginning to discover that enduring challenges is key to learning code. Getting burned out too soon because of frustration doesn’t help.
What does help is tackling the learning curve with a different approach, to write smaller projects. Just yesterday I spent a couple hours writing a Wikipedia clicker game. It was actually fun and was a way for me to work on my refactoring skills, while also playing with HTTP in the console, something I had not done before. Why does this help with learning? I am still facing challenges and some challenges take a while to overcome. While this is true, working on smaller projects usually means you can isolate problems faster. Gaining expertise on a large project takes experience. A large application has many complexities and you may easily, and inadvertently, cause a problem where you did not intend and where you might not expect.
My suggestion to my readers then, is if you want to play with code, don’t always do it on large application projects. Take some time to solve problems on a smaller level. You will gain problem solving skills and just as importantly, confidence. Confidence will in turn help you to solve that more complex problem later down the road.