Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

As a developer on the Windows/.NET stack, it's pretty normal for the company-supplied machine to come with Windows (usually an ancient, archaic version like Windows XP) and a stack of software pre-installed as part of a Standard Operating Environment.

In companies building software on the Java/Ruby/PHP/C stack using Linux/Unix/BSD as a primary OS, in your experience:

  1. Does everyone tend to use the same OS/version?
  2. How do you ensure everyone is using the same version of libraries/dependencies/tools (do you?)
  3. How do you create an SOE to pre-configure a machine (do you?)
share|improve this question
2  
This will probably depend on the size/type of the organization. A 10-person shop/start-up filled with 1337 HaxXorZ will probably have some variety on every workstation. At the other end, large financial companies with huge IT departments will probably have 1 (or more) standard image for different roles (Programmer, Business Analyst, Helpdesk support) that is used to image the hard drives of the staff, and standardized hardware profiles as well. –  FrustratedWithFormsDesigner Sep 19 '11 at 23:11
1  
What do you mean by "SOE"? Can you provide an example? –  S.Lott Sep 19 '11 at 23:12
1  
An example is a pre-built Norton Ghost image that bundles Windows, Office, Visual Studio, McAfee, and other random software needed by most company users. –  Paul Stovell Sep 19 '11 at 23:15
2  
@S.Lott SOE == Standard Operating Environment. As Paul said, it's just a base OS install with a set of common apps preconfigured for all users. They are usually locked down and centrally managed by the sysops/IT Pros via group policy. When you have hundred/thousands of desktops to manage and "average" uses, then supporting a single image is seen to be much easier than a menagerie of different configurations. –  Richard Banks Sep 20 '11 at 5:34
    
@Richard Banks: "it's just a base OS install with a set of common apps preconfigured for all users" Really? Not everyone will agree with that. "They are usually locked down and centrally managed by the sysops/IT Pros via group policy"? Really? Not everyone will agree with that either. How do you know that this is what the question actually means? What is in the question that conveys all of these definitions? –  S.Lott Sep 20 '11 at 9:43

2 Answers 2

up vote 5 down vote accepted

Does everyone tend to use the same OS/version?

No.

We specifically write software that runs on a variety of Linuxes (Lini? Linen?). A same OS or same version isn't particularly helpful.

Unless one is writing kernel-oriented software, exact Linux versions don't matter the way exact Windows versions seem to matter. Why? Linux conforms to a standard (POSIX); for most "ordinary" application development, the version only needs to be reasonably close. Standards compliance assures that things really work.

How do you ensure everyone is using the same version of libraries/dependencies/tools (do you?)

A list of RPM's (or whatever's appropriate) to download and install.

How do you create an SOE to pre-configure a machine (do you?)

Sometimes a sys admin will bundle a collection of RPM's for us.

share|improve this answer

It depends on the organisation - more enlightened organisations allow developers to work in an environment that's comfortable for them (even if it means providing a VM so the developer doesn't pollute the 'base SOE').

In the Java space we worry more about managing the dependencies of the Java software itself. That is typically standardised and various build tools and CI servers ensure that it stays that way.

I personally write my code on Windows XP SP 3, Mac OS Lion and a host of *nix systems (whatever I'm ssh'd onto at the time).

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.