The Doer, Planner, and other Programming Personalities

written by edavis on January 24th, 2008 @ 02:41 PM

Your personality says a lot about you and how you react to the world. Several months back I found a programmer personality test that will describe how you like to program. Today, I decided to take it again to see how I’ve changed.

Originally I took it along with all the other programmers where I worked, and the results were valid. The guy who loved writing tight data structures in C was a “Low Level” programmer and the one who stringed 10 function calls on a single line to save space ended up being “Conservative”.

Both times, I came up as DHSB. Not a bad type for a freelance programmer:

  • Doer - I would rather get the general idea of a feature and then dig into the code. Most plans change as you start implementing.
  • High level - I love Ruby and she loves me. I’ve been flirting with Common Lisp just to learn how it’s macros work.
  • Solo situation - I prefer to work on a solution by myself or with a few people. I’ve seen too many bad ideas result from large meetings.
  • Liberal - To help support my High level, I try to build up abstractions in my code to make it easier on myself and my team. Since these are usually used by many people, I try to be extra clear so to prevent misunderstandings later.

I had my friend Peter Chester take it and he said this would be a good way to help decide who should work on a specific project. Got a prototype? You will want a Doer. Need an embedded driver for a cell phone? Low level is for you. Need a n-tier system? You will want a Team.

What personality type are you? Does it fit you?

Eric

How Does Your Business Handle a Mistake ?

written by edavis on January 18th, 2008 @ 02:00 PM

Every businessperson makes mistakes, but how do they make up for them?

Today 37 Signals had a major outage on all of their websites. These websites are used by thousands of people every day to run their business, including me. I found out about the outage when I tried to lookup the phone number of a customer I was about to call. Luckly for me I had a copy of the number some place else.

It turned out that the outage wasn’t 37 Signals’ fault, but it did impact their customers. These customers pay to have access to their websites, and to use the data they have stored in them. Once the services were back up 37 Signals issued a great apology and even offered to go the extra mile for their customers:

… While we don’t have a formal service-level agreement (SLA), we still want to compensate anyone who felt they were negatively affected in their work because of this outage. Please write support@37signals.com and we’ll get that taken care of. …

Any business that didn’t provide a SLA like 37 Signals could have just said “Yep, we had downtime. Sorry, deal with it”. Instead they are offered to help the people who were affected, even though they have no obligation to. This is how a business should deal with a mistake, even if it isn’t their fault.

It even appears they took the same action in the past and tried to do their best to make it up to people.

So how does your business handle mistakes? Are you proactive and try to go the extra mile to please your customers?

Eric

Small Business Blogging - the First Six Months

written by edavis on January 18th, 2008 @ 11:11 AM

Mason over at Small Fuel Marketing just wrote a great post about how small business blogging can grow your business. I want share my own first hand experience of my own business blogging.

This blog has been online since 2005 but it was mostly just a place I stored thoughts and ideas I had. Around July 2007 I started my own software company and decided to start blogging about it with the goal of helping people see what is involved with starting a web business. Since then I've tried to post monthly business reviews to give an in depth view of my business.

Here's some benefits I've received over the past 6 months.

6 times increase in subscriptions

I started with about 20 regular subscribers to my blog. Today I have over 120 people subscribed. To restate that, there are 120 people who are coming to my website daily wanting information I write about. Anyone interested in exponential growth? I am!

Tripled my visitor count

Just from blogging about my business and what I'm doing, I've tripled the number of people coming to my websites. This by itself is good but if you know that I do 0 advertising other than links in comments, this is amazing.

Started a Relationship that will be worth six digits this year

From one comment I posted to another blog, I started a relationship with a very influential group of people. This relationship, along with their network will provide me with at least six digits of revenue this year.

Are you brave enough to take action?

All of this was done with the basics Mason outlined, without any advertising or any networking off the Internet. I think I've spent about 3-8 hours a week updating this blog and connecting with others. Not a bad investment at all.

Head over to the Small Fuel Marketing Blog now and see how your business can grow in the next 6 months.

Eric

Digging Myself Out of the Hole Called RSS

written by edavis on January 17th, 2008 @ 04:22 PM

I've always been a heavy reader, online and offline but this weekend I finally noticed the hole I dug myself into. I was taking in more information that I could get through and I was falling behind. I resolved then to start taking action to dig myself back out by following 3 simple steps:

1. Stop digging

The first step to getting out of a ditch is to stop digging. In my case I've made it part of my weekly review to drop 5% of my feeds every week. Sorry guys, it's not you it's me. I track enough blogs that I'll hear about industry changing news eventully.

2. Fill in the hole

Now the hole isn't getting any deeper but there still is a massive hole. What's the best way to fill up a hole? Add the dirt you took out of it.

In my case I'm implementing the 2 minute rule for my reading items. Each item gets 2 minutes to decide it's fate:

  1. Not Valuable: Delete.
  2. Valuable but not right now: tag it in del.icio.us based on the main content.
  3. Valuable right now: Read it.
3. Don't get buried again

So now I've stopped digging but new things are still coming in. I'm going to adopt another 2 minute rule for each new item:

  1. Not Valuable: mark as read.
  2. Valuable but not right now: tag it in del.icio.us based on the main content.
  3. Valuable right now but will take longer than 2 minutes to read: Tag as @check for later.
  4. Valuable right now: Read it.
Results

So far it's working great. I've cut my subscriptions, checking the new items faster, and taking time everyday to go though my del.icio.us page of items (470 items dating back to March of 2007!).

What steps do you use to keep yourself out of the information hole?

Eric

Redmine Timesheet plugin

written by edavis on January 9th, 2008 @ 09:17 PM

Screenshot

I’m happy to announce I am releasing my first Redmine plugin, Redmine Timesheet. I’m releasing it under the GNU GPL v2

Purpose

This is a plugin to show timelogs across all projects in a Redmine install. I use it for:

  • How long did I work today? (timelogs for today)
  • How much of my time is billable work? (timelogs for specific activities)
  • How much do I need to invoice for a project? (timelogs for a billable activity on a project)
Features
  • Filtering of timelogs
    • by Date ranges
    • by Project
    • by Activities
  • “Run Timesheet” permission to restrict feature to specific users
Install
  1. Download the archive file and extract it to your vendor/plugins folder. You can also download directly from my Subversion server using Rails’s plungin script

     script/plugin install svn://dev.littlestreamsoftware.com/redmine_timesheet_plugin/trunk
    
  2. Follow the Redmine plugin installation steps.

  3. Login to your Redmine install as an Administrator.
  4. Enable the “Run Timesheet” permissions for your Roles.
  5. Add the “Timesheet module” to the enabled modules for your project.
  6. The link to the plugin should appear on that project’s navigation.
Help

If you need help you can leave a comment here or enter an issue directly into my bug tracker.

Eric