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.

199 of 360 comments (clear)

  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 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
    3. 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."
    4. Re:Private Offices by JumpSuit+Boy · · Score: 2
      --
      Oh really?
    5. 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.

    6. 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.

    7. 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".

    8. 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".

    9. 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.
    10. 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...
    11. 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. -
    12. 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.

    13. 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.

    14. 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.
    15. 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.

    16. 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.
    17. 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.
    18. 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.
    19. 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.
    20. 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.

    21. 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.
    22. 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
    23. 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.

    24. 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
    25. 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 ;-)

    26. 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.

    27. 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.

    28. 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.

  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: 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.

    4. 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.

    5. 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.
    6. 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. the Best one is the unaffordable one by turkeydance · · Score: 1

    according to management.

  4. 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.
  5. 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 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
    2. 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.

    3. 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.

    4. 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.
    5. 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

    6. 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.

    7. 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.

    8. 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.

    9. 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?

    10. 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.

    11. 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
    12. 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.

    13. 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.

    14. 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.
    15. 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.
    16. 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
    17. Re:VMWARE is the future? by dave420 · · Score: 1

      The snapshots are incremental.

    18. 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.

  6. 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 __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.

    2. 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!

    3. 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...

  7. 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.

  8. 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.

  9. 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 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.

  10. 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 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.

    6. 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.

    7. 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.

    8. 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
    9. 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.

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

      iotop

    11. 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.

    12. 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.

    13. 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.

    14. 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.

    15. 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.

    16. 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.

    17. 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.

    18. 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
    19. 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.

    20. 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.

    21. 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.

    22. 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.

  11. 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.
  12. 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 fabriciom · · Score: 1

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

    2. 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.

    3. 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.
    4. Re:Good Setup by Murdoch5 · · Score: 1

      Totally Agree.

    5. 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).

    6. 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.

    7. 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.

    8. 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

    9. 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

    10. 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...
    11. 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.

    12. 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.

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

      That would work

    14. 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.

    15. 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.

  13. 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.

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

    I use PyCharm IDE for Python.

  15. 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.

  16. 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 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
    2. 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
  17. 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
  18. 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.

  19. 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 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
    5. 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
    6. 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
    7. 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
    8. 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.
    9. 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
  20. 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

  21. 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.

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

    Developers are not a bunch of identical robots.

  23. 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
  24. 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.
  25. 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 Weaselmancer · · Score: 1

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

      --
      Weaselmancer
      rediculous.
    6. 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.

    7. 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.
    8. 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.
    9. 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.

    10. 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.
    11. Re:Exactly that by leenks · · Score: 1

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

    12. 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.

    13. 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!!!
    14. 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.

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

      That's just crazy talk, man. :)

      --
      Weaselmancer
      rediculous.
    16. 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.

    17. 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.

  26. 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.
  27. 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."
  28. 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.

  29. 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 /.
  30. 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.
  31. 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 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.

  32. 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 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.
  33. 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"
  34. 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

  35. 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

  36. 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
  37. 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.
  38. At least dual monitor desktop by jader3rd · · Score: 1

    Dev'ing on a flat laptop keyboard approaches torture.

  39. 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
  40. 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.

  41. 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.

  42. 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.

  43. 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.
  44. 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).

  45. An environment with less acronyms, perhaps? by Torp · · Score: 1

    Use english if you remember it...

    --
    I apologize for the lack of a signature.
  46. 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

  47. 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.

  48. 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?

  49. 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
  50. 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.

  51. 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.

  52. 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.

  53. 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.

  54. 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.
  55. 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
  56. 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.

  57. 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.
  58. 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
  59. 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!
  60. 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!
  61. 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!
  62. 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.
  63. 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.

  64. 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.

  65. 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

  66. 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.

  67. 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!