I was born with the gene. I’ve been a programmer in some form for as long as I can remember. In fact, I got my first programming book in the 4th grade. I was interested in making games but I new technology would change the way we live and programmers would be on the front lines of driving that innovation.
Spending all day trying to have a conversation with a computer may not strike people as a glorious job. You might be thinking its a bunch of algebraic equations and math and it’s not. Programming is mostly about teaching a computer or application how to do what you want it to do by stepping it through a series of decisions based on logic. If this then do that. If that then do this. If the user clicks this thing and this condition is met let’s do this. Of course we don’t write it in long pretty English. We parts of the sentence are replaced by code that both the programmer and the system can understand.
There are a lot of jobs that you really can’t do at home because you need special equipment or it requires multiple people to operate. Programming is something that depends on the project. You can work on the same project with other people or by yourself. I personally prefer working alone and prefer my own code as I can read it and know exactly what I was thinking at the time. Often; however, you’ll have to come in to a project that’s already started or finished and be able to read and understand someone else’s code. And then you’ll have to add to it or improve it.
Complex systems are like buildings with several floors. The logic may follow a maze and you can rearrange that maze to make it better without the whole building collapsing like Jenga. I have come to really enjoy what I do because of the logical problem solving. It even makes me smarter the more I do it. And it’s a great feeling to be able to tell the owner of a company when he asks if we can make the application do whatever back flips that are easier said than done, “yeah no problem.” It’s actually funny to me how often I say “no problem” because I’m half Jamaican.
This is a career that pays well. You may not make that much just coming in the door with little or no experience, but the more years you’re in it and the more languages you learn the more valuable you become. You could be making between 70-100K depending on where you live.
To really advance you have to be fluid. This is a job where you can learn as you go. The internet has tons of resources for every programming language. So you may not know how to do x,y,z but you can look it up. It’s not like back in the day when programmers had to have a library of books on their desk. But programming is like learning how to talk… to a computer. Once you know how to talk to a computer in general different languages aren’t that big a deal. Each language may have different semantics and syntax but the logic is essentially the same.
Because you can program at home you can either continue learning on your own time or you can work on your own projects. Because the assets and resources in an application are virtual not physical things, you don’t really need to buy much (depending on language) to get started and you could invent a new application and publish it yourself. You can start off working for someone else and end up developing your own app that could potentially make you rich.
It will be awhile before we let computers program themselves so this is a career that is relatively safe to get into without the threat of robots taking your job. And if you’re good you could be sought out by companies all around the world. Or you could post your services on sites like Black Wall Street 2.0, Fiverr, and others and take small jobs as they come to you. You can work at an office, from home, or even on a beach.