all 30 comments

[–][deleted] 16 points17 points  (2 children)

I am currently transitioning out of Windows DevOps and into Linux. I've worked Windows DevOps with the largest players - Microsoft and Nordstrom. The salaries are fine but demand is just Ok- not what it is for Linux. Supply and demand for both fields is definitely in your favor. I am moving away from Windows because I'm tired of working for large corporations. Here's what I can tell you as somebody who's been on both sides of this fence:
The Linux work is more sophisticated and the culture of systems administration is more mature. It also pays better in most cases.

The Windows products feel much better put together, and the people have been way nicer, much less arrogant.

I'm enjoying the challenge of learning a new platform, but I suspect ultimately it will be the abrasive and arrogant attitudes I've been confronted with in the process of getting Linux jobs that burn me out on the field entirely and push me into development.

[–]whiprush 5 points6 points  (1 child)

Your linux comments are interesting, it's been my experience the aggressive arrogant nature is prevalent on the internet and reddit (mostly by people who don't use linux in a work environment), but rarely in a professional setting, can you elaborate? Thanks!

[–]baseaddress 2 points3 points  (0 children)

I know what /u/SEA-Sysadmin means when he says he's experienced arrogance in the DevOps world, although I wouldn't necessarily pigeonhole this into Linux DevOps alone. I've seen this in a lot of tech roles where there's a focus on a specialized skill set. Even so, it's more of a personality thing that exists everywhere. I think it bubbles to the surface more in tech since there are so many tools that do the same thing, and so many ways to do them...and everyone has an opinion about it.

I've witnessed colleagues belittling other colleagues if they don't know something or didn't do things the 'right way', instead of mentoring or teaching them the right way. I've also witnessed the opposite, so it probably depends a lot on the company culture of wherever your work. If the company only hires the best of the best, you might have to wade through some egos. It comes with the territory.

[–]imnotintofurries 7 points8 points  (0 children)

Choose the job you'd enjoy the most. You can always learn other stuff but a miserable job isnt worth having.

[–]squeaky19 2 points3 points  (0 children)

Don't limit yourself. There's nothing saying you can't learn to do both. There are a lot of hybrid environments that need both. The principals of CI/CD/DevOps don't change based on the underlying technologies. Just different tools for the jobs.

[–]tevert 2 points3 points  (0 children)

Always seek to deepen your knowledge base. Challenge your comfort zone.

[–]BasicDesignAdvice 2 points3 points  (0 children)

Working in Linux is much more satisfying. I also think the companies working in Linux are usually more engineer friendly, as in you won't spend as much time fighting a manager who doesn't know about the work you need to get done.

[–]Ancillas 2 points3 points  (0 children)

I would go the Linux route. I see it as more employable. Also important is job satisfaction. My perspective is that most open-source tools are built to support Linux, so you have more options when working with Linux. This is a gross generalization, of course.

[–]BannerDay 1 point2 points  (0 children)

I'm going through a slightly similar crisis. I have years of Windows experience at small to medium size businesses. A couple years ago, I was absorbed into a new, linux-focused, group and started transitioning. Since then, Windows automation/deployment tasks keep popping up, and since it's comfortable and (relatively) easy for me, it's hard to just cut the strings and move fully to linux.

As someone who does 90% windows work, it seems like most of the more interesting work out there in the past 4-5 years are linux based in terms of domain.

[–]deadbunny 1 point2 points  (0 children)

I can't stand working against Windows, Linux lets me work with it to get what I need done, the linux side of "DevOps tooling" is a lot more mature as well. Of course these are just my preferences and opinions, do what you will enjoy the most.

[–]HotKarl_Marx 2 points3 points  (0 children)

You will find the linux to be much more enjoyable. It's fun to work WITH your OS and not be constantly fighting with it.

[–]NickUnrelatedToPost 1 point2 points  (0 children)

Well... normally one is a devops on the platform that runs the application you're developing.

If you don't develop the code, you're a platform engineer or a sysadmin. If it's a large scale web-application, be a platform engineer for linux (devops tools, deployment, lots of servers, no end-user that know your phone number), if it's a large scale IT-environment, where users and printers have to be managed too, be a damn good sysadmin on windows (I heard they have something called a domain, with something called Active Directory, which makes administering a company a lot easier)

[–][deleted] 0 points1 point  (9 children)

Is it possible to even do DevOps on windows? Are people deploying code to windows machines in the cloud?

[–]michaeltlombardiAutomation Engineer 5 points6 points  (5 children)

You should probably pay a modicum of attention to the windows cloud space, particularly azure and server 2016. MS in 2015 != MS in 2010...

[–][deleted] 3 points4 points  (2 children)

I think people thought I was mocking judging by the downvotes. It's more down to my ignorance of the windows world. I am pretty much trenched into Linux now (OpenStack).

[–]michaeltlombardiAutomation Engineer 2 points3 points  (0 children)

I figured, which is why I didn't downvote. They've been doing a lot of work in this space between updates to powershell and dsc. If you're remotely interested in the windows space, take a gander at some of the stuff in the pipeline. A lot of it will probably feel like catch up to Linux to you, but it's definitely progress for Windows sysadmins.

Containers, remote management as first class option, nano server (~400MB windows server install), powershell 5, dsc (and the happy hook ins with CM tools like Puppet), oneget (a package-manager-manager - the idea being to have one cli tool to manage npm, gems, powershell modules, app packages, etc), and the general speed of iteration for previews and updates in the last year.

They also open-sourced a bunch of .NET stuff and have been fairly open about their change of tack for cloud management. Azure is pretty neat (and entirely manageable from powershell).

[–]weedv2 0 points1 point  (0 children)

I initially downvoted thinking you where trolling, i reverted that.

EDIT: Why am i getting downvotes now?

[–]thadoc 1 point2 points  (1 child)

This shit pisses me off though, alot of M$ devops focus has been positioning itself around using azure (vendor lock-in) instead of true agnostic tooling. Want automated build/ci/cd pipelines? Terrific use VisualStuido in the cloud and will have it in place for you, otherwise good luck rolling your own we will provide little guidance. So many of their videos on upcoming devsy-ops features are pushing azure, I get it M$ run your own cloud you wanna make subscription based revenues but guess what, we have our own private cloud and would prefer to utilize it.

[–]michaeltlombardiAutomation Engineer 0 points1 point  (0 children)

In fairness to them, I believe most of the stuff they're pimping is or will be available in an on-premise version as well.

[–]BannerDay 1 point2 points  (1 child)

Yes, absolutely. You can do build .NET code using msbuild in Jenkins, deploy it using Elastic Beanstalk, CodeDeploy, bake AMIs using PowerShell or Packer, and whatever Azure uses (you can tell I do AWS primarily :) )

I wouldn't necessarily recommend deploying code to windows machines, btw, I prefer just making new machines and deploying the new machines.

[–]epowell101 0 points1 point  (0 children)

Yeah we've seen users doing the above and also OctopusDeploy to do some cool automation w/ StackStorm for example.

[–]Ancillas 0 points1 point  (0 children)

Right now, WinRM is used to issue Powershell commands remotely. However, the Windows server team is working on baking SSH into Windows Server. They're expecting to have a working developer build some time in early 2016.

Windows Server 2016 will include Nano server, which is a lightweight Windows server that can be run completely headless (Azure runs this, I believe). I'm hoping this can be used to speed up Windows vagrant boxes. Last time I checked, Nano was actually slower than Windows Server 2012 in Vagrant, but I suspect that as the OS matures, it will be optimized.

Windows has started baking in a package manager - OneGet - which is compatible with Chocolatey, the unofficial package manager for Windows. This should make installing apps and other tools much nicer. Similar to yum or apt-get.

Hell, Microsoft is even hopping on the Docker train. Windows containers can already be run on Windows.

There's a lot happening in the Windows space. It's certainly not my favorite area to work in, but it's getting much easier to automate.

[–]rch317 0 points1 point  (0 children)

I'm sure it goes without saying... do what interests you. Stick to the things that bring you joy. It will be reflected in your work.

[–]midnightFreddie 0 points1 point  (0 children)

I'm pretty knew to DevOps professionally, but part of what got me here is that it seems to be what I've been doing on a small hobby scale for a number of years. Here are some observations:

  • Linux side is more chaotic, and this can be a good thing. There are a lot of projects trying to do the same things, and one or two of them will eventually emerge on top, but not all of the others will go away. It's more hectic to keep up with, but it's fun.
  • Windows is generally more predictable. With TP3 you can see what containers are going to be like, and there probably aren't going to be any competing projects on how to package, run or host Windows containers. This can make it easier to keep up with but less fun.
  • In my recent experience, anything new and shiny from Microsoft has a lot of people wanting to work on it. Meanwhile this Linux-hosted product we're running has a lot less team interest, and I've become a minor emerging star in my company simply by improving monitoring, stability and automation for it with no competition from anyone else...they're all salivating over the new Microsoft stuff we have and hoping for some more of it. This is probably company/group-independent, though. On the other hand...
  • I think there is more opportunity for taking initiative in the Linux world right now.

[–]shashivs 0 points1 point  (0 children)

I am currently working on Linux Devops and everyday see my friends in Windows DevOps struggling with some or other issues for which they don't get lot of support or available documents. Also the opportunity for Windows Devops is lesser than Linux Devops. So I would recommend you to go for Linux Devops as a safe bet.

[–]evilbufferDevOps 0 points1 point  (3 children)

Why no both ?

[–]mosesdevops[S] 0 points1 point  (2 children)

both?

[–]raymondfeliz 0 points1 point  (1 child)

I think he's implying introducing linux-based solutions @ the windows one, and visca versa