linkedin
Things I Wish Someone Told Me When I Was Learning to Code

Hindsight, they say, is the best teacher. Maybe not so much for your present self, but your future self. When you start learning to be a computer programmer, there are plenty of tutorials and courses designed to help you master the skill. But very few, if any, teach you the abstractions that surround the learning journey and life as a coder.

 

It has taken me years to learn and understand the nuances of this profession. In keeping with the spirit of hindsight, here are the top seven things I wish someone told me when I was learning to code.

1. Know what you want to create.

With software developers being one of few high-paying jobs with plenty of global demand, there is a lot of financial incentive to pursue it as a career. But as a lot of programmers quickly find out, money is not a sufficiently lasting motivator. Eventually, your true feelings about coding will bubble to the surface. If you don’t enjoy it, you might soon find yourself disillusioned.

 

You will be surprised by the number of programmers who spend years hunched behind their computers, writing some of the most valuable codes in the world, only to wake up one day and quit.

 

That is precisely why you should know what you want to create with the skill before paying for your first programming course. Do you want to design a video game? A website? Or phone apps? If you simply want to work in an industry with high pay and lasting relevance, that is okay too.

 

I would recommend finding a way to connect programming to something you love. Whether that is music, literature, or sports, you are more likely to find lasting motivation to keep learning if you find personal joy in what you want to create.

 

The most important thing is to know the problem you want to solve with coding. It will make the learning journey easier and give your programming roadmap much-needed clarity.

 

When you know what you wish to do with the skill, you will be able to identify the right programming language to learn and develop the lesson plan that works for you.

2. It is not as hard as it looks.

It might sound like some hippy nonsense, but how easily we learn a skill comes down to the mindset with which we approach it. If you convince yourself something is hard to learn, it will be. And a big learning myth most people believe about programming is that it isn’t easy to master.

 

The truth is, coding is no different from any other specialized skill. Even children are learning it. It is basically learning how to speak to a computer. It is no different from a human language. All you have to do is study the vocabulary and grammar.

 

None of that requires being extraordinarily smart. All it needs is time and consistent practice over time, and you will be good enough to perform the majority of your daily task.

 

What’s more, you don’t have to learn everything. At least not in one go. Yes, there are so many tutorials and How-To articles on the internet that it is hard not to get overwhelmed by the sheer amount of knowledge out there. I know I did.

 

However, the truth is you only really need to master the basics. Those articles and blog posts are techniques and best practices from people who have mastered the basics, manipulating them to achieve efficiency. Depending on how relevant they are to what you want to achieve, you are free to apply or discard them as you wish.

 

But you cannot make that decision until you 1) know the basics 2) need to solve a problem. The truth is, you may never use them, and it doesn’t stop you from creating fascinating and rewarding solutions.

3. Your code will rarely work the first time.

The hand-holding in code academies and other resources for beginners often involves writing simple lines of code that work the first time. But once you start writing code on your own, you learn one thing every programmer has come to understand - your code will rarely work the first time.

 

You may believe you have done everything you are supposed to do, double-checked against tutorials and everything you have learned. Still, your code doesn’t work. Even more frustrating, you are not sure what the problem is, and if you happen to get an error message, it offers zero or little explanation.

 

When I started coding, this happened repeatedly, and I assumed it reflected my intelligence and a lack of innate ability to code. After happening enough times, I considered quitting until I stumbled on a funny tweet about codes that work the first time.

 

While reading the replies, I discovered that errors had nothing to do with my ability or intelligence. It was something that happened to every programmer, regardless of their skill level, beginners and professionals. The only difference between them and me was how they reacted to it.

 

While I got frustrated and considered quitting, they saw it as an opportunity to learn and figure out what was wrong. Most importantly, they had faith and enough patience in themselves to get to the root of the problem. And the truth is, they always do because coding errors are solvable logical and discoverable issues, as long as you are patient.

4. Consistency is more important than methodology.

A quick Google search of the keyword “how to learn to code” reveals different ways a person can get started with programming languages. You have your coding academies that offer simple, easy-to-grasp interactive exercises. Others point you to a book to study. The point is, there are different ways to learn how to code.

 

Whatever method you choose, there is bound to be a point where you feel stuck, where explanations in tutorial videos or textbooks are not helping you create a practical project. Additionally, when you turn to online resources for help, most can’t solve your particular problem, primarily because the authors wrote them for experienced users.

 

At this juncture, it is easy to think your method of learning is the issue, or maybe you are just not built for the programming language.

 

The truth is there is no standard methodology for learning how to code or the correct programming language. You can create anything with any programming language, so the language is rarely ever the problem. 

 

When you get here, and I promise you will, what you need to do is stick with it. Keep learning, keep taking in more information, and trying new things. With each new insight, you gain a better understanding of programming and are more likely to crack any obstacle.

 

Understanding the mental strength this level of consistency requires is part of why it is advisable to know what you want to create and have enough patience and faith in your ability to figure things out. If you have all three, you will master coding eventually. 

5. Your code or style will never be universally perfect

Say you want to create websites and have developed a web developer roadmap. You want to learn HTML on the client-side and Python for server-side development. One thing you will quickly realize when you start coding is some web developers believe neither are appropriate tools to build a website.

 

Gatekeeping is present in every sphere of life. It is especially high in the programming community, with coders who believe the only right way to code is in their preferred language or style. Some believe those who use frameworks and tools like Page Builder that make it easier and faster for beginners and professional developers to build things are not ‘real’ coders.

 

However, regardless of what tool, programming language, or style you use, it doesn’t matter as long as you are building solutions that are applicable in the real world. If you spend your time trying to adjust to everyone’s preference, you won’t have time to master anything and, ultimately, build something valuable.

 

Instead, focus on working with the tools you are comfortable with. Whether it is using Python instead of Ruby to build a website or using GameMaker rather than Stencyl to create a video game, it doesn’t matter. If you master a tool and find it is not efficient enough, you can then move to something that fits your needs, not someone’s arbitrary choice.

 

Overall, all that matters is creating something. When you do, not many people will concern themselves with the tools you used. Most will focus on admiring your creation.

6. Repetition is the shortest and longest way to expertise.

Of all the things I wish someone had told me when I was learning to code, this is something I wish I knew. It is such a simple and effective way to master coding within a short time. It is handy if you are wondering how to learn programming while working full time.

 

When I started learning how to code, I would study and write code that solved one problem and moved on to the next problem once I solved it. However, it did not take long for me to forget how I solved it. Anytime I needed to solve that problem again, I had to start the learning process all over again. That is until I learned the power of repetition.

 

By obsessively repeating everything you learn, you can quickly master how to write code. Did you just write a piece of code from a tutorial? Delete it and rewrite it. Repeat the same thing, this time, without the tutorial. Then do the same the following day, a week after, until you know it enough that it becomes part of you.

 

Not only does this guarantee a complete understanding of what you are learning, but it also helps you break the learning process into small chunks, absorbable over time. A helpful trick for anyone who cannot commit to full-time studying.

 

By going through the Learn > Do > Remember > Know process repeatedly, you shorten your path to expertise. Yes, it will take time, and you might have to do it for codes you won’t use a lot. But if you stick with it, you will have a considerable advantage over those who didn’t put in the work when you do need it.

7. You need to keep learning.

According to the US Bureau of Labor Statistics, the software developer market will grow by 22% between 2019 and 2029. That means an increased number of people to compete with in the job market. When combined with the rapid advancement in software engineering, you don’t get a lot of time to rest on your laurels.

 

This is a crucial part of coding that most people don’t learn about until it is too late. Learning a language or two may not be enough. You may also have to learn other aspects of the product pipeline like user testing, data modeling, and architecture.

 

Asides from those, you may have to learn a new programming language, even if you love your current tool. Your business may have reason to switch from one language to another. For instance, Twitter, initially built in Ruby, later changed to Java, and engineers working at Facebook had to learn HipHop when the company wrote its own engine to speed up PHP.

 

The good news is these languages work on the same principles and concepts, with mostly stylistic differences between them. Still, switching requires some ample learning time.

 

That is why your motivation to be a coder should come from the inside, not from an external source. If you expect to master a few coding skills and coast for life, only to discover you are in an endless learning loop, you might find yourself frustrated and disillusioned.

 

However, if you are prepared to keep learning, you can easily stay up to date and acquire more skills by setting aside an hour or two to learn new things daily.

Conclusion

Programming isn’t easy, but it is nothing you can’t master with enough time and consistent effort. During your journey, you will make plenty of mistakes, some your fault, some out of your hands. There will be days you feel like a genius and days you feel dumb. They are all part of the process. But if you can find an internal purpose from coding, you will ultimately be okay.


 

We hope you found this article useful. Here at Cloud Employee, we assist both developers looking for work and companies looking to hire dedicated offshore developers across many technologies. Talk to us, learn more how Cloud Employee works, or see our Developer Pricing Guide.

 

Work with world leading tech businesses

We connect high-performing software engineer talent in the Philippines with some of the world’s leading and most innovative Tech companies.

Submit CV
career3

Author

new-girl
Maica Padillo
Senior Technical Headhunter
Work with world leading tech companies from the Philippines

Be up to date!

Sign up for our newsletters and get our latest outsourcing and tech news, and exclusive promotions.

Cloud-employeeCover

If you’re interested to know more about our employee benefits and perks, you can download the booklet.

Download Now

Submit your CV today

One of our recruitment officers will get in touch with you!

    Our live jobs

    • Senior Front - End Developer - ANGULAR 6+

      Work with a leading UK company that works across multiple verticals within professional services globally, and has a skilled development team of 70 working remotely, operating across multiple continents. This is an outstanding opportunity for interested candidates to join a diverse team of experts, utilising some of the newest leading practises within frontend development.

    • Senior Full-Stack Ruby on Rails Developer

      A UK based award-winning Edutech platform business, working with Health & Social care organisations to ensure front line teams are fully trained and ready to help those in need. The company has seen an explosion of traction since Covid and their vision is to help save people’s lives.

    • Ruby on Rails Developer

      As the sole developer in the team, you'll lead on all aspects and have a leading hand in shaping the future of the platform, working from back to front and playing a crucial part in the design, development and production of quality code. We're a close knit, remote working team and as such, you'll need to be self motivated and goal driven to keep everything moving at pace.

    • Senior PHP / Laravel Developer

      A leading UK company and is rapidly growing and recognised for their innovative service capabilities. With a legacy of many years at the forefront of the technology industry, they operate both nationally and internationally and place a premium on honesty, commitment and teamwork. With a solution strategically designed to support the ever-changing needs of service providers.

    • Senior Fullstack.Net Developer

      The company offers product and service stack presents end-to-end solutions for travel agents, tour operators, loyalty brands, hotels, conference destinations, OTAs and tourism organisations.

    • React JS Developer

      UK Company specialises in CRM memberships and subscription end clients.

    • Senior C++ Developer 14/17

      A UK leading institutional-grade exchange for trading asset-backed tokens (digital securities, security tokens, etc.).

    • React JS Developer

      A leading UK company well established in creating content apps and websites for their clients.

    • Dynamics 365 Expert

      IT and Microsoft Gold Partner specialising in Azure, Microsoft 365 and Dynamics 365.

    • Full Stack Developer - React & .Net

      IT and Microsoft Gold Partner specialising in Azure, Microsoft 365 and Dynamics 365.

    How many hours do you want the developer to dedicate to working with you?

    What skillsets are you looking to hire?

    When do you need your developer to start ?