Slashdot Mirror


Ask Slashdot: What's the Best Working Environment For a Developer?

New submitter Dorgendubal writes: I work for a company with more than a thousand developers and I'm participating in activities aimed at improving the work experience of developers. Our developers receive an ultrabook that is rather powerful but not really adapted for development (no admin rights, small storage capacity, restrictive security rules, etc.). They also have access to VDIs (more flexibility) but often complain of performance issues during certain hours of the day. Overall, developers want to have maximum autonomy, free choice of their tools (OS, IDE, etc.) and access to internal development environments (PaaS, GIT repositories, continuous delivery tools, etc.) . We recently had a presentation of VMWare on desktop and application virtualization (Workstation & Horizon), which is supposedly the future of the desktops. It sounds interesting on paper but I remain skeptical.

What is the best working environment for a developer, offering flexibility, performance and some level of free choice, without compromising security, compliance, licensing (etc.) requirements? I would like you to share your experiences on BYOD, desktop virtualization, etc. and the level of satisfaction of the developers.

360 comments

  1. Private Offices by Anonymous Coward · · Score: 5, Informative

    Start with that. The best hardware on the planet is useless if you can't think due to noise and interruptions.

    1. Re:Private Offices by quantaman · · Score: 5, Insightful

      Start with that. The best hardware on the planet is useless if you can't think due to noise and interruptions.

      Or at least high cubicle walls. A developer's most valuable resource is their attention, and other humans are extremely good at demanding one's attention. Even the reflection of someone walking by behind me is enough to cause a momentary distraction and a dip in productivity. It's no mistake I do my best work when I'm the only one around, to optimize productivity give people the ability to cut off distractions.

      --
      I stole this Sig
    2. Re:Private Offices by Anonymous Coward · · Score: 0

      Store in a cool, dry place.

    3. Re:Private Offices by DontBeAMoran · · Score: 2

      Add a "no radio/music/etc unless you wear headphones" rule. A private office is useless if people are allowed to pump noise through them.

      --
      #DeleteFacebook
    4. Re:Private Offices by jcr · · Score: 2

      Hear, hear!

      Headphones are a piss-poor substitute for walls.

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
    5. Re:Private Offices by Anonymous Coward · · Score: 0

      Bit corporations hate us so they will never give us that. They're looking for an excuse to diee and sue us. They make thinking people want to die.

    6. Re:Private Offices by JumpSuit+Boy · · Score: 2
      --
      Oh really?
    7. Re:Private Offices by Bite+The+Pillow · · Score: 2

      I work on a team. With a high functioning team, the ability to ask and clarify a question, while typing the code, is amazing.

      And no, despite your best efforts to describe the effects of interruption, there was none. We were working to the same sprint.

      I now work on a different team. Lord, don't interrupt a single one of them. It's almost like circumstances play a role. But if that were true, Slashdot would cease to exist.

    8. Re:Private Offices by TheLongshot · · Score: 3, Insightful

      I disagree. I think members of the same team should be located together, rather than isolated in private offices. That way, if you need to bounce an idea off of a teammate, all you need to do is to turn around and talk, rather than having to get up and look for them.

      The best teams I've been on worked pretty closely with each other, and often identified bad ideas before they got too far.

    9. Re:Private Offices by arth1 · · Score: 2

      I disagree. I think members of the same team should be located together, rather than isolated in private offices. That way, if you need to bounce an idea off of a teammate, all you need to do is to turn around and talk, rather than having to get up and look for them.

      ... and disrupt three other people in the process. Because, you know, their work isn't as important as your "bouncing ideas".

      Besides, a few years ago, someone came up with the concept of instant messaging, which not only is nice for short messages, but can also tell you whether someone is available without having to get up and look for them. If that's too new for you, there's always this thing called a "telephone".

    10. Re: Private Offices by Anonymous Coward · · Score: 0

      stupid bosses dont want this because they think they can get more work out in a room with 15 people and NO VENTILATION.

      TRUE STORY.

      also the boss thinks that ac pumps air from outside. it doesnt.

    11. Re:Private Offices by Anonymous Coward · · Score: 0

      I told my boss I can't work due to the noise. I was bought a $350 noise-cancelling headset. They're nice, but not really what I consider the best solution...

    12. Re: Private Offices by StevenMaurer · · Score: 2

      stupid bosses dont want this because they think they can get more work out in a room with 15 people and NO VENTILATION.

      TRUE STORY.

      also the boss thinks that ac pumps air from outside. it doesnt.

      If you're that angry, don't stew. Polish up the resume and look for work elsewhere. Engineers are still very employable.

      Almost never do you hear anyone say "Man, I wish I'd stayed at that dump longer".

    13. Re:Private Offices by codeButcher · · Score: 3, Interesting

      Last night I read a bit about the Pomodoro technique and specifically what is said about distractions and how to avoid them. One view was that many websites (esp. social media) are geared to grab more and more attention to keep eyeballs on it longer (e.g. YouTube suggesting more similar videos, Facebook trying to serve up stories in your story line that they think will interest you, StackOverflow having all these very interesting questions from other StackExchange sites on the right - even Wikipedia that has hyperlinks to more interesting articles :-) ). And the one suggestion is to avoid such web browsing during your short rest periods, since they will inevitably lead to those rest periods becoming much longer...

      Then it hit me: Open plan offices are social networks embodied in physical workplaces - long before social media even was a thing.

      --
      Free, as in your money being freed from the confines of your account.
    14. Re:Private Offices by JaredOfEuropa · · Score: 1

      A developer's most valuable resource is their attention

      That's debatable, nevertheless this is a statement fit to print, frame, and hang on the wall. Your boss' wall preferably.

      --
      If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
    15. Re:Private Offices by Tukz · · Score: 4, Insightful

      "bouncing ideas"

      This infuriates me more than it probably should.
      I have a co-worker who constantly feels the need to bounce ideas off me while I am usually busy and very focused on something.

      We've recently started a slackboard for just this exact issue. Post your shit there instead of interrupting everyone because you need to think out loud.

      --
      - Don't do what I do, it's probably not healthy nor safe. -
    16. Re:Private Offices by jafiwam · · Score: 1

      And disable speakerphone capability on all phones. Make hallways so narrow that people can't and won't congregate to monkey-jabber at each other. Make having a personal phone call on a cell phone in non-break areas or meeting rooms a fire-able offense.

      Office spaces should be designed around what kind of work is done in them. There should be coding-only areas, and "sales people allowed" areas.

    17. Re: Private Offices by Entrope · · Score: 3, Insightful

      People don't notice the productivity hit when they're typing code that could basically be written in their sleep. Most programmers have worked on projects where they do need to concentrate.

      For those whose coworkers are thinking hard, I would recommend writing down your questions and asking them in batches of three or so. This has a lot of benefits:

      You'll be able to answer some fraction of your own questions, either just by thinking more or by exploring the surrounding problem more.

      You'll get a clearer understanding of what was missing from the design (or code or your own knowledge), making it easier to understand how to improve it the next time around.

      You'll practice clear communications.

      You'll amortize the cost of interruptions, which your coworkers will appreciate.

    18. Re:Private Offices by Anonymous Coward · · Score: 0

      Stop hiring snowflakes who can't or won't get on with the real world.

      If you can't work with a bit of noise and distraction, you're not the rock star you think you are.

      Grow up.

    19. Re:Private Offices by Anonymous Coward · · Score: 0

      You're not a programmer then. Developers do not need to hold each others dicks while they write code. To communicate with a fellow one merely needs to pick up the phone or use one of the many IM services. Programmers do not need to bounce fucking ideas. You must be a web "developer" if you believe otherwise. Stick to copy pasta from forums, and let real developers do their jobs.

    20. Re:Private Offices by Anonymous Coward · · Score: 0

      Stop hiring snowflakes who can't or won't get on with the real world.

      If you can't work with a bit of noise and distraction, you're not the rock star you think you are.

      Grow up.

      I cannot work in a noisy environment (office) when trying to focus on analytical problems to be solved. If I want "noise" I can listen to music with earbuds or preferably work at home where I can play the music as loud or as quietly as my fur family allows.

    21. Re:Private Offices by Anonymous Coward · · Score: 0

      And no, despite your best efforts to describe the effects of interruption, there was none. We were working to the same sprint.

      If I want to engage in a sprint I will go for a run or wander into a bad area of town.

    22. Re:Private Offices by Anonymous Coward · · Score: 0

      I remember that one. One of my workplaces had a mix of low and high cubicle partitions. My cubicle was in a junction corner formed from one path giving access to our cubicles, an access corridor to and from the coffee room to other areas. I had a low cubicle partition in that corner. Marketroids and Salesdroids would come back from the coffee room, stop and monkey-jabber with each other right next to my cubicle, even resting their dripping coffee cups on the partition top. Everything from calendars to project charts and freebie tech posters would be stained with coffee run off. I stayed late to go on a secret mission to grab a spare high partition from a vacant area and replace the low partition with it. Next day, everyone else is complaining how that corner now felt like a prison because they couldn't stop and chat.

    23. Re:Private Offices by frank_adrian314159 · · Score: 3, Interesting

      The best teams I've been on worked pretty closely with each other, and often identified bad ideas before they got too far.

      The best teams I worked on had people having enough private space and time to think about the ideas enough so they figured out why the ideas were bad themselves and didn't bother others with them unless they were good ideas.

      --
      That is all.
    24. Re:Private Offices by Anonymous Coward · · Score: 1

      I disagree. I think members of the same team should be located together, rather than isolated in private offices. That way, if you need to bounce an idea off of a teammate, all you need to do is to turn around and talk, rather than having to get up and look for them.

      The one thing that I didn't like about my last boss was that he had this philosophy and it was annoying to be made to pack up your desk and move from a spot that you liked to another just because you were assigned to a new project team. For some people this happened more than once a year. The current boss doesn't do this (one of the few good things about him) because after all we have phones and it's good to get up and stretch your legs from time to time during the day.

      I also prefer the later as then most people tend to only interrupt you when the question is actually important rather than with every idea that comes into their head like they do when they sit next to you.

    25. Re: Private Offices by Anonymous Coward · · Score: 0

      For those whose coworkers are thinking hard, I would recommend writing down your questions and asking them in batches of three or so. This has a lot of benefits:

      Very often, the questions are also known as road blocks. As in go play ping pong until the person who can answer the question is available.

    26. Re: Private Offices by Anonymous Coward · · Score: 0

      Residential AC usually doesn't have any outside air, but typical office HVAC systems have a minimum percentage of outdoor air (10% - 20%) if configured and working properly. Which most aren't. Mini split systems of course don't, and many window units don't. Which type does your office have?

    27. Re:Private Offices by swillden · · Score: 1

      I disagree. I think members of the same team should be located together, rather than isolated in private offices. That way, if you need to bounce an idea off of a teammate, all you need to do is to turn around and talk, rather than having to get up and look for them.

      ... and disrupt three other people in the process. Because, you know, their work isn't as important as your "bouncing ideas".

      Besides, a few years ago, someone came up with the concept of instant messaging, which not only is nice for short messages, but can also tell you whether someone is available without having to get up and look for them.

      In my opinion, the best approach is a combination of instant messaging, good headphones and an open plan office.

      When you want to ask a colleague about something, or bounce an idea off of them, IM them to find out if they're interruptible. If so, you can both spin your chair around and chat. Others nearby are unaffected because they have headphones on and can't hear, but they can easily be pulled in if they're needed. The close proximity and lack of walls also tends to deter slacking (e.g. posting on /.) to some extent, and it enables random conversations that start over coffee runs, lunch, etc. better than if everyone is in offices.

      A key to making this work really well, though, is a strong cultural rule against interrupting without asking via IM, and you should never include the question in the IM unless you are pretty certain it can be answered with approximately zero think time. If you ask a question that requires thought or research, the recipient feels an obligation to drop what they're doing to address your question. I usually send something like "Are you interruptible?", or for some of the people I work with closely and who understand it, I just send "MI" (for "maskable interrupt"). They respond with "y" or "n" as appropriate... and keep the IM window open in the corner of one of their screens (multiple, large screens are another must) as a reminder to ping me back when they reach a good interruption point.

      Actually, my situation is a little different because I work remotely. At times I've had an always-on video conference going to provide a virtual connection between my home office and my team's open plan workspace. I really need to get that set up again. With that in place, though, the same rules apply, except that I replace headphones with muting the VC and playing music on the speakers on my PC (which is needed to drown out noise from the rest of my house anyway).

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    28. Re:Private Offices by Anonymous Coward · · Score: 0

      It's called headphones. Most people respect the headphone wearers...

      If headphones == on; send email
      elif headphones == off; speak quietly and ask questions

      end.

      A developer that feels the need to be alone and not interacting with anyone in the office for their full 40+ hours a week is not a developer that I want to hire. Frankly he/she wouldn't last that long with the team anyway.

    29. Re:Private Offices by computational+super · · Score: 1

      Well, you're answering the question he asked, but not the question he actually wants the answer to: "what is the best working environment for a developer that costs no money and gives me the illusion of absolute control over all of the slackers who I know are spending all of their time goofing off on Facebook and Slashdot and playing video games and die you lazy bastard programmers"

      --
      Proud neuron in the Slashdot hivemind since 2002.
    30. Re:Private Offices by Anonymous Coward · · Score: 0

      Best of both worlds is to have teams isolated then allow a good deal of work from home or some other way for people to work in private when they need too. The worst scenario is when you are in an open space with people you don't need collaborate with. I'm stuck at the edge of what is basically a fancy table more so than a desk and every idiot that walks buy thinks we have to have a smile and nod or a quick chat. Even when I have headphones on. It's like the international symbol for hey stop me from what I'm doing and ask some useless question.

    31. Re: Private Offices by computational+super · · Score: 2

      look for work elsewhere

      Yeah! If you can't get anything done in an open-plan office for this employer, you should go try to get something done in an open-plan office for a different employer!

      --
      Proud neuron in the Slashdot hivemind since 2002.
    32. Re:Private Offices by computational+super · · Score: 1

      He's a "proactive team player with a scrappy, go-getter attitude who rolls up his sleeves and gets things done while leveraging synergy!"

      --
      Proud neuron in the Slashdot hivemind since 2002.
    33. Re:Private Offices by SQLGuru · · Score: 1

      All I need is a pretty big budget for a cloud platform (i.e. AWS or Azure) and some way to connect. I can scale up a VM in the cloud based on how heavy of a load my current project needs....and if I need DEV servers for a database or web server to test some deployments, I just spin them up. etc.

      And a couple of monitors.

    34. Re:Private Offices by computational+super · · Score: 1

      This infuriates me more than it probably should.

      No, this infuriates you just the right amount (or not enough). These people aren't even "bouncing ideas", they're asking "how do I..." They provide nothing and actually create negative productivity: if they just did nothing, they'd add no value, but they actually take time and value away from people who would otherwise create actual value. They're mostly functionally illiterate - that's why they need you to read the documentation to them instead of just reading it themselves. They have massive ADD, so they can't concentrate on anything for more than 30 seconds, which is why they have to interrupt everybody around them.

      --
      Proud neuron in the Slashdot hivemind since 2002.
    35. Re:Private Offices by Anonymous Coward · · Score: 0

      If your idea isn't worth 60 seconds of your time walking to my desk, it's not worth my time either.

    36. Re:Private Offices by firewrought · · Score: 1

      I work on a team. With a high functioning team, the ability to ask and clarify a question, while typing the code, is amazing.

      Were you all working on the same software/product? If the interruption is closely related to what you're focusing on, it doesn't cause the context loss that's so harmful to productivity. That's why some book I read (Peopleware, possibly) recommends private team offices of 2-5 employees each.

      --
      -1, Too Many Layers Of Abstraction
    37. Re: Private Offices by wyHunter · · Score: 1

      Unfortunately since an ever larger percentage of developers are sociopaths, they are the only people in the world, so the fact that you're trying to concentrate does not occur to them.

    38. Re:Private Offices by Anonymous Coward · · Score: 0

      I disagree. I think members of the same team should be located together, rather than isolated in private offices. That way, if you need to bounce an idea off of a teammate, all you need to do is to turn around and talk, rather than having to get up and look for them.

      The best teams I've been on worked pretty closely with each other, and often identified bad ideas before they got too far.

      So, you're one of those selfish jerks who thinks their need to "bounce an idea off of a teammate" trumps their teammate's need to concentrate.

      Developers should have private offices with doors.
      The doors should not be closed all of the time.
      When a door is closed, the need for concentration must be respected.

    39. Re: Private Offices by Zero__Kelvin · · Score: 1

      Said no developer with a clue, ever.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    40. Re: Private Offices by kurkosdr · · Score: 1

      This. In this age of Slack, I can ask any question I want to any developer (for example which certificate to use for internal site X, because there is no documentation for that on the internal wiki) and he can answer at his own leisure and configure his notifications at any level he wants, and we are supposed to believe the open floor plan exists because cooperation? No sir, the open floor plan is so that your developer lead knows if you are wasting time on Reddit Facebook at work. Interruptions are collateral damage. Since the alternative is arbitrary performance goals (to prevent you from wasting time excessively), I will take the open floor plan. I use plugins and custom css to make Reddit and Facebook look like the company's internal wiki anyway ;-)

    41. Re:Private Offices by Shirley+Marquez · · Score: 1

      The book has already been written - Peopleware: Productive Projects and Teams, by Tom DeMarco and Tim Lister. It should be required reading for anybody who manages technology workers. Or manages anybody else for that matter.

    42. Re:Private Offices by Shirley+Marquez · · Score: 1

      You appear to be talking about an office that is open among the members of the team, not a full-on open plan office where everybody in the company is in one huge pit. Very different thing.

    43. Re:Private Offices by Anonymous Coward · · Score: 0

      Wouldn't that make the devs a bit less accountable. Where I work they have a bit of privacy and you often find them on their cells or browsing, also teamwork is non-existent.

    44. Re:Private Offices by Anonymous Coward · · Score: 0

      Yep, I'm basically in the middle of a call-center with people on calls all the way around me. Not fun.

    45. Re: Private Offices by Entrope · · Score: 1

      If you're being blocked like that, one of two things is probably the case: either you're unproductive enough that you only have one small task in your backlog, or somebody really screwed up the problem statement. If it's the former, you shouldn't bother the more productive members of the team. If it's the latter, somebody was probably being lazy and didn't care about derailing productive development time.

    46. Re:Private Offices by Anonymous Coward · · Score: 0

      The best teams I worked on had people having enough private space and time to think about the ideas enough so they figured out why the ideas were bad themselves and didn't bother others with them unless they were good ideas.

      That is arrogance and wrong. The best engineering comes out of looking at the problem from many different viewpoints. By shutting out ideas from the process you lock yourself in to solely your knowledge of solutions and your pre-existing bias about what you think is the best solution.

      "I suppose it is tempting, if the only tool you have is a hammer, to treat everything as if it were a nail." -- Maslow

  2. An open plan office by Anonymous Coward · · Score: 5, Funny

    With a no headphones rule.

    1. Re:An open plan office by Anonymous Coward · · Score: 1

      Do not do this OP! Conversations destroy productivity so quickly if you can't put on some headphones and concentrate. Open offices are terrible as it is, but add in a "no headphones" requirement and it's all over.

    2. Re:An open plan office by Mr0bvious · · Score: 4, Informative

      I second this - developers need to remove them selves from their environment and become engrossed in what they are doing.

      No headphones? That's would be business suicide, any decent developer will likely move very quickly.

      What's the most important thing for devs? IMO being surrounded by like minded devs who enjoy their work. All the fluffy stuff around the office is not going to do anything to keep good devs, we can buy our own fluffy feel good stuff we don't *need* it from our employers (although it is welcome).

      Hardware choices? That's not about keeping devs happy, it's a economic decision. Get them the best hardware you can afford if it makes their job quicker/easier/etc. There's nothing more to it..

      We have our own toys already, I don't give a hoot what hardware I use at work as long as I'm not slowed down or restricted by it. If I am, then you've failed as an business since you're costing yourself hours of waiting for each dev each week, not a smart move.

      --
      Never happened. True story.
    3. Re:An open plan office by Anonymous Coward · · Score: 0

      With no chairs and tables

      With a lot of food.

      There you go, the prefect picnic.

      Oh wait, you wanted an office?

    4. Re:An open plan office by Anonymous Coward · · Score: 0

      Add all calls must be made via speaker phones set to max volume, and impromptu standups must move to another group's area.

    5. Re: An open plan office by Anonymous Coward · · Score: 0

      An environment that isn't full of toxic fist bumping brogrammers pumped from the gym is a good start. Too many shops are full of egocentric rock stars that also happen to be passive aggressive prima donnas.

      Such places are anti-productive.

      Give me a team that wants to build a solid project with high quality code and actually wouldn't mind if they were still working on it in one years time. ...and high cube walls.

    6. Re:An open plan office by Anonymous Coward · · Score: 0

      No shit. Asked my bosses to up my RAM to 16gb and SSD from 256gb to 512gb (hoping for 1tb). Nope. And then they blame me when I'm stuck at around 6gb free because they've had me work on snapshots of several of our massive databases.. "Why don't you have the January snapshot???" "Because I'm working with the Feb snapshot" "Why can't you have both?" "because I put in the ticket for a 512gb SSD and you denied it." "that's a lie!" "Okay, trump."

    7. Re:An open plan office by Anonymous Coward · · Score: 1

      Best?

      Probably not.

      An application developer's primary box should be no better than what their lowest-end user will be using.

      Developers will scream and complain and demand that they have a "development system" that only a few percent of their users will ever get close to. These developers will also create applications that the average user will hate and resent.

      Server-side developers should have as much screen real estate as possible.

      A developer should not be able to touch opposite walls of a cube at the same time. Better yet, take them out of a cube and put them in an open lab with plenty of desk space, and no more than three other co-workers. That's enough for easy collaboration without continual distraction.

      Context switching is terrible.

      Not bouncing ideas off of someone else is also terrible.

      So there's a tradeoff⦠A small enough group in a controlled space to minimize context switching but still allowing for a second set of eyes or ears, so that a day's worth of engrossed work isn't completely useless.

      Hm. What else?

      A developer should have the best keyboard and pointing device available and suited for their preferences. That's their primary interface, after all.

      Any sort of BYOD is a bad, bad idea. It's a business, that's a business expense, the business should pay for it. (I don't take my own advice. I brought my own keyboard in to work.)

      If you don't give developers administrative access to their own boxes, you'd better invest in an IT department that responds with alacrity.

      If you do give developers administrative access to their own boxes, you'd better invest in a good security department and/or a good mentorship program, because the developers will inevitably fall into the habit of doing all their work as root, and their programs will require UID 0, etc. etc.

      The thin client / thick client pendulum swings back and forth. Don't get too caught up in the arguments. People can and have developed good software on both.

    8. Re:An open plan office by Big+Hairy+Ian · · Score: 1

      Just put my desk next to the coffee machine and send pizza

      --

      Build a Man a Fire, and He'll Be Warm for a Day. Set a Man on Fire, and He'll Be Warm for the Rest of His Life.

    9. Re:An open plan office by Anonymous Coward · · Score: 0

      This guy understands it. If you want to do open desk plans, give every employee a nice set of COMFORTABLE, noise cancelling headphones (or let them choose a pair they like that is under X dollars and buy it for them).

    10. Re:An open plan office by computational+super · · Score: 1

      Well, in OP's case - they don't have admin rights on their computers and they have limited storage space. Open office, no headphones, no chairs or A/C and random air horn noises throughout the day probably won't hurt their productivity any more than it already is. You can't go down much from 0.

      --
      Proud neuron in the Slashdot hivemind since 2002.
    11. Re:An open plan office by Anonymous Coward · · Score: 0

      He was kidding.

      If you must suffer an open-plan office, full of random pedestrians, inconsiderate cretins on phones, etc., the answer is very good noise-cancelling headphones, and Icelandic heavy metal.

    12. Re:An open plan office by david_thornley · · Score: 1

      Developers will scream and complain and demand that they have a "development system" that only a few percent of their users will ever get close to.

      Damn straight. My number one desire for a long time has been faster compiles (number two is usually faster testing). I have no objection to having a test system that's at the low end of what my users have, but I want something I can do real work on.

      Pointy-haired boss: "We've decided that a [certain system] is adequate for your use. Besides, how many times are you going to do ray-tracing in your career?"
      Dilbert: "Once, if I hurry."

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  3. Re: Sex orgy by Anonymous Coward · · Score: 0

    Ah, the ol' South Park gay orgy pile.

  4. emacs by Anonymous Coward · · Score: 0

    https://www.gnu.org/software/emacs/

    1. Re:emacs by Anonymous Coward · · Score: 0

      https://www.gnu.org/software/emacs/

      vim, you insensitive clod. Although since the developers in question are likely given an Apple Macbook (ultrabook) maybe e-macs (macs - ha, ha) is the appropriate editor.

    2. Re:emacs by uncqual · · Score: 2

      Each to their own. Personally, I never cared for the editor that comes packaged with that OS.

      --
      Why is there an "insightful" mod and why isn't it "-1"? If I wanted insight, I wouldn't be reading /.
    3. Re: emacs by Anonymous Coward · · Score: 0

      Magnetized needle and a steady hand.

      But I use an ssd you insensitive clod!

  5. the Best one is the unaffordable one by turkeydance · · Score: 1

    according to management.

  6. As far away from Silicon Valley as possible by elrous0 · · Score: 1

    Well, you asked.

    --
    SJW: Someone who has run out of real oppression, and has to fake it.
    1. Re:As far away from Silicon Valley as possible by Anonymous Coward · · Score: 0

      The nearest landmass to the antipode of San Jose is Madagascar. A bit hot and humid for my taste, but YMMV...

  7. VMWARE is the future? by fabriciom · · Score: 1

    There are still people developing outside of a VM???? I feel like Marty McFly.

    1. Re:VMWARE is the future? by Anonymous Coward · · Score: 0

      People who don't want the performance hit, yes.

    2. Re:VMWARE is the future? by guruevi · · Score: 1

      My thought was: There are still people forced to do work on a VD/VM? The last time a company made me use a Citrix instance, the entire office went to the premier of "The Matrix".

      I'm not talking about testing and running final software compiles, but running an IDE over a home-Internet or shoddy company WiFi, even a VirtualBox or VMWare instance just kills productivity.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
    3. Re:VMWARE is the future? by fabriciom · · Score: 1

      I see, the rest of us rather worry about having a 100% working setup than a performance hit. What's easier to backup and restore? Hint a virtual machine image.

    4. Re:VMWARE is the future? by fabriciom · · Score: 1

      Yes all the development jobs I have had in the past 5 years have been within VMWare VMs. Not just for uptime benefits, but also because I work different environments and OSs.

    5. Re:VMWARE is the future? by ls671 · · Score: 1

      What are you talking about? Or, are you still using a CPU without virtualization flags?

      --
      Everything I write is lies, read between the lines.
    6. Re:VMWARE is the future? by Anonymous Coward · · Score: 0

      Docker containers and a plain text editor (vim but emacs if you must) and there is no performance hit for virtualisation.

    7. Re:VMWARE is the future? by Yaztromo · · Score: 1

      What's easier to backup and restore? Hint a virtual machine image.

      Run your tooling inside a Docker container instead. Processes run as local processes without the overhead of virtualization, and the container images can be backed up by pushing them to a repository in a single command. On top of that, Docker container images are way smaller than comparable VM images, as they don't need to store an entire OS as part of the image. In fact, as Docker images are created in layers, two images that share the same base OS layers don't need to store that base OS image layer twice -- in effect, your images are just the diffs from whatever image they are generated from. Way smaller, easier, and faster to backup than a giant VM image.

      Yaz

    8. Re:VMWARE is the future? by Anonymous Coward · · Score: 0

      People who don't want the performance hit, yes.

      for development? why do you need performance for development? if you don't have remote access to performance machines you need, your boss is stupid

    9. Re:VMWARE is the future? by Anonymous Coward · · Score: 0

      Agreed. My work is extremely performance sensitive. Often involves CUDA, external hardware, and parallelization. Unlikely I'd be able to work in a VM.

    10. Re: VMWARE is the future? by Anonymous Coward · · Score: 0

      Except docker is nothing new. Virtuozzo had the same and better capabilities in 2003

    11. Re:VMWARE is the future? by Anonymous Coward · · Score: 0

      Run your tooling inside a Docker container instead.

      doesn't work for enterprise applications that assume control of the machine, because nothing else is ever installed

    12. Re:VMWARE is the future? by coolsnowmen · · Score: 1

      I love docker containers, but I've never met anyone who develops INSIDE one. I develops a pipeline that PRODUCES them though. How would you even user something like eclipse inside of a container? By that time you'd have pulled in all the things you were able to strip out of the base image.

    13. Re:VMWARE is the future? by scdeimos · · Score: 1

      There are still people developing outside of a VM????

      Yes, believe it or not VM's aren't perfect. They can't virtualize everything.

      Game developers, for example, can't run in VM environments because even the "best" of VMware's offerings for Linux, MacOS and Windows only support OpenGL 3.3 and DirectX 10. If you want to be a cheap-ass and try to use VirtualBox then you're limited to OpenGL 2.1 and DirectX 9 which is basically unusable for anything modern.

    14. Re:VMWARE is the future? by OhPlz · · Score: 2

      You learn more about your dev environment by actually installing and configuring the tools. If you have it done for you, you've missed out on some potentially useful knowledge. I'd rather take a very slight hit in productivity by maintaining my own system and not having to worry that the machines we're timesharing on are going to end up overloaded and lag like crazy (which they do). It's even worse if the VMs aren't hosted in the same facility. The WAN has a hiccup and next thing you know, productivity turns to crap.

    15. Re:VMWARE is the future? by Anonymous Coward · · Score: 0

      Can't run GUI tools in docker. Yes you can use VNCserver and then VNC into your docker container, but performance takes a huge hit.

    16. Re:VMWARE is the future? by godrik · · Score: 1

      I am confused. Why would I develop in a VM?

      My machine is setup the way I need to develop my codes. Sure, when I deploy web code, I usually deploy it in a VM. (Though probably I should switch to container.) But what benefit would I have in developing a C library in a VM?

    17. Re:VMWARE is the future? by Anonymous Coward · · Score: 0

      We do, the docker image has the run-time environment and the tooling, the work-space is mapped from the host FS into the container, so you can use your IDE direct on the files etc while all the crappy environment etc is safely tucked away inside the container.

    18. Re:VMWARE is the future? by arth1 · · Score: 1

      Game developers, for example, can't run in VM environments because even the "best" of VMware's offerings for Linux, MacOS and Windows only support OpenGL 3.3 and DirectX 10.

      It could be argued that you don't need to run the programs on the development box. The majority of PS4 developers don't develop on a PS4, for example.

      I'd even argue that development velocity goes down if you frequently interrupt your development work with execution.

    19. Re:VMWARE is the future? by TheRaven64 · · Score: 1

      How do you do performance profiling (so that you know which bits to optimise) on a platform where time is unreliable and most of the CPU performance counters are either unavailable or misleading?

      --
      I am TheRaven on Soylent News
    20. Re:VMWARE is the future? by scdeimos · · Score: 2

      There can be a number of benefits to developing in a VM, at least when what you're developing allows you to do it. One of the main benefits is hardware independence - it's very easy to pick up your VM guest and move it to a shiny new computer, such as getting new hardware upgrades every year, or even changing host operating systems from Windows 7/8/10 to Linux or MacOS.

      If your host dies, due to a hardware problem, power spike, etc., you can run your guest(s) up on a new host from backups very quickly, avoiding the days of setup from scratch you might need otherwise. Restoring host backups to a new one doesn't always work for you due to hardware differences.

      If you're developing multi-OS stuff it's very handy to have a bunch of VM guests on your machine for unit testing, but you'd normally have a test farm of servers/VMs/containers that run tests for the build servers.

      VMs aren't perfect, though, (there are performance impacts for one thing) and not everyone can develop inside VMs due to requirements to access funky hardware or even recent OpenGL/DirectX implementations.

    21. Re:VMWARE is the future? by arth1 · · Score: 1

      What's easier to backup and restore? Hint a virtual machine image.

      Backing up a 40 GB file to catch a few minor changes? Or automated snapshots that freeze up your VM at the most inconvenient moments, and still are far too far between?
      The easiest backup/restore is, in my opinion, to use a version control system.
      The OS and apps can easily be restored from nightly/idletime backups; it's the data you actually work on that should be backed up. Checking in your work in progress shouldn't be more than a couple of keystrokes, to a file system that automatically trickle-backups whenever idle.

      Good old rcs is great for local version control that won't interfere with the corporate version control. I can check in my work in progress locally during the day using a macro, with the RCS directories being rsynced every few minutes. And when I'm done with my changes, I check in to a central repository using a different vcs, and the RCS directories automatically get excluded. I never lose more than a few minutes of work, can roll back and forward in much finer detail, which greatly eases merging, but most of all, no heavy IO takes place slowing down my work. Sure, you can do that in a VM too, but it doesn't buy you anything.

    22. Re: VMWARE is the future? by Anonymous Coward · · Score: 0

      well.. unity works just fine inside the editor for 99percent of the dev time.

      more of an issue is running a development VM inside the VM.

    23. Re: VMWARE is the future? by Z00L00K · · Score: 2

      Virtualization is good for test environments but running development shall be in a non- virtualized computer.

      I have never seen any advantage with a virtual machine for development since there are too many snags and performance penalties involved.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    24. Re: VMWARE is the future? by Z00L00K · · Score: 1

      And if you have multiple screens a vm isn't working well in all cases either. And I have figured out that three displays are ideal.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    25. Re: VMWARE is the future? by Anonymous Coward · · Score: 0

      Who the hell still uses Citrix? VMware is so far ahead it's not even funny.

    26. Re:VMWARE is the future? by tigersha · · Score: 1

      No way. Develope velocity goes way up when you have the program automatically restart tests whenever you press save. I run development with Livereload. When I change one singe thing in CSS or html the webpage updates in an adjacent window. Instantly. It is like you are chaning thing interactively on the fly. Nothing makes me more productive than that.

      --
      The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
    27. Re:VMWARE is the future? by Anonymous Coward · · Score: 0

      I actually find that developing in a crippled VM is really good for my code quality and efficiency: I've seen strange behaviour that "wizzes past" when running on bare metal, yet the resource-starved VM reveals exactly what is going wrong. Of course I don't optimise everything, but I definitely find my code quality goes up and my customers are happier as the program runs very well on their real hardware.

    28. Re:VMWARE is the future? by Anonymous Coward · · Score: 0

      Can't run GUI tools in docker. Yes you can use VNCserver and then VNC into your docker container, but performance takes a huge hit.

      You can if your operating system supports Xserver or its equivalent.

    29. Re:VMWARE is the future? by dave420 · · Score: 1

      The snapshots are incremental.

    30. Re:VMWARE is the future? by arth1 · · Score: 1

      The snapshots are incremental.

      Yes, and in VMware at least, they still take several seconds of blocking (followed by several minutes of high CPU/IO use when the oldest snapshots are merged to make room for a new snapshot).
      Automated snapshot in VMware is a true productivity killer. Manual ones are much better, but still a huge disk space sink.

  8. Virtual Environments Rock! by Anonymous Coward · · Score: 0

    Get VMWare or an equivalent. Get volume licenses on OS's and any software that people can share. Configure images if different OS's with different versions and combinations of software that everybody/anybody needs. Put it on the network so anybody can share it.

    While developing, keep 'snapshots' of stable images you are using. When you run into a bug, grab the last snapshot, reproduce the bug, file a bug report, grab the last snapshot, find a workaround and put it into the bug report. Continue developing.

    It's the only way to go!

  9. Too many companies in the Seattle area... by Anonymous Coward · · Score: 1

    give Asians three or more weeks off since their plane tickets are so expensive and require so much travel time off considering travel to India takes so much time. So of course American developers get screwed.

    1. Re:Too many companies in the Seattle area... by Anonymous Coward · · Score: 0

      This. Too many companies give Asians time off whilenot giving American time off.

    2. Re:Too many companies in the Seattle area... by __aaclcg7560 · · Score: 1

      I get 20 PTO days per year and last year I got an extra month of pay as a Christmas bonus. But I work in IT support. I also work in government IT. Never mind.

    3. Re:Too many companies in the Seattle area... by Anonymous Coward · · Score: 0

      They need more time off considering how long it takes them to fly home. That's why they get time off while normal people get no time off.

    4. Re: Too many companies in the Seattle area... by Anonymous Coward · · Score: 0

      This. Vacation inequality makes us want to die.

    5. Re: Too many companies in the Seattle area... by Anonymous Coward · · Score: 0

      We don't get any time off since they need three+ weeks off.

    6. Re: Too many companies in the Seattle area... by Anonymous Coward · · Score: 0

      White people dont deservw vacation time.

    7. Re: Too many companies in the Seattle area... by Anonymous Coward · · Score: 0

      Last company I was at had an equal vacation system for all and would attempt to get an H1B, but no special bribery/magic that would otherwise be required to actually get them. We had plenty of Asians working for us, but no Indians. Funny that...

    8. Re: Too many companies in the Seattle area... by Anonymous Coward · · Score: 0

      We need longer time off to fly to Asia. You people shouldn't get time off.

    9. Re: Too many companies in the Seattle area... by Anonymous Coward · · Score: 0

      This. Us Asians need weeks off.

    10. Re: Too many companies in the Seattle area... by Anonymous Coward · · Score: 0

      They are privileged so it is good they don't get time off.

    11. Re: Too many companies in the Seattle area... by Anonymous Coward · · Score: 0

      This. Glad Microsoft doesn't allow whites time off.

    12. Re: Too many companies in the Seattle area... by Anonymous Coward · · Score: 0

      Or women. Too many of them decide to become breeders.

    13. Re: Too many companies in the Seattle area... by Anonymous Coward · · Score: 0

      They made us slaves so they should get no time off.

    14. Re: Too many companies in the Seattle area... by Anonymous Coward · · Score: 0

      Asians deserve more than those white people.

    15. Re:Too many companies in the Seattle area... by Anonymous Coward · · Score: 0

      no

    16. Re: Too many companies in the Seattle area... by Anonymous Coward · · Score: 0

      Women need to be taught to be strong and resist those men.

    17. Re: Too many companies in the Seattle area... by Anonymous Coward · · Score: 0

      youre assuming theyre not taking LWOP...

    18. Re: Too many companies in the Seattle area... by Anonymous Coward · · Score: 0

      Exactly. Glad Microsoft doesn't give white people time off.

    19. Re:Too many companies in the Seattle area... by Anonymous Coward · · Score: 0

      I feel sorry for you, really.

      I get 28 days vacation per year. Sick days do not count against it and when you get sick during your vacation time you get the vacation days back.

      But then I live in a country where I can just go to the doctor when I'm sick and not to the bank to get a credit first to pay for my health care...

    20. Re:Too many companies in the Seattle area... by 110010001000 · · Score: 1

      Yay! Free taxpayer money, right? Hooray for the non-leeches who pay their taxes!

    21. Re:Too many companies in the Seattle area... by __aaclcg7560 · · Score: 1

      Yay! Free taxpayer money, right?

      Correct! A $3,000 tax credit that George W. signed into law after 9/11 paid for my A.S. degree in computer programming and I went from being a lowly paid video game tester to a highly paid IT support technician.

      Hooray for the non-leeches who pay their taxes!

      If only millionaires and billionaires would pay their fair share...

  10. I'm glad someone finally asked by redmid17 · · Score: 0

    I've been a part of several groups that conducted this exact type of exercise. Hopefully you get all the answered you need.

  11. Whatever they feel like by Anonymous Coward · · Score: 0

    Good developers will obtain the tools they need. Either by request or surreptitiously, as necessary. Or they will quit.

    1. Re:Whatever they feel like by PPH · · Score: 1, Troll

      Then let them quit. OP has over a thousand devels and giving everyone admin access and the ability to select their own tools will turn into a nightmare. There will be a thousand different environments. One person quits, gets sick or goes on vacation and his cow-orkers will have to reverse engineer all of his shit to keep production running. Nobody in a shop that size is that good.

      If you want free reign to select your own tools, work for yourself in your basement.

      or surreptitiously, as necessary.

      You're fired.

      --
      Have gnu, will travel.
    2. Re:Whatever they feel like by tnnn · · Score: 1

      You shouldn't depend on any local environment (standardised or not). Just implement one simple rule: to accept any code it has to build (and work) correctly on a standardised, external system. Your developers can use whatever tools they want, just provide them with an access to a developer instance of said standardised system (be it either dev server or a simple VM image).

    3. Re:Whatever they feel like by wwphx · · Score: 1

      SO MANY problems I have seen when devs have admin rights on their boxes! If you want more reliable software, I think the first step is to make the devs run under the same OS permissions as the users. As far as selecting your own tools, I can't comment on that. Maybe the company is multi-platform. Myself, there are my preferred editors and such that I want, but that's no big deal.

      --
      When you sympathize with stupidity, you start thinking like an idiot.
    4. Re:Whatever they feel like by awyeah · · Score: 1

      > but that's no big deal

      Actually, that very much _is_ a big deal. Using the tools you are familiar with and make you work the fastest is a huge performance enhancer.

      For example: My coworkers use the Eclipse IDE. I use IntelliJ IDEA because I'm way more accustomed to it and it's faster for me. It interoperates completely with Eclipse (formats the code the same way, etc), so it's totally invisible to them that I'm using it.

      --
      Why, no, I haven't meta-moderated lately. Thanks for asking!
    5. Re:Whatever they feel like by awyeah · · Score: 1

      > SO MANY problems I have seen when devs have admin rights on their boxes! If you want more reliable software, I think the first step is to make the devs run under the same OS permissions as the users.

      Wrong. As long as we have the ability to test in the same environment, that is what's important. Your own machine makes a really poor test environment.

      If you want more reliable software, improve your developers' skills, add QA resources, write more unit tests, do test-driven development. Don't make things more difficult for your developers.

      --
      Why, no, I haven't meta-moderated lately. Thanks for asking!
    6. Re:Whatever they feel like by awyeah · · Score: 1

      Then let them quit. OP has over a thousand devels and giving everyone admin access and the ability to select their own tools will turn into a nightmare. There will be a thousand different environments. One person quits, gets sick or goes on vacation and his cow-orkers will have to reverse engineer all of his shit to keep production running. Nobody in a shop that size is that good.

      If you want free reign to select your own tools, work for yourself in your basement.

      That whole statement is just silly. If you have to rely on a particular developer's "environment" to be correct, you're setting yourself up for failure. The scenario you're describing sounds like amateur hour.

      In a well-run development shop, anyone should be able to check out the code from version control and be up and running relatively quickly, because everything is in version control and is well-documented.

      --
      Why, no, I haven't meta-moderated lately. Thanks for asking!
    7. Re:Whatever they feel like by PPH · · Score: 1

      If you have to rely on a particular developer's "environment" to be correct, you're setting yourself up for failure. The scenario you're describing sounds like amateur hour.

      Google around for some of the pissing matches about tabs vs spaces. Ideally, I'd like to let the devs make their own choices. Use vi or emacs, I don't care. But if my company is going to degenerate into this sort of in-fighting then I'm going to put my foot down and make a choice. And if you don't like the tab stops I chose, there's the door.

      --
      Have gnu, will travel.
    8. Re:Whatever they feel like by Rophuine · · Score: 1

      I once started at a company which was in the middle of a tabs-vs-spaces pissing match. Their staff turn-over was huge - they had the entrenched long-termers (who got involved in things like pissing matches over white-space) who hung around, and it was a revolving door for everyone else: nobody wanted to hang around that environment. I lasted eight months, and should have left much sooner - lesson learned. I promised myself that if I ever walk into a company which is genuinely having these sorts of in-fights again, I'll turn around and leave on the spot. There are too many good opportunities to stay at companies that hire middle-aged teenagers.

      The flip-side is that I've been doing team-lead roles for quite a while now, so I guess it's my job to fix that kind of thing. We're not being paid to have fights over rubbish like that - we're being paid to develop high-quality, well-tested, maintainable software. Anyone who wants to waste time and harm morale in drawn-out fights over white-space can get out.

    9. Re:Whatever they feel like by awyeah · · Score: 1

      Tabs vs spaces is a code style issue, and code style issues ought to be agreed upon, at least on a per-project basis if not company wide. I was thinking more along the lines of "I want to use Eclipse, you want to use NetBeans, and this other guy wants to use IntelliJ" - as long as people can conform to company standards, the choice of tools used is a personal one.

      --
      Why, no, I haven't meta-moderated lately. Thanks for asking!
  12. obligatory reference, by Anonymous Coward · · Score: 0

    to a previous article.
    https://developers.slashdot.or...

    evidently not the Gorean enviroment.

  13. As much dev control as is practical by Anonymous Coward · · Score: 2, Insightful

    BYOD followed by CYOD followed closely by a Linux laptop with sudo access. Development is a creative process, and every developer has their own set of tools and workflow productivity scripts and utilities that make their process work best for their mindset. Hiring a developer and than insisting that they use your management chosen laptop, with your management chosen OS, with your management chosen text editor and so on and so forth is like hiring a painter to make a portrait, but insisting they use your easel, your paints, your brushes and your canvas. Yes, it's possible to get good results like this, and yes some people will even do it, but ultimately it will cost you more, either in pay, time or resources.

    Obviously some amount of standardization is necessary (version control, language etc) but as much as is practicable (even to the possibility of different IDEs), allow your developers to setup and control their personal dev environment however they want it.

  14. Quiet workplace and free soda by thesjaakspoiler · · Score: 1

    is all that I would like to see. As if all the things matter when I'm staring all day at a text editor having to work with existing tools anyway.

  15. MacBook Pros... by __aaclcg7560 · · Score: 1

    At some of the Fortune 500 companies I've worked at, MacBook Pros were standard issue for having the Mac OS with Unix command line and the ability to run Windows or Linux in VM or multi-boot. Engineers loved them.

    1. Re:MacBook Pros... by Proudrooster · · Score: 1

      I agree, I have been doing python, flask, jinja, and heroku lately. The Mac is a breeze to setup and use. I still don't have my dual boot Windows 10 working quite right yet. However, if you are using Visual Studio, native Windows is probably the best way to go. :)

      The other thing I like about the Mac is the touchpad. I can actually use it for development sitting in a comfortable chair unlike the best Windows 10 touchpad. The right/left click dividing line and lack of useful gestures is painful.

    2. Re:MacBook Pros... by Anonymous Coward · · Score: 0

      Having migrated from a MacBook Pro to a Surface Book four months ago I have to say that you're wrong. The SB touchpad is about the same size and feel as the 2015 MBP 13" touchpad, it supports gestures (I couldn't live without half a dozen desktops) and of course you can right-click with two fingers anywhere. The keyboard also has a better feel than the MBP. Its "springiness" is somewhere between the 2011 MBP 15" and 2015 MBP 13": soft enough to type comfortably without a compromise in the key travel distance which made 2015 and especially 2016 MBPs feel like typing on concrete.

      Bonus points: both machines are at the same, exorbitant price point!

    3. Re:MacBook Pros... by Proudrooster · · Score: 1

      The right-click with two fingers makes all the difference. I will have to check it out. What about the display? The retina display is king and when viewing text colors in my source editor I can easily view them all. At work we have some of the crappiest external monitors and seeing a dark blue on black is nearly impossible.

    4. Re:MacBook Pros... by Anonymous Coward · · Score: 0

      And what's wrong with Linux exactly?

      You bloody mocha coffee scarf wearing yoghurt weaving hipster you!

    5. Re:MacBook Pros... by Anonymous Coward · · Score: 0

      Terrible option. If you need both Windows and Unix shell, try Cygwin or one of its alternatives. No technology has ever impeded my productivity so much as Apple technology.

  16. Sounds like they already answered this by OhPlz · · Score: 4, Insightful

    If they want to pick their own tools, let them. I don't understand this fear of giving developers admin access to their machines. What do you think is going to happen if they get this supremely powerful level of access? If some are happy with VMs, let them use VMs. If some want to install, configure, and update their tools manually, let them. If it becomes a problem for a specific developer, steer them towards a VM instead. If you can't trust developers to maintain their system then you probably shouldn't be trusting them to write your company's code either.

    It seems like our uber powerful dev machines are turning into expensive terminals and the ESX cloud is our new time sharing mainframe. Everything old is new again.

    1. Re:Sounds like they already answered this by __aaclcg7560 · · Score: 1

      It seems like our uber powerful dev machines are turning into expensive terminals and the ESX cloud is our new time sharing mainframe.

      From a security point of view, it should be that way. If the laptop or workstation gets physically compromised (i.e., lost at the airport or stolen in shipment), the thieves will only have the hardware.

    2. Re:Sounds like they already answered this by OhPlz · · Score: 1

      They only have the hardware if the drive is encrypted and the user is using a decent password. You'd want the drive encrypted anyway since there's likely to be sensitive material stored locally by the user in addition to what IT knows about. This isn't a valid reason to force developers to use VMs, IMO.

    3. Re:Sounds like they already answered this by __aaclcg7560 · · Score: 1

      They only have the hardware if the drive is encrypted and the user is using a decent password.

      Encrypted hard drives for the desktop is coming to my work this year (laptops are already encrypted). Users need to have their badge (something they have) and PIN (something they know) to access their laptop or workstation. The only local data users may have is their Outlook archive.

    4. Re:Sounds like they already answered this by Snotnose · · Score: 1

      I can't think of a single tool I've wanted to install in the past 30 some odd years that required admin access. Then again, I grew up in a Unix environment and learned to deal with not being able to fark with /bin.

    5. Re:Sounds like they already answered this by Anonymous Coward · · Score: 0

      The trouble with drive encryption is that there is always someone who "Knows all about encryption" that will find a way to lock everyone (including themselves) out of that system that just happens to have that critical code on it that is Absolutely Critical.

    6. Re:Sounds like they already answered this by Anonymous Coward · · Score: 0

      Full disk encryption negates the benefits of not using a VM with the performance degradation. Might as well us a VM at that point.

    7. Re:Sounds like they already answered this by OhPlz · · Score: 1

      Hardly. You can get self-encrypting drives (SEDs) if you're that concerned, or let the CPU cores that normally go underutilized do something useful. Even my Android phone has encryption. If a phone can do it without killing the user experience or the battery, there's no reason a PC can't.

    8. Re:Sounds like they already answered this by Anonymous Coward · · Score: 0

      Wireshark

    9. Re:Sounds like they already answered this by geekmux · · Score: 3, Informative

      If they want to pick their own tools, let them. I don't understand this fear of giving developers admin access to their machines. What do you think is going to happen if they get this supremely powerful level of access? If some are happy with VMs, let them use VMs. If some want to install, configure, and update their tools manually, let them. If it becomes a problem for a specific developer, steer them towards a VM instead. If you can't trust developers to maintain their system then you probably shouldn't be trusting them to write your company's code either.

      From a security point of view, you've painted a fucking nightmare. Look at how the average user chooses passwords when given the complete freedom to use "123456". Update tools manually? That would be never, because maintaining security patches takes time and effort they don't want to be bothered with that. Give them local admin rights and they'll install any development tool they feel like using, including ones that may need to be licensed properly in order to be legal in a business or corporate environment. They would bitch about disk encryption slowing their system down, so of course let's disable/uninstall that, dismissing any concern of IP or weeks of work gone due to laptop theft or loss, which of course leads into the next issue of local storage, as they would bitch about network speeds being too slow when doing work across any wire, so all work will be stored locally with no backups, ready to fall victim to hardware failure.

      There's a reason you hire competent IT professionals and developers, because the latter does not replace the former; has nothing to do with trust.

      It seems like our uber powerful dev machines are turning into expensive terminals and the ESX cloud is our new time sharing mainframe. Everything old is new again.

      Users suck at security. Always have. Nothing is new, other than the threat of compromise or data loss increasing year after year, and tools being rather necessary to counteract that threat. Risk mitigation is the name of the game today.

    10. Re:Sounds like they already answered this by Anonymous Coward · · Score: 0

      Look at how the average user chooses passwords when given the complete freedom to use "123456".

      Where do you work that the average user gets access to developer machines?

    11. Re:Sounds like they already answered this by geekmux · · Score: 1

      Look at how the average user chooses passwords when given the complete freedom to use "123456".

      Where do you work that the average user gets access to developer machines?

      From a security perspective, I was including developers in that description of average users.

    12. Re:Sounds like they already answered this by tbannist · · Score: 1

      From a security perspective, I was including developers in that description of average users.

      That may be indicative of problems in your hiring methodology, management, and/or employee conduct standards.

      --
      Fanatically anti-fanatical
    13. Re:Sounds like they already answered this by OhPlz · · Score: 1

      What you call a nightmare, I call an effective R&D organization. IT is a barrier to engineers being successful. Forced compliance with no input from engineering means that engineers will spend a lot of their time trying to find work-arounds for things they need to do but have had roadblocks put in place. Any decent developer knows the value of strong passwords and encryption. If you have numb-nuts that don't understand that, they shouldn't be in your codebase. They're incompetent. Yes, developers tend to postpone updates. I'm an offender there. Why? Context switching costs time which costs money. Once the system resets there's a cost associated with getting back to the previous point, looking at whatever code, docs, tests, remote systems, etc. It's a balancing act. The wrong solution is forcing updates and rebooting systems in the middle of presentations or some tricky debugging. Again, there's a cost there. IT has no place in engineering unless they're specifically requested.

    14. Re:Sounds like they already answered this by Delwin · · Score: 1

      iotop

    15. Re:Sounds like they already answered this by geekmux · · Score: 1

      From a security perspective, I was including developers in that description of average users.

      That may be indicative of problems in your hiring methodology, management, and/or employee conduct standards.

      Given the fact that society has not changed one bit regardless of the increasing risk, I'd say it's more a problem of you not understanding human behavior.

      The top 10 worst passwords have not changed in decades, standing in the face of increasing risk of hacking and identity theft because of shitty passwords. That clearly says one thing; humans don't give a shit about security.

      It doesn't even matter anymore as to why, as many have given up on understanding that. Doesn't matter if it's the It'll-never-happen-to-me syndrome, or I-don't-give-a-shit syndrome. The fact of the matter is human behavior has not changed, no matter what the risk is.

      Because of this, it doesn't matter how hiring practices are modified. And these days, management cannot afford to lose a valuable asset, even temporarily, so little value is placed on security enforcement.

    16. Re:Sounds like they already answered this by geekmux · · Score: 1

      What you call a nightmare, I call an effective R&D organization. IT is a barrier to engineers being successful. Forced compliance with no input from engineering means that engineers will spend a lot of their time trying to find work-arounds for things they need to do but have had roadblocks put in place. Any decent developer knows the value of strong passwords and encryption. If you have numb-nuts that don't understand that, they shouldn't be in your codebase. They're incompetent. Yes, developers tend to postpone updates. I'm an offender there. Why? Context switching costs time which costs money. Once the system resets there's a cost associated with getting back to the previous point, looking at whatever code, docs, tests, remote systems, etc. It's a balancing act. The wrong solution is forcing updates and rebooting systems in the middle of presentations or some tricky debugging. Again, there's a cost there. IT has no place in engineering unless they're specifically requested.

      "Specifically requested" implies that engineers know how to manage their own environments, and are security experts. Reality shows they are clearly not, and the importance of security overriding business demand whenever necessary.

      Much like the ambulance racing through the city streets ignoring traffic lights, I don't give a shit what the fuck what users assume is the priority du jour. An InfoSec professional is hired and on staff to ensure systems are protected at all times, not when it's merely convenient.

    17. Re:Sounds like they already answered this by OhPlz · · Score: 1

      They don't need to be security experts to know that they shouldn't run unencrypted drives on portable systems, the importance of good passwords, not running executables sent via email, etc. What do you think is going on with their dev environments that's so critical you need to have a security team to manage it? What you propose leads to a nightmare of locked down IT approved setups that are practically useless for getting development work done, and then you have a separate set of systems and network for doing the real work that is not IT encumbered. It doesn't achieve anything. IT generally refuses to acknowledge the needs of engineering and does nothing put but roadblocks in their way. That's not the role of that organization. You'll end up with very secure systems that will be sold for cheap at auction after the company is bankrupt and out of business.

    18. Re:Sounds like they already answered this by geekmux · · Score: 1

      They don't need to be security experts to know that they shouldn't run unencrypted drives on portable systems, the importance of good passwords, not running executables sent via email, etc. What do you think is going on with their dev environments that's so critical you need to have a security team to manage it?

      What is going on in dev environments is often an abundance of sensitive data and code that is of high value to a corporation, and does not need to be inadvertently leaked to the competition via a hack or attack on systems. Do they need to be security experts? No. Do they need to be armed with common sense to ensure they follow security policy properly? Yes. The problem is they often fight common sense and best practice when it comes to security policy.

      What you propose leads to a nightmare of locked down IT approved setups that are practically useless for getting development work done, and then you have a separate set of systems and network for doing the real work that is not IT encumbered. It doesn't achieve anything. IT generally refuses to acknowledge the needs of engineering and does nothing put but roadblocks in their way. That's not the role of that organization. You'll end up with very secure systems that will be sold for cheap at auction after the company is bankrupt and out of business.

      What I propose is a system of standards that is adhered to based on best practice and common sense to avoid systems being hacked, and all of the intellectual property is stolen, which is also a path towards bankruptcy. Secure systems and processes achieve a goal by insulating a business from that threat. At the end of the day, it's all about risk management and mitigation efforts, which 99% of corporate users believe it will never happen to them, helping feed an insecure mentality.

      Most InfoSec professionals can show the error of human ways based on historical events. What they cannot do is change those ways, so history will sadly repeat itself.

    19. Re:Sounds like they already answered this by wyHunter · · Score: 1

      Additionally, I want to write code, not do sysadmin work. I did sysadmin work in 1987, I don't want to do it anymore. It's not bad work, it's just not what I want to do. I don't WANT to have to administer my machines.

    20. Re:Sounds like they already answered this by OhPlz · · Score: 1

      They fight the policies because the policies are forced on them by IT people that have no clue what engineers need. Every request to deviate from "the policy" is met with people like you proclaiming they're "fighting" the corporate IT policies. They just want to get their jobs done, which is what IT traditionally was there for, to help people get work done.

    21. Re:Sounds like they already answered this by geekmux · · Score: 1

      They fight the policies because the policies are forced on them by IT people that have no clue what engineers need. Every request to deviate from "the policy" is met with people like you proclaiming they're "fighting" the corporate IT policies. They just want to get their jobs done, which is what IT traditionally was there for, to help people get work done.

      IT professionals just want to get their job done as well, which part of that duty is to ensure that systems and networks remain secure while helping people get their work done. Security policies are forced by the statistics and risks that justify their existence and enforcement.

      People use cars to do the job of transportation. They don't wear seat belts because they're just going around the corner. They only had a little to drink. They respond to one more text message. They speed through a red light because they're in a hurry. These insecure actions ignore risk, and fight policies that exist for valid reasons. Unfortunately, we know what the end result is when security is ignored. The life of a person is at risk in this scenario. The life of a company is at risk when you look at the parallels.

      "You're just being overprotective. It'll never happen to me." - famous last words.

    22. Re:Sounds like they already answered this by tbannist · · Score: 1

      Given the fact that society has not changed one bit regardless of the increasing risk, I'd say it's more a problem of you not understanding human behavior.

      I'm not talking about society, I'm talking about the people your company is hiring to write the supposedly secure software that your company presumably sells. The way I see it, if you can't trust your developers to keep their lap tops encrypted (after telling them they are required to do so), to not lose their lap tops, to not pirate software, and to back up their work regularly on the network SCM server, you shouldn't be trusting them do any work for you at all. To put it bluntly, your company seems to be hiring incompetent and irresponsible children. Frankly, if I knew where you worked, I would avoid having anything to do with any software that comes from your company because your employees appear to be fundamentally incompetent at their jobs.

      I expect more from the people who work for me, and I get that from them because I expect them to act like adults and I can and do fire people who can't meet minimum standards.

      --
      Fanatically anti-fanatical
    23. Re:Sounds like they already answered this by Rophuine · · Score: 1

      If you have Absolutely Critical code that's sitting on a developer's machine with no other copies or backups, you kinda deserve to lose it.

    24. Re:Sounds like they already answered this by Rophuine · · Score: 1

      I've seen so many security disasters caused by "IT professionals" who are just focused on enforcing security policies. My favourite example was a major client who spent months trying to get their IT security division to play ball on a project, but every effort proved fruitless - the firewalls and network security policies were there for a good reason, dammit, and they weren't prepared to compromise on security.

      Faced with pressure to get the project completed, the project team ended up plugging in heaps of 3g modems all over the site, to allow network connectivity to the systems they needed external access to. This access went in with no network-level access controls or firewall, and to the best of my knowledge they're still there, years later.

      Would I have done that? No. I would have resigned first. But these people had jobs and liked keeping them, and faced with the certainty of a failed project, or the possibility of someone (probably not them) taking a fall over breaching security policy, they went with whatever got the job done. The project manager met his KPI, the team got to move on to other projects, and security got to feel smug because they kept their network security policies intact.

      I saw the whole debacle happen (and I've seen plenty of similar situations over the years), and in my opinion it's been a failure of the security team just about every time. Facing a choice between:
      a) Enabling engineers to solve business requirements while ensuring there are effective and well-managed security controls, or
      b) Enforcing security as a top priority, with little regard for the requirements of other business divisions,
      security teams often just go with option b. They pretend the inevitable workarounds aren't their fault.

      Every time they say "yes" to something which increases security risk, the security team risks something going wrong - but every time they say "no" they risk people coming up with their own work-around instead. Security teams should be enablers - finding ways to secure what needs to be done. Once they become known as deniers, they'll just end up fighting an adversarial battle with their own colleagues. That doesn't result in effective security.

    25. Re:Sounds like they already answered this by geekmux · · Score: 1

      I've seen so many security disasters caused by "IT professionals" who are just focused on enforcing security policies. My favourite example was a major client who spent months trying to get their IT security division to play ball on a project, but every effort proved fruitless - the firewalls and network security policies were there for a good reason, dammit, and they weren't prepared to compromise on security.

      Faced with pressure to get the project completed, the project team ended up plugging in heaps of 3g modems all over the site, to allow network connectivity to the systems they needed external access to. This access went in with no network-level access controls or firewall, and to the best of my knowledge they're still there, years later.

      Would I have done that? No. I would have resigned first. But these people had jobs and liked keeping them, and faced with the certainty of a failed project, or the possibility of someone (probably not them) taking a fall over breaching security policy, they went with whatever got the job done. The project manager met his KPI, the team got to move on to other projects, and security got to feel smug because they kept their network security policies intact.

      I saw the whole debacle happen (and I've seen plenty of similar situations over the years), and in my opinion it's been a failure of the security team just about every time. Facing a choice between: a) Enabling engineers to solve business requirements while ensuring there are effective and well-managed security controls, or b) Enforcing security as a top priority, with little regard for the requirements of other business divisions, security teams often just go with option b. They pretend the inevitable workarounds aren't their fault.

      Every time they say "yes" to something which increases security risk, the security team risks something going wrong - but every time they say "no" they risk people coming up with their own work-around instead. Security teams should be enablers - finding ways to secure what needs to be done. Once they become known as deniers, they'll just end up fighting an adversarial battle with their own colleagues. That doesn't result in effective security.

      Security should always be treated as a balancing act. The first thing any good InfoSec professional does after creating a security policy is create a process to request for a waiver or exception to security policy, so that it is fully vetted and justified. This is also a good CYA move for when an exception creates a vulnerability that gets hacked.

      While the bullshit pulled in your scenario above may have "gotten the job done", it created massive risk that is likely "still there, years later", with little or no controls in place to detect intrusions or attacks into systems that went around security protocol designed to protect the corporate enterprise. When security is supported from the top of the organization as a priority, it gets the respect it deserves. Those organizations who treat security as a bothersome burden are the ones filled with holes and usually end up getting hacked. Security teams ARE enablers; they enable the business to maintain IP and value in order to continue being a viable business. Attitudes that dictate otherwise are ignorant to the reason security teams, policies, procedures, and mandates are a necessary component of business today.

      And those that pull bullshit end-around games should be disciplined for violating security policy. There is no valid excuse if you have a process in place to request and justify exceptions. Above all, every employee should understand and respect the fact that everyone has a job to do in an organization.

    26. Re:Sounds like they already answered this by OhPlz · · Score: 1

      Security teams are generally a roadblock that is nearly impossible to get around. Good luck getting an exception if it has to run through multiple levels of executive management. That's why people implement work-arounds. No one is getting fired for enabling revenue. People will be terminated for failing, whether or not it was blocked by IT/security. You want to hold developers responsible? Hold security responsible first. Stop them from being a roadblock. Remind them of their complete mission, not just the one about saying no.

  17. I would like you to share your experiences on BYOD by wjcofkc · · Score: 1

    You pretty much nailed it right there. The last time (and I mean I am never going back, different story) I was in that situation, there was no problem with me bringing in my own kit. I had my own System76 laptop, used Awesome WM, and so on. The key is that I was able to demonstrate that my preferred way of doing things was fundamentally compatible with doing what I needed to do with everyone else. I had to do some hacking to get that done, but that was allowed itself. Okay, so I suppose an environment with thousands of developers working together (???), things may need to stretch a bit, but when you talk of internal dev environments you hit another nail. You are asking for openness that will allow people to use their brains as individuals most effectively while also using their brain effectively with oh so many others. What you need is a voice. What you need is a platform whereby all those different voices can come to a consensus on what can and can't be for work to be effective outside of what the overlords give you under their best intentions. With all that said, you need a voice the overlords will listen to. There, I have no advice.

    --
    Brought to you by Carl's Junior.
  18. Good Setup by Murdoch5 · · Score: 5, Interesting

    This would be my recommended list:

    1) Give them the choice of OS, Linux or if they have to suffer, Windows / Mac.
    2) Unlock the notebooks so they have absolute full control of them, that includes admin accounts.
    3) Stop using Ultra-books, use high end notebooks with loads of Ram, good M2 / SSD Storage and high end processors.
    4) Don't use any kind of virtual environment, they just have no performance to offer and should never be used in a desktop setting.
    5) Open the development tools and let them use what they want.
    5) Standardise to GIT for the SCM, as it's the only good SCM tool on the market.
    6) Use good team communication tools.
    7) Try to steer clear of Microsoft based tools, for instance TSF, it's a giant pile of steaming shit.
    8) Allow BYOD.
    9) Give every developer a multi head setup with good keyboards and mice, this never gets acknowledged, but a good Mechanical keyboard is essential.
    10) Every developer should have a stand up desk, that can also covert to a sitting position.
    11) All the developers should have isolated build servers, that they have near full control over, maybe not the root account, but damn near.
    12) Don't allow IT to dictate how the computers for the developers are used.
    13) Buy high quality chairs that are designed for long work sessions, they can be pricey but they're worth it.
    14) Allow developers to have full flex time, so they don't have strict hours, they can work 8 hours over the course of the day.
    15) Don't allow management to over plan meetings.


    Basically treat the developers like the rockstars they are.

    1. Re:Good Setup by Anonymous Coward · · Score: 0

      16) Free unlimited caffeine no more than 100 feet away.

    2. Re:Good Setup by fabriciom · · Score: 1

      If you ever called me a rockstar or even hinted I was one I would be requiring a pay increase ASAP...

    3. Re:Good Setup by Anonymous Coward · · Score: 0

      You forgot - make sure they have a quiet place to work uninterrupted.

    4. Re:Good Setup by jonsmirl · · Score: 1

      Often IT does not understand how important a lot of RAM is to developers. I basically can't use anything with less than 32GB of RAM. Anything less and my environment will start pounding on the disk and everything takes 5x as long to run. One time I was forced to use a 4GB machine and a build that normally took an hour turned into 18 hours. Phooey on that, I made myself an EC2 login on AWS and started building there until I got my 32GB laptop back. CPU performance doesn't seem to matter that much, current Intel CPUs are all reasonably fast. Best bang for the buck is to use ASUS ROG gaming laptops for developers.

    5. Re:Good Setup by angel'o'sphere · · Score: 1

      To much tech talk.
      8) hu? who knows what that acronym means?
      5) hu? sure, I prefer GIT, too. But your statement is just idiotic!
      1) what is the difference between Linux and Mac OS? Considering your post I doubt you will be able to correctly tell me 5 differences.
      9) 'multi head set up', wow, who again is comprehending this kind of slang?
      Ah yes, the point why I actully answered was 4)
      How much CPU performance do you lose running you beloved Linux in a VM on a Mac under Mac OS X?
      Hint: a person can not notice the difference. Even if you would utilize the CPU(s) 100%, you barely would be able to quantify the difference over the course of a few days.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    6. Re:Good Setup by Murdoch5 · · Score: 1

      Totally Agree.

    7. Re:Good Setup by Murdoch5 · · Score: 1

      To much tech talk.
      8) BYOD is commonly a understood term, if your management team / IT team / Development team, doesn't understand what it means, your in trouble. Even if they didn't , which I'm pretty sure would be grounds to leave the company, if you can't explain it's "Bring your own device", you probably shouldn't work there.
      5) Not at all, I've used many different SCM's and all of them are garbage compared to GIT.

      Perforce decided to random delete and corrupt several repo's, causing massive data loss.
      SVN allowed one of the developers I was working with to delete the root ..... why that's even possible is beyond me.
      Microsoft's solution constantly corrupts code commits, to the point they can't be repaired.

      1) Mac OS isn't based on Linux, it's based on BSD Unix, which means you don't understand the difference between Unix and Linux.
      9) I assume you're joking, but I can't tell, see the first answer.

      How much CPU performance do you lose running you beloved Linux in a VM on a Mac under Mac OS X?

      I would never do this, because I don't run Mac, but I have no problem with it. Last time I tried this, we lost about 20% of the CPU do the VM and it caused the applications we were running to shudder and eventually crash. However if you look at VMWare or KVM, you'll have the same problem. Virtualization can't only give you less then you currently have.

      Virtualisation on the Server is fine, but that's where it should stay. If I buy a high quality i7 computer or even XEON based workstation, the last thing I'm going to do is to throw some type of VM on it and instantly sacrifice the internals, IF I want to the use that computer for desktop work. Again on the server, it's a fine technology and I use it frequently.

      Hint: a person can not notice the difference. Even if you would utilize the CPU(s) 100%, you barely would be able to quantify the difference over the course of a few days.

      I could test this right now using Virtual Box, and if I boot up a Windows 10 VM, then try to load Visual Studio 2015, Altium Designer, Excel, Word, MySQL Workbench and a few other apps, that VM will be grinding, to the point I can't use it. If I boot that natively without Virtualisation, I might be at 80% of my CPU, and 30% of my RAM (this computer has 64 GB).

    8. Re:Good Setup by Anonymous Coward · · Score: 0

      All great ideas. However, these machines ALL need to be on a separate air-gapped network/domain from the business network. When Rockstars screw up, they do it in BIG ways.

    9. Re:Good Setup by Anonymous Coward · · Score: 0

      But if you need that kind of performance and multiple monitors, why use a laptop? Further, if you have such high requirements, why not just run everything on a compute cluster. You want 256GB of RAM and 30 cores? No problem. Accessible from anywhere in the world on demand.

      And that slant against the IT department while expecting the IT department to support you... That is a recipe for disaster. If you are in full control of your system and your system is the originating point of an attack against the network, well then your employer has every legal right to sue you for the expense at containment and disaster recovery.

      The whole list looks like a fantasy land for overpriveledged, underperforming developers that can't see the forest for the trees.

    10. Re:Good Setup by OhPlz · · Score: 1

      Multi-head is lame. Get a nice ~40" 4k display. It's nice. You'll never want to go back to multiple mini-monitors.

    11. Re:Good Setup by Murdoch5 · · Score: 1

      Meh, I have one desk with a 40 inch monitor and the other with two 27" monitors, I actually like the multiple monitors more, but just my preference.

    12. Re:Good Setup by Anonymous Coward · · Score: 0

      Corporations need consistent garbage over things that work so they need Windows over a working OS.

    13. Re:Good Setup by Anonymous Coward · · Score: 0

      This would be my recommended list:

      1) Give them the choice of OS, Linux or if they have to suffer, Windows / Mac.

      2) Unlock the notebooks so they have absolute full control of them, that includes admin accounts.

      3) Stop using Ultra-books, use high end notebooks with loads of Ram, good M2 / SSD Storage and high end processors.

      4) Don't use any kind of virtual environment, they just have no performance to offer and should never be used in a desktop setting.

      5) Open the development tools and let them use what they want.

      5) Standardise to GIT for the SCM, as it's the only good SCM tool on the market.

      6) Use good team communication tools.

      7) Try to steer clear of Microsoft based tools, for instance TSF, it's a giant pile of steaming shit.

      8) Allow BYOD.

      9) Give every developer a multi head setup with good keyboards and mice, this never gets acknowledged, but a good Mechanical keyboard is essential.

      10) Every developer should have a stand up desk, that can also covert to a sitting position.

      11) All the developers should have isolated build servers, that they have near full control over, maybe not the root account, but damn near.

      12) Don't allow IT to dictate how the computers for the developers are used.

      13) Buy high quality chairs that are designed for long work sessions, they can be pricey but they're worth it.

      14) Allow developers to have full flex time, so they don't have strict hours, they can work 8 hours over the course of the day.

      15) Don't allow management to over plan meetings.

      Basically treat the developers like the rockstars they are.

      After over 30 years in this business I know if no corporations that would allow working software instead of Microsoft.

    14. Re:Good Setup by Osgeld · · Score: 1

      1) ensure nothing will work with eachother, bombard IT with endless complaints that their twinkie app doesnt work with obscure bsd
      2) they will be pawned in a second
      3) yes I agree with this, give them a 35lb ailenware with dual geforce 1080's in them, see how far they wander from their desks
      4) performance is very important when developing a iphone app
      5) see number 1
      5 (pt 2?) GIT sucks nuts
      6) impossible since you gave them freedom on 1 and 5, snowflake #1 will use irc and snowflake #2 will use irq
      7) yes cause no one ever has to develop for MS platforms
      8) Bring your own deodorant? if they are not using it before work ...
      9) for playing games, the real truth is every new age developer wants to sit with their ultra book under a shade tree in the company funded zen garden
      10) or they could just take scheduled breaks like everyone else
      11) see #1, #2 and #5 (pt1) developers cant admin servers, they cant even write decent code 99% of the time
      12) yea what is this a company or a daycare ... wait a sec...
      13) my 300$ chair gave me backace's my 40$ chair didn't, money != comfort
      14) dont give them deadlines or goals either, see #12
      15) contradict's your #6
      16) no they are not rockstar's, they are low waged H1's that will put up with you smacking them upside the head cause they are scared to loose their visa

    15. Re:Good Setup by Osgeld · · Score: 1

      funny I can design half a car including every screw and not use a full 8gig while slashdot is loaded at the same time, quit writing shit

    16. Re:Good Setup by Anonymous Coward · · Score: 0

      Sounds like your code is absolute shit. You would be better use being outsourced to India you fucking hack.

    17. Re:Good Setup by Anonymous Coward · · Score: 0

      3. give the faster i7 pc/64GB/SSD instead of notebook. give them a ultra-book for email
      5. GIT is ok but not the only SCM
      12. Give developers full control of their machine but block all developer from corp. and production network. Developer != netSec, sooner or later someone will be infected with malwere.

    18. Re:Good Setup by Anonymous Coward · · Score: 0

      Ugh. When I hear "Developers are rockstars" I reach for my Mauser.

      Developers are engineers, delivering a product. I know, I used to be one, although I'm in recovery. I've also worked a bit in IT, so I can bring both perspectives. Whoever wrote the above is simply unprofessional, and mentally under the age of 25.

      Developers, in general, don't know anything about how to keep a network running, or how to secure their own devices. Giving them full admin rights is not, under any circumstances, ok. MacOS style rootless rules here, as it lets devs install what they need without compromising network security too much. Corporate networks are not home labs, and there are serious liabilities for running machines that are not correctly patched or secured. And developers will always set up their machines in ways that are expedient for development, not for security. Fortunately, virtualization can save you, but decent performance requires lots of VMWare licenses, because you'll need it for each workstation.

      Letting a thousand developers each chose their OS and environment is a disaster. Deliverables will be rolled out to test and will often not work because the development environment will be radically different from test/production. This is why most shops standardize on a single OS, and a single set of development tools: so that when things don't work in test the problems have a chance of being replicated in development. This also why virtualization is your friend, even if VMWare is a blood-sucking vampire.

      You are right wrt ultrabooks. Great for general office work, lousy for developers. 8GB is meh. 16GB should be fine if you are on Linux/BSD/Mac. 32GB for Windows? Probably ok. Just don't use Chrome. 32GB if you let devs run VMs for testing. Which isn't a bad idea at all.

      Mechanical keyboards are your preference, and perhaps a preference of a lot of people. If I were the buyer for the organization, I might be ok with two choices, but more likely I'd simply not care if individual employees bought their own keyboards and expensed them.

      Last I checked, IT doesn't care how machines are used, they care that the OS is patched, and that there aren't applications that they've never heard of running around on the corporate network opening security holes. Beyond that? Hey, who gives a FF. But IT really cares about security, way more than developers do. And because they care about it, they know more than developers do, and keep up with vulnerabilities in ways that devs don't have time for. But if you freeze IT out of your machines, you are opening up the organization to potential liabilities because its IT's job to keep the infrastructure safe, and they are better at it than you are. Its what they do full-time. IT can be your ally, but not if you go in with the attitude that you are presenting.

      Management has a job to do, and that is to keep the project on track. They have to be at meetings, but good managers (which are rare in development organizations because so many of them were top-rated developers who were promoted to management where their skill-sets are counterproductive) know how to keep a meeting focused and moving. If management is "over planning meetings" (whatever that means) then the managers need more training.

    19. Re:Good Setup by SvnLyrBrto · · Score: 1

      Having been in the position of the IT guy dumping crap laptops onto developers; I'll point out that IT understands perfectly how important RAM is to developers... good CPUs and SSD, or at least Fusion, drives too. If IT is issuing 4GB skinny-disk laptops, it's not by their choice. It's because some PHB/MBA type is golf buddies with a sales weasel from Dell or HP; and they locked the company into a contract for (usually) leased laptops in a standard "on size fits all" configuration that was decided on without consulting IT or development as to their needs.

      --
      Imagine all the people...
    20. Re:Good Setup by Anonymous Coward · · Score: 0

      ... and groupies and drugs.

    21. Re:Good Setup by Tranzistors · · Score: 1

      14) Allow developers to have full flex time, so they don't have strict hours, they can work 8 hours over the course of the day.

      Some flexibility is fine, but not fully. Sometimes you need to communicate with colleagues, or more likely, they need to communicate with you. If you don't want to be disturbed or talk to anyone, you might as well work from home. I find 4 hours of common work time for all team members a rather good compromise.

    22. Re:Good Setup by Anonymous Coward · · Score: 0

      Mercurial is way better than GIT, although sadly GIT has won the SCM war.

      Mechanical keyboard is overrated and I hate the noise.

    23. Re:Good Setup by jonsmirl · · Score: 1

      I use a laptop with multiple monitors. The laptop does not move very often, but I occasionally need to take it out to the factory where the hardware is made.

      RAM demand is heavy because I work on networking code. I might have three copies of Android studio open simultaneously hooked to three phones. I am trying to debug the network traffic between the phones. Building AOSP takes a huge amount of RAM. There is one link in there that needs 10GB. The RAM also functions as a cache to keep everything from beating on the disk. I have 1TB SSD too.

      It is true that application development is not as RAM intensive as OS development. Today's OS's are huge and take a lot of resources to build.

    24. Re:Good Setup by Anonymous Coward · · Score: 0

      Cars aren't very complicated actually. How many separate parts are there? Does it even top 100k?

    25. Re:Good Setup by Anonymous Coward · · Score: 0

      Amazingly low user ID for not knowing tech talk and slang about a working environment for a developer. Multi-head is old, most people call it multiple monitors. byod is bring your own device and is all the rage since the rise of iphones.

      But i think you're just low user ID trolling. Haven't seen one of those in a while.

    26. Re:Good Setup by Anonymous Coward · · Score: 0

      I know it's cool to hate on Microsoft here at Slashdot, but TFS is easy to use and works well (I know, I know, git is what all the cool hipsters use to overly complicate their lives, and how dare you say that, old man...)

    27. Re:Good Setup by Murdoch5 · · Score: 1

      That would work

    28. Re:Good Setup by Anonymous Coward · · Score: 0

      Where what I did when I ran development teams:-

      The Teams got, the Best Laptops or Desktops money could buy.
      They working in project rooms which allowed then to interact and be private
      Everything was stored in GIT (Period)
      Builds where executed everynight and unit tested, and testing failures where 25% of the workload for the following day
      On development machines, they where full admin access, with build scripts for installers into the test environment
      Normal protected access for Test machines (to force the development team to ensure everything was in the installer)
      Headphone a must,
      Working 35 hours a week and meet their weekly objective, (if they are done, then they are done for the week, if not, see you on Saturday)....
      Removed security access to project managers, CEOs, Finance managers to work rooms. They can look but not interfere.
      Pay your developers very well
      Train them on the latest stuff
      Take them to pub often.

    29. Re:Good Setup by Anonymous Coward · · Score: 0

      Do you use some crazy tiling window manager perhaps? A typical shitty desktop OS isn't designed for more than 2 non-overlapping windows per screen.

    30. Re:Good Setup by Anonymous Coward · · Score: 0

      You are missing one problem with allowing them to control the build servers...

      If they control it, they can put whatever they want on it, without any thought on how it relates to the overall project.

      At the minimum, the "developer isolated" build servers should be refreshed weekly - forcing them to document anything they had to manually add / change to get their build to work. basically forcing them to do this so that when their code gets built on the shared build servers or pushed to DEV / STG / PRD, you can be confident that it has everything it needs.

      Yes yes, smart developers will do this on their own, but lets add a FEW safety nets in the pipeline so that it (the pipeline) doesn't just fail outright because of one bad or uneducated developer.

    31. Re:Good Setup by Anonymous Coward · · Score: 0

      Standardise to GIT for the SCM, as it's the only good SCM tool on the market.

      Git sure is powerful and, all things equal, more powerful is better.
      Thus, git is good? Well, that's debatable.

    32. Re:Good Setup by Anonymous Coward · · Score: 0

      Often IT does not understand how important a lot of RAM is to developers. I basically can't use anything with less than 32GB of RAM. Anything less and my environment will start pounding on the disk and everything takes 5x as long to run. One time I was forced to use a 4GB machine and a build that normally took an hour turned into 18 hours. Phooey on that, I made myself an EC2 login on AWS and started building there until I got my 32GB laptop back. CPU performance doesn't seem to matter that much, current Intel CPUs are all reasonably fast. Best bang for the buck is to use ASUS ROG gaming laptops for developers.

      This. Last place I worked I had to ask to be upgraded from 4GB to 8GB... can you believe it... seriously!

    33. Re:Good Setup by Anonymous Coward · · Score: 0

      Ugh. When I hear "I reach for my Mauser" I call police.

    34. Re:Good Setup by Anonymous Coward · · Score: 0

      7) Try to steer clear of Microsoft based tools, for instance TSF, it's a giant pile of steaming shit.

      I guess you meant T-F-S? You sounded almost presidential there, nice job.

      MS is, and has been for awhile, on board with Git - heck I'm pretty sure TFS actually integrates Git these days.

      Way to stay objective ;)

    35. Re:Good Setup by OhPlz · · Score: 1

      I'm using nvidia's nView right now, dividing the screen into quadrants that windows can snap to, but also lets me use it as one giant display if I don't let the window snap. Works nicely. I keep the upper two quads a little smaller vertically, notes on one side and reference material on the other, then I usually stretch the IDE across the bottom quads with two or three source windows side-by-side. It's great.

    36. Re:Good Setup by Anonymous Coward · · Score: 0

      Yes, OK, but can you design the ENTIRE car and a trailer, in half the time if you had 32G?

    37. Re:Good Setup by Anonymous Coward · · Score: 0

      To much tech talk.
      8) hu? who knows what that acronym means?
      9) 'multi head set up', wow, who again is comprehending this kind of slang?

      If you really don't know what "multi-head setup" or BYOD mean you obviously don't work in the tech sector (any tech sector), and I wonder if you have ever worked in a professional environment at all.

      Multi-head setup - a computer with more than one monitor, some devs where I work have 4 or more, everybody in the engineering (software, hardware, electrical, and even our biology groups) has at least 2.

      Bring
      Your
      Own
      Device.

      Now put down your starbuck's apron and go get a real job.

    38. Re:Good Setup by Lserevi · · Score: 1

      4) Don't use any kind of virtual environment, they just have no performance to offer and should never be used in a desktop setting.
      9) Give every developer a multi head setup with good keyboards and mice, this never gets acknowledged, but a good Mechanical keyboard is essential
      11) All the developers should have isolated build servers, that they have near full control over, maybe not the root account, but damn near.
      12) Don't allow IT to dictate how the computers for the developers are used.
      13) Buy high quality chairs that are designed for long work sessions, they can be pricey but they're worth it.
      14) Allow developers to have full flex time, so they don't have strict hours, they can work 8 hours over the course of the day.
      15) Don't allow management to over plan meetings.

      I'll second #'s 9, and 11 through 15.

      Regarding #4, I use a Linux VM on a Windows Host to good effect.

    39. Re:Good Setup by Anonymous Coward · · Score: 0

      Don't forget the bowl of M&M's with the brown ones removed.

    40. Re:Good Setup by Anonymous Coward · · Score: 0

      Oh come on. BYOD is a newfag buzzword like OO. If you are an old-timer you aren't supposed to know fashionable shit like that. It'll be obsolete in 10 years anyway.

  19. Make their computers less restrictive? by djbckr · · Score: 3, Interesting

    If the ultrabook is sufficient, then why not have a configuration that is more setup to a developer's line of work? In our company (we have about 100 devs) we have a different setup than the rest of the company. All of our source code and build tools are on central servers that we must interact with, but we pretty much get to do whatever we want with our machines. Some choose Eclipse, some choose IntelliJ, some others use Perl or the language of their choice. Most are using Macs, but some of us (me included) use Linux exclusively - so long as we can get our work done. We all have root/admin access to our machines to put whatever tools we want in whatever configuration we need, and if we screw it up, it's (more-or-less) on us to fix it. Several good screw-ups and you are dinged for it.

  20. Re:Tmux by __aaclcg7560 · · Score: 1

    I use PyCharm IDE for Python.

  21. Free choice by Anonymous Coward · · Score: 1

    I guess the best is always to just hand them a selection of laptops so they can choose what fits them best. Then let them decide what tools they want to use themselves.

    No admin rights? Are you serious? I work as a field engineer and even I have admin rights on my laptop. I can understand that salesmen and the administration of the company is restricted as they might not have any clue about computers, but the developers? C'mon.

    Let them decide the major stuff about their tools, that's how you get work done properly.

    In the end it's all about numbers, because you have to be productive anyway. Good luck, but it will never change as long as it cost more.

  22. RSI, noise, HR by Anonymous Coward · · Score: 0

    1) Let your developers use the kind of input devices (trackpad, etc.) that they want, to avoid repetitive strain injuries.

    2) To minimize noise, give your developers offices with doors, or have a rule of minimal talking in the hallway about non-work matters.

    3) Do what you can to help your workers with business-related problems. In my last company, we had problems with HR regarding pay and healthcare. The problems were distracting, and fixing the problems took up some of our time.

  23. VMware Workstation for years ... by Anonymous Coward · · Score: 0

    I've been using VMware Workstation for this for years ... mostly good, as they're flexible and great for test environments, depending on the application. My VMs can't see GPU (directly) and aren't good with realtime apps like Hangout/Skype. For realtime apps, fine to drop down to the host OS. Also, more memory is best ... I have 16GB split between 2-3 VMs. I also have quad core hyperthreaded. My other machine is the same, except it has 32GB RAM. Good news about VMs: easy to back up, and very portable when hardware dies.

  24. Nothing virtual by Trogre · · Score: 3, Informative

    For development, where you need actual performance for reasonable build times, run nothing virtually nor remotely.

    Grunty desktop PC, triple monitors, with local storage and frequent scripted rsync backups to a shared server.

    Also pop tarts and Xena tapes.

    --
    "Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
    1. Re:Nothing virtual by Anonymous Coward · · Score: 0

      For development, where you need actual performance for reasonable build times,

      sure for 1980-style development

      if you are still waiting for long compiles then you are really doing it wrong

      far better to run your compiles on remote big iron

    2. Re:Nothing virtual by Trogre · · Score: 1

      "remote big iron"

      Who's stuck in the 80's now?

      --
      "Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
    3. Re:Nothing virtual by Anonymous Coward · · Score: 0

      It's just a slang term for a big, very powerful server you dumb cunt.

      When you are being a fossil using insecure rsync backups to a shared server like a plebian from the 70's, the real engineers work on real computers with real management. Soon your time will come to an end, fewer bugs will be found, fewer people will be hacked, and the world will be better after your influence is replaced with competence and you are irrelevant.

    4. Re:Nothing virtual by Anonymous Coward · · Score: 0

      I know what it means you little nitwit. I suppose you've been sold a very nice online solution by a smooth talking consultant who assured you that it will never fail you and all your data is 100% secure.

      In the meantime, people actually use powerful PCs and get shit done there without losing time from idiotic virtual systems falling over, getting hacked or licences running out.

      Rsync insecure? It's like you've never heard of SSH, or remote file systems. Cute that you think you know how things are done in the real world when, given the incoherent lunacy in your last sentence, it is likely you never leave your parents basement.

    5. Re:Nothing virtual by Anonymous Coward · · Score: 0

      triple monitors

      Is triple monitors really necessary? Dual does ok and if you really need more use Virtual Desktops.

    6. Re:Nothing virtual by Anonymous Coward · · Score: 0

      I feel like you were hallucinating during the entire second paragraph. Still, I share your vision for world peace and fewer bugs.

      Whoever these fossils are, with their rsynced backup servers and big irons, are clearly dangerous and shortsighted.

    7. Re:Nothing virtual by Trogre · · Score: 1

      Not entirely necessary. But better. Virtual desktops are great too, but when switching virtual desktop the user has to context switch so loses concentration for a moment.

      --
      "Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
  25. AWS or Azure by DRM2020 · · Score: 1

    If you are doing something for the web consider AWS or Azure. I use both and have found them extremely useful for my people. If you are doing things Linux based AWS with RDS can not be beat. If you are doing something with Microsoft consider Azure. There are a lot of pre-built AMI's or images available. If you are on a pc VMWare is good, if you have any mac users parallels is better. There are free options but with that many people I'd check out one of the paid ones. License wise you will need to investigate it but Microsoft offers 90 day licenses for Windows. https://www.microsoft.com/en-u.... That is something I'm checking out as well. The thought is if your developer needs for testing only then throw away the virtual machine this is a good way to go. I'm a fan of hiring professionals and making sure people know to not download anything that crosses their path. So opening permissions is great and gives them flexibility. I am not a fan of managed desktops, but know a lot of companies that use that. If you do open having a good anti-virus/firewall is a must. BYOD is good for phones/tablets in that it saves you the cost, and people byod if you let them download mail, or slack or whatever on their I-Device or Droid. So would you rather the person see the email late at night on their phone or wait til tomorrow? I am not a fan of someone bringing their own laptop. If not whatever they are working on is on their own system when they exit the company. Finally multiple monitors for individuals. You will be surprised at how much more efficient you can be with two monitors, or even 4. Myself I telecommute and am up to 9 now so multiple monitors is the best.

    --
    DRM2020
  26. No admin privileges!!? by rayd75 · · Score: 5, Insightful

    Are you freakin' kidding me? How is a developer supposed to develop software that "requires administrator privileges" if he or she can't write to arbitrary directories and / or registry keys during normal, post-installation use? While you're at it, you might as well require your developers to use a 1080p screen, thus restricting their interfaces to actually rendering correctly on the displays of 99% of their users! What's next? Requiring the end product to run in an amount of memory likely to be supported on a single-socket motherboard and asking that code manipulating a database not be executed on the database server itself!!? Wow, just wow.

    1. Re:No admin privileges!!? by jader3rd · · Score: 1

      How is a developer supposed to develop software that "requires administrator privileges" if he or she can't write to arbitrary directories and / or registry keys during normal, post-installation use?

      On a test machine, with a locked down network. And ideally, in its own test domain.

    2. Re:No admin privileges!!? by Anonymous Coward · · Score: 0

      wooosh

    3. Re:No admin privileges!!? by Anonymous Coward · · Score: 0

      Writing code as a non-admin is more secure and ends in better code. Not all developers are writing client tools that need to break security principals to even be installed.

      I am guessing they are not writing code that requires admin privs. Maybe APIs that run on a server, etc. You do not want the API to require admin to function.

    4. Re:No admin privileges!!? by Anonymous Coward · · Score: 0

      I fooled my boss at a large financial institution in to giving me admin rights. She didn't know that I could run mimicatz and get domain access that way.

  27. Picking your post apart: by guruevi · · Score: 5, Interesting

    I work for a company with more than a thousand developers
    - Already, you're in the wrong venue. Unless you're a C-level executive, don't expect much change. You need white papers and golf clubs to change your company's policies, not /. comments.

    and I'm participating in activities aimed at improving the work experience of developers
    - You're an outside consultant tasked with reducing the workforce by improving productivity. Don't forget that when you deal with your developers.

    Our developers receive an ultrabook
    - A real developer can't work on an ultrabook
    that is rather powerful
    - It's an ultrabook, not powerful

    but not really adapted for development (no admin rights, small storage capacity, restrictive security rules, etc.)
    - Your company is treating your developers like sales and customer support. Are you sure you're dealing with developers and not glorified tech support? If you are dealing with developers, you will also see high turnover and rather little experience. You're probably dealing with a developer sweatshop, not a well-managed tech house, change the culture around hiring first before you call these people "developers".

    - They also have access to VDIs (more flexibility)
    Virtual desktops are for things that you require little interaction with or that can easily be destroyed, not for development.
    - but often complain of performance issues during certain hours of the day
    Well, what do you expect, again, you're treating developers like tech support, your company's priorities are wrong.

    - Overall, developers want to have maximum autonomy, free choice of their tools (OS, IDE, etc.) and access to internal development environments (PaaS, GIT repositories, continuous delivery tools, etc.)
    If they don't have those, they're not going to be very productive developers. If you have thousands of developers without even basic version management and build tools, you better quit now, the company is doomed.

      - We recently had a presentation of VMWare on desktop and application virtualization (Workstation & Horizon), which is supposedly the future of the desktops.
    Who got to play golf? VMWare is well behind on the market and only survives through inertia and takeovers. It's the Microsoft/IBM of VM.

    - It sounds interesting on paper but I remain skeptical.
    Citrix did it better in the 2000s. It failed. For good reason.

    - What is the best working environment for a developer, offering flexibility, performance and some level of free choice,
    You answered your own question

    - without compromising security, compliance, licensing (etc.) requirements
    Recommend replacing management first. Compliance and licensing is a managerial thing and should be hardly required since the most powerful development tools are open source, for everything "necessary" that deals with evil business partners (Adobe, VMWare, Microsoft, ...) get a site license. Your developers should be smart enough to maintain their own security if they need admin rights, the ones that aren't can be weeded out immediately.

    - I would like you to share your experiences on BYOD, desktop virtualization, etc. and the level of satisfaction of the developers.
    BYOD: If your company is too cheap to provide the necessary machines then they get to deal with the headaches of BYOD.
    Desktop Virtualization: Tried and failed in the previous dotcom bubbles.
    Level of satisfaction is directly related to your management.

    --
    Custom electronics and digital signage for your business: www.evcircuits.com
    1. Re:Picking your post apart: by avandesande · · Score: 1

      Lots of bagging on VMs but they are great to have available, especially if you want to run a long running batch job without tying up your machine

      --
      love is just extroverted narcissism
    2. Re:Picking your post apart: by aaarrrgggh · · Score: 1

      I will disagree on the VDI as a secondary system; primary is unworkable for anyone with real computing needs, but having quick access to a few virtual or remote desktops (especially with multiple monitors) can often be a huge benefit. Likewise, it can often give an easy "out" for overbearing IT policies, if the system is sufficiently provisioned.

    3. Re:Picking your post apart: by Wrath0fb0b · · Score: 1

      Your developers should be smart enough to maintain their own security if they need admin rights, the ones that aren't can be weeded out immediately.

      Indeed, most are smart enough. But it takes just one dumb (or groggy) developer to let an adversary yank a useful credential and start moving laterally through your network. I mean, even your developer's normal-privilege git account is enough to plant a backdoor in the code without any fancy persistent-threat-acrobatics added on top.

      Don't get me wrong, I still think devs should have super-user privileges on their development machines. But things like IDS, monitoring, logging and other tools are quite useful to help them maintain security and catch the occasional slip up that can have outsize effects. Don't get in the way, but insist that access to sensitive materials requires some form of monitoring and audit trail. And have a solid legal policy that entitles you to access that data in order to investigate potential breaches while at the same time having a solid company policy that says you won't fish for any reason.

    4. Re:Picking your post apart: by Anonymous Coward · · Score: 0

      That was a long comment with not a single incorrect statement.

    5. Re:Picking your post apart: by Anonymous Coward · · Score: 0

      Old workplace gave us Thinkpad W520s. Hated carrying the sumbitch, but goddamn it was an amazing dev laptop. Current company gave us these little inky dinky HP Elitebooks that are woefully underspecced for our needs. They think that they are amazing and "see how much we care about your image?" I don't care about my image; I program computers. Give me the thinkpad, asshole.

    6. Re:Picking your post apart: by guruevi · · Score: 1

      Yes, but not so great for developing IN. I use VM's myself for running tests etc but I don't connect to a VM to run Eclipse. I'm not sure if you've ever needed a full-blown IDE but putting them in a VM (often without hardware acceleration) is going to be a pain in the nuts.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
    7. Re:Picking your post apart: by guruevi · · Score: 1

      I agree that having a well-provisioned VDI is useful for development, especially if it's easy to cycle them back to their original states - you can run an untested binary and see what happens. The OP however asked about using VDI's for main development, as you stated, is unworkable.

      If your company has such overbearing policies that a VDI becomes necessary, your company has failed.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
    8. Re:Picking your post apart: by guruevi · · Score: 1

      Exactly, but the level of security required for your repo's and monitoring is not a developer problem, it's (again) a manager problem. Plenty of programs (Linux) get developed without massive and intrusive desktop security policies, all code submits should already be verified. The link you presented is about an intentional design, not a bug. When someone adds a if (string == "") { goto authenticated }; to your authentication code and you don't catch it for a decade, you have a code review problem, not a bug.

      On my network, there is very little room to move laterally since we treat everything as if it were connected to the Internet (because it really is).

      Taking away all the credentials from your dev's just makes them run a full-admin VDI or VM which is no better than running a desktop/laptop with full admin - companies like VMWare make it seem like VM/VD is the panacea while you're just shifting the problem around.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
    9. Re:Picking your post apart: by Anonymous Coward · · Score: 0

      This is so wrong on certain points I find it hilarious.

      I can't get into details, but there are certain companies that exclusively use Citrix VDI for their workforce and have no issue.

      I've worked with multiple architect / design firms that use Citrix VDI for 3DMax, Autodesk, Revit, etc. To BOOT, the contractors they have will sometimes be in different states / countries (with the VDIs being hosted in either East or West USA), and have no problems working with it.

      I can take a full model of, lets say a hospital, and pull it up in Revit (or better yet Navisworks), and have no problems navigating the model, walking around as if I were a human (feature of Navisworks - think of it like a virtual way to inspect the models in AutoCAD), etc.

      Citrix + vGPU's + decently beefy VDI is practically indistinguishable from your desktop (as long as you have a decent pipe). I can watch a 1080p movie via netflix with my vGPU enabled VDI without stuttering... yes its overhead, but its more to prove a point.

    10. Re:Picking your post apart: by guruevi · · Score: 1

      Citrix + vGPU + beefy VDI + decent pipe: Those are a lot of prerequisites that most companies won't shell out for and end up being way more expensive than just giving people a decent desktop or laptop (which they still need). For streaming, not a problem, but 200ms latency on interactivity IS a huge issue.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
    11. Re:Picking your post apart: by Dogers · · Score: 1

      So doing it properly is the issue, not the VDI system itself..

      --
      I am a viral sig. Please copy me and help me spread. Thank you.
    12. Re:Picking your post apart: by guruevi · · Score: 1

      Physics has something to say about that latency though.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
  28. The absolute best. by Yaztromo · · Score: 1

    The absolute best environment? Sitting on my couch, in my pyjamas, with easy access to my refrigerator and tunes.

    However, if I catch one of your developers on my couch wearing my pyjamas and helping themselves to my 'fridge while listening to my tunes, there's going to be trouble.

    Ultimately, as a developer my preference is to a) have the entire power of the system in my hands, b) not be tied down by local system restrictions, and c) not being tied to specific developer tools, especially an IDE.

    Breaking those down:

    • Entire power of the system: I require my own system that doesn't share any resources with anyone else. It has to be a real desktop or laptop. No thin client of any sort. If I'm out in the woods and away from any form of networking and need to build the product (or some subset), I should be able to do so. If the product relies on or is expected to be used in any sort of cloud technologies, then the ability to generate and use cloud instances is certainly a must, however they should be available alongside and via a real machine, and not be the sole development environment.
    • Not be tied down by local system restrictions: if IT wants to provide a system so tied down that my local user doesn't have sufficient privileges to install device drivers, tools, or anything else I may need to work, you need to verbally smack them around. That may work for Sales and Marketing, but your most technical people need to have full access to their systems.
    • Not being tied to specific developer tools: All of the most pain-in-the-butt projects I've ever worked on are those that rely on a specific IDE to build. And this has always wound up being a bad idea. Projects should be buildable without any sort of IDE whatsoever. Use Gradle or Maven or Ant or a Makefile to build your projects. Pretty much every modern IDE can work with these systems. Your developers can pick and choose what IDE and tools they want to use this way -- they should just be able to just 'git clone' or 'svn checkout' and build from the command line. This also tends to mean that your Continuous Integration system will build the product in exactly the same way as developer systems -- which is a good thing. Anytime I've joined a project that is so highly tied to a specific IDE, the instructions and time needed to on-board new developers is always way too high (I've seen documents with over 20 pages just on how to setup your IDE properly to build a specific project! I've also seen bugs in the code that wound up being due to differences in the way code was built in the IDE vs. how it was built on the nightly build server). Decouple how the code is built from what tools are used to write the code whenever and wherever possible, and then I'll pick the local tools that work best for me to write that code.

    TL;DR version: give me a lot of computing power I can carry around with me, don't tie me down to specific coding tools, and then get out of my way. And keep your developers off my couch, and out of my pyjamas and 'fridge.

    Yaz

    1. Re:The absolute best. by Anonymous Coward · · Score: 0

      Spot on...

      Short and sweet, the best environment consists of the following: (from a web development perspective anyway)

      1. Root access to sufficient physical hardware (ie. a decently spec'd Linux or Mac notebook, either BYOD or furnished)
      2. Command line (Linux or OSX terminal...no Powershell or Cygwin crap)
      3. Git
      4. Internet access
      5. SSH (to test and deployment servers)
      6. Vim
      7. Web browser with good dev tools (IMO at the time being--Chrome)

      IDE's are bloated useless fluff. If you can't build and run at the command line, you shouldn't be "developing" a web app. You shouldn't need an IDE to help you call library functions you use frequently. Need to use a library function you're not familiar with? You're probably going to be looking on Stack Overflow for an example anyway. Just keep a browser window open pointed to the language API.

  29. Vmware works for me (constant CLI, some GUI) by raymorris · · Score: 2

    I use VMWare for development and it works quite for my needs. We take advantage of the vmware software within the guest for a shared clipboard and shared storage. Setting up the network initially, with the corporate VPNs, was a bit of a hassle to figure out, but that was a one-time event.

    My particular setup is Mac hardware and I spend most of my time SSHed to a local Linux VM. For the Linux environment, the fact that it's a VM is completely invisible - it looks and feels *exactly* like running it on metal (except backup and snapshots are easier).

    I use a Windows VM for working with Microsoft SQL Server. I have no complaints about using Windows in a VM, but I'm only using a couple programs.

    Two or three large monitors are very useful for development, with or without VMs. With VMs, I can have a Windows monitor (fullscreen VM) and a Linux monitor, and can move seamlessly between them.

    I wouldn't want to use a GUI in a VM constantly without a nice large monitor or two, though. An OS needs to be able to fill a screen, not a little window on a screen.

  30. It depends on the developer by OneHundredAndTen · · Score: 1

    Developers are not a bunch of identical robots.

    1. Re:It depends on the developer by Anonymous Coward · · Score: 0

      Speak for yourself. Beep Boop.

  31. Re: Sex orgy by Anonymous Coward · · Score: 0

    No girl would agree to that. Instead normal devs ever get to talk to a girl. That is normal.

  32. Basic resources, with few restrictions by davecb · · Score: 1

    I have a corporate Mac, which is enough for all the corporate security bits I need, plus a screen and a stand for my personal BYOD, which has all the stuff a developer needs, but only access to the office net with git, etc.
    A good desk and chair. It's sorta too open still, but the rows aren't crowded close like the last place, so it's quiet.
    And that's it for the corporate contribution (!)

    On my machine I run a vm or a container with the exact configuration of our production machines, one of a number of copies so I can very quickly switch to another project, plus another container with the automated test suite. I have 32GB of socketed memory, so I can support even JVMs full of bloat, like my <I>former</I> production system. I tried running the old company's system on an 8GB Mac, with no results that can be discussed without long strings of curses (;-)) Few companies will believe what it takes to do back-end development, so while working as a consultand and for start-ups, I invested in the equivalent of a good box[1] of mechanic's tools.

    --dave
    [1 https://sarasota.craigslist.org/tls/6060935656.html, Snap On Tool Box With Tools - Fully Loaded - $5000]

    --
    davecb@spamcop.net
  33. my experiences... AC for a reason by Anonymous Coward · · Score: 1

    Posting as AC for obvious reasons.

    My shop isn't quite as big as yours, but pretty big. We have hundreds of developers, not thousands. We do a lot of classified work and BYOD wouldn't fly. That said, in my experience, our policies are pretty good.

    I have a high-end Dell laptop, more of a mobile workstation really. It has a quad core i7, SSD along with a spinning drive for data, and separate dedicated graphics card for CUDA work. It runs Windows. I have full admin rights, and run a few Linux VMs.

    At my desk I have a Corsair mechanical keyboard (Cherry MX red, but I have my own office so the noise isn't a nuisance to others) and two large widescreen displays, along with a docking station. I also have a desktop machine in my office to use as I please, though I don't really use it much. Some of my coworkers have standing desk configurations, and our shop is happy to oblige that request.

    I am free to download and install whatever software I want. I have a plethora of development environments and SCM tools as my work is diverse, ranging from QT Creator to Visual Studio. We use both Git and SVN and many web-based CI tools. I use the machine as if it was my own. I have installed Overwatch on it and several other games. This is great for travelling.

    Hope this helps.

    1. Re:my experiences... AC for a reason by lucm · · Score: 2

      I have a high-end Dell laptop [...] quad core i7, SSD [...] separate dedicated graphics card for CUDA work [...] full admin rights [...] Corsair mechanical keyboard [...] I have my own office [...] two large widescreen displays [...] I also have a desktop machine in my office to use as I please [...] Some of my coworkers have standing desk configurations [...] I am free to download and install whatever software I want [...]

      Hope this helps.

      My current laptop at work has a carboard cpu and needs the pagefile to run two instances of notepad. So no, your description doesn't help at all.

      --
      lucm, indeed.
  34. Exactly that by Weaselmancer · · Score: 5, Insightful

    I'm out of mod points or I'd mod you up.

    My two cents - we have an open office plan where I work. So I like to stay after hours and work. Why? Because the lights are off, I don't have to listen to people milling around me all the time having conversations about the weather or last Sunday's game. Just me and the work I have to do. No distractions. It's blissful.

    I can get more done in 2 hours like that than the previous 8.

    --
    Weaselmancer
    rediculous.
    1. Re:Exactly that by antdude · · Score: 1

      You should just work during non-business hours or from home. ;)

      --
      Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
    2. Re:Exactly that by Xest · · Score: 4, Informative

      Which is why as well as a quiet space, I also think a good environment for developers is one that supports flexible working. I start at 7:30 and finish at 4, because at least I can get about an hour and a half to two hours in of decent code first thing before the office gets too noisy. Some of the other devs prefer later starts and do 10 until 6:30. As long as everyone is in between 10 and 3 then that's ample time for collaboration.

      You shouldn't have to work an extra 2 hours over to get your work done, you should be able to come in 2 hours later.

      Developers need to be well slept, and able to focus - a quiet working area is only part the equation, not being forced to work extra hours because the working environment is shit is another part of it. Home working at least every now and again can also often help with this for some people.

    3. Re:Exactly that by jandersen · · Score: 4, Insightful

      Very valid points, of course; the whole idea of open plan is stupid in so many ways; just to take a thing like indoor climate: small offices for 1 or 2 people can have individual heating and aircon, so the ones that like it hot can have that without hearing complaints from those that prefer it cold. You might even have a windows that could open a little bit.

      But just as important as the physical environment is the freedom to choose your tools. Developers are skilled workers - I hesitate to use the word 'engineer', I think it is overused and easily misconstrued; an engineer can be anything from the guy that used to shovel coal on a steam locomotive, to a highly academic civil engineer. We skilled workers know best which tools are suitable for our needs. Some people like to use highly complex IDEs with suspicious colour schemes (which remind me of my misspent youth in Soho's nightlife), others actually prefer vi and make scripts in xterm - both setups can be equally productive. Managers prove again and again that they have no clue about what is important for skilled workers; they seem to think we are sort of like sales people, but not as clever, and since sales people fall for glittery kitsch and think the word 'leader' means 'alpha male', that is what they try to serve up to us as well; hence Dilbert.

      Rant's over - I have real work to do.

    4. Re:Exactly that by kevingolding2001 · · Score: 1

      What if Weaselmancer works for a company that has no "work-from-home" policy and has a "set-hours" policy eg. 9-till-5 or something?
      Basically you are saying he or she needs to be in the office for 16 hours each day, 8 to be "in attendance" and another 8 to actually get stuff done. GFY!
      Once upon a time I worked for a shitty company like that, but somehow I managed to convince them to let me work in a server room (as a programmer). It was bloody cold but at least I got a lot of shit done. At one point they had four BA's all trying to pump out specs fast enough to keep me in work.
      Open Plan Needs To Die In A Pit Of Fire!!

    5. Re:Exactly that by Anonymous Coward · · Score: 0

      You should just work during non-business hours or from home. ;)

      My thoughts too. Why be in the office for 10 hours if only the final 2 hours are productive?

    6. Re:Exactly that by Weaselmancer · · Score: 1

      Yup. No work from home policy and we have set hours.

      --
      Weaselmancer
      rediculous.
    7. Re:Exactly that by Zontar_Thing_From_Ve · · Score: 1

      I'm out of mod points or I'd mod you up.

      As an aside, I hate the current mod point system. They expire so quickly that even when I get them, I can barely use any of them before they are gone forever.

      My two cents - we have an open office plan where I work. So I like to stay after hours and work. Why? Because the lights are off, I don't have to listen to people milling around me all the time having conversations about the weather or last Sunday's game. Just me and the work I have to do. No distractions. It's blissful.

      I can get more done in 2 hours like that than the previous 8.

      I work for a Fortune 500 company and while they are not perfect, in general they're pretty good. I've had worse employers for sure. We're in the process of moving to an open floor plan. While our management is pretty smart, this plan is simply throwing spaghetti at a wall and seeing what sticks. We're doing it because some other company did it and claimed it made things so much better. No real thought was given to it. My company thinks that it's going to make all our devs super engaged and more productive, but I have my doubts. We have decent sized cubicles right now but there's no real privacy. Another group sits on the other side of my cubicle wall and they are in training and customer service and they are on the phone roughly 50% of the day, sometimes more. I'm pretty good at tuning out distractions, but I'm not a dev guy. I can only imagine dev people going nuts if they had to sit where I do and listen to their incessant phone calls all day long. It would be even worse to be in an open office where there's nothing between you and these people. My company won't let them work at home and we have insufficient conference rooms so they can't use those. It can get really bad when 3 of them are on the phone at the same time, all talking to different people about different subjects. Note too that none of our managers will be given up their private offices under this new plan. That's not a bad thing in my opinion as who wants a manager able to watch your every move, but it shows how little thought was given to this and how the managers all think that what's good for their minions isn't necessarily good for them.

    8. Re:Exactly that by computational+super · · Score: 2

      The first 8 hours are so that you get paid. The next 2 hours are so that you don't get fired in the next round of layoffs. Doesn't it feel great to be in a profession that's so "in demand"?

      --
      Proud neuron in the Slashdot hivemind since 2002.
    9. Re:Exactly that by Anonymous Coward · · Score: 0

      My two cents - we have an open office plan where I work. So I like to stay after hours and work. Why? Because the lights are off, I don't have to listen to people milling around me all the time having conversations about the weather or last Sunday's game.

      I try to do that, but at 5pm an army of cleaning people infest the building.

      They used to be there to empty office trash cans. We are 6 programmers packed into a tiny sliding-window-door area, and each of us has a private trash can. We tried combining cans, but more cans appear. We had to stack the cans inside each other so it was clear we had our allotted six, and then no more appeared. The cleaning people will push around you to confirm your bin is empty. They will interrupt you and ask you to pass the bin to them.

      Then, it escalated. Instead of emptying tiny office trash cans, they set up a trash shipping operation with pedestrian freight corridors. Giant hopper-shaped bins like dwarves mining jewels roll everywhere, except I swear most of the bins are empty. They just push giant empty bins up and down the hall while flicking away at their phone. The bins rumble, "make way, make way, I am heavy and awkward and demand exceptions."

      Everything else got bigger, too. Instead of wandering into our area to empty small circular files, they got 30-gallon bins on dollies. Then the bins got a belt strap around them full of tools they never use. Then the dolly turned into a proper cart with a handle and a phone holster. Then the dolly grew a cow catcher area for a mop bucket, and a tray for inspecting dust or something. We got more and more of these people until now at 5pm there are at least three in sight from any position, and there is ALWAYS the sound of SOMETHING rolling, something bigger than it was last year.

      Then they added this turbine-driven hot-water bathroom scouring machine that needs three people to run and a 240VAC cord. Fortunately they don't use it every day but trust me that's coming. bathrooms gotta be clean.

      Finally, the last straw was this linoleum Zamboni machine. The janitor stands on the back of it like a lawn mower and drives it around. It sprays water, scrapes, sucks, whirrs. However more than half of the time they don't clean with it. They just ride it around. I'm not joking. This is really happening.

      It is now actually noisier in the evening than during the day. When I hear the first rolling thing, I get very anxious. Should I finish my thought? or should I call this a wash and head for home now before I get deeper into it?

      Once, I was working in a common area, and a bunch of people came in there and started drinking and talking. I was really in the middle of something and decided to try to finish it. I stopped working to have a side conversation about civil liberties then went back to it. This was not great, but it was better for me than the fucking cleaning people.

      Of course I can't say anything except anonymously because I'd get dumped by my girlfriend like yesterday, I'd be thrown into the ocean as a classist witch by my coworkers, and they would spit in my food, or something. It is like Fight Club, but instead of an actual revolution which would be respectable it's a game where they keep poking the nerd and "uncovering" themselves and "taking up space" provocatively, then demanding "respect".

      More accurately, they are not respected. "Respect" has come to mean, "acknowledgement that you are a human being," which is a ritual only necessary to perform because so many other things are telling you that you are not one. "Respect" for a custodial person should mean something tending toward curation, like what a full human with full discretion would apply to this task if allowed, like, "you do a good job of keeping the place clean while understanding the work that gets done there and not being annoying." That is what "respect" means in my job, what "being treated like a human" means, and I do not always get it, and I complain loud

    10. Re:Exactly that by wwphx · · Score: 1

      It wasn't my best job, but a very enjoyable one when I was just starting out let me work 10am to 7pm. No rush hour traffic, two hours every night undisturbed, and usually no problems with crowds when I went out for lunch. Sheer bliss. But the company promoted idiots and allowed nepotistic hiring practices, so I left and continued my career elsewhere.

      --
      When you sympathize with stupidity, you start thinking like an idiot.
    11. Re:Exactly that by SScorpio · · Score: 1

      The solution is to just follow their policy and not work extra hours. When they start questioning why your productivity has dropped you bring up the issues.

      They either change or relax some of the requirements, or you just continue to be less productive.

    12. Re:Exactly that by Weaselmancer · · Score: 1

      I didn't mean to make it sound that bleak. The first 8 hours are ok. They're productive. I don't sit here tearing my hair out doing nothing waiting for everyone to leave so I can type. I actually don't mind the open office plan very much. A private office would be *much* better, but this is ok.

      But when I do work over for an hour or two I like it a whole lot more. I'm not terribly social (yeah I know, a computer programmer that's not terribly social go figure). I like to code in the dark and with a perfect quiet around me. It's much more pleasant and I seem to get a lot more done. Or maybe not - maybe I just enjoy it so much it feels like I get more done.

      --
      Weaselmancer
      rediculous.
    13. Re:Exactly that by leenks · · Score: 1

      How is that a solution? Nobody wins in that scenario, let alone the developer.

    14. Re:Exactly that by SScorpio · · Score: 1

      How is it a no win scenario? If the company wishes for the developer to be able to actually work they will either relax the 9-5 so a developer can work when others aren't there to bug them, or to allow some work from home time.

      Either way the developer isn't working 16 hours days and can actually live a normal life with time to spend with their families. Unless you are getting paid overtime, working 16 hours a day is just cutting your hourly pay in half.

    15. Re:Exactly that by tattood · · Score: 2

      I don't sit here tearing my hair out doing nothing waiting for everyone to leave so I can type.

      You might also get more work done if you stay off Slashdot during work hours too... :)

      --
      WTB [sig], PST!!!
    16. Re:Exactly that by leenks · · Score: 1

      Right, but the solution isn't to just follow the policy and work the extra hours, thus produce less hoping someone will fix it - that just hurts everyone (the developer most in reduced bonus/pay increment/whatever). They will not fix the problems because as far as they are concerned they just have a bad developer. The developer then gets a bad rep and becomes completely apathetic to the organisation due to bad performance gradings etc, but by then the organisation probably does have a bad developer and grounds (and evidence) to fire them.

    17. Re: Exactly that by Anonymous Coward · · Score: 0

      I would say that you have more of a cultural issue than a developer issue. Fix the culture, and the developer issue will right itself.

    18. Re:Exactly that by Weaselmancer · · Score: 1

      That's just crazy talk, man. :)

      --
      Weaselmancer
      rediculous.
    19. Re:Exactly that by OffTheWallSoccer · · Score: 2

      Noise canceling headphones, with or without music, and the neighborhood chatter fades into the background.
      Add music and you are in your own world.

    20. Re:Exactly that by nanoflower · · Score: 1

      Been there, done that. I worked for what was (at the time) a small company. We had our small group of devs and then a couple of sales people that sat about twenty feet away. All of us in cubicles. The one sales guy was so loud that when ever he was in the office you could hear exactly what he was saying when he was on the phone. Terribly distracting. Luckily we only stayed in that location for a year and then moved to a bigger office with the sales people located elsewhere in the building.

  35. Re: Sex orgy by Anonymous Coward · · Score: 0

    This. Women hate thinking people.

  36. Easy by PoopJuggler · · Score: 1

    MacBook Pro VmWare Fusion Cubicles Headphones The most important things are "give me the tools to do a good job" and "stay out of my way and let me work"

    1. Re:Easy by lucm · · Score: 1

      MacBook Pro VmWare Fusion

      So you want a MacBook to work in Windows? Are you also a drinker of decaf coffee and alcohol-free beer?

      --
      lucm, indeed.
  37. negative on virtualization by phantomfive · · Score: 1

    Virtualization is one of those things that sounds good in theory, but in practice it fails to completely abstract out the underlying system. In general you're better off using a script that developers can run to automatically set up the environment. This has several advantages: not only does it keep your project clean (clean enough to easily install), but it allows you to easily install the whole thing anywhere.

    That way, you can run your script on a production server. Quickly set up a new instance and install it into your cluster. Ideally you'll have another script that tests to make sure the server is running correctly on that instance before it goes live.

    The alternative of trying to set things correctly in a VM and sloshing that VM everywhere is just asking for things to become messy.

    --
    "First they came for the slanderers and i said nothing."
  38. No more than one status meeting a week by CQDX · · Score: 1

    and keep it short. My company has daily stand-ups that don't help me. Sure they are short but they are in the middle in the morning right when I'm getting into the "zone". It takes might right out of the "zone" and, with all the other stupid office distractions it can take me another hour to get back into my work. If the dev team needs daily stand-ups to stay on track then you don't have the right crew.

    Another thing is don't make developers multitask. That is don't assign them to more than one project. They aren't like sales people that can hop from customer to customer every half hour. Developers need to focus on one thing and carry it out to completion. Furthermore, if you assign them to more than one project, they'll have that many more meetings to go to and if you have more than two meetings in a day, your whole day can shot to hell.

    1. Re:No more than one status meeting a week by Anonymous Coward · · Score: 0

      Agree with pretty much everything you said.

      We're stuck with daily stand-ups here, though, because we're in a DevOps shop, so we're graced with different priorities just about every day depending on: what Sales has sold that we don't have yet; what nonesense thing has come into the CEO's radar; what internal staff have managed to break with their access to systems.

      It's a frustrating environment to work in, but you get great satisfaction when things are completed and work well. Plus, the pay's really good and I have a mortgage I want to pay off as soon as possible. After that's done it might be a different story.

  39. Your environment is already killing you by Anonymous Coward · · Score: 0

    If developers are complaining about performance "at certain times of day", then you have 1000 developers not being productive at certain times of day. I'd guess you'd be losing 3-4 hours a day from everyone, and probably slicing a fat % of throughput the rest of the day as well. Those test builds or test runs being slow costs everyone waiting on them as well.

    FYI. VMWare won't fix that unless it's local to the developer machines.

    Big local developer machines, with lots of disk and ram, other posts covered the 'why' there. At least that way you don't have a chokepoint which kills productivity.

  40. Our IT has the formula by 140Mandak262Jamuna · · Score: 1
    1. Run bit9. Intercept the output file streams of every process. If there is any match to any virus signature kill the process. When developers complain of mysterious deaths of compile/link/ processes, deny bit9 could be responsible, refuse to even acknowledge bit9 tells IT every process it kills.

    2. Come up with a naming scheme that encodes OS, os vesrsion, processor name, memory, diskspace, acquisition year as an impossible to remember server names. Like CentITLinRH73_i7_256GB_4TB_2016_num[serialnum]. IT flunky knowing the machine config from name, bean counter checking inventory once year etc are very important for efficiency.

    3. Change the server naming scheme every six months.

    4. Insist on manager approval for every tiny IT ticket. Even if the person requesting has authority to approve identical requests from his/her reportees.

    5 Configure VPN such that even people with FiOS and 75 mbps connections can not get more than 1 mbps.

    --
    sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
    1. Re:Our IT has the formula by lucm · · Score: 1

      What about your remote intranet access? Can it detect when you're on a mobile network and make sure to force you to download 12MB of compressed javascript on every page?

      --
      lucm, indeed.
    2. Re:Our IT has the formula by Anonymous Coward · · Score: 0

      Well on 4...most developers are too fucking stupid to understand permissions so I can see that one.

    3. Re:Our IT has the formula by Anonymous Coward · · Score: 0

      God damn, someone needs to tell you about CNAME.

      Who the fuck cares if it is named centlin8675309. CNAME, do you speak it?

  41. A wall of pixels by DRichardHipp · · Score: 3, Insightful

    You want as many pixels on your screen as you can get. Dual-head is better. (Triple- or quad-head is better still). This follows from the simple observation that the more information you can see at one time, the faster you can work and the fewer mistakes you will make.

    Remember that the pixel-width of your screen is more important that the physical width of your screen. The physical width should be sized so that it completely fills your field of vision when you are seated comfortably and ergonomically. Your goal should then be to put as many pixels inside that fixed physical width as you possibly can.

    Avoid programming on laptops. You cannot work efficiently while looking through a soda-straw.

    1. Re:A wall of pixels by robvdl · · Score: 1

      Notebooks aren't all bad with a docking station and external monitor(s), I just got a T550 laptop via work and love it, 16Gb RAM, core i7 5600u, ssd, my choice of Linux. At work they gave me a docking station connected to 2x standard 22" full HD screens which is fine to develop on. When I work from home I connect it to my 27" 2560x1440 Dell IPS (sort of like a wall of pixels) which has a built in KVM, I just close the lid and use it like a desktop PC. I had a desktop PC prior to that, but do like the flexibility of the notebook and it's more than powerful enough with the SSD and RAM. I mostly work with containers (LXC, Docker, etc), and occasionally Vagrant.. depending on the project.

    2. Re:A wall of pixels by Anonymous Coward · · Score: 0

      Pixel height. We read code vertically. Artists types have different needs to those that cut code.

      The OP doesn't smell right. No corp will give over 1000 devs a shitty laptop for their main tool, that's insanely unproductive. I suspect it's a shill for a service company, a hired "consultant", or someone trying to justify spunking a fortune on unsuitable gear.

    3. Re:A wall of pixels by Anonymous Coward · · Score: 0

      my dual and quad monitor setup had to go. it was causing too much eye strain for me. The scanning for the large display area and split between the screens resulted in muscle fatigue in the my, sometimes I would be unable to move one or both eyes (so I'd look cross eyed to my wife, making her very worried). One simple display is all I need to be effective. It's not even 4K.

    4. Re:A wall of pixels by Anonymous Coward · · Score: 0

      Lastly, do not make excuses for not being productive. More complex code has been written on 12" amber monochrome screens then anyone on /. will ever write at a modern office job.

    5. Re:A wall of pixels by ljw1004 · · Score: 1

      I do most of my coding in my mind. It is vastly larger than a quad-head high density wall of pixels.

      Whether I'm typing on a laptop or a big screen is mostly immaterial.

  42. Beware of VDI by lucm · · Score: 3, Insightful

    Remote virtual desktops are okay for basic use, but even on high-end infrastructure there's a tiny latency which is quite annoying when coding (unless you type real slow). It's not "in your face" but you can feel it and it makes the experience unpleasant.

    --
    lucm, indeed.
    1. Re:Beware of VDI by Anonymous Coward · · Score: 0

      ssh or mosh and a proper text editor (vim, emacs, joe, etc)

    2. Re:Beware of VDI by lucm · · Score: 1

      ssh or mosh and a proper text editor (vim, emacs, joe, etc)

      That was also my preference in my sysadmin days. But when you code with more verbose languages and a large codebase, the autocomplete features and various shortcuts (such as "Go to definition" or auto-document) of an IDE are a must.

      --
      lucm, indeed.
  43. Secure your data. by AHuxley · · Score: 1

    A real desktop computer in a nice office.
    A real laptop computer to share ideas on, walk around with.
    A secure internal network to store work well away from the outside world.
    A computer to search the web and use social media on that is not work connected, an entire different physical network.
    If staff have to travel to other nations give them a brand new work phone and new laptop. Trendy looking but consumer grade.
    The only contact is their boss and legal support. The computer device only has a few productivity apps for global meetings.
    Do not allow any extra company data to move out of your nation with the worker.
    Have staff meet their international contacts face to face in a secure setting, no smartphones, IoT around them. Use paper for vital information not a laptop file with all the brands secrets.
    The worker does not return to your nation with any new data.
    Be aware any nation can get access to that device globally so it could bring back issues that can a pass any reinstall. Dont trust any company device after it has been outside your own nation.

    Make sure staff have all the documents for the language of systems they are using. If its close source, buy the full support.
    If open source, download it all off site and keep an internal database updated for searches and issues.
    That will stop interesting searches by staff on the web showing what your brand is working on.
    Dont just give away your designs, new work everyday with complex search terms.
    Expect your internet and other networks to be of interest to competitors, random people on the net, cults, faith groups, other private brands, governments and their security services, former mil/gov workers now in the private sector.
    If its really vital, use secure paper files and a secure vault for meetings. No smart phones, smart devices, IoT allowed.

    Read up on what the NSA, CIA, GCHQ can do to networks, to devices physically and on networks.
    All the software and hardware issues gov/mil contractors can offer the private sector for the right price.
    Be aware of buying new devices online and having them shipped in.
    Alternation might be passible on the way. Crypto junk fresh out of the box as installed.
    Educate staff on approaches by random strangers, new friends with interesting questions about work, who could have had contact with smartphones, laptops outside of work.
    Make sure staff have full 24 hour legal and security support to report any efforts to ask about work, security at work.
    Dont bring malware into work via random devices found. Dont allow "new friends" to just wonder around secure work areas to physically place malware or collect the results of past malware.
    Do to allow any random sales reps to wonder around work. It could be an effort to map the building and place malware or collect data.

    With your data more secure, a brand can then bring new products and services to the market without having their own gov, other governments, security services or competitors interfering with new products. Protect your brand, your staff, your ideas and bring new products to market.
    Always hire staff on merit, do interviews and look at their entire background.
    Look at their university life, are they smart or did they always need help from smart people around them?
    Good workers can work, they don't need constant help or advice when given work. If staff have few skills find out why they slipped past the complex interviews? Inside help? If they have few real skills, what else is fake about them and why are they working for you?
    Secure the interview system and do more background work on everyone why wants a job with your brand. Do not trust any of their paperwork or stories, look at every detail and see what is true.

    Once only good workers are allowed in most of the issues are with expected brand products, marketplace not unskilled staff. Only hire on merit and make sure the skills listed are real.
    Staff should be working for your band, your brand should not be working to help staff with their lack of skills.
    Secure your ideas, only hire good workers, support your workers, don't hire workers that cant work.

    --
    Domestic spying is now "Benign Information Gathering"
  44. best working environment for a developer by Anonymous Coward · · Score: 0

    A titty bar with free lap-dances and 2-for-1 happy-hour shots ALL DAY; 50Gb WIFI; a Lego room and free Virtual Reality porn.

  45. Give me an office by Snotnose · · Score: 1

    1: with a door I can close

    2: clear tasks

    3: an office with a door I can close

    4: reasonable deadlines

    5: an office with a door I can close

    6: time to finish the job without working 60+ hours a week

    7: an office with a door I can close

  46. Ask Slashdot by n329619 · · Score: 2

    What's the Best Working Environment For a Developer?

    In your position, the answer is obvious. You should 'ask your developers'. Seriously, you are planning to do something that will affect a majority of your developers. Asking them is the best way to get the most favorable end result.

    The next step is how to ask them. You should create a poll or a survey for your fellow developers regarding the new plans.

    Only after you get those down, you can finally pick a few topics for your plans. Start with Office Resource, and then Work space. You can add in other optional items like office food, office services, etc after you get your major key points across to your developers.

    finally, you should foresee your plans. If you or whoever management above you doesn't or unwilling to allocation resource for your plans, then you should drop it. You shouldn't provide it as a choice in the survey for the developers if it can't be done.

    Here are a few examples of something you could do.

    Office Resource - How would you rate the current office resource? (1-5, 5 being great)
    1 - terrible
    2 - not good
    3 - fair
    4 - good
    5 - great

    Office Resource - Which of the following would you pick to improve your development?
    a) Better office computer
    b) More power outlet
    c) Better BYOD policy
    d) Better office testing devices
    e) Others [ ]

    Work Space - Which of the following would you pick to improve your work environment?
    a) Semi sound proofed partition
    b) Larger desk space
    c) More chairs in the lounge
    d) Better Office Chair
    e) Others [ ]

    Other - Which of the following would you pick to improve your office experience?
    a) Free lunch please
    b) Free dinner please
    c) Real coffee please
    d) No Free Donuts?!?!
    e) Better fake news please
    f) Replace my boss please
    g) Delete that jerk across the room please
    h) All of the above

    1. Re:Ask Slashdot by Anonymous Coward · · Score: 0

      > e) Better fake news please

      kek'd irl

  47. 100% remote by motorsabbath · · Score: 1

    Ive become convinced the best developer environment is 100% remote. Corporate IT is so out of touch with network/application development they can't possibly help or do anything but hinder...

    --
    The heat from below can burn your eyes out
  48. Church by Anonymous Coward · · Score: 0

    Or strip clubs. Strip clubs are better. There are tits there.

  49. Re: Sex orgy by Anonymous Coward · · Score: 0

    ... and several lines of coke. (According to Balmer)

    Ready, and, set, and:

    Developers, Developers, Developers!
    Developers, Developers, Developers!

  50. Assuming you are not a microsoft shop by Anonymous Coward · · Score: 0

    All the developers at my company are happy with their setup. Everyone has an MSI GS63VR 7th gen i7 laptop (a powerful gaming laptop that weights almost nothing) along with a pair of 27in monitors. Everyone is running a flavor of linux (I run Mint 18.1 but others use Ubuntu) and all of us have a license for VMware workstation Pro 12.5 where we have an additional 2 or 3 VM's running at any given time for a variety of different things (typical VM doesn't need more then 4gb ram and these have 32gb though rarely do we actually go over 16 to 20gb).

    Then you make paper footballs and airplanes and throw them around the office when you hit a stopping point. The thing that *kills* productivity more then anything is frustration (usually coupled with the burnout factor). Everything I mentioned above is pretty irrelevant to everything about a good productive work environment except that it pretty much eliminates everyones frustrations around anything the company is able to do and even with the random distractions with things like airplanes and stuff, productivity has been consistently high and hours in the office have been reduced as a result.

  51. Clueless. by Anonymous Coward · · Score: 0

    The type of development determines what is the best solution.
    The type of person determines what is the best solution.
    The type of environment determines what is the best solution.

    I've worked in a private office, a shared office, cube-farms and those shitty "open plan" setups that project managers like.

    If you want a productive developer do this:
    * single person to an office.
    * the office must have a door.
    * There should be published core hours - I don't care what they are, but everyone must be in the office during those times. Perhaps 2 hrs a day - late morning or early afternoon a few days a week.
    * Weekly group meetings should be limited to 20 minutes. Prefer other communications tools. Meetings should only happen when input is desired BEFORE a decision has been made, not after.
    * hold developers accountable for schedules, but only if they made the schedule. Devs need to have ownership of their work and their due dates. Help them become better at estimating timelines, so they don't end up with 120hrs a week of work the last month.
    * Don't let developers develop on their own workstations.
    * If the servers run remote, then the dev servers should be remote too. The test servers should be as close to production as possible - locked down the same way and developers shouldn't have direct access. They need to learn to use logging, since clients won't allow access to their prod server either. Get used to it.
    * Everything should be built on remote servers. These are controlled by IT. Configured by IT. Managed by IT. That means setting up a new dev environment for the entire team can be (should be) standardized.
    * I don't really care what tools my devs use. They get $2K/yr each to blow on training, books, conferences, software. Most use it for training at conferences.
    * Do not allow external use of "cloudy" things unless your corporate policy allows it. Let them setup their own internal cloud services, if they like. Self-hosting these things internally is really easy. Only allow access through a VPN. No need to let the world crack away at your internal project servers and data.
    * I'm a huge fan of TDD, continuous integration, and private clouds. Not so much for public clouds, unless the production purpose is hosting cat photos/videos.
    * Good chairs - not great chairs. I've had both and actually prefer the $300 chairs over the $1200 ones.
    * The actual desk never mattered much to me. I've had the pretty desks, ergonomic desks and surplus military desks. Never mattered.
    * 2 huge, high-res monitors are required. The keyboard the developer likes and a mouse she likes is absolutely mandatory. Coding on a single monitor is counter productive.
    * Oh and all compile servers need SSD storage in a RAID0 config. Compile times are a waste of developer time. Run the numbers and you'll see this is true.

    I use a 2lb chromebook with 11 hrs of battery running Linux for my development. All the powerful systems are in a private cloud, so the cheap chromebook is really just a remote display device. It is find for any sort of development I've done in the last 17 yrs, since I stopped doing Windows development. I never did Java - no system less than a current Core i7 with 32G of RAM us sufficient for java development. Java sucks RAM, disk, souls.

  52. At least dual monitor desktop by jader3rd · · Score: 1

    Dev'ing on a flat laptop keyboard approaches torture.

  53. Windows devs, eh? by raymorris · · Score: 1

    32 gigabytes bare minimum for you guys? I take it you're running Visual Studio or other Microsoft tools.

    Vim, fully pimped out for dozens of languages, does fine with 32 MEGAbytes.

    1. Re:Windows devs, eh? by Murdoch5 · · Score: 1

      When I'm doing Microsoft Based development and have to interface to the Microsoft poorly build suite of tools, I can burn Ram so fast it's embarrassing. The biggest problem with Microsoft is that I don't have any control over how the resources are consumed, so my only alternative is to throw resources at the problem. I have a running thread with them, full of screen shoots and logs that show how taxed my system is, and they don't see anything wrong with it or think it's unreasonable.

      Using VIM or EMACS is better, by magnitudes, but I can't always use Linux and slim editors, which are my preference.

      The problem with a development notebook is that it has to be overpowered to handle everything from low level embedded development, where you can still get by with a P1, and full scale large app development where Ram isn't considered a moderate resource. If I'm doing Matlab development with GAMS and CPLEX running, I can exceed the need for 32 GB of Ram, so it's pretty important to stock a development machine with everything you can.

    2. Re:Windows devs, eh? by i.r.id10t · · Score: 1

      Ah, the good old days.

      Unfortunately, Debian 8 64bit (amd64) has a hard time installign wtih less than 128mb of RAM via netinstall disk.

      --
      Don't blame me, I voted for Kodos
    3. Re:Windows devs, eh? by Anonymous Coward · · Score: 0

      ..and browsing APIdocs with elinks is a breeze. Or do you use gnu info system? If so, awesome.

      It also helps that all real products worth developing about are command-line software (naturally!) so they don't need resources either.

      What about building? Make is wonderful, I hear. It automagically knows which files it needs to compile so there's practically never any need to do expensive operations. Not that compiling the entire 15 .c file project would be that big a deal either.

      It gets even better. With linux, even server development is such a breeze since you have an identical system on desktop as well as server so you don't need to run two systems side-by-side on some resource-hogging VM.

      Isn't life wonderful?

    4. Re:Windows devs, eh? by Anonymous Coward · · Score: 0

      so use a lightweight editor, dumbass. (visual studio code)

      moreover, you probably don't understand how Windows uses that RAM. It'll try to use ALL your RAM, in the sense that it'll cache aggressively. Memory left 'free' isn't useful. The system will give back this memory as needed when required by active processes.

  54. My mom's basement by Anonymous Coward · · Score: 0

    I get everything you list plus unlimited Hot Pockets. And all I have to do to stop the shouting from those upstairs is to take the garbage out.

  55. kit done right by Anonymous Coward · · Score: 0

    My company gives us $4000 every two years to refresh our gear. In avoid a week I'll be getting a surface book with Max ram and half a t of space. As I own my stuff the only requirement is around security. My first notebook was so good I'm still using it and I got a surface pro and gave it to my daughter. How cool is that.

  56. i dont know by Anonymous Coward · · Score: 0

    but this feels like a lead in for linux. networked colaboration can solve many device storage issues weather local network or accessible more remotely even if its your own servers.

  57. Virtualization 10%-15% more CPU (have many Ghz) by raymorris · · Score: 1

    >> How much CPU performance do you lose running your beloved Linux in a VM

    > I could test this right now using Virtual Box, and if I boot up a Windows 10 VM, then try to load Visual Studio 2015, Altium Designer, Excel and a few other apps.

    Windows 10, Visual Studio, Excel, etc aren't actually Linux. You bring up a good point though - if you set the VM to have some small amount of memory, then load up a bunch of huge, memory hogging applications, can certainly cause trashing. If you're going to run a bunch of Microsoft applications simultaneously, you will indeed need plenty of RAM available to Windows - whether Windows is running in metal or in a hypervisor.

    Linux needs a bit LESS RAM when run in a hypervisor, due to paravirtualized IO and certain other items. You do still need 1GB for a Linux host, though, so total RAM usage is a bit higher.

    To actually answer the question, which was about CPU usage, about 10%-15%, assuming you've turned on virtualization support in the BIOS. So my 3.6 Ghz CPU which would be idle 90% of the time running on bare metal is only idle 88% of the time when Linux is virtualized.

    Aside from setting the CPU or RAM for the virtual machine grossly suboptimal or forgetting to turn on virtualization support in BIOS, another thing that can make a big difference is using the paravirtualized storage and network drivers. Rather than emulating IDE or SCSI for each disk read, and emulating a R1000 network card, it's significantly faster to use paravirtualized devices. Basically, instead of an "IDE" disk or a "SCSI" disk, you use a "vmware" disk.

  58. is everyone working on the same project by Anonymous Coward · · Score: 0

    If everyone is not working on the same project then the answer to the question is the same as answer to the question: what medical treatment is best for patients.

  59. Remote into ESXi by chuckugly · · Score: 1

    I use an ESXi server and several VMs hosted there for dev work, and a fairly basic workstation with a great keyboard and a couple large monitors to remote into the dev machines. I have a VPN set up so I can VPN into the ESXi based machines from virtually anywhere, but I get the most work done from the quiet of my home. My time in the office is mostly about meetings and interacting with coworkers, but I don't get most of my coding done there.

  60. supposedly the future by GodWasAnAlien · · Score: 1

    > which is supposedly the future of the desktops. It sounds interesting on paper but I remain skeptical.

    Who supposed that? Employees of VMware? You will likely to consider other options for virtualization or containerization.

  61. Re: I would like you to share your experiences on by Anonymous Coward · · Score: 0

    BYOD (bring your own disaster as we call it) has no place in an environment in which even a modicum of security is required.

  62. That depends on what you are developing. by Anonymous Coward · · Score: 0

    There is no "best" environment. "Make sure there are no shitty bosses" is the only "must follow" rule.

  63. VMs are key by Otis_INF · · Score: 1

    I agree with everything you said, I use VMs too. There's another benefit of using VMs: you have a frozen environment per version. I work on software that releases a couple of versions a year and every 2 years or so a big version jump. With these big version jumps we e.g. upgrade UI controls and introduce necessary breaking changes. When I start on these major version jump versions I move to another VM, cloned from the original. This leaves the previous version's VM in tact so I can fix bugs in that version's VM and alter whatever I need to (controls, libraries, IDE instances even) in the new VM for the new version. I don't have to worry I change something for the new version that breaks the older ones (e.g. uninstalling libraries no longer needed for the new one).

    This alone is the key benefit for me for using VMs: no worries changes made to newer versions affect older versions. I can go back to an older version's VM and use the tools used for that, build using the build tools for that version and *know* everything needed for that version to build is there.

    --
    Never underestimate the relief of true separation of Religion and State.
  64. That's easy by Anonymous Coward · · Score: 0

    No office and BYO. Done.

  65. Just filter the network... by Anonymous Coward · · Score: 0

    Startup gave me a choice of OS and I installed it first thing when I started. Probably because it's a startup IT is managed by me and 2 office mates overall, but devs choose their whole OS platform. I was handed one of the new Intel NUCs, 24" screen, keyboard and mouse.

    Probably the best combo I've had so far. I could've chosen to install Ubuntu, CentOS, Windows, Gentoo or anything else, the only constraint being "don't do stupid stuff". It works.

    We're hooked up through a network switch where most of the big amount of work happens to keep viruses & stuff out, and the devs have a free hand on their machines. Only the common services use a forced LDAP login (email, Jenkins, Sonar, etc).

    I had a similar experience working in an academic environment, it was pretty nice being able to pick my tools as I saw fit to get the job done.

  66. An environment with less acronyms, perhaps? by Torp · · Score: 1

    Use english if you remember it...

    --
    I apologize for the lack of a signature.
  67. Never use the host for Development. by upuv · · Score: 1

    Now the first piece of the puzzle is what kind of developer are you? Because requirements and needs will vary dramatically. More generally where will you code or content run?
    - The browser?
    - Mobile device as an app?
    - Server side on a scaled web platform?
    - Backoffice processing?
    - Are you a Platform specialist as oppose to Software specialist? EG PaaS or SaaS.

    Does your organisation need to mix and match these skills in order to deliver? These question are actually the requirements that drive setting up you development environment. I could give you what I think is the gold standard of environments. With out a doubt it would most likely not at all meet you needs. So what I'm going to do is lay out some of my requirements and some of the solutions I use. But I'm not going to actually reveal what it is that I develop.

    1. My golden rule is never use the host OS on your machine for development. Development is basically an exercise of increasing disk clutter as you try new things work on this and that etc. It basically drags your host OS to a fast rebuild and lost downtime while you get the host backup to a working state for development. The host OS is generally reserved for the corp stuff. So all the apps they require etc. Generally developers hate those restricted environments of the corp OS anyway.

    I have a laptop I still use everyday for tasks that has never been rebuilt. It's now 5 years old. It runs windows 7 as the host OS. I do almost everything in VM's on this box.

    2. Generally I use virtualbox but vmware is good as well. Now I tend to establish a VM build that gets me up and running with my core tools via some flavor of automation. Vagrant has been king here for ages. Now when I mean I use these environments I mean I run my IDE and build pipelines in them. I never produce code on my host OS.

    3. Each branch of code is a new VM set of hosts. I never re-use vm hosts. The hosts must come up to a spec that is useful quickly. All artefacts I need must come out of repo's as required. So if a branch closes I nuke the vm's associated with it.

    4. VM generally are two disk volumes. The first volume is always the OS build. The second volume is used for all artefacts and development. 3rdparty tools are aimed at the first volume. In house tools come from the second volume. This allows me to have nice small and tight vm's on the limited laptop but actually mount the disk sucking volumes over the network. Where speed is required I set the OS to do a lot of caching of the remote volume. This spreads the network hit out over time and doesn't hurt me.

    5. I stick to the rule that all software installs come from OS specific packages. NO BROWN BAG / TAR / ZIP transfer BS. Every piece of code must go through to a package in order to be installed for even the most basic testing. No shortcuts. Always iterate the whole pipeline.

    6. Optional, I run a private network with in my host for the VM's. That I either have bridged or nat'd to the corp network. My gateway host runs bind, a firewall, and any other service I require. This way I do not violate the corp policies for unsanctioned hosts on the network.

    So in general I only use Linux as my development host OS. But this may not work for everyone. Certain app builder environments just don't work in Linux, for example.

    Note it is very easy to do this on a middle spec'd machine. The VM's are small. Very small actually the disk foot print is generally about 4Gig up to 10Gig per OS volume. I can run most of the VM's headless thus next to nothing in graphics resources. The RAM footprint is usually the big ones hit about 2Gig. But more often than not they are sitting around 750Meg. So I can run a lot of VM's comfortably on an 8Gig laptop. The big disk storage comes from NAS type devices on the corp network so I can operate OK on as little as 128Gig of disk. But I tend to want 512GB or 1TB locally.

    One of the really nice things about using VM environments is when you are

  68. Make it work for you. by Anonymous Coward · · Score: 0

    Private quiet offices (for when you actually need to concentrate and work) and VMware remote desktops

    That way, you can piss off to the games/coffee room whilst "busy compiling on shit slow VM system" is happening, and also get some peace and non-interrupted work done when you need to.

  69. Bean bags, foosball, free soda and no dress code by Anonymous Coward · · Score: 0

    We know how well that worked out for the dot-com bubble. :-p

  70. Re:Sex orgy by Anonymous Coward · · Score: 0

    Do you happen to have Cyril, Lana, Cheryl/Carol, Pam, Ray and Krieger as your co-workers?

    Do you want ants? Because this is how you get ants!

  71. Slashdot for market research? by Anonymous Coward · · Score: 0

    As you can see - Slashdot is not the place for you to do real market research.

  72. What has worked for us by niemeyer · · Score: 1

    So we transitioned in the last year from an old school 9-5, cubical farm shop to a completely work from home team. I am the manager, CIO was responsible for deciding whether to continue the work. We are software engineering team the rights customization's for a large research medical center for the EMR (electronic medical record system) as well as doing general business automation. The team has a daily 20 minute huddle meeting via skype and a weekly team lunch/staff meeting for in town team members that is typically 2 hours (food plus deep discussions that have been saved during the week). For geographically remote members we will bring them in via speaker phone if they request it. Team size is 8 software engineers.

    So results:

    - defect rate (incident tickets) decreased 23%
    - work order completion rate increased 19%

    Biggest complaint was from non-technology adopters that like being able to drop by people's cubes for discussions instead of using skype, phone, email, etc. These were also the folks identified by our teams as our largest interrupters of productivity.

    I had 1 person that decided to resume coming in the office because he liked the social interaction. He's also my least productive employee (though still acceptable).

    Our setup is 1 laptop and 1 desktop used for desktop virtualization (mostly vmplayer but 2 guys prefer kvm on Ubuntu, tried hyper-V but it's basically to fragile to be useful in our opinion). Each team member has full control of both machines including OS. They are responsible for always being able to communicate (no "I'm rebuilding my box" excuses, use your smartphone or have some other plan B). The desktop is plugged into a hardwired connection at the office and laptops are at home. Access is via VPN using remote desktop or spice viewer (for KVM).

    Hopefully this is enough detail, but it's been a huge win for us. It took almost 5 years of fighting with old school management to get them the ability to leave the office.

  73. Give me the following: by Anonymous Coward · · Score: 0

    Two to three display screens. And an office of my own with a door and a no disturb sign.

  74. Re: Sex orgy by Anonymous Coward · · Score: 0

    He didn't say there were females there.

  75. Not Virtualization by Greyfox · · Score: 1

    I've seen a number of companies try to go down the virtualization route. Not only does it never work, it's one of the first signs the company is on the decline. You'll spend two years implementing some Citrix environment that everyone hates and which never perform correctly or have the software that you need to get your job done. Then the company will have a round of layoffs and quietly sweep the whole Virtual Environment thing under the carpet. They won't get rid of it, because that would involve admitting the CTO was horribly wrong, but no one will ever actually use it for anything.

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  76. BOOK 6 - Management by Anonymous Coward · · Score: 0

    Thus spake the Master Programmer:

    "Let the programmers be many and the managers few -- then all will be productive."

    A manager went to his programmers and told them: "As regards to your work hours: you are going to have to come in at nine in the morning and leave at five in the afternoon." At this, all of them became angry and several resigned on the spot.

    So the manager said: "All right, in that case you may set your own working hours, as long as you finish your projects on schedule." The programmers, now satisfied, began to come in at noon and work to the wee hours of the morning.

  77. VMware VDI vs Everyone else... by Your+Average+Joe · · Score: 1

    yep, if you have not tried VMware VDI you are just missing out. It is great and VERY fast, very close to bare metal. With NVME SSD's on your servers and the highest clock rate Xeon CPU's with DDR4 RAM you cannot find a faster desktop and with Nvidia Grid GPU's you have a great experience. You also need to have a very fast thin client(Linux or MacOS) that does not twiddle with the network stack for viruses.

    Microsoft and Citrix VDI are a joke.

    Is VMware VDI cheaper? nope but it is faster and more flexible. One way is the virus scanning is done at the hypervisor bare metal so the Guest OSes do not have to do AV scanning. There is NO other desktop that can do that. 40 Gig ethernet to the desktop or disk subsystem, nope not gonna happen but in the data center we have that and 100gig networking too. This is the land of big boy toys not these crappy little desktop PC's with a single disk in them.

    Maybe your problem is your enterprise guys are stuffed in a little cheap box... They too have to think outside the box!

    “Here’s a nickel, kid. Get yourself a better computer”

    --
    Your Average Joe
  78. If it's good enough for Google... by wallstprog · · Score: 1

    My understanding is that developers at Google have root on their development machines. (Googlers please feel free to confirm or deny). If Google can make that work, with their bazillions of developers, I would think that others could do as well.

    I've managed to get that done at my shop (finally) -- prior to that I ran VM's just so I could have root.

  79. My Ideal setup by Anonymous Coward · · Score: 0

    1. Walk in the place with a machine with admin rights
          a. I don't care if it's a virtual machine on a high end server, or my own physical box, it has to have some horse power (or dedicated power in case of a server) to do builds and heavy lifting
          b. Personally I prefer physical box... I can shutdown without issue, and there a LOT less lag then a virtual machine with thin client.
    2. I'm a single monitor type user, others prefer multiple, give options, but bigger is better.
    3. Everyone on the floor for the most part is running the same thing when it comes to OS, IDE and check-in manager (If you are an MS shop Own it! Unix, same)
          a. Introduces consistency, ease of maintainability, and unified location for all code
    4. Have option to give users flexibility to run secondary software that can help them with there day to day tasks
    5. Privacy in most cases. I love my current high wall setup... I don't want to be pestered by management... and headphones, an absolute must
    6. To counter my line 5... Walking to someones cube, sending an email, or IM'ing someone are all great tools to use
    7. Ability to work from home. This industry is one of the few that we can be as or even more productive remotely then in office.
          a. Many of us would benefit from this, but others might find this too distracting. Just having the option / ability is key
    8. A unified solution setup. When I was first hired at my current location you had just the project files, and a few "old timers" with there own variant solution. Have one solution for all. Now, the setup time takes a few hours to get everything up and running.
    9. Flexibility on some hardware. My keyboard and mouse are my own... I love wireless mice and mechanical keyboards.
    10. Keep the machines up to date!
    11. Connected offices. If that means projectors with PC's hooked up or smart displays, just have an office with a PC for code reviews or brainstorming.
          a. On the same note, I don't want to have to repeat my work, so VPN access in network without major hurtles
    12. Have a "testing lab", "sandbox" and "development enviroment"
          a. Give developers the option to play in other environments, "break things" and test there changes without worry of breaking production.
          b. When bugs come in for other OS's or environments, the testing lab gives the developer machines to test.
    14 (because we always skip 13) Creature comforts. A place to take breaks, a lunch room, comfortable furniture, a clean enviroment a whiteboard of some kind for brainstorming, a bit of storage space. Flextime since some developers work better at different times then others.

    This is all coming from a developer who has 10+ years experience in the field.

  80. Joel Spolsky Answered This by brian.stinar · · Score: 1

    This has been answered many times over the years. Joel Spolsky did a good job in his book Joel on Software , which I highly recommend you read if you're asking these kind of questions. His blog is good too.

  81. best ENV? by marco.milone · · Score: 0

    A beach, 2 bitch3s and something to drink.

  82. Docker is by/for programmers, VMs by/for sysadmins by Anonymous Coward · · Score: 0

    Docker (and similar platforms) is creating a "light" virtual environment that depends on the underlying OS. Developed by programmers that wanted to aviod all the issues with creating a full virtual machine environment.

    Full Virtual Machines mean that a programmer needs to worry about a second OS beyond their primary OS.

    But there are lots of cases where Docker is insufficient. Let your needs dictate your tools.

  83. Quiet offices and kick ass hardware.... by Anonymous Coward · · Score: 0

    Quiet offices with as few meetings as possible and kick ass hardware. I don't know of anyplace where developers have better hardware at work than they do at home. Everyone always has a better setup at home.

  84. Observations in Government environment (DC area) by Anonymous Coward · · Score: 0

    These are some of my observations from talking with developers at other companies,
    interviewing candidates, and discussing these openings with staff at other companies
    largely in the area.

    1. Location -- nexus seems to be Chantilly and surrounding areas now. Best and brightest
              are working up there or from home, not here. If you are outside that nexus, good luck.

    2. Big company -- developers want small companies. They expect visibility, flexibility, and
              great benefits, including bonuses, stock options, laptop allowance, phone allowance, etc.

    3. Inability to support 1099. Many older developers want this flexibility. We lost several
              potential candidates because of this.

    4. Gvt site -- many want/expect to work from home several days a week.

    5. Closed work -- many want to publish more of their work as open source. Increasingly,
              your presence on Github is used in hiring decisions by major players like Google and
              Red Hat. "Code is the next resume." - Jim Zemlin, executive director at The Linux Foundation
              https://opensource.com/business/14/8/open-source-your-resume

    6. Hours -- many want to work off-hours, and often long days. Many want flexible work
              schedules.

  85. Not realistic, but by Anonymous Coward · · Score: 0

    At least give developers their own private walled in area as a group. Most will be on the same page in terms of noise, distractions, etc. (though not always, like mechanical keyboard pounding douchebags). It's the loud office top 40 pop music and people in positions where they have 2-3 hours worth of work to do and spend the rest of the time wandering around and socializing that are a consistent problem. Or just constant foot traffic and chatter in general from the numerous other employees working or having meetings in the same area. Some music may be all right if it's kept low enough and isn't obnoxious and distracting.

  86. Not all developers have the same needs by Kaptain+Kruton · · Score: 1

    You have over a thousand developers. They won't be working on the same types of projects. They will have different needs. You need to break it down by departments or project types and find out what those developers need. It sounds very ignorant to ask what the "best" of anything is when dealing with over a thousand people that do different things. I have worked for two different small-to-medium sized companies, developing in-house software that is only used by other employees and systems. My needs at each company were completely different. The only things that are really the same is that I still sit at a chair in front of a desktop with at least two monitors.

  87. No autonomy for developers by Ora*DBA · · Score: 1

    A word from an infrastructure manager, who happens to be the technical architect for his firm. I spend a significant amount of time rolling back (declining to deploy) submitted code and database changes. Our developers (mostly young) are not supervised closely enough in their design phase, which leads to lots of "It's the only way I can get it to work" defenses. Forcing people to use shared databases without table creation privileges, for example, means that there won't be the type of architectural divergence that results eventually in piles of manure that are impossible to perform impact analyses on. While I have seen some wonderful velocity with a Scrum approach, I have recently seen some laissez-faire management that produces code that lacks quality simply to meet dates. Senior developers have the smarts to understand the importance of adhering to architectural guidelines (and how careful one must be about exceptions); younger cats need to be herded. With this in mind, I will not give full autonomy to the development staff; their problem-solving is too short-sighted.

  88. Noise-cancelling headphones by h4ck7h3p14n37 · · Score: 1

    Get yourself a good pair of noise cancelling headphones.

    We have an open office with several large bench-type setups with people facing each other and a low, 18 inch wall down the middle. Constant chatter from the QA and Project teams. Whenever I need to focus I just put on my headphones; they block out everything and I can focus like I'm alone.

    1. Re:Noise-cancelling headphones by david_thornley · · Score: 1

      Yeah, and when I've got mine on it amuses people to be standing around my cubicle without me noticing them.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  89. Whatever the heck they want by iamacat · · Score: 1

    You are spending like $150K/year minimum on each developer by the time benefits/real estate costs/etc are factored in. Don't you want every last bit of their productivity? Let them order whatever system they want from Best Buy and structure your security policies so that they don't get in the way of what they need to be done. Drive encryption/strong passwords/2FA/remote admin access would be reasonable, locked down list of allowed apps is not.

  90. there is no one method that rules them all. by Anonymous Coward · · Score: 0

    Different people work best in different environments. Some people excel in those news room desk to desk open office type environments. I can't stand them myself, there is too much distraction and headphones (yet another distraction) have a limited effect. Blocking one set of distractions with some other type of distraction is not what I consider a solution to that problem. This does not seem to be the question you are asking which others are providing answers.

    Why you are polling slashdot instead of polling those thousand internal developers and their managers for their feedback and opinion? Seems like a huge oversight to me for a simple email and a week or two of nag and wait for responses.

    We don't know your environment or its development processes beyond what you described. That impacts answers drastically. Do you have SOX requirements, ITIL requirements, CMM requirements, HIPPA requirements, government regulations to adhere too, or other considerations such as a global workforce and import/export (yes these apply to technology, especially with respect to encryption levels) regulations to follow.

    If you are having performance issues during certain hours of the day, perhaps those managers should grow that environment or look into their resource scheduling process or the dc server cpu/mem/storage/network loads during those peak hours to see where the bottlenecks are coming from and invest there. Or perhaps it time to make some larger changes that scale better than your existing VDI environment. Operational data will tell you that, if you know what data to look at.

    VMware coined the term VDI, by the way. It sounds like you don't understand your own infrastructure very well. Its not a whole lot different than a proper VM, other than very little computing is done on the endpoint (client) and its easier to secure and track what people do than in a more proper VM environment. If someone steals the developer's laptop, they can't take VDI data off the machine, it does not exist there locally. A VM running locally on that stolen machine can be cracked open with relative ease.

    There is also the network latency aspect of a VDI's perceived performance. Graphics intensive work and other cpu intensive activities in VDI environments do not mix and creates developer frustration. This choice VDI vs VM was likely driven by security and accounting requirements at your organization. You will need to loop them into the conversation to make sure you find the right solution for your org, or to change the rules to make things more open and free for your developers with losing the accountability.

    Most of us older guys learned to develop on dumb terminals and via a terminal, x, or some form of remote session. Even today its all I really use, aside from version control, to work effectively and get the job done.

    What's right for one organization and another organization are nearly always different. Poll them, catalog and rank their pain points. You will then have a nice set of items that you can create a road map from, address by priority, and focus on individually.

  91. It all depends on what you can work around by EndlessNameless · · Score: 1

    Our developers receive an ultrabook that is rather powerful but not really adapted for development (no admin rights, small storage capacity, restrictive security rules, etc.)

    Can you get them a VM on this laptop? Even if it is only allowed to connect to the parent OS, it can give them conisderable flexibility. Both Windows and Linux have native virtualization capabilities these days.

    VDI.... performance issues

    You have a bottleneck. Maybe more than one.

    Your SMEs or your virtualization vendor should be able to identify the issue and suggest a remedy. Some fixes are cheap, and some aren't---but you need to know what to fix first.

    presentation of VMWare on desktop and application virtualization (Workstation & Horizon), which is supposedly the future of the desktops

    VDI can work (even for teleworkers), but it takes a lot of work.

    App virtualization will probably never be good for developers (too limited). You could install the View client on their laptops or issue them zero clients for home/travel so they can access VDI desktops anywhere.

    You could set up separate pools to provide access to dev tools and source, build tools, test servers/clients, and regular web/email/intranet access. Balance out security, performance, and usability as you see fit.

    The primary advantage of VDI is its flexibility, but if you have performance issues then you either have (a) inadequate monitoring/alerting, (b) inadequate in-house expertise, or (c) inadequate infrastructure. Vendor support can compensate somewhat for (b), and they should be able to offer guidnace if the underlying issue is (a) or (c).

    --

    ---
    According to the latest ruleset, this post should be modded as Vorpal Flamebait +5.
  92. That's easy: the developers own computer. by Qbertino · · Score: 1

    Captain Obvious strikes again.

    The best dev environment for me is the one I have under my control.
    Pluspoints if I can instance live on my local without a hitch due to neat scripts, vagrant or whatnot.

    You're welcome.

    --
    We suffer more in our imagination than in reality. - Seneca
  93. Hostile Environment by Anonymous Coward · · Score: 0

    You're not describing a professional dev workplace. Or an average one. You're describing one that is actively hostile to both developers and to getting work done.

    You can't fix this with bullet-point items. It's a cultural issue that is created by management, both middle and executive.

    How do you fix this? Nuke it from orbit. It's the only way to be sure.

    You're not going to be able to accomplish anything with regards to improving the developer experience (or productivity), but in this kind of workplace nobody (including some of the "dev"s) will be able to tell the difference, at least in the short-term. Long-term it won't matter. You're in a temporary political position, and that's what you should set your strategy around.

    If you are competent and would actually like to work for a successful company, you should get out as fast as possible. Most companies--even the moderately bad ones--are much better than this.

    I'd bet that you work for ADP or CDK. It doesn't really matter, but AFAIK there's not many companies that are as horrible and clueless as you've just described.

  94. Agree with all but #9 by Anonymous Coward · · Score: 0

    Mechanical keyboards are loud as hell and add to the cacophony of the work place that is hard to stay focused in. I've found the ones who love them the most also seem to enjoy aggressively typing on top of that, so they make even more noise. They honestly are not going to boost developer productivity, reducing noise and distractions will do far more to accomplish that.

  95. Cash and Lots of it by Anonymous Coward · · Score: 0

    Best working position is nipple deep in cash, lots of it.

  96. I think you already answered your own question. by PJ6 · · Score: 1

    Our developers receive an ultrabook that is rather powerful but not really adapted for development (no admin rights, small storage capacity, restrictive security rules, etc.).

    What's the Best Working Environment For a Developer? Clearly not where you're working now.

  97. The best, obviously... by michael_wojcik · · Score: 1

    ... is the one I work in. Because all software developers are identical, and therefore my preferences are everyone's preferences.

    Software developers aren't a fungible resource? With thinking like that, you'll never be CEO of a major corporation.

  98. Where and when you can watch free hd movies ? by Charllon · · Score: 1

    I have spotted one site where you can watch free films released by talented producers https://www.clickforfestivals..... If you have any more links please submit in comment below