Is it really possible to go from considering coding to be an interest of yours to being employed as a software developer, having completely self-learnt programming? Or, maybe you have been tickling the idea of becoming a software developer while already employed full-time but are not in a position to afford the time and the money to invest in a formal education. In this article, we will discuss how you can make this a reality
First and foremost, understand that this process will take some time. In our discussion here, we will be focusing on a sustainable long-term approach to reaching your goal.
We are looking to make this a realistically achievable target, that does not cost you your peace of mind and health. While there has been an influx of courses and workshops promising to make you a capable programmer within a few months, it must be noted that programming is a skill that demands a slow and steady kind of approach to be learned, not unlike most other technical skills.
There is only so much programming you can do and learn each day, without being completely burnt out.
Make Coding Your Hobby
When you are looking to be job-ready as a programmer as soon as possible through self-learning, it is imperative that you handle your time wisely. Since you may not be able to keep doing everything that you are now, you have to prioritise your tasks and be able to compromise some things in your schedule. It may be worth questioning the things you tend to do on a normal workday and whether they are really worth your time. See how you can set aside a considerable amount of room for coding each day. This may mean cutting back on (or even completely eliminating) television, gaming, social media browsing and the like.
It may also be a good idea to be a part of online communities of programmers, especially to make the most use of times when you are urged to scroll through social media, you could instead spend time checking out discussions related to coding. For instance, Reddit has a subreddit called r/learnprogramming, where thousands of programmers – novices to experts, help each other out with their questions related to coding.
Discussions range from topics such as learning tips to career advice and time and again you will see testimonials of people successfully securing employment and crediting the subreddit for much of their success.
Maintain a Log
Keeping track of your growth as a self-learning programmer could make a huge difference in your pursuit. Maintaining a log so you can record how much coding you do for how long each day, will help you get a good view of your progress. The mild pressure of having to have something to record about on your log could be a great motivator too. Having a detailed overview of your progress can be helpful for you to decide which time of the day you are most productive and really be mindful of the time you have available in your day, to which you can squeeze some coding into.
Since you could consider this quest to be a long-term goal of yours, it is generally useful to be able to track the topics you have learnt throughout the months. Also not to forget, briefly reviewing what you had learned for the day can help you better retain the lessons.
Make Friends In The Field
Having friends or a social network around you, from whom you can get help from can be massively helpful when you are just starting out. While online forums such as Stack Overflow and such can undoubtedly be useful, nothing beats being able to get help in real-time.
Often when you have met a dead end with your code, it is not always the case that you can find help online.
At times like these, it is super beneficial to be able to reach out to a friend with experience and let them have a quick look at your work and give you feedback.
People with experience in the field and the role of a programmer can provide you with a valuable insight into the industry. They will be able to give you useful tips on learning to code and also be great gateways for networking and possible even securing employment in the future.
Listen To Podcasts and Attend Webinars
While it may seem that most of the work involved with becoming a programmer is confined to knowledge and education, most professionals in the industry are tech-savvy and are up-to-date with any trends emerging in the IT world. The tech industry is known to be highly dynamic, where new ideas, technologies and methods are constantly emerging.
An easy way to keep yourself in the loop is by listening to podcasts. If you take public transport to work every day, you might want to consider tuning into some of these every now and then (better yet, on a regular basis) to really get a glimpse into the tech world. There are also webinars held by IT associations, some even regulated by the government depending on where you are from, in which you can participate. The topics talked about are very insightful and has the potential to teach you much about the profession.
Do Personal Projects
Participating in your own personal projects is a great way to build a portfolio while also learning how to code. To prepare for your role as a software developer, you must have a portfolio in hand that demonstrates your abilities to prospective employers. Completing a small project all by yourself from start to end means that you will get exposure to all stages of a program’s development. There are a number of personal projects you can do by yourself, some even within a shorter period of time. A classic example would be to create a blog, where you will be able to refine your database, HTTP server and HTML skills. Having a designated section in your resume for your personal projects will not only help you showcase your experience but also will be a great indicator of your passion toward the subject, to your employers in the future.
Once you are somewhat of a capable programmer, you could consider going freelance for some time. Depending on the availability of time you have, you could take on smaller casual projects from your peers or consider joining an online freelance platform such as Fiverr, Upwork or Freelancer. Similar to personal projects, this will help you gather some valuable experience that is going to look promising on your resume. Moreover, the feedback that your clients will give, will help you gain perspective on your work from the viewpoint of the end-user.
Make Time In The Morning
Time and again, many successful people attest to how they are most productive during early mornings. When you are trying to squeeze in as much reactive as you can to your daily routine, waking up an hour or two before you normally do for work and using that time to code can be greatly helpful. Forming a habit such as this could be an easy way of making sure you get a good amount of practice into your schedule. While starting out, it may not be the easiest habit to form, if you do manage to power through the initial resistance, sooner or later you will have made an immense amount of progress with relatively less effort. Moreover, mornings are the quietest and you are likely to not be distracted by any social commitments or such. You may find that once you are done with work for the day, your attention span is already barred from working the entire day. More often than not, you may feel too exhausted and lacking the motivation to spend any more time sitting in front of a computer.
Consistency is everything
An athlete doesn’t become championship-ready in a day, it requires months of daily grind
I think this is the single biggest reason why where some people succeed in changing, most fail. For any new habit to develop to, you need to repeat whatever you’re doing daily – that’s why I ascribe to the code of everyday concept.
I would cram in learning to code anyway I could. Becoming a coder might seem like a long way, but your knowledge accumulates and that day comes, regardless of what you do.
Skipping a day here or there is fine, just continue back where you left off.
“Continuous improvement is better than delayed perfection.”- Mark Twain
As you may notice by now, it is far from impossible to learn how to code, to ultimately secure employment as a programmer. Sure, it may not be as easy as a walk in the park, however, with a decent amount of passion, perseverance and discipline, there is no reason as to why you cannot reach your goal.
Do not give up
It is normal to make mistakes in this process and there is no problem with that. Just incorperate some of the ideas discussed above and apply them to your life consistently. Trust your potential.
Try some of the tips mentioned here yourself and you will find them to be extremely useful in your journey to becoming a skilful programmer.
Check out my The mindset and habits that helped me learn to code and successfully change my career post for additional tips.