Monthly Archives: February 2016

Things to do in software

Many a times I am overwhelmed by the infinite number of things I could be making in the realm of software and end up making nothing at all. This post majorly focuses on what I think is the best way to be good at software without wasting time going in the wrong direction.

Well first of all I will type down four broad and popular things you could be:

1 – Mobile App Developer
2 – Web Developer
3 – Game Developer
4 – Software Developer

Now, most people will be able to tell what they want to do out of these 4 within a minute. So go ahead and choose one thing that you ultimately want to be. You can like two things but it is best for you to focus.

Anyways. Now that you have chosen the field that you excites you the most, I suggest that you should get a lot of current knowledge about that field. Sometimes we jump right into something out of excitement without realizing the amount of time and energy we are wasting. For example, sometimes we start learning a language or a framework which is no longer popular. So do remember to do a thorough background check of whatever field you are going to jump into, otherwise you will use up all of the energy from your excitement into something that is no longer needed in the world.

So after you get a good sense of where to head, you start off by making the most practical thing, which can be made through least amount of skill. And since you have Google at your hands, such projects won’t be hard to find. Make something that you are going to use everyday and make it even if it has already been made. The reason you should do this is because it is very very difficult to be consistent in coding. If you have a constant reminder to tell you that coding is useful, you won’t give up easily.

But don’t get stuck at something, especially in the beginning. Do not think that if you ask stuff from others, you will get weaker. Just don’t ask consistently but when you ask do make sure you understand it well.

Formal education is also beneficial and if you aren’t in it for the grades, there is nothing like it. The best thing about formal education is that you are given direction without putting in much effort.

The four things that I stated in the beginning require roughly the same amount of raw material. That is a computer and an internet connection. Otherwise they differ only in the languages. For mobile app development you need Java for Android and Swift or Objective-C for iOS. For Web Development HTML, CSS, Javascript, some server side languages, and some frameworks. Do remember that for web development, a lot of new tools are coming up, so don’t get distracted by them, but do keep an eye open. For game development, you need to learn about game engines and a language like C. For software development you need languages like C++, Python, etc.

Even one language takes a lifetime to master, so you need to set your goals before you get started, whether you want to be a generalist or a specialist. You can also be a generalist in a specific field or a specialist in a generic field, so that’s up to you.

In the end it is all about what really interests you because then only will you be able to make wonderful things.