Back in my day, and I’m not that old, programmers were a subset of people who were “really good with computers”. It would be hard to find a programmer who didn’t know how to use the operating system of their choosing far beyond end user level.
These days things are a little different. Now we’re encouraging everyone to code and become a programmer, so a lot of newcomers no longer have many a sleepless night fighting with, say, SuSE CDs, under their belts.
As a result, you run into people who can be somewhat competent within a given development environment, who don’t know how to create a symbolic link or tail a log.
This is not said to disparage newcomers. On the contrary, it’s quite commendable how quickly many young programmers are now able to learn a whole stack of technologies in order to create applications.
It is, however, an impediment to their ability to become productive and successful programmers.
So my advice today is to break free of that limitation by learning the command line. You don’t need to become a wizard, but, as usual, you should get acquainted enough with it that you know how to use the command line to accomplish tasks that are simply not exposed in GUI interfaces.
I’m specifically talking about the Unix-based command line, such as Bash. Technically it can be used on Windows as well, but realistically hardcore Windows programmers might find learning the Windows Powershell to be more useful.
Where to start? There are countless tutorials and books on the subject. I personally recommend Michael Hartl’s learn enough command line tutorial, as it’s specifically aimed at newer developers.