8 ms·
This 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 percen
by duaneb 14y ago
This 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 agoWhat you use as a dev client is not the point its the dev and test hardware the application running on that needs to be as close (ideally identical) to live as possible. And the random approach to hardware that clouds use well maybe thats why they have such poor up time when compered to the carrier grade gear a telco uses.
- jrabone 14y agoRubbish. Spotting the hobby programmer is easy - they're the ones hardcoding "/" or "\\" instead of File.SEPERATOR. At Amazon most of the teams I worked with developed our entire Java service stack on Windows, and shipped on Linux - because the Windows tooling was just better. To this day Eclipse on Linux needs endless tweaking to fit the same content to the same screen resolution, and the double monitor support back then was hilariously poor.
- snarfy 14y agoI dunno, it works for me. I can build my web service app in VisualStudio on Windows and run+debug it, then once it's working, copy the folder over to linux. Linux is setup with mono fastcgi + nginx + servicestack.net. I don't even have to do anything on linux after the copy is done - just refresh the web page.
- 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.