8 ms·
Linux Jobs Forecast: Pressing Need for Linux Talent
- snake_plissken 14y agoAll Linux is Unix but not all Unix is Linux. Applicable?
- duaneb 14y agoThis is one of those places when distinguishing between the kernel and userland is not only useful but necessary. I just don't believe that "Ninety-three percent of hiring managers say they will hire a Linux pro in the next six months". Ninety-three percent of companies do NOT need kernel hackers, they want UNIX pros. EDIT: By UNIX pro, I personally mean people who are familiar with the typical nix stack, e.g. GNU/Linux, BSD, Darwin. This would encompass sysadmins, programmers, etc.
- rogerbinns 14y agoAnd it may be that what they want is a Ruby/Python developer where the stack happens to run on Linux. Deployments are most likely to be to Linux environments (eg AWS). Consequently "Linux" in job descriptions really means a familiarity with the command line, and a propensity to build smaller components that can be run together. We do all our development on Linux with one or two developers using Mac. I expressly forbid doing any development on Windows even though everything could run on Windows. This is purely because it takes longer, has more hassles, the tools aren't better (eg valgrind), awful package/dependency management, and it doesn't match deployment environments.
- xradionut 14y agoObvious developer is being Obvious. If you are developing for Linux deployment, it doesn't make sense to develop on Windows. This is a no brainer. Likewise if I was to develop for IIS/SQL Server I wouldn't do so using my Linux environment.
- dagw 14y agoI develop for Linux deployment on Windows. Why? Because I also develop other things and use other tools that are Windows based, and its easier to have just one setup rather than changing machines or dual booting all the time. Windows with a Linux server in a VM is a perfectly fine solution, and unless your Linux dev machine runs exactly the same distro and config as your production server, you're going to need a separate VM or dev server to test on anyway.
- walshemj 14y agoYour Dev system should be the same as your live server (same distribution and ideally the same hardware) other wise your just a hobby programmer. Back in the day at BT we even brought all our systems (Dev, Test and Live at the same time so we had identical systems from the same production run from sun.
- dagw 14y agoWell I guess that makes me a hobby programmer. Half the time I don't know what server the code will be deployed on when I start coding. 9 times out of 10 the hardware is completely out of my control (often it's whatever cloud server provider X decides to spin up that week, which can often be something completely different from what they decided to spin up last week). Obviously making sure your test environment is as close to possible as your production environment is important, but I don't get too bothered about making sure the machine my text editor runs on is identical to the machine I will end up deploying to. But then again, I'm just a hobby programmer.
- jimwhitson 14y agoBy the GP's definition there are a lot of us hobby programmers. I used to write code to run on all kinds of weird servers, SPARCs, IBM POWER kit, ARM dev boards and so on - I hate to think how a non-hobby programmer would have approached that job...
- walshemj 14y ago
- jrogers65 14y agoThe cost of your developers using environments that they aren't adapted to is higher than the cost of dealing with inconsistencies introduced by the fact that they use Windows. It's more of a hassle for you, sure - but it's not your needs which matter in this context. I say that from the experience of having worked with people with a similar mind-set. The job of a manager is not to bend the environment to his needs but to aid the people that do the work.
- rogerbinns 14y agoThe problem is that platform choices impact other developers. If for example the developers are predominantly using a Windows software stack and tools and Linux user comes along then there is a burden to make things portable (eg a deployment or analysis script). So who does the effort for that portability? Are all the Windows developers also supposed to add it (ie adapt to another platform - Linux) or is the Linux developer supposed to do so (ie adapt to another platform - Windows)? Our situation is the other way around where deployment is to Linux (AWS/AppEngine) and there are several internal tools that work seamlessly on Linux and Mac. Having to add conditionals all over the place for Windows (not to mention the additional testing) is not free. The new developers can adapt to Linux or they aren't very good developers. (Note we make it abundantly clear that we use Linux and Mac for development in our job ads.)
- jrogers65 14y agoIn my opinion, it would be better to create an OS abstraction layer for the application so that conditionals do not have to be added everywhere and people are able to use whatever tools they are comfortable with.
- Nux 14y agoWTH is a "UNIX" pro? From what I understand they want experienced Linux sysadmins/devops.
- duaneb 14y ago> From what I understand they want experienced Linux sysadmins/devops. I mean, I just guessed based on how "Linux" is typically used, i.e. GNU's userland. I don't exactly have time to call up "93% of hiring managers" and ask them personally.
- dean 14y agoYes. From the fourth bullet point in the article: "Systems administrators are the most sought-after Linux pros"
- vonmoltke 14y agoAt one place I once interviewed: someone who can regurgitate POSIX manpages on command.
- mhurron 14y ago> "Ninety-three percent of hiring managers say they will hire a Linux pro in the next six months". Ninety-three percent of companies do NOT need kernel hackers, they want UNIX pros. When you hear about companies needing Windows Pros, do you think they really mean Windows kernel developers? Why would a Linux Pro mean kernel developer, while UNIX pro would be more generic? They want someone who knows the Linux ecosystem. There are Linuxisms that have nothing to do with UNIX. That's what they're talking about.
- Niten 14y ago> Why would a Linux Pro mean kernel developer, while UNIX pro would be more generic? Because Linux is technically the name of just the kernel, not the entire system encompassing userspace as well. There's definitely room for misinterpretation there.
- mhurron 14y ago> There's definitely room for misinterpretation there. Nice thing about context, it tells you how something is being used. Stallman isn't putting up want ads.
- snarfy 14y agoI have 'systems programming' on my resume. I have experience with windows and linux device drivers and kernel development. I occasionally have recruiters contact me believing this means I'm a perl/awk/bash wizard.
- griffindy 14y agoI'm not trying to be rude or anything, but what exactly is a 'linux' or 'unix' pro?
- mikegioia 14y agoI think a lot of people assume Linux pro means kernel dev or someone who writes software for Linux but my take, here at least, is that Linux pro encompasses server admins and people familiar with Linux on a networking / infrastructure level.
- Toenex 14y agoI think the distinction he was trying to make is that UNIX skills are those that are transferable between UNIX modelled OS's e.g. shell programming, administration, application development. Whereas a Linux pro would be someone whose skills are specifically on that platform. The most obvious reason being kernel programming expertise which is almost the epitome/definition of Linux.
- derekp7 14y agoCould also be someone from a Unix background that also knows specifics of how to optimally manage typical Linux business deployments (usually RHEL, SLES, etc). I can't tell you how many long-time Unix admins I've worked with that didn't know anything about how to create a start/stop init script that was chkconfig compliant (chkconfig originated from Irix I belive), and end up making symlinks in /etc/rcX.d manually. Or be able to debug boot problems (requires knowledge of at least some kernel boot parameters, the initrd, order of the various startup scripts, etc).
- felideon 14y agoI haven't read it yet, but the linked report may have the answer: The 2013 Linux Jobs Report, conducted by Dice, [...] includes insights into why employers are seeking Linux talent now and what the top incentives are for Linux pros, among other important findings. Download the complete report [1]today. By looking at the infograph, it seems developers, syadmins, and devops are amongst these 'UNIX pros', so not really kernel hackers. I'd assume few companies are in need of 'kernel hacking skills'. [1]http://www.linuxfoundation.org/publications/linux-foundation/2013-linux-jobs-report http://www.linuxfoundation.org/publications/linux-foundation...
- mikegioia 14y agoThis is great news for Linux. There are a LOT of companies who's entire infrastructure is the MS Windows environment and hopefully they'll begin the switch!
- lmickh 14y agoIncrease in demand for Linux talent may indicate an increased use of Linux. It also sends up a flag for existing MS shops that says "Don't bother cause you won't be able to hire easily". A significant chunk of MS's total cost of ownership argument is the wages of Windows admins versus Linux admins. This news only gives that argument more weight at least in the short term.
- jrabone 14y agoIndeed. Scratch a working heterogenous single sign-on environment based on Linux servers and I think you'll find well-paid admin staff behind it. Interop is just not simple, although with Samba 4 it might just have got better - I've not tried in the last 6 months.
- RKoutnik 14y agoOur school's IT department just upgraded the server we run Moodle (an open source CMS) on from Windows Server 2003 to Ubuntu Desktop. They used the desktop version of Ubuntu because no one in the 13-man IT operation knew how to use Bash. We hackers live in a gated community. I've seen people in shock when they find out someone doesn't run Linux as their main OS. I was flabbergasted to find out none of our IT folks knew how to use the terminal. tl;dr The double bell curve of tech talent is still in full swing.
- mtowle 14y agoWhat school do you go to? If you don't mind my asking.
- RKoutnik 14y agoRoberts Weslyean. Tiny college in Rochester, NY
- rogerbinns 14y agoIt doesn't really matter that they used the desktop version. The packages are all identical. The kernels are compiled slightly differently (server kernels have longer time slices) but you won't really notice that. I lived through the era of Windows trouncing Unix. A major reason why it happened is because people were familiar with Windows on their desktop and found the gui tools easier to use on their servers. The various Unix vendors did start coming out with graphical administration tools, but many of them were pretty dire. Using Ubuntu Desktop on the server means they can use it on their desktops and become familiar. And maybe they will eventually graduate to using command lines, but they don't have to for a lot of administration.
- gnosis 14y ago"I lived through the era of Windows trouncing Unix." On servers? There was no such era! Windows never dominated the server market. Sure, there were some companies that were Windows shops, but most servers were and still are unix/linux. "A major reason why it happened is because people were familiar with Windows on their desktop and found the gui tools easier to use on their servers." This might be true for mom & pop shops where the servers were run by desktop users, but on the enterprise level where corporations could afford their own sysadmins, Windows is and always has been a minor player.
- jazzex 14y agoSo I already know system admins are in high demand. I am a computer science undergrad and hope to get a sys admin job out of college. What should I be doing on my own to get a job like this? (besides playing with different linux distros and learning commands).
- lmickh 14y agoI would suggest looking into the Redhat certifications. Even if you don't want to take the test, they cover a wide range of topics that will give you a good base. The list of exam objectives alone will point you in the right direction to get started. You aren't likely to brush into things like autofs just playing around at home. But something like that is much more common in larger environments. Learn to do things that you read about in system admin blogs. Spinning up VMs, clearing log files, and setting up monitoring systems. Learn to roll your own package. Even better yet maintain one for a distro and put that on your resume. Make a effort to become familiar with several scripting tools. You don't have to master them all, but make sure to pick up enough to be able to read code in bash, perl, python, and maybe even ruby. The final step to being a Linux admin is learn Windows. Most real world jobs require that you have to deal with both. Even if it is not your primary responsibility, you will need to know how to inter-operate with Active Directory and the services that hang off of it.
- carlisle_ 14y agoIf you want to be a linux admin you should be comfortable with the command line. You should be able to write a simple bash script without needing to look up too much. You should be able to configure a LAMP stack from scratch without much hassle (looking at documentation here totally recommended). I personally think the best way you can get started is by using the command line for everything "work" related. When you're doing your projects for school you should be using vim (or emacs if that's your thing). When you're navigating directories or performing file operations you should just use the terminal. Using the command line effectively is such a critical component of being an admin, and it just takes practice to get good at it. The fact your doing computer science is a huge leg up, because you'll have a good understanding of the fundamentals of computers. When you work with linux you very often need to know the underlying mechanics of whatever you're working with. This goes hand in hand with being able to troubleshoot - a huge component of being an admin. Let's say you're troubleshooting an i/o issue on a server. When certain operations are performed on a SQL database in high volumes you notice the server starts to chug and i/o is severely bottlenecked. You need to know things like whether the RAID is configured correctly, and what the most optimal settings are for your usage. You need to know to check the i/o scheduler and make sure that's appropriate for what you're doing. Some of this stuff you won't know out of college, but you'll work with all of it eventually and pick it up. What counts is that you don't need somebody to explain the super basic stuff, you will already understand most things at a fairly high level. You should be able to pick things up quicker as a result, and cover significantly more ground than somebody learning Linux whose never really worked with computers seriously. Anyway, that's longer than I meant to type up but hopefully you get the gist of what I'm saying. I'm slightly inebriated so sorry if my wording/sentence structure is hard to follow!