Are Linux Skills Required to Be an Expert Software Developer?
Do you need to understand and use Linux to become an expert developer? Let’s talk about that today.
The question again was, “Do you need to understand and use Linux to be considered as an expert developer?” Well, the short answer is no. But in years gone by, that probably was something that was a bit of just a general opinion out there that Linux programmers, people who understood Linux very well, were the expert developers.
But that’s sort of changed these days with the advent of modern tools, which are available generally on all three platforms, certainly on Windows, Mac and in many cases on Linux. The requirement to know and understand Linux to be considered an expert developer isn’t really there. I mean it won’t hurt to have the skills, because depending on where you go to work, we will find that they all will have a particular environment. You might work for a particular company, and they’re focused on Linux, that’s their infrastructure, that’s their development environment.
So obviously in that scenario, you’d need to understand and be productive in Linux. In other cases, and what I’ve seen largely out there, is many shops actually have a mixture. They have Windows desktop machines for most developers to do their basic development work, and they’ve certainly got Linux machines as well for perhaps for the deploying applications they’re creating, or for specialized people for particular tasks, system admins and so forth who are using Linux. So in general, no, you don’t need to be a Linux, basically a Linux user or guru to be considered an expert developer these days.
Just one final thing I’ll add though, try and get used to even if you’re using a Windows machine or a Mac, try getting up to speed a little bit with the command line. That can be really useful because a lot of programming out there these days, programming shops, will have a need to use command lines. They use the command line to access things. You certainly won’t be creating programs completely at the command line, because that’s why we’ve got modern IDEs like IntelliJ and Eclipse and so forth. They have got so much functionality built in to make it much easier for developers to be productive.
You won’t need to do all your programming in there, but if you know the basics of a command line tool how to navigate into different folders, copy files and so forth, you can be quite productive. And to give you a bit of a background, that’s really where I’ve come from, I’ve focused largely on the command line so I ran Linux myself for a number of years as my desktop platform. These days I’m using Macs, but I still do a lot of my work at the command line, because that’s what I’m used to. Those are skills you don’t necessarily need to have, but if you’ve got them, they’ll probably be considered a bonus on your resume.
I hope that helped. If you’ve got any questions, feel free to leave a comment, and I’ll get back to you.