Where to Start #1

The title is where to start because I don’t know where to start but I will do it anyway.

I am a programmer. I am fascinated by the results of little programs I wrote. I know that nobody uses the programs I write. That’s fine for me because I want to learn how to make programs and more importantly, I want to use it.

I see some people, especially students, have problems with the place to start when they dive into this field.

First of all, you need to learn a tool and become comfortable using it. These tools can be a text editor or IDE or a programming language. It doesn’t matter what you choose but you gotta choose one. Use it everyday and make yourself comfortable with it. I need to tell you that it takes time. Some may need a week or some may need 6 months or so.

You should be language/tool agnostic which means you should not worship a single programming. Because All the programming languages suck. There is no such thing as a best language but there’s a right tool for the right problem.

Don’t get involved in attacking or defending about the tool/language you use. It’s fun but it’s a waste of time. Be reasonable and open minded.

From time to time, you will learn some new skills. You probably wouldn’t want to do the same thing for 10 years.

This is from my favorite talk : Endurance by Yehuda Katz.

To improve yourself, it needs to be a priority.
This may sound passé, but you may honestly not have time for it. If your 9–5 job doesn’t offer you opportunities for improvement, you will need to find time.
You need to honestly self-assess whether this is possible. You may need to find a job that prioritizes self-improvement.

This point, you know how to write hello world and basic syntax of a language. You need some ideas/projects to work on, right. There are several problems or [projects](github.com/karan/Projects) (in random order) to work on. But you’re scared of doing difficult things. My suggestion is to step out of your comfort zone and learn new skills. This is not to say you have to become a Linux Kernel Hacker in a day or two. You just need to work on things that are harder than what you usually do.

Now is the most difficult part. It’s very easy to get started. You are motivated. Your friends are also motivated. You thought you’re going to finish all the projects with your friends. But after a while, after doing two or three projects, you hit the wall. You get busy. You have to study for your exams. Distractions. You become a little bit depressed. Eventually, you fall into the valley of depression. Take a step back, reflect on yourself and think about what you’re doing wrong. You can even talk to your friends about it. Then you have to continue. You need dedication and perseverance. Primarily, this is the difference between an average and an above-average person.

To be continued …

Update : I’ve written Where to Start #2


Now read this

Hackathon (again)

Disclaimer : All I am about to say don’t represent the whole team that participated in Hackathon or the employee I am working for or the organization I am working with. Thanks to Arkar for proofreading and corrections! I participated in... Continue →