Tag Archives: programmer

How much code can a coder code?

Lines of code (LOC) is a simple way to measure programmer productivity. Admittedly it is a flawed metric. As Bill Gates famously said “Measuring programming progress by lines of code is like measuring aircraft building progress by weight”. But it is at least easy to measure.

So how much code do programmers average per day?

  • Fred Brooks claimed in ‘The Mythical Man-Month’ that programmers working on the OS/360 operating system averaged around 10 LOC per day.
  • Capers Jones measured productivity of around 16 to 38 LOC per day across a range of projects.
  • McConnell measured productivity of 20 to 125 LOC per day for small projects (10,000 LOC) through to 1.5 to 25 LOC per day for large projects (10,000,000 LOC).

It doesn’t sound a lot, does it? I’m sure I’ve written hundreds of lines of code on some days. I wondered how my productivity compared. So I did some digging through my own code. In the last 12 years I have written somewhere between 90,000 and 150,000 C++ LOC (depending on how you measure LOC) for my products: PerfectTablePlan, Hyper Plan and Keyword Funnel. This is an average of round 50 lines of code per working day. Not so different from the data above.

I also looked at how PerfectTablePlan LOC increased over time. I was expecting it to show a marked downward trend in productivity as the code base got bigger, as predicted by McConnell’s data. I was surprised to see that this was not the case, with LOC per day remaining pretty constant as the code base increased in size from 25k to 125k.

loc

Some qualifications:

  • I give a range for LOC because ‘line of code’ isn’t very well defined. Do you count only executable statements, or any lines of source that aren’t blank?
  • My data is based on the current sizes of the code bases. It doesn’t include all the code I have written and then deleted in the last 12 years. I have just spent several months rewriting large parts of PerfectTablePlan to work with the latest version of Qt, which involved deleting large swathes of code.
  • It doesn’t include automatically generated code (e.g. code generated by the Qt framework for user interfaces and signals/slots code).
  • I only counted code in products shipped to the user. I didn’t count code I wrote for licence generation, testing etc.
  • All the code is cross-platform for Windows and Mac, which makes it more time consuming to write, test and document.
  • Programming is only one of the things I do. As a one-man-band I also do marketing, sales, QA, support, documentation, newsletters, admin and nearly everything else. I have also done some consulting and training not directly related to my products in the last 12 years.

Given that I probably spend less than half my time developing (I have never measured the ratio), my productivity seems fairly good. I think a lot of this may be the fact that, as a solo developer, I don’t have to waste time with meetings, corporate bullshit and trying to understand other people’s code. Also writing desktop Windows/Mac applications in C++ is a lot easier than writing an new operating system with 1970s tools.

50 lines of code per day doesn’t sound like a lot. But the evidence is that you are unlikely to do much better on a substantial project over an extended period. Bear that in mind next time you estimate how long something is going to take.

If you have data on LOC per day for sizeable projects worked on over an extended period, please post it in the comments. It will only take you a few minutes to get the stats using Source Monitor (which is free).

 

 

 

 

 

 

7 Reasons Software Developers Should Learn Marketing

1. Improved career prospects

The intersection of people with development skills and marketing skills is pretty small. Being in this intersection can only help your career prospects.

development marketing skillsAlso an in-depth understanding of software is very helpful when you are marketing software, compared to a marketer who doesn’t really understand software.

2. It’s not rocket science

The basics of marketing boil down to:

  • Find out what people want/need/will pay for.
  • Get people’s attention cost effectively.
  • Communicate what your product does.
  • Choose the right price.

None of these things are as simple as you might think, if you haven’t tried them. But its not rocket science to become competent at them. Hey, if the average marketing person can do it, how hard can it be? ;0)

3. Less reliance on marketing people

If you don’t have any marketing skills then you are completely reliant on your marketing people to do a good job at marketing the software you have poured your soul into. Are you comfortable with that? How do you even know if they’re doing a good job?

4. Number crunching

Developers tends to be well above average in their analytical and mathematical skills. Online marketing tools such as Analytics, AdWords and A/B testing generate vast amounts of data. Being good at crunching numbers is a big bonus for some aspects of marketing.

5. It’s interesting

When I started out as a professional developer some 30 ago, the thought of being involved in the sordid business of marketing would have appalled me. But, as I have got more and more involved in the marketing side of things, I have found it really rather interesting and creative. There is a lot to learn, including: pricing, positioning, customer development, segmentation, partnerships, email marketing, SEO, AdWords, social media and conversion optimization. I think of development as hacking computers and marketing as hacking humans.

6. Diminishing returns on development skills

The more time you spend as a developer, the better you are going to get at it. But you will run into diminishing returns. E.g. you won’t improve as much between your 9th and 10th year of programming as you did between your 1st and 2nd year. Learning a completely new skill avoids diminishing returns.

7. You’ll need it if you ever start your own software business

If you ever start your own software business you will quickly find that marketing skills are at least as important as development skills. So it’s a huge plus if you already have some marketing chops. Even if you have a VC sugar daddy who is going to give you enough money to hire marketing staff, you’ll still need some marketing skills to know who to hire.

If you are employed as a developer full time, I recommend you jump at any chance to get involved in marketing or go on a marketing course. I also run a training course for people wanting to start their own software business that includes a lot of material on marketing.

Presents for programmers

It is coming up to that time of year again. You had better start dropping some hints on what you want for Christmas if you don’t want socks again. How about a software themed T-shirt? You can never have too many T-shirts and it means you can go an extra day before you have to do the laundry.

It just so happens that www.programmer-tshirts.com (set up by myself and Patrick McKenzie last year) carries a range of wittily(?) captioned T-shirts for software types of all stripes including: microISVS, C++ programmers, LISP programmers, Mac developers, software engineers, managers and bloggers. Following on from a conversation at ESWC 2009 (with someone who might prefer to remain anonymous) I have just added another design for server programmers:

I know the T-shirts aren’t cheap (print-on-demand is expensive), but I have ordered a couple myself from the European shop and the quality is very good. Also you can customise the t-shirts (e.g. choose a different colour). Best of all the commission on each T-shirt (12.5% for the US shop and £1.50 for the European shop) goes to two very worthy charities:

  • Sightsavers International works to alleviate sight problems around the world. Every year Sightsavers and their partners treat millions of people for potentially blinding conditions. It costs as little as $0.10 to protect someone from river blindness for a year.
  • Jaipur Foot have developed an effective and easy-to-fit prosthetic lower limb that can be produced for a little as $30. The charity has distributed over 300,000 limbs free of charge in 22 countries.

It won’t be a surprise to regular readers that I am going to finish this post with a less than subtle call-to-action.

(STOP PRESS: 15% off everything in the European shop until 29-Nov-2009, use voucher code: NOVEMBERSALE)

Where I program

whereiwrite.org is a photographic project showing science fiction writers and their offices. I started wondering what the offices of other microISVs and small software companies look like. Were they Zen temples of minimalism, with just a desk, a chair and a laptop? Or were they mad scientist labs, piled to the ceiling with obsolete equipment and empty pizza boxes? I rather hoped it was the latter, so I wouldn’t feel so bad about my own cluttered little office. I asked for photos of offices on some forums frequented by independent developers. I got a great response. Click the images to see larger versions.

oryxThis is my own cluttered office. The image comprises 6 photos stitched together using Autostitch to simulate an ultra wide angle lens. This makes it look bigger than it is. My unexciting view of suburban Britain is enlivened by regular sightings of Red Kites. I resisted the temptation to tidy up, beyond emptying the overflowing wastepaper bin. The garage is full of envelopes and CDs and there are lots of programming book’s in my son’s room. We are in the process of selling the house, partly so we can buy a house with a bigger office. I like the idea of a treehouse office – one where I pull up the ladder when I need some peace and quiet.

divider

whereiprogram-steve

“In my office, I kind of try to separate the digital and analog worlds.  Some days I’ll be coloring with my kids at the oval, English partners-desk in the center and helping with homework, but most days I’m doing software development to the right.  I love it here in the Pacific Northwest; if I’m awake early enough I can catch a beautiful sunrise over the lake right outside my office, and even go for a swim by afternoon in the summertime if it gets too hot.”

Steve Murch, www.bigoven.com

divider

rv-office“This is my temporary office while on the road. I use the TV as a monitor for the second computer (Windows 7). The normal monitor can be switched between either computer. I sometimes miss the third monitor, lazerjet printer and other stuff but not often.”

A roving microISV, who doesn’t want his customer to know he (temporarily) has no fixed abode

divider

DSC_6544“Living in Hong Kong, where residential and office space is so scarce and expensive, I work in a small corner of my small apartment. However, I have everything I need: my trusty two years old MacBook Pro, a not too comfortable chair, and a couch where I can take as many naps as I want. Oh, and a nice view of the mountains outside!”

Cesar Tardaguila, www.bambooapps.com

divider

alwin-at-work

collectorz-programmers-at-work“This is me at my desk at the Collectorz.com HQ. As you can see, I am a Nintendo gamer, vodka drinker and Porsche fan. Now I must say that this not a real ‘where I program’ pic, because I don’t do a lot of programming any more. Check the 2nd pic for my developer team.”

Alwin Hoogerdijk, www.collectorz.com

divider

iPhone June 23 2009 132“I *hate* having clutter on my desk. You’ll notice that I didn’t show the rest of the office. It’s pretty messy! I started with two monitors several years ago and then moved straight to 4. I can’t live without at least 3 and the 4th makes a nice place to stash IM windows while I’m working. My music computer is on the left side (yes, it’s a Mac!), and I’m not sure that it isn’t the most important computer I own since I could never work without music playing.”

Mitchell Vincent, www.ksoftware.net

divider

myroom“As you can see the office is as crammed as possible, and the distractions are pretty obvious — the wine is waiting for its place in the cellar, and there is a bottle of whiskey on the shelf.  Oh, and there are two Commodores C-128 behind the desk (invisible on the photo, they worked the last time I checked) along with 1081 monitor and a Playstation or two. And yes, there is a guitar behind the chair. The bad news is that the plans for the new house are ready and the next office will be four times as big! Regarding the workplace as such — I have two 19′ monitors and a computer box under the desk. I spent a lot of time making it silent, which really improves work comfort, especially during quiet night shifts.”

Piotr Kuzora, www.powerkaraoke.com

divider

ofi-shots-117

ofi-shots-150“This is my home office, in the city center of Vitoria-Gasteiz. Nowadays I spend as much time, if not more, at the J1CK office, my other entrepreneurial project, but this office is great for ViEmu and Codekana work: a lot of light, and the irreplaceable Dell 2408WFP in vertical position. The chair and the table are from Ikea, nothing fancy there.”

Jon Beltran de Heredia, www.viemu.com and www.codekana.com

(who can apparently control his own opacity)

divider

MJT_Marcus_Office_small“This is in my office looking out on the larger office area.  Our office is in a modern, purpose built office complex just outside the beautiful historic Saxon hilltop town of Shaftesbury in rural Dorset.”

Marcus Tettmar, www.mjtnet.com

(under monitors – where obsolete technical references go to die)

divider

home_office_tekblues_small“My home office is a large basement, it has windows and good light, but it’s very cold. I am a very messy person, it’s full of books, boxes, old computers and even toys my kids left there. Luckily, it doesn’t show in the photo but my dog left some bones under my desk in the morning!!”

Javier Rojas Goñi, www.tekblues.com

divider

GreentramDesk“Melbourne city skyscrapers in the background – I’m 26 floors up. I should have done this yesterday when the sun was shining.”

Tony Bryer, www.greentram.com

divider

IMG_6740_small“There is one thing that is missing in the photo. That is my two year old daughter. She likes to sit on the table and pull out the books from the rack. Unsurprisingly, her favorite is ‘MicroISV From Vision to Reality’ by Bob Walsh. Somehow she enjoys tearing papers off from the book while her father is busy coding.”

Prasanth, www.simfatic.com

divider

20090624dayoffice

20090625nightoffice“I recently cleaned up my office so I took these photos… but my office is slowly returning to the big mess that it usually is. I need to do a tidy-up before things get out of hand again. I really like my Vornado 542B that’s clipped to a bookcase and set to blow air on me! Really cools me off. I have it on a remote control so I can easily turn it on and off from my desk. I am near Dallas, Texas.

Albert Wiersch, www.htmlvalidator.com

divider

gurock_office“This is one of the offices at Gurock Software here at the Technology Park in Paderborn, Germany (that’s Tobias in the picture). When we originally looked for office space, we wanted bright rooms with enough space to accommodate large desks and small reading corners. Getting our new office space (and 3×24″ monitors ) was easily the best investment we’ve made productivity-wise.”

Dennis & Tobias Gurock, www.gurock.com

divider

Dokix2_smallTim Haughton, www.homedocumentmanager.com

divider

antair_office_1

antair_office_2“This space suits us perfectly. It fits everyone very comfortably. It’s very, very bright, with lots of natural sunlight. The outdoor patio is perfect for morning group breakfasts and afternoon lunches when it’s warm. And … there’s a great pub downstairs to celebrate the days when we ship a new software product or a major update release.”

Andrey Butov, www.antair.com

divider

office“My office is a mess because I’m a very passionate person.  I love my work and when I’m not doing that, I’m out doing something else I really love.  I have no love of cleaning and organizing though.  In fact, 99.9% of the time I prefer chaos.  The other .1%, I purge my mess and the cycle starts again.  I know this isn’t a good system, but for now it works.”

Ian Drake, www.notifywire.com

divider

ian_1 “My office is never really very messy… sorry.”

Ian Landsman, www.helpspot.com

divider

officedog2“Here’s where a real code monkey works.”

Dan Hite, www.spellquizzer.com

divider

office2

view“I work with specialized hardware for my software and there’s a school bell and a siren/strobe light flashing on the desk.  On the far right side of the desk, I have a couple of IP phones and an IP speaker. I want some additional monitors.  The two I have are a 23″ and a 24″, both at 1920×1200.  I also use a second room as an office in my house and have another PC and a Mac. Below is the view from the window. The trail behind the house connects into a 300 acre park and there are usually mountain bikers and hikers on the trail on the weekends.”

Danny Weidig, www.acrovista.com

divider

DN_office1_small“Mine’s a bit messy. I stare out the window to distract me from it.”

Doug, who doesn’t want his blue chip clients to know he works from a messy home office

divider

SAIG+Office3_small

SAIG+Echidna+outside+Office_small“The 16th fairway of the golf course is just through the trees. The group of 3 trees on the left is actually one tree and it is a magnificently old (opinions vary from 100 to 600 years) Moonah Tree. Below is an Echnida which waddled past on Monday.

Neville Franks, www.surfulater.com

divider

Not had enough yet?:

Mitch Haile’s home office

Scott Hanselmann’s home office

Home office snapshots

divider

I am not sure which is more diverse, the offices or the software that gets written in them. Thank you to everyone that contributed.

Have you got a bigger, smaller, untidier or more stylish office than any of the above? Do you have a better view out of the window? Add a link to your photo in the comments.

T-shirt update

I’ve have just made the first payout of royalties from T-shirt sales. $106.20 of Zazzle royalties were split evenly between Sightsavers and JaipurFoot. Patrick McKenzie has also made a very generous additional donation as he promised on his blog.

Sales dropped off rapidly after Xmas, so I am probably going to leave programmer-tshirts.com ticking over until Xmas 2009. Thanks again to everyone that bought T-shirts or helped with the publicity. Special thanks to Patrick for setting up the programmer-tshirts.com site on his server.

NB/ You can still buy T-shirts!

Charity T-shirts for programmers – update

tshirt41 T-shirts sold so far. I intend to make the first payout to SightSavers and Jaipur Foot once most of that commission has cleared. Thanks to everyone that purchased a T-shirt and to all the bloggers that helped to publicise it. Special thanks to Patrick McKenzie for setting up a dedicated site on his server. We intend to leave the site up for the foreseeable future in the hope of getting more sales through organic search.

If you have any good ideas for a T-shirt design I could use, feel free to email them to me. Or, if you have the artistic skills I lack, I would love some help with designs.

If you haven’t already bought a T-shirt – now is the time! Zazzle currently has an inauguration weekend sale – a $4.40 discount for all T-shirts for the next 2 days. Just use code 440SHIRTSALE when you purchase from the Zazzle shop.

programmer-tshirts.com

programmer-tshirtMany thanks to all the bloggers who linked to my programmer T-shirts for charity project. Patrick McKenzie has very generously donated his time[1] and some space on his server to set-up a dedicated website at programmer-tshirts.com. If any of you feel like promoting the new website you could put a small ad on the side of your blog (see right) or display the flash panel shown on the new website (wordpress.com apparently doesn’t allow embedded flash).

The HTML for the ad is:

<table style="text-align:left;width:200px;"
       border="1" cellpadding="2" cellspacing="0">
  <tbody>
    <tr>
      <td>
      <table style="text-align:left;width:200px;"
             border="0" cellpadding="2" cellspacing="2">
        <tbody>
          <tr align="center">
            <td>
              <big><a href="http://www.programmer-tshirts.com/">
              T-shirts for programmers</a></big>
            </td>
          </tr>
          <tr align="center">
            <td>
                 <a href="http://www.programmer-tshirts.com/">
                 <img style="border:0 solid;width:172px;height:175px;"
                 alt="programmer t-shirts"
                 src="https://successfulsoftware.files.wordpress.com/2008/11/programmer-tshirt.png"></a>
            </td>
          </tr>
          <tr align="center">
            <td>All proceeds to charity</td>
          </tr>
        </tbody>
      </table>
      </td>
    </tr>
  </tbody>
</table>

In WordPress you can just add it as a text widget (Dashboard>Appearance>Widgets).

The source for the flash panel is:

<embed wmode="transparent"
   src="http://www.zazzle.com/utl/getpanel?zp=117873325148652352"
   FlashVars="feedId=117873325148652352&path=http://www.zazzle.com/assets/swf/zp/skins"
   width="450" height="300" TYPE="application/x-shockwave-flash">
</embed>

Even if you just run it for a week or two before Xmas that would be great.

[1]A resource in short supply for a salaryman in Japan. Especially one that commutes in from a rice field and runs his own microISV.

What do you buy a programmer for Christmas?

Easy, a T-shirt. Programmers love T-shirts.

It juuuuust so happens that I have created some T-shirt designs for software developers. Even better, all the commission will be split equally between two very worthy charities: jaipurfoot.org and sightsavers.org.

designs

sightsaversSightsavers works to alleviate sight problems around the world. Last year Sightsavers and their partners treated more than 23 million people for potentially blinding conditions and restored sight to over 244,000 people. Sightsavers is charity particularly close to my own heart, as I have suffered from eye problems myself. My vision without specs is very poor (-8 dioptres). A few years ago I suffered a detached retina due to a martial arts injury and ended up having emergency cryosurgery on both eyes. The possibilty of losing vision in one eye, let alone both eyes, was a frightening prospect. And yet it only costs:

  • $0.10 to protect someone from river blindness for a year.
  • $10 to pay for eyelid surgery for trachoma.
  • $35 for an adult cataract operation.

jaipurfootI first heard of this charity while watching a TV program Paul Merton in India. This organization pioneered the “Jaipur foot” (also known as the “Jaipur leg”) – an effective and easy-to-fit prosthetic lower limb that can be produced for a little as $30 and is provided for free by the charity. The prosthetic was first developed in the 1960s by an orthopedic surgeon and a sculptor. Since then the charity has provided over 300,000 limbs in 22 countries. In the television program a young boy arrived at the clinic hopping on one leg and left running on two, beaming. It was moving to watch. You can read more in this Time magazine article.

In these gloomy economic times it is easy to forget that there are people much worse off than ourselves. A little money goes a long way with either of these charities. So, how can you help?

Buy a T-shirt

Buy a T-shirt for yourself, your geeky friends, your work colleagues or your employees. Currently there are nine designs available. I have set up separate shops for North America (zazzle.com) and Europe (spreadshirt.net) to cut down on postage costs and shipping times.

North American shop: www.zazzle.com/successfulsoftware (the 12.5% commission included in each T-shirt sale will go to charity)

European shop: successfulsoftware.spreadshirt.net (the £1.50 commission included in each T-shirt sale will go to charity)

Design a T-shirt

Got an idea for a design? Add it in a comment below or email it to me. I will do what I can to turn some of the better ideas into T-shirts. You can supply graphics and/or text. I don’t have the artistic skills to turn your idea into graphics, but someone else might have. All commission from your design will go to charity. But your design must be original – no copyright violations please.

Gimme some link love

If you have a software-related blog or frequent a software-related forum, please link to this post and/or the online shops.

Trivia

My “It works on my machine” machine design predates Jospeh Cooney’s and Jeff Atwood’s by more than 4 years, as proved by this link to the (now sadly defunct) ntk.net ezine. The profits from those T-shirts went to the Jhai foundation – pioneers of bicycle powered Linux. Ironically I can’t sell this design in the European shop due to a bug in the Spreadshirt.net code.

** Update **

These T-shirts are no longer available. Sorry.

7 Ways to be a healthier programmer

Developing software is an indoor job with no heavy lifting. How dangerous can it be? Actually, the long term dangers to your health are all too real. Humans have bodies evolved for running around the African savanna, not sitting motionless in front of a computer for hours at a time. I have heard several stories of developer careers cut short by RSI. Imagine if you couldn’t type any more, because it was too painful? Yes, it could happen to you. I started to write an article about ergonomics for developers. Then I realised I knew someone who was a lot more knowledgeable about it than me. Derek kindly agreed to write it instead.

It may seem hard to believe that working at your desk can cause you long term harm, but unfortunately the real toll of sitting in the same location and doing the same operations over and over again may not be felt until it is too late.  Here are some simple precautions you can take.

1. Setup your work environment to be ergonomic

Make sure that your whole working environment is set up correctly. This includes your monitor, keyboard, mouse, your desk height, your chair, and possibly a foot rest. Adjusting your seating position relative to your workstation layout encourages good posture. Do this on a regular basis, not just when the ergonomic assessment forms come around once a year. Setting up your chair correctly is probably the most important step and is covered in detail at healthycomputing.com.

2. Try using an ergonomic mouse and keyboard

There are a wide range of ergonomic mice available nowadays, and while some of them may look a little strange, you may be surprised how comfortable they are compared to conventional mice. The Evoluent VerticalMouse is ergonomic, easy to use and available in left and right hand variants. If you find an ergonomic keyboard inconvenient for programming, consider looking into one with a small key travel distance, like the keyboards on laptops where the keys only need to be depressed a small amount, as this reduces the finger movements and effort required.

3. Remember to look up from your monitor

Staring at your computer screen for long periods will lead to eye strain, tiredness, headaches and dry eyes. Every few minutes, look up from your monitor and focus on objects in the distance, either by looking out of the window or at the most distant end of the room. You can do this by using ScreenRest set to remind you at fixed time intervals. It is also worth adjusting your monitor screen to eliminate reflections from light sources behind and above you.

4. Sit up and stop slouching

Leaning forward, sinking down in your chair or resting you elbows on the desk places unnecessary pressure on your back. Poor posture, maintained over a period of time, leads to back pain and more serious back conditions. Make sure that you regularly correct your posture, sitting slightly reclined and supported in your chair with your shoulders relaxed.

5. Keep yourself hydrated

Don’t forget to keep up your fluid levels throughout the day. Even mild dehydration can leave you feeling lightheaded or bring on a headache. Often when you feel hungry it is actually that you’re thirsty, so don’t reach for the biscuits, get a glass of water first. Staying hydrated will help keep you clearheaded, more alert and help counter the dry environment around computers.

6. Take regular rest breaks

Get up and walk around regularly, taking a few minutes to relax. Try to avoid the temptation of carrying on with that feature that is “nearly finished”, or doggedly tracking down that bug that you’ve “almost fixed”. Taking a break will refresh you both physically and mentally. Also, use the break as a reminder to change the type of task you’re performing. If you use the keyboard and mouse extensively, you may want to use ScreenRest set to remind you based on the amount of usage. It can be surprising how much you use a computer continuously without realizing.

7. Look after yourself before it is too late

As a programmer your livelihood depends on you being able to use a computer. Pay attention to any discomfort, tension or pain you may feel while using the computer. Don’t think that computer-related conditions won’t happen to you and ignore those nagging pains until they become something more serious.

Do not underestimate how severe and uncomfortable repetitive strain injury pains can become and how long they will persist throughout the day and even into the night and will eventually impact leisure activities you enjoy doing. Once the damage has been done even the simplest of movements, not just using the computer, can be enough to trigger pain.  There are tools available, such as speech recognition software, to help with basic computer tasks such as emails and browsing basic websites, but it is of no use when controlling complex development IDEs.  Speech recognition can frustrating to control at the best of times and is impractical in an open plan office environment, due to the background noise.

Derek Pollard

Derek Pollard is the developer of ergonomics software ScreenRest, for the prevention and relief of eye strain and the management of RSI while using your computer.

<p style=”text-align:left;” class=”getsocial”><img style=”border:0;margin:0;padding:0;” src=”http://getsocialserver.files.wordpress.com/2009/08/gs1003.png&#8221; /><a title=”Add to Facebook” href=”http://www.facebook.com/sharer.php?u=https://successfulsoftware.net/2008/10/26/7-ways-to-be-a-healthier-programmer&#8221; rel=”nofollow” target=”_blank”><img style=”border:0;margin:0;padding:0;” src=”http://getsocialserver.files.wordpress.com/2009/08/gs1013.png&#8221; alt=”Add to Facebook” /></a><a title=”Add to Digg” href=”http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fsuccessfulsoftware.net%2F2008%2F10%2F26%2F7-ways-to-be-a-healthier-programmer&amp;title=7%20Ways%20to%20be%20a%20healthier%20programmer&#8221; rel=”nofollow” target=”_blank”><img style=”border:0;margin:0;padding:0;” src=”http://getsocialserver.files.wordpress.com/2009/08/gs1023.png&#8221; alt=”Add to Digg” /></a><a title=”Add to Del.icio.us” href=”http://del.icio.us/post?url=http%3A%2F%2Fsuccessfulsoftware.net%2F2008%2F10%2F26%2F7-ways-to-be-a-healthier-programmer&amp;title=7%20Ways%20to%20be%20a%20healthier%20programmer&#8221; rel=”nofollow” target=”_blank”><img style=”border:0;margin:0;padding:0;” src=”http://getsocialserver.files.wordpress.com/2009/08/gs1033.png&#8221; alt=”Add to Del.icio.us” /></a><a title=”Add to Stumbleupon” href=”http://www.stumbleupon.com/submit?url=http%3A%2F%2Fsuccessfulsoftware.net%2F2008%2F10%2F26%2F7-ways-to-be-a-healthier-programmer&amp;title=7%20Ways%20to%20be%20a%20healthier%20programmer&#8221; rel=”nofollow” target=”_blank”><img style=”border:0;margin:0;padding:0;” src=”http://getsocialserver.files.wordpress.com/2009/08/gs1043.png&#8221; alt=”Add to Stumbleupon” /></a><a title=”Add to Reddit” href=”http://reddit.com/submit?url=http%3A%2F%2Fsuccessfulsoftware.net%2F2008%2F10%2F26%2F7-ways-to-be-a-healthier-programmer&amp;title=7%20Ways%20to%20be%20a%20healthier%20programmer&#8221; rel=”nofollow” target=”_blank”><img style=”border:0;margin:0;padding:0;” src=”http://getsocialserver.files.wordpress.com/2009/08/gs1053.png&#8221; alt=”Add to Reddit” /></a><a title=”Add to Blinklist” href=”http://www.blinklist.com/index.php?Action=Blink/addblink.php&amp;Description=&amp;Url=http%3A%2F%2Fsuccessfulsoftware.net%2F2008%2F10%2F26%2F7-ways-to-be-a-healthier-programmer&amp;Title=7%20Ways%20to%20be%20a%20healthier%20programmer&#8221; rel=”nofollow” target=”_blank”><img style=”border:0;margin:0;padding:0;” src=”http://getsocialserver.files.wordpress.com/2009/08/gs1063.png&#8221; alt=”Add to Blinklist” /></a><a title=”Add to Twitter” href=”http://twitter.com/home/?status=7%20Ways%20to%20be%20a%20healthier%20programmer+%40+http%3A%2F%2Fsuccessfulsoftware.net%2F2008%2F10%2F26%2F7-ways-to-be-a-healthier-programmer&#8221; rel=”nofollow” target=”_blank”><img style=”border:0;margin:0;padding:0;” src=”http://getsocialserver.files.wordpress.com/2009/08/gs1073.png&#8221; alt=”Add to Twitter” /></a><a title=”Add to Technorati” href=”http://www.technorati.com/faves?add=https://successfulsoftware.net/2008/10/26/7-ways-to-be-a-healthier-programmer&#8221; rel=”nofollow” target=”_blank”><img style=”border:0;margin:0;padding:0;” src=”http://getsocialserver.files.wordpress.com/2009/08/gs1083.png&#8221; alt=”Add to Technorati” /></a><a title=”Add to Yahoo Buzz” href=”http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fsuccessfulsoftware.net%2F2008%2F10%2F26%2F7-ways-to-be-a-healthier-programmer&amp;headline=7%20Ways%20to%20be%20a%20healthier%20programmer&#8221; rel=”nofollow” target=”_blank”><img style=”border:0;margin:0;padding:0;” src=”http://getsocialserver.files.wordpress.com/2009/08/gs1093.png&#8221; alt=”Add to Yahoo Buzz” /></a><a title=”Add to Newsvine” href=”http://www.newsvine.com/_wine/save?u=http%3A%2F%2Fsuccessfulsoftware.net%2F2008%2F10%2F26%2F7-ways-to-be-a-healthier-programmer&amp;h=7%20Ways%20to%20be%20a%20healthier%20programmer&#8221; rel=”nofollow” target=”_blank”><img style=”border:0;margin:0;padding:0;” src=”http://getsocialserver.files.wordpress.com/2009/08/gs1103.png&#8221; alt=”Add to Newsvine” /></a><img style=”border:0;margin:0;padding:0;” src=”http://getsocialserver.files.wordpress.com/2009/08/gs1113.png&#8221; /></p>

stackoverflow.com goes public

Jeff Atwood and Joel Spolsky’s programmer’s Q&A site stackoverflow.com has now gone from private beta to public beta today.

I have been one of the private beta testers. I find the badges a bit patronising (I’m a 42 year old professional, not a boy scout), but otherwise I have been very impressed with the site. I think it is going to be a great resource for developers – assuming they can control the group dynamics of a large number of developers (the ‘herding cats problem’) while keeping the spammers at bay. A lot of thought has gone into the reputation system, voting, badges etc so it will be interesting to see what behaviour emerges.

Go and take it for a spin. It has been designed to be ‘low friction’ – you don’t even need a login to get started.