I have an interview coming up soon for a Business Analyst position and the recruiter mentioned some feedback from a prior candidate that was interviewed who said the interviewers asked him what the difference between a Windows and Linux development environment was. Are there some high level things I need to be aware of from a business point of view when working with a development team or designing an application on Windows vs Linux?
6
Most of the differences between Windows and Linux should be transparent to you as a business analyst. The major things you should keep in mind are compatibility issues with products someone might have heard of at some conference or something and they want it added to your app. Also look and feel issues can crop up, you can generally tell when Linux things get ported to Windows and vice versa. Otherwise the differences are largely technical and should be able to be handled by the development team.
The last thing to keep in mind is that Linux and Windows people behave differently and have different thought processes, looking to Microsoft first for solutions vs looking for open source solutions and customizing from there.
2
Usually the software stack for Linux is Open Source, made of LGPL/GPL licenses. You may want to read up on them to see if there’s any implications in it for you. The discussion of open source is long, tedious, and out of scope for this question so I won’t go into it. In Windows environments, open source plays a much smaller role and Microsoft’s is the go-to solution for many things, providing a complete stack for pretty much all kinds of development.
The development environment itself is fairly different (in terms of IDEs, tools, how things work), and a lot of the developers have strong preferences in terms which environment they like to work with. People have been known to be deeply religious about this sort of stuff, but if you’re talking about things like web applications then similar results can be achieved with either.
From a business perspective you typically want to go with whatever your team is most familiar with.
EDIT
I know that Business Analyst can be a fairly overloaded term, and you haven’t specified exactly what the position you are applying for entails. Perhaps it is more on the technical side (in my current place of work BAs write Python scripts and know more about database schemas/relationships then devs). If this is the case then you might have to know about Linux (UNIX) in general, and I suggest downloading a distro (Ubuntu, OpenSUSE, Fedora) and poking around as well as doing some reading.
Short Answer: Difference is in ecosystems they represent and client base that each refer.
I am pretty sure you have information about Windows and may be about its development world, that is mostly windows operating system with .NET framework and iconic products like MS office, outlook, etc. This world mainly tight to licencing.
While Linux (Unix )world is complete opposite to licencing with many open-source products like Open Office, Java, etc. Thus, Unix world developers always religiously oppose the Microsoft world (windows) as a corporate greed, where each product should be paid first.
However, there were drastic changes in Microsoft software development approach in terms of going open-source. Thanks to GitHub and similar software project hosting websites and community of developers that use and contribute to it. For example, ASP.NET MVC is an open source framework, NuGet packages are free as well.
Thus, main difference is in ecosystem that they do represent. However, in web development world these differences are insignificant.
From business analyst perspective it is more about the “client base” that each ecosystem serves.