Programmers: When you can do anything and you have to choose

About how to choose something to do when you are a programmer and can do literally anything.

Being a programmer makes your life easier sometimes.

In terms of finding a job, at least in my case, I see a lot of oportunities. You can learn what you need to be another type of programmer and if you need a job, with a little willpower you can easily change to a new area that is more requested in job offers. I changed my career path several times moving with the "flow" and it has worked for me.

The time when you are a freelancer creating your own stuff and selling it... well, that's yet another step further.

But I just found myself (once again) in this situation in which I finished a big project and I want to do something... but what among the thousand of things I can do?. I can litteraly choose whatever I want to do, learn whatever I need to learn, and do it.

All the ideas you have, which one will be the good one? You can do anything, but what to choose?

This list of priorities is what I use when I work on something new:

  • First, do something that makes money if you need it, something that people say they need. To do it fast, you should not choose something you haven't done before to reduce the risk.
  • After you are sufficiently stable, choose whatever makes you learn something new to make it, favouring whatever leads you to the desired path or whatever you want to learn. Luckily, it will give you some money,  but that's not for sure...
  • Third, if you cannot find anything good to do or you have no "path" or "goal", and you feel lost, do whatever teaches you a new thing to put on your resume, specially something you lack or job offers ask for and you have no idea about.

As an example, what did I do in my career? A rollercoaster !

More than ten years ago I started as an app software programmer with zero experience. After learning how to do what I studied to do, I became a pretty experienced UI/UX developer.

But I decided I didn't like what I was doing and moved to animation creating tools for artists as a Tool Developer. Then I found about about being a Technical Director and creating tools for VFX, so I learned Python, created a couple of tools for VFX and found a job fast.

After that, I decided to move to videogames, even though I always said I didn't like it, and started creating stuff for Unreal. But I found it was not enough "low level" so I left my job, created several projects with Unity and found a job, becoming somewhat of a R&D person, and improved my knowledge on mathematics and physics while learning Unity the hard way.

Finally, I realized I had to become extremely proficent in difficult stuff that I never had to do in any of the places I worked on,  so I ended up being a freelance developer on Unity and worked on WaveMaker to learn everything that nobody puts time on learning.

After a while, I'm still trying to work more on graphics again, and trying to see if being a Technical Artist is a good idea. So many things to learn yet...

It's crazy, but that's how I managed to learn so many things in so little time : Changing jobs when I found I reached the peak of my interest, asking always for the most difficult jobs and doing whatever I had no idea about.

Right now I'm back again at my first priority step, but now I have a lot more experience and knowledge, and the amount of stuff that I can create is so immense that It's hard to decide what!.  Let's find something that people need or would need if they saw it. :-)