Learning to Code

Learning to Code

So you have decided to learn to program. What language are you learning?

Each language has its own unique features suited for specific applications or domains. You would also want to use multiple languages to build different parts of a system. Furthermore, you’ll need a whole suite of tools to build a system.

Frontend developers create the appearance of your website and the user experience navigating the webpage. You can start with learning HTML, CSS, and JavaScript to build a static webpage. But to build a dynamic webpage — one that changes its content as you interact with it — you’ll need a backend system as well. Backend developers build the logic and features that allow you to implement different functionality through your frontend. You can build a backend with many general programming languages such as Python, Java, Rust, Go, and so on.

Yet there’s a huge gap between learning to code and actually coding. When I first started learning, two decades back, there weren’t many coding academies online — books and documentation were our main resources. Even though we have many resources to learn coding now, there’s still a huge disconnect between learning to code on platforms and actually being able to create a software product. Once you step from learning to actually building tools, a deluge of unfamiliar terminology and technologies — protocols, requests, databases, cloud, distributed concepts — will hit you. Many times slowing your progress and intimidating you from diving any further.

But it’s an ongoing learning curve. Hence, it’s best to build something and keep moving forward. Don’t just blindly copy and paste code following a tutorial — dive into the unknown, build and break things, ask questions. No matter what you make, you can keep improving: adding new features, breaking things and making them work again. The entire process will be exhilarating and rewarding. Even though my job doesn’t require me to code, I code every now and then.