Thursday, August 29, 2019

Starter Toolkit for Programming Beginners

One of the things that is going on in my mind for a while was creating a quick guide on the toolkit for programming beginners. When I say toolkit, I don't mean the tools like IDE etc., but rather the skills and nuances that are mostly learnt on the job, assuming that we get to have a good mentor. It is not uncommon for even programmers with enough experience in the industry not getting a chance to acquire these skills.

Some of the Gen Y/Z kids may have got some insight into some of these aspects, thanks to the active opensource communities. But, still collating these in one place so that they get a view or an introduction to most of these by the time to get into full-time programming.

I am planning to expand on each of these topics, as the time permits and would be linking to the blog article as I write them.

Here is the inventory of items that are part of the tool kit, with predominant focus on model web applications and mobile apps:

  • Understanding of the networking involved - the client browser to multiple servers where different pieces even seeming simple websites exist, the overwhelming TLAs invented to scare the new comers, etc.
  • Understanding what happens in the server and what happens in the client (the web and mobile)
  • Security - What are the basics to know and modern security concepts
  • Source control or version control - How to protect your work from getting lost
  • Refactoring - The art of routing maintenance of the code you write 
  • Debugging anything
  • Scripting tools a.k.a. Automating boring work
  • *nix Basics - Programmers paradise