Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Software Security Hardware Technology

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

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.
This discussion has been archived. No new comments can be posted.

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

Comments Filter:
  • Private Offices (Score:5, Informative)

    by Anonymous Coward on Monday March 27, 2017 @07:15PM (#54123175)

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

    • Re:Private Offices (Score:5, Insightful)

      by quantaman ( 517394 ) on Monday March 27, 2017 @07:54PM (#54123535)

      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.

      • Exactly that (Score:5, Insightful)

        by Weaselmancer ( 533834 ) on Monday March 27, 2017 @08:08PM (#54123669)

        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.

        • by antdude ( 79039 )

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

        • Re:Exactly that (Score:5, Informative)

          by Xest ( 935314 ) on Tuesday March 28, 2017 @02:51AM (#54125179)

          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.

        • Re:Exactly that (Score:5, Insightful)

          by jandersen ( 462034 ) on Tuesday March 28, 2017 @03:25AM (#54125273)

          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.

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

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

    • Comment removed based on user account deletion
    • More details on why
      https://stackoverflow.blog/201... [stackoverflow.blog]

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

      • by Entrope ( 68843 ) on Tuesday March 28, 2017 @06:24AM (#54125757) Homepage

        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.

    • Re:Private Offices (Score:4, Insightful)

      by TheLongshot ( 919014 ) on Monday March 27, 2017 @11:52PM (#54124661)

      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.

      • by arth1 ( 260657 )

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

        • Re:Private Offices (Score:5, Insightful)

          by Tukz ( 664339 ) on Tuesday March 28, 2017 @04:21AM (#54125419) Journal

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

      • Re:Private Offices (Score:4, Interesting)

        by frank_adrian314159 ( 469671 ) on Tuesday March 28, 2017 @07:26AM (#54126003) Homepage

        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.

    • Re:Private Offices (Score:4, Interesting)

      by codeButcher ( 223668 ) on Tuesday March 28, 2017 @02:09AM (#54125093)

      Last night I read a bit about the Pomodoro technique [cirillocompany.de] 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.

  • by Anonymous Coward on Monday March 27, 2017 @07:15PM (#54123179)

    With a no headphones rule.

  • by Anonymous Coward

    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 eas

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

  • by OhPlz ( 168413 ) on Monday March 27, 2017 @07:33PM (#54123349)

    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.

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

      • by OhPlz ( 168413 )

        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.

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

    • 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.
    • by geekmux ( 1040042 ) on Tuesday March 28, 2017 @05:25AM (#54125581)

      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.

  • 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
  • Good Setup (Score:5, Interesting)

    by Murdoch5 ( 1563847 ) on Monday March 27, 2017 @07:36PM (#54123391) Homepage
    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.
    • 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

      • Totally Agree.
        • 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.

          • 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
      • by Osgeld ( 1900440 )

        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

      • 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 with

    • 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 d

    • 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 los
      • >> 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

    • by OhPlz ( 168413 )

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

      • 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.
    • by Osgeld ( 1900440 )

      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

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

  • by djbckr ( 673156 ) on Monday March 27, 2017 @07:37PM (#54123399)
    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.
  • Nothing virtual (Score:4, Informative)

    by Trogre ( 513942 ) on Monday March 27, 2017 @07:47PM (#54123479) Homepage

    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.

  • by rayd75 ( 258138 ) on Monday March 27, 2017 @07:53PM (#54123525)

    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.

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

  • by guruevi ( 827432 ) on Monday March 27, 2017 @07:54PM (#54123531)

    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.

    • 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
    • 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.
    • 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 [theregister.co.uk] 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

  • 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 tho

  • Developers are not a bunch of identical robots.
  • 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
  • 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"
    • by lucm ( 889690 )

      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?

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

  • 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

    • by lucm ( 889690 )

      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?

  • A wall of pixels (Score:4, Insightful)

    by DRichardHipp ( 995880 ) on Monday March 27, 2017 @08:39PM (#54123873)

    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.

  • Beware of VDI (Score:4, Insightful)

    by lucm ( 889690 ) on Monday March 27, 2017 @08:48PM (#54123917)

    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.

  • 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 produ
  • 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
  • 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 Resour

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

  • Dev'ing on a flat laptop keyboard approaches torture.
  • 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.
  • > 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.

  • Use english if you remember it...

To stay youthful, stay useful.

Working...