Developer Productivity
-
On the topic of developer productivity, inspired by the thread below on Enterprise Library. What do you think makes the developers most productive? In my experience, it is not the tools (plugin your favorite IDE/Editor), not the frameworks, not dual monitors (Did I hear John C screaming in his tent?), not the carrot and also not the choice programming language. I will post what I think is most important when it comes to developer productivity, but first I want to know from others: what makes you most productive?
-
Clear requirements scoped out beforehand so that I don't have to have endless clarifications on points. Clear acceptance criteria; with this I know what I'm developing against and I know what the criteria is by which the application will be judged. I have my phone on silent, and email switched off.
"WPF has many lovers. It's a veritable porn star!" - Josh Smith
As Braveheart once said, "You can take our freedom but you'll never take our Hobnobs!" - Martin Hughes.
Is it just me, or is this how it should be, always, in order to be a developer (not just productive)? That's like saying: in order for me to be a good driver, I need a car that has gas and working brakes. Obviously, this is generally not available, but that is because of negligence and/or bad project scheduling, in my opinion anyway. To be a productive developer, I would say a private office, with a decent setup, i.e. a comfortable chair and desk, an up-to-date computer and so on.
-
Creating a test for a function before moving on to the next function. It gives you a sense of achievement and helps code be correct. It is a productivity killer to spend time #$%@ing with code to then find out it was some other function written earlier that wasn't tested fully. You sit and wonder about 10,000 different possibilities about why your code isn't working. The loss in productivity is in spending time on 9,999 of the possibilities that are not the cause of your problem.
I think the answer is a complex mixture, in the life there is no one magic solution. There some interesting point arose in yours post First: the developer need a comfortable desktop and chair and a good tool to work this, because psychology affect work and there's nothing worst then work with horse when other work with jets.. use correct tools, not the most expensive or super-complicated, just correct and reasonably rapid. Second: the team itself is important if work in team, person work together and are not machine, have no interface, have faces… Third: a methodology, developers without clears requirement, without a protocol to ask for problem or inconsistency, without a responsible, found themselves alone in the problems affecting their works and trusting little or nothing their society. Four: automatism, working more than one year with the same tool increase productivity, don't change technology every month just because is new.. There are others point but i think are less important. bye
-
On the topic of developer productivity, inspired by the thread below on Enterprise Library. What do you think makes the developers most productive? In my experience, it is not the tools (plugin your favorite IDE/Editor), not the frameworks, not dual monitors (Did I hear John C screaming in his tent?), not the carrot and also not the choice programming language. I will post what I think is most important when it comes to developer productivity, but first I want to know from others: what makes you most productive?
For me its coffee, music and comfortable clothing. I do most of my best work on a Friday when I'm not forced to wear a shirt, seriously I write code all day how professional looking do I need to be! Constructive and useful feedback is always a bonus as well :)
-
On the topic of developer productivity, inspired by the thread below on Enterprise Library. What do you think makes the developers most productive? In my experience, it is not the tools (plugin your favorite IDE/Editor), not the frameworks, not dual monitors (Did I hear John C screaming in his tent?), not the carrot and also not the choice programming language. I will post what I think is most important when it comes to developer productivity, but first I want to know from others: what makes you most productive?
#3 Tools (computers, monitors, language, frameworks, plugins) #2 Knowledge (certification, classes, books) #1 Environment (private office with real walls :sigh:, NO open space:mad:, NO phone:mad:, NO distraction from non tech people - of course comfortable desk and chair...) Just my 2 cents, of course
Marco Turrini
-
On the topic of developer productivity, inspired by the thread below on Enterprise Library. What do you think makes the developers most productive? In my experience, it is not the tools (plugin your favorite IDE/Editor), not the frameworks, not dual monitors (Did I hear John C screaming in his tent?), not the carrot and also not the choice programming language. I will post what I think is most important when it comes to developer productivity, but first I want to know from others: what makes you most productive?
The enviroment is the most important, not the tools we use. For enviroment i mean "the people around you" :)
-
Creating a test for a function before moving on to the next function. It gives you a sense of achievement and helps code be correct. It is a productivity killer to spend time #$%@ing with code to then find out it was some other function written earlier that wasn't tested fully. You sit and wonder about 10,000 different possibilities about why your code isn't working. The loss in productivity is in spending time on 9,999 of the possibilities that are not the cause of your problem.
My new 30" HP monitor (2560x1600 pixel resolution)! Also, my state of mind (ability to focus, lack of distractions, and motivation) Atle
-
On the topic of developer productivity, inspired by the thread below on Enterprise Library. What do you think makes the developers most productive? In my experience, it is not the tools (plugin your favorite IDE/Editor), not the frameworks, not dual monitors (Did I hear John C screaming in his tent?), not the carrot and also not the choice programming language. I will post what I think is most important when it comes to developer productivity, but first I want to know from others: what makes you most productive?
talking pure productivity - what makes it easiest for me to crank out code - the answer for me is simple. No interruptions. Once i get in the zone it all just seems to flow from my mind to keyboard, when people interrupt that process it's a major setback for me. all the other stuff to me is just fluff.
-
On the topic of developer productivity, inspired by the thread below on Enterprise Library. What do you think makes the developers most productive? In my experience, it is not the tools (plugin your favorite IDE/Editor), not the frameworks, not dual monitors (Did I hear John C screaming in his tent?), not the carrot and also not the choice programming language. I will post what I think is most important when it comes to developer productivity, but first I want to know from others: what makes you most productive?
My list of demands is unusual, somewhat different and would make your average boss ill, but it is REALLY productive! Here's a nice, long sentence: After some 38+ years of programming everything from desktop calculators (that's a large WOODEN or Laminate Plastic over Metal, desktop AND the calculator actually COVERED the desktop, using maybe a whopping 2K of available memory!), to current mega-core GPU parallel processors -- and programming them with everything from paper tape and 30 pound boxes of cards with holes in them (that's up to 30+ pounds for ONE program {please DON'T drop the box!}}), to multiple-monitor touch screen drag-and-drop, copy-and-paste [NOTE HERE: I only use copy and paste when I do not want to duplicate any typing -- I abhor "copy-and-paste" programmers (some idiots think of it as another term for 'open source')] -- but if you don't use it when you could save 5-10 minutes of typing, you're DEFINITELY NOT being productive, but I digress...), IN ORDER!: this is what I've found to be unbelievably productive for me (that's me, possibly not you OR your employees!): 1. An individual OFFICE (not something that others [higher-ups?] may call an office, but EVERYONE knows it's not) 2. It MUST have a window with daytime access to full-spectrum, natural light (for me, a view is really not that big of a deal) 3. A full-spectrum light box would be wonderful, but at least one or two sources of artificial, full-spectrum light for evening work 4. It MUST have a CLOSABLE DOOR and maybe a LOCK, if you work with people who don't understand what a closed door means! You CANNOT keep the door closed most of the time. That almost REQUIRES others to invade your world. [NOTE: I have found a sock on the door is actually distracting and counter-productive, believe it or not (true, but lol?)] 5. TWO monitors. I have worked with four and even six, but for me, more than two can affect my focus, which is the worse thing 6. A KVM to TWO hard-core boxes with one "big as you can afford" SSD on top of at least two raided HDs, for each 7. The best office chair you can find, regardless of the cost! 8. A couch allowing a comfortable 15-90 minute power nap, as needed [NOTE: I feel managers groaning with this one and the next, but if you want your best to get there early and leave late...] 9. This one is certainly optional, but it's actually crucial for me to work for indefinite pe
-
Competence
Need custom software developed? I do custom programming based primarily on MS tools with an emphasis on C# development and consulting. A man said to the universe: "Sir I exist!" "However," replied the universe, "The fact has not created in me A sense of obligation." --Stephen Crane
I believe Joel Spolsky on his blog, Joel on Software[], has written about this extensively and would agree with you. He calls them smart people who get things done. The trick then is how do you attract and hire smart people who get things done? You give them an environment they want to come to, whatever development tools they want and surround them with other smart people who get things done.
-
-
On the topic of developer productivity, inspired by the thread below on Enterprise Library. What do you think makes the developers most productive? In my experience, it is not the tools (plugin your favorite IDE/Editor), not the frameworks, not dual monitors (Did I hear John C screaming in his tent?), not the carrot and also not the choice programming language. I will post what I think is most important when it comes to developer productivity, but first I want to know from others: what makes you most productive?
- The right tools 2) The right skills 3) Clear requirements 4) Proper planning 5) A realistic deadline 6) A reward when the the job/task is completed The most important is the last one and a paycheck is not what I meant. If you busted your butt for 6 months on a project and pulled heinous amounts of over time to get it completed by the deadline then a good reward is in order. If it's identified at the start of the project, or is implied because it's always done, then chasing that carrot can give great motivation. A good reward could be one or more of the following: 1) A sizable gift card to an electronics retailer or other establishment 2) Dubious amounts of praise and recognition 3) Some paid time off 4) Taken out to lunch to a nice place 5) A cash bonus dependent on realistic targets (ie: on time, bug free) 6) Anything else that raises serotonin levels and is legal
-
Amen. With enough coffee and a text editor nothing's impossible.
-
Clear requirements means that more than half the job is done already! :thumbsup:
"When did ignorance become a point of view" - Dilbert
There is an old Gaelic saying, "Leath na h-oibre i shineadh" (The laying out is half the work). And I have to wonder if there is any way to make those drafting requirements more productive.
Juan Antonio Rodriguez-Sero; juan_ars@hotmail.com Seattle, WA 98133-9110 U. S. A. ------------------------------------------------- All systems look good ... on paper. 1st. Cooper's law
-
Having good chunks of uninterrupted time is key for me (at least 1 to 2 hours depending on the task at hand). Yes, this is an ideal scenario and not always reality. Making this happen requires planning & cooperation between myself and anyone else up the chain.
I totally second this. Large tracts of uninterrupted time where I can concentrate are the number one factor in how productive I can be. I can make headway with or without everything else everybody has mentioned, but without time where I can concentrate on the task at hand, I get nowhere regardless of the rest.
patbob
-
On the topic of developer productivity, inspired by the thread below on Enterprise Library. What do you think makes the developers most productive? In my experience, it is not the tools (plugin your favorite IDE/Editor), not the frameworks, not dual monitors (Did I hear John C screaming in his tent?), not the carrot and also not the choice programming language. I will post what I think is most important when it comes to developer productivity, but first I want to know from others: what makes you most productive?
Recognition And a good work environment
-
On the topic of developer productivity, inspired by the thread below on Enterprise Library. What do you think makes the developers most productive? In my experience, it is not the tools (plugin your favorite IDE/Editor), not the frameworks, not dual monitors (Did I hear John C screaming in his tent?), not the carrot and also not the choice programming language. I will post what I think is most important when it comes to developer productivity, but first I want to know from others: what makes you most productive?
Definitely having an office vs open plan desk. This allows me to get in "the zone". When it's easier for people to ask me something because they sit next to me that to use google, it breaks my concentration and a lot of productivity is lost getting back into "the zone". I know there is a theory that open plan offices increase communication. I agree, it does - but only the amount of low quality, general, disruptive communication. To discuss things of business value, you most likely need the privacy of an office.
-
My list of demands is unusual, somewhat different and would make your average boss ill, but it is REALLY productive! Here's a nice, long sentence: After some 38+ years of programming everything from desktop calculators (that's a large WOODEN or Laminate Plastic over Metal, desktop AND the calculator actually COVERED the desktop, using maybe a whopping 2K of available memory!), to current mega-core GPU parallel processors -- and programming them with everything from paper tape and 30 pound boxes of cards with holes in them (that's up to 30+ pounds for ONE program {please DON'T drop the box!}}), to multiple-monitor touch screen drag-and-drop, copy-and-paste [NOTE HERE: I only use copy and paste when I do not want to duplicate any typing -- I abhor "copy-and-paste" programmers (some idiots think of it as another term for 'open source')] -- but if you don't use it when you could save 5-10 minutes of typing, you're DEFINITELY NOT being productive, but I digress...), IN ORDER!: this is what I've found to be unbelievably productive for me (that's me, possibly not you OR your employees!): 1. An individual OFFICE (not something that others [higher-ups?] may call an office, but EVERYONE knows it's not) 2. It MUST have a window with daytime access to full-spectrum, natural light (for me, a view is really not that big of a deal) 3. A full-spectrum light box would be wonderful, but at least one or two sources of artificial, full-spectrum light for evening work 4. It MUST have a CLOSABLE DOOR and maybe a LOCK, if you work with people who don't understand what a closed door means! You CANNOT keep the door closed most of the time. That almost REQUIRES others to invade your world. [NOTE: I have found a sock on the door is actually distracting and counter-productive, believe it or not (true, but lol?)] 5. TWO monitors. I have worked with four and even six, but for me, more than two can affect my focus, which is the worse thing 6. A KVM to TWO hard-core boxes with one "big as you can afford" SSD on top of at least two raided HDs, for each 7. The best office chair you can find, regardless of the cost! 8. A couch allowing a comfortable 15-90 minute power nap, as needed [NOTE: I feel managers groaning with this one and the next, but if you want your best to get there early and leave late...] 9. This one is certainly optional, but it's actually crucial for me to work for indefinite pe
I definitely agree with your point about an office. It never ceases to amaze me how many executives write an office for developers off as unnecessary when he/she will be spending most of his life in there. Open plan offices / cubicles are so impersonal that it's no wonder people cannot hang onto their staff. What message are they trying to send?
-
I definitely agree with your point about an office. It never ceases to amaze me how many executives write an office for developers off as unnecessary when he/she will be spending most of his life in there. Open plan offices / cubicles are so impersonal that it's no wonder people cannot hang onto their staff. What message are they trying to send?
This is the greatest example of "paper" MBAs. These idiots can't engineer or program worth a darn, so they take online or weekend MBA programs and become "Management". The MAIN function of a manager and what the MBA is SUPPOSED to teach (which it really does, but sadly, is almost always ignored by these "Executives") is crunching the darn numbers. The potential quality of a software product decreases DRAMATICALLY as the number of techies assigned to the project increases. Based upon my direct experience and educated, anecdotal conjecture only, I honestly believe two good coders, each working in their own office is MORE productive (with much BETTER quality) than four working in the same cubicle. MBA's are taught to crunch the numbers -- SO WHY DON'T THEY? They're more concerned with the cost of two offices vs. one cubicle, than the actual results of the work produced. Annual costs (total costed expense, based in a major metropolitan area, including benefits): One good cubicle: $60,000 Four good coders: $500,000 Obvious additional costs involved in the management, motivation, latency, time, support and communication of four coders: $100,000 Two good offices: $100,000 Two good coders: $250,000 Obvious additional costs involved in the management, motivation, latency, time, support and communication of two coders: $20,000 $660,000: Total for one cubicle with four coders $370,000: Total for two offices with two coders It's a darn shame so many so-called "decision makers" think a more flaky, lesser-quality, longer-to-produce product by relatively unmotivated, unappreciated personnel is worth that additional stress, anxiety and $290,000 !!!!! Robert Townsend in his classic 70's book "Up The Organization", spelled it out perfectly when he said the successful executive: 1. Hires the BEST possible people. 2. Hires ONLY enough people to get the job done as rapidly, effectively and efficiently as possible. 3. Pays them the BEST possible salary. 4. Provides the BEST possible environment AND 5. Stays the "heck" outta their way !!!!!!!!!!!!! 6. The DYSFUNCTIONAL executive thinks the more people under their thumb makes them more important! [By the way, if for some reason, you don't know what a costed expense is or you don't think a person is much more motivated in an office than a cubicle and it costs five times the support amount for only two more people are realistic, you really NEED to go back to a better MBA school!)]
-
This is the greatest example of "paper" MBAs. These idiots can't engineer or program worth a darn, so they take online or weekend MBA programs and become "Management". The MAIN function of a manager and what the MBA is SUPPOSED to teach (which it really does, but sadly, is almost always ignored by these "Executives") is crunching the darn numbers. The potential quality of a software product decreases DRAMATICALLY as the number of techies assigned to the project increases. Based upon my direct experience and educated, anecdotal conjecture only, I honestly believe two good coders, each working in their own office is MORE productive (with much BETTER quality) than four working in the same cubicle. MBA's are taught to crunch the numbers -- SO WHY DON'T THEY? They're more concerned with the cost of two offices vs. one cubicle, than the actual results of the work produced. Annual costs (total costed expense, based in a major metropolitan area, including benefits): One good cubicle: $60,000 Four good coders: $500,000 Obvious additional costs involved in the management, motivation, latency, time, support and communication of four coders: $100,000 Two good offices: $100,000 Two good coders: $250,000 Obvious additional costs involved in the management, motivation, latency, time, support and communication of two coders: $20,000 $660,000: Total for one cubicle with four coders $370,000: Total for two offices with two coders It's a darn shame so many so-called "decision makers" think a more flaky, lesser-quality, longer-to-produce product by relatively unmotivated, unappreciated personnel is worth that additional stress, anxiety and $290,000 !!!!! Robert Townsend in his classic 70's book "Up The Organization", spelled it out perfectly when he said the successful executive: 1. Hires the BEST possible people. 2. Hires ONLY enough people to get the job done as rapidly, effectively and efficiently as possible. 3. Pays them the BEST possible salary. 4. Provides the BEST possible environment AND 5. Stays the "heck" outta their way !!!!!!!!!!!!! 6. The DYSFUNCTIONAL executive thinks the more people under their thumb makes them more important! [By the way, if for some reason, you don't know what a costed expense is or you don't think a person is much more motivated in an office than a cubicle and it costs five times the support amount for only two more people are realistic, you really NEED to go back to a better MBA school!)]