Entries from December 2006 ↓

Fast Company Subscription Giveaway

I’ll give a free Fast Company magazine subscription to the first person who posts a comment containing the estimated number of software developers in the world and an approximate breakdown of programming language usage (must include a link to sources from 2005 or later).

Include your URL in the comment or send me a separate email at rob(at)softwarebyrob(dot)com to collect your subscription.

Code Monkey and Open Source Music

Here is an awesome song about a guy who writes code. He even has a “boring manager Rob.” (It’s like he knows me?!)

The artist, Jonathan Coulton, writes a song a week that he releases under Creative Commons. His music is funded strictly by donations, which he’s doing to find out if this kind of business model can succeed.

A quote from Jonathan:

“I give away music because I want to make music, and I can’t make music unless I make money, and I won’t make any money unless I get heard, and I won’t get heard unless I give away music…I believe it can work, but we all need to adjust our thinking about the relationship between artists and fans – the RIAA thinks that music listeners are criminals and that music should be locked up and protected. I disagree. I think there are times when free music and file sharing can greatly benefit an artist. Believe me, I spent many years making music and not sharing it with anyone, and that didn’t get me anywhere.”

This one’s for all you coders out there.

Web-based Whiteboarding for Software Developers

I’ve been researching web-based whiteboarding tools to help facilitate remote design discussions, and I’ve found three free tools that are outstanding.

  • Thinkature is my #1 pick for software-specific whiteboarding, because it’s geared more towards creating diagrams than drawing. For example, it’s super easy to create boxes (just double-click), and populate them with text (double click inside the box). Linking two boxes is also straightforward, and the freehand drawing is decent. It also includes a built-in chat feature and voice chat, neither of which I tested. Note: at the time of this writing the freehand drawing is broken in IE7. I emailed support this morning and they already emailed back indicating they will look into it. Good support for a free service!
  • Vyew is my second choice. The UI is cooler than Thinkature, but I found it a little more daunting right off the bat, as it took me a few minutes to work through all the features. Although its freehand drawing capability is better than Thinkature, it’s more cumbersome to create boxes with text inside, which is at least 70% of what I do on a whiteboard when I’m talking about software. Vyew also includes a free voice conference line (though it’s not an 800 number), and standard text-chat. All in all it’s a solid service for the price (free).
  • Imagination Cubed is an honorable mention based on its super clean UI that works exactly like you’d expect. More for simple drawing than diagramming, it has limited shape support, no chat, and no ability to delete drawn items. Although it lacks advanced features, it does what it does while looking cool.

An Open Letter to the Software Managers of the World

Dear Software Managers of the World:

We, the Software Developers of the World, realize that our two factions have had many disagreements over the years. Through this letter we would like to extend our hand in a gesture of reconciliation.

This letter contains two lists: the first list describes responsibilities we are willing to accept wholeheartedly, assuming you are willing to accept the second list with an equal amount of zeal and commitment. These lists are not intended as indictments of either side, rather glimpses of an ideal world where developers and managers work together in harmony.

We, the Software Developers of the World, agree to the following:

  1. We will do what it takes to get the job done without being asked, including working extra hours (as long as it does not violate clause 1 in the section below).
  2. We will not complain when we are assigned boring tasks, bad problems, or have to maintain someone else’s code (as long as it does not violate clauses 4 or 5 in the section below).
  3. We will bring issues to your attention constructively and with proposed solutions.
  4. We will seek to understand a decision before questioning it.
  5. We will build the best software we are able to.
  6. We will be loyal to the company and our team.
  7. We will be passionate about the software we build.
  8. We will be available when you really need us.
  9. We will fully document our code and designs.
  10. We will happily coach and mentor new developers.
  11. We will tell our friends how cool it is to work at our company.

In turn we ask that you, the Software Managers of the World, agree to the following:

  1. You understand that “crunch time” is an unexpected part of software development. Unless we have substantial equity in the company, crunch time will not exceed 3 weeks during any 6 month period.
  2. You will give us powerful, best-of-breed PCs, huge hard drives, large monitors, and the latest development software.
  3. You will listen and take action when we constructively bring a problem to your attention.
  4. You will ensure that at least 80% of our time is spent on good problems.
  5. If you plan to call us when software breaks, we will be given time to refactor and stabilize it as needed.
  6. You will not ask us to serve as technical guides for highly paid contractors only to be held responsible when their code single-handedly brings our operations to a grinding halt.
  7. If marketing is allowed to set our deadlines based on their knowledge of software projects, we will be allowed to set their budget and/or revenue expectations based on our knowledge of marketing.
  8. You will not ask us to compromise a solid, stable, and maintainable design in order to meet an unrealistic deadline.
  9. You will communicate expectations to to the stakeholders. You will ensure that before we begin building an application, all stakeholders spend ample time reviewing and understanding the specification.
  10. You will ensure that as new requirements arise we will be given the corresponding amount of additional development time.
  11. You will pay attention to your people more than your bottom line.
  12. You will make our company a cool company to work at so we’re not lying to our friends.

We hope you take these items under consideration and we look forward to how these changes will positively affect our relationship as we continue to work together to build software for many years to come.


The Software Developers of the World

Digg thisDigg this

If you liked this post you’ll also like Nine Things Developers Want More Than Money.

Thanks to Mike Taber, Andrew Black, Jeremy Lukensmeyer, Dave Standring, and Adnan Masood for their input. Special thanks to Mike Taber and Dave Standring for reading drafts of this post.

Poll Question #3: How old are you?

This is the third in a series of questions to help ensure I continue to write articles that are relevant to your interests.

Please click here to answer the question for today: How old are you?