What is the best starting point for becoming a programmer?

In the last couple of month several of my friends, which don’t have programming background, decided to learn how to code for being able to work as a freelancers in their spare time and to make some extra money. In their situation what would you do? Call one of your programmer friends and ask him what should you learn.

Being in the position to give an advice regarding what technology stack should they choose, I took into consideration the following points:

  1. They want to practice programming as a hobby or at most as a project based/part time job
  2. They don’t have any programming background (except some Pascal and C from high school and college)
  3. They need free and easy access to learning materials
  4. They need free developing tools
  5. For making things easier for them, it will be perfect if the chosen technology would not have to many dependencies on other technologies/frameworks for being able to create a complete application by themselves
  6. One very important aspect is the existence of the demand for projects developed with this technology What did I recommend based on the points from above? After some thinking I decided to recommend learning Android programming. I’ll try to explain myself and how I got to make this decision.

First thing I have done was to limit possibilities to web and mobile programming(native), because, I think you’ll agree with me, the biggest percent of the projects available for freelancers are from these 2 categories. If I would go with web then most probably I would have recommended PHP. I know, it is very odd to hear this from a .Net developer, but lets face it, that learning curve for PHP is one of the easiest and it has free developing tools, you can develop on different platforms, meanwhile it has evolve very much and most important the biggest share of the web projects on the market that can be accessed by a freelancer is for PHP. But regarding web development we have a problem with point 5, because for being a complete web developer you need at least to know: backend language(in our case is PHP), HTML, JavaScript, CSS, HTTP principles, some JavaScript frameworks, a database engine, minimum web server management. Believe me if you give to a beginner this list he will be overwhelmed and most probably he will give up before event started.

After I excluded web development the only viable option remained mobile development. From mobile platforms I chose Android because it has the biggest share of the market, free tools and support development on different platforms. For learning Android a beginner need some Java basics and Android framework and only with this 2 he can build a mobile application, at least for the beginning.

I hope that my reasoning was a good one, but if you don’t think so please let me know and maybe it would not be to late for changing my recommendation made to my friends.

programming beginners
Posted by: Ion Sapoval
Last revised: 21 Jan, 2016 06:21 PM

Comments

Rudenco Victor
Rudenco Victor
17 Mar, 2016 05:39 AM

At least i am agree with you. See no too muchcommenters so I gave a try to myself to put the first comment. Read your linkedin profile, seems you know what you are talking about. Did some web programming in the past and I am agree that it would scary a newcomer to programming world, but there is nothing that can't be learned it only depends on willingness and desire to know more, and the time allocated for it. It hinkit is worth spending this time because with time you get to know better and better your fiels, you can establish new tasks for yourself and finally get an educational culture. Not to forget the desire of being relly passionate about what you are doing, this also can come in time -the much you learn, the better you understand how things work and you acquire additional abilities of viewing things nature. I appreciate the given advice to your friends . Regards from Moldova. R. V.

Your Comments

Used for your gravatar. Not required. Will not be public.
Posting code? Indent it by four spaces to make it look nice. Learn more about Markdown.

Preview