August 17, 2017

Are You Looking Into Becoming a Programmer?

Occasionally I’m asked about becoming a programmer. A while ago a friend asked me what it would take to become a PHP Programmer. I asked why, and he said because he was thinking of becoming a programmer. I asked why PHP and he said he knew I was a successful PHP programmer so he though of me and PHP.

Here is my advice to him or anyone else that is thinking of becoming a programmer.

1. Discover what you are deeply passionate about.
2. Determine what you were genetically encoded to do.
3. Evaluate if this will drive your economic engine.

I became aware of this evaluation process while reading the book “Good to Great” by Jim Collins.

He has been kind enough to put some of his work online. He calls it the Hedgehog Concept As a first step I would recommend you become familiar with the Hedgehog Concept. Then answer the above questions. If at that point you are convinced you should became a programmer, read on.

The next step is to discover what kind of programming you want to do. Believe it or not, not all programming languages and programming environments are created equal. And just because you have programming skills does not mean you will find a career path. Let me say that in another way. You may develop a decent resume and still not be able to find the door into corporate programming. It’s a dog-eat-dog world out there. Another thing to keep in mind is the older you get the harder it will be to gain access to those tech jobs you so want.

If you are still with me, lets talks about two different programming approaches. I’ll share with you want it takes to be a PHP programmer, and we will talk about programming on smart devices running the Android operating system.

I am a PHP consultant. A one man band. I’ll be sharing my experience as a PHP programmer. Since I am self-employed, my position as a PHP programmer requires other skills, such as Search Engine Optimization, basic book keeping, negotiating skills, contract writing, customer service skills, and the ability to sell. In my experience to be a decent PHP programmer, one must have working familiarity with JavaScript, Cascading Style Sheets (CSS), HTML, the Document Object Model (DOM), the Apache web server, some basic Linux skills such as how to configure a Crontab, MySql, and finally PHP.

There is a lot to know to be a PHP programmer. Each of these skills do not live in a vacuum.

The nice thing about PHP is it is widely used. It is so popular that web applications like WordPress, Joomla, and Drupal were created using PHP.

Lots of browser based applications are being created daily using PHP. Given this there is tremendous demand for skilled PHP programmers. This also means that there is and will be a need to maintain these applications. It is hard to speculate, however the demand will persist for years. I estimate that PHP will be widely used until the large cellular companies start selling unlimited data plans at a reasonable rate. That might be 10 years out. Until then I predict PHP will be a dominate player in the browser based application world.

That brings us up to the next topic. Smart device programming. I would choose Android development. mostly because it is Open Source Linux. It is free, which I really like, and I think peer support is widely available.

There is a software development kit (sdk) for Andriod devices. It also is free as well.

The primary language used to build applications for smart devices running the Andriod operating system using the Andriod SDK is Java. Java has a large learning curve. Java is not intuitive in my opinion. It does have it’s strong side though. There is a huge demand for Java programmers. And Java programmers get paid very well. Keep in mind there is a lot to know to be employable as a Java programmer. It is not for the faint of heart. At first glance it appears the Andriod SDK is a slimmed down version of Java and might not have as challenging of a learning curve.

Another thing I like about Java is your software is compiled. You do not deliver your source code as is the case with PHP. Delivering a compiled version of your application will aid in keeping your intellectual property yours. I say aid because there are ways to reverse engineer your application. It is a lot of work and is not as easy as opening a text file, which is the case with PHP.

Smart devices are the future. We do not know how this will play out. There are several factors that come into play. The main factor is marketing. Whichever is the best solution for developing applications for mobile devices, might not end up the dominate player. At this point it appears the cellular phone providers will play a big part in determining which way the market will go.

One thing I do know for sure is smart mobile device programming is the future. By no means is this the only avenue available for a budding programmer though.

If you are toying with the idea of becoming a programmer, I would recommend you do some reflection to determine if this is a viable path for you. If you find being a programmer is for you, your work has just begun. At this point you will need to do further discovery. What path do you want to take? We explored two paths. PHP programming, and Android programming. These are just examples. Neither might be for you or one or both might be for you. The bottom line is this is your life and you must make these decisions. By doing some research and applying the Hedgehog concept you will have the greatest chance at making the right career decision.