5 Tips for Learning a New Coding Language After Bootcamp
Earlier this month, I graduated from Flatiron’s Software Engineering program. For my final project (phase 5) I took three weeks to learn Unity and C#. As a result, I created a 2D Platform game called Scaredy Cat. Many people asked me how I was able to learn a new language and framework that fast, so I wanted to share some tips that helped me most.
1. Choose the Right Language
Let your passions and interests guide you towards the language you would like to learn. For me, I enjoy playing PC games, so I focused in on languages specifically for game development. Learning a new language is easier if you have passion and excitement driving you. Choosing a language that does not interest you makes it hard to stay motivated to self-learn.
If you still do not know exactly what you like, or if you like too many things, take some time to get a general idea of different languages. When one piques your interest, go with it! You can also choose a language based on the requirements of a job posting. You might find motivation to drive your self-learning from your determination to obtain that job. On the other hand, you might find out that coding in that language is not something you enjoy. This is helpful too because it can be a strategic way to determine if a specific job is the right fit for you.
2. Decide on a Specific Project Idea
Thanks to the supportive coding community, there are many free resources online for most, if not all coding languages. While you could start off by following a beginner’s guide for learning a new language, I recommended creating a specific project or setting out to solve a specific problem. This allows you to focus your research and practice coding in the language right away.
After choosing to learn Unity and C# to build a game, I then decided what kind of game I wanted to make. If you know you what you want your web application to accomplish (e.g. user stories) then you know what problems you need to solve to reach those goals. Without a plan in place, deciding how to approach learning a new language will be more of a challenge.
3. Code Along with Tutorials
You decided on a language, and you have a specific project that you would like to create — but what now? I recommend looking for a tutorial online that walks through how to do different tasks. Of course, you probably will not find a tutorial that goes over every step of creating your app idea, but you can parse your app down into different, smaller parts. For example, if you know you want an app that has a user login, you can look for a tutorial on how to create a user login. I wanted to build a 2D Platform game and I knew I wanted a main character to be able to move and jump so I started there.
Once you find a tutorial for a part of your web application, instead of trying to follow along and adjust the code for your application at the same time, just code along with the tutorial exactly. This allows you to practice writing the code and make sure you can get it to work first. Afterwards, reference that code as you write more specific code for your project.
4. Hold Yourself Accountable
Regardless of what anyone says, independent study is challenging. There are no grades or supervision from others. It falls on you to keep yourself on track. To face this challenge, you need to begin by understanding what works best for you. Think back to when you were in school — when were you most motivated to do well? Is it fear of failure or the dopamine release you receive after accomplishing something? Once you understand what motivates you in learning, you can set up your learning environment accordingly.
If you seek to avoid failure — set a timeline for your project and post your goal on social media. Tell all your friends and family what you are doing and you timeline. Now, you can be motivated to not fail in the eyes of these witnesses.
If you seek to achieve goals — set smaller goals for yourself and make checklists. Every day, have a checklist of small tasks. These tasks could be as small as: create local repository for new application, decide on site color scheme, create button for login, add input box for username, etc. Be sure to check off each task as you complete them. Small achievements go a long way when working towards a bigger goal.
5. Keep Moving Forward
While learning Unity and C#, there were days I felt as if I did not accomplish anything even though I checked off tasks on list. Spending hours trying to figure something out only to be unsuccessful in the end can be discouraging.
To overcome this, switch between tasks every so often to avoid burnout. If you have a challenging task to complete, try working on it for a few hours then switch to a task you know you can do just to recharge your motivation. Completing a straightforward or easy task keeps you moving towards your goal, but also allows you to take a break from bigger hurdles.
Throughout this process, it is extremely important to maintain a positive mindset and be kind to yourself. You will have good days and bad days, so make sure you stay organized and on track. These key tips were crucial for me as I tackled learning a new framework and language. I hope they help you as well! If you do end up learning a new language after reading this, I would love to hear about it! Leave a comment to share your journey, or if you have any more tips that might help others.
Feel free to contact me directly at firstname.lastname@example.org and see my GitHub repositories at https://github.com/madmizu