Training advice for developers

Over the years I have been constantly asked if I could give advice on what types of web programming languages should either a young developer or a seasoned developer who wants to redefine their selves study.

The first question I would always fire back to the person is what type problems do you enjoy solving?   Do you want instant gratification and seeing the fruits of your labour instantly, or do you enjoy taking on massive problems and spending half of your time just thinking and planning out how to solve the problem?

If the developer wants instant gratification, chances are they enjoy developing front-end user interfaces.  I would point them in the direction of HTML/CSS and Javascript.   If the developer prefers the large problems they would more likely be happier working in back-end, business logic and data modeling development.  If the developer prefers using Windows then I would point then towards C#,   If they prefer working in a terminal, then they should learn PHP on a Linux platform.

Because information technology changes so fast from year to year and lately week to week, this question has been getting harder and harder to answer.  The answers I use to give out are now dated and I now find myself asking the same question in this ever growing, not so black and white industry.

Now developers have many, many avenues for each section of the development industry.   If you’re a developer that enjoys working in a terminal environment, you now can easily developer in Linux, Mac, or Windows 8.  If you enjoy build native mobile applications, you can choose to developer for the iOS, Android, or Windows Phone.  If you want to develop back-end solutions, RESTful services do you use a tradition back-end server technology like for Windows, PHP or Perl on Linux or Ruby on the Mac?   Or do you scrap back-end server languages and develop your logic with NodeJS which is all Javascript with asynchronous technologies.  Do you learn all of their technologies to work on your own servers or to you learn how to work them on the Cloud.  But then which Cloud service do you invest the time to learn, Microsoft, Amazon or other?

I’m just scratching the surface on how large and complex this problem has become. So what now?   What advice to I give?  Well, to be honest, I do not have all the answers any more.

But, I do have some advice.   Amongst all of technology changes in the past number of years, there has been one constant that has been growing.  Javascript.

Javascript is an object-oriented language that has been standardized since the mid-1990s, made its way into every main stream web browser, device and now web services and even databases are built with a Javascript.   It took a leap forward in the later part of the 2000’s when jQuery framework was introduced and it quickly replaced most Flash development.  Devices and developers dropped the power hungry Flash player for the small libraries and high performance of the jQuery framework.

Start-up companies are now developing solutions from the back-end all the way through to the front completely in Javascript either through NodeJS or Derby.  Also, search engines like Google, Bing and Yahoo are getting better are indexing content that is generated within Javascript.

Because Javascript logic and structured like most languages like its preprocessor C++, it is relatively easy for a developer to leave Javascript and start working in C# or PHP.    Javascript should be your core language no matter what.   Once you gain a certain level of expertise with the language and experiment with user interfaces or back-end technologies, you should start to be able to feel out where your interests and business opportunities will lead to.


Leave a Comment