How to Become Good Programmer.

Kalka prasad
6 min readJan 21, 2021

Photo by Christina Morillo from Pexels

“ YOU DON’T HAVE TO BE A ROCKET SCIENTIST TO BE A DECENT PROGRAMMER.”

It might seem hard but the truth is… It can be easier than you think. you just have to read, practice, and put some effort. But… Isn’t this what you do on a daily basis?

The Basics

First thing’s first. Before you even start troubling your mind for a semicolon (Maybe you won’t get this now, but believe me. You’ll get it later on 😂 ) you’ll need a good computer science basics resource and a good text editor. Even tho there’s quite a lot of them out there, I’ll give you the most trendy ones.

Basic resources:

Teach Yourself Computer Science

This website gives you a pretty good starting point to learn about Computer Science and programming. It covers a lot of Important basic topics and it helps you to get a good background on CS.

Git

Git is a version control system to…Well, maintain versions of your code. It allows you to go back to another version if you ever change something and anything goes wrong on the new one. This website is a good place to start learning git.

Github

This is a very important resource. Almost every programming company asks you to have experience with some sort of version control system. GitHub is a web-based hosting service for version control using git. It is mostly used for computer code. It offers all of the distributed version control and source code management functionality of Git as well as adding its own features. It also allows you to collaborate with other programmers. You could also use it as a static HTML hosting to store your personal project’s files. You can actually serve a website from within Github.

Bitbucket

Bitbucket is the same as Github, minus the social platform. Also another big difference between these two is that Bitbucket allows you to create private repositories and in Github you have to pay for this feature. You could also use it as a static HTML hosting to store personal project’s files. You can actually serve a website from within Bitbucket.

Learn the command

The command line is where most of the magic happens. So it’s really important to get some command line skills.

The text editors:

Sublime

Sweet old Sublime. In my opinion, this editor is one of the best out there. It has a lot of plugins and code snippets. It’s also really reliable in terms of performance and productivity. I still use it, but I love to try new things so I recently switched to Visual Studio Code. Supported on: Windows, Mac OS and Linux

Visual Studio Code

Visual Studio Code was developed by Microsoft, even though is quite new, it has made its way to the tops text editors of 2017. So good that I ended up switching from Sublime text and I gotta say it’s a pretty amazing text editor. So far I’ve had no regrets. Supported on: Windows, Mac OS and Linux

Atom

This text editor by Github was my preferred choice. It’s really gorgeous and it’s very easy to set up. The only thing that made me switch back to Sublime is the fact that it can get pretty slow sometimes and it used to crash on me whenever I opened a minified file. But overall it’s a decent text editor. Supported on: Windows, Mac OS and Linux

Notepad++

Notepad++ is a basic text editor with the features needed to write a decent program. Some people prefer this one because of it’s simplicity. Personally, I find myself to be more productive on bolder text editors like VS code or Sublime. Supported on: Windows

VIM

Hacker, this one’s for you. This text editor is more technical and requires more configuration. It comes by default on Mac OS and most UNIX based systems. Supported on: Mac OS, Linux and recently on Windows

Remember: You could always use the text editor of your choice. These are just the best ones based on trends and my experience.

With this being said, here are a few learning resources that will help you develop your programming skills:

Free Code Camp

Free Code Camp is a free programming learning path for web developers and full stack developers. This is one of the first resources I used to start my web development career. And I really liked it. They even provide you with real life non-profit projects to polish your skills.

Code Academy

Code academy is actually one of the best resources to start. It offers an overall basic programming experience. It also has a live text editor right on the lesson page so you can practice while learning.

Ruby Monk

Ruby Monk is a very good starter tutorial to learn Ruby. It offers a simple, straight forward course for beginners and is really easy to follow.

CodeWars

Code Wars is a really cool way to learn coding. It offers you the opportunity to sharpen your skills by interacting with other people on real code challenges.

Railsforzombies.org

This is another cool way to learn programming, although I recommend having some basic knowledge on Ruby before trying this site. This website allows you to learn Ruby with an interactive game.

CodeSchool

CodeSchool offers a rich variety of courses with a learning path that allows you to determine which programming track to follow based on your interests.

Egghead.io

This resource is one of my favorites. It focus more on web development technologies. It offers really high quality coding tutorials and courses to better develop those Javascript skills.

Udacity

I’ve only used Udacity a few times, but I’ve read a lot about it and it’s pretty awesome. They offer free courses for beginners and What they call “Nanodegrees”. Nanodegrees look pretty promising, they are basically curated list of beginner to advanced courses for a specific topic. For example, the Full Stack Web Developer Nanodegree covers everything from, front-end web development to back-end web development. I have to point out that these Nanodegrees are created in collaboration with big companies like Google, Amazon, IBM and more. Now, I don’t know if this courses are actually worth the money (because they are expensive) but I’m planning to take one so when I get to it, I’ll make sure to write an article about it.

Udemy

Almost forgot about this one. Udemy is perhaps one of the most popular learning platforms. They have over 15,000 courses and they are usually pretty cheap. This resource is pretty good for when you are on a rush and need to learn a certain skill fast. I used this resource a lot when I was in college (Currently have over 80 courses). Even though I have to admit, I’ve not finished each and every one of them 😂.

Devslopes

Devslopes started as a Kickstarter campaign and I immediately fell in love with it. It offers a variety of high quality programming courses with projects to use on your portfolio. As an early backer I got the chance to contribute to their project and in exchange I have lifetime access to all courses and versions they release, for free. Now, if you want to have this perk you might be able to have it because they’re about to launch Devslopes 2.0 and they had a promo on it. Not sure if it still available though. But it’s one of the best deals I’ve got. After all Knowledge is priceless.

Treehouse

Frankly, I never considered this one before, but after being suggested by Tomáš Vorel and weeks of showing up on Facebook & Youtube ads, I decided to give it a try. I gotta say, this learning resource is very well organized and I absolutely love the teaching methods. They always have some visual representation for the topics and I really love visual content.

BrainFood

Yes, you still have to read if you want to get really good at this. This is the most traditional and sometimes the most effective way to learn new skills.

This is a list of books I’ve found useful:

Computer Science Distilled

This book might be a little bit “Boring” but it covers the basics of computer science and algorithms. This book is a must if you really want to understand how code and algorithms work.

Cracking the Coding Interview

This book covers a general overview of programming questions you might be asked on a job interview. And how to approach them.

The Innovators: How a group of Hackers, Geniuses, and Geeks Created the Digital Revolution

This book is more about the history of innovation and technology. It basically covers all the people who contributed in some way or another to the technology that made today’s innovation a reality.

Learn Python the Hard Way

This book is basically a workbook. You learn while practicing. It gives you challenges for you to practice on a daily basis. It covers the very basic topics on python.

By kalka prasad

--

--

Kalka prasad

SDE @SongDew, Competitive Programmer, Problem Solver, Quick learner. Freelancer, Programmer by passion, Content Writer.