Will I ever be able to reach a respectable level as a software engineer if I am not...

Quora Feeds

Active Member
Tikhon Jelvis

You can, yes, but you'll just be making things harder for yourself. Programmers keep on using Unix and the command line for a reason: it's an incredible force multiplier. It's not only eminently useful interactively, to maintain your system and projects, but also makes it easy to automate much of it away. If you ever need to do something boring and repetitive, or repeat the same set of things over and over, on one machine or many, learning to use the command line will save you a lot of work!

Do you find yourself doing the same set of actions—maybe with slight variations—over and over? Then you can make your life better right now by learning basic system management. And even if you aren't doing anything like that right now, chances are you will in the future. Perhaps, as you start working on bigger and bigger projects, you will need to scale your software up to many machines. Much easier with the command line! Or maybe you start using more complex tools which require some set up: again, just automate your build process.

Another really nice feature of learning the command line and Unix way is composability. It's much easier to combine seemingly orthogonal tools into a single system with the command line; that's part of its real charm. For example, if you ever need to generate nice PDF reports for some data every week, you could manually put the data into Excel, make the relevant graphs, include them into Word and so on. Or you could have a single little script that uses Gnuplot and Pandoc and LaTeX to generate everything automatically. (And, thanks to LaTeX, it'll look better too!)

Setting something like this up will take longer than doing it by hand... the first time. After that, you save a lot of time. Sometimes, even the setup step doesn't take much longer. This is going to win you time for any tasks you do more than a handful of times.

And, at a higher level, this is true about learning it too. Sure, at the beginning, you'll have to put in a bit of effort to get used to using the command line and you'll be slow for a while. But in the long run, it'll save you time and effort by making you more efficient.

That's the sort of tradeoff you take not because it's necessary, but because it's so beneficial.

See Questions On Quora

Continue reading...
 
Top