Continuous Integration Too Simple to Ignore

Posted on April 15th, 2008 in rails | No Comments »

I’ve always been a big fan of continuous integration. There is something empowering about having a tireless little robot patiently waiting for you to check your code in. When it sees your latest commit, it quickly downloads it and then runs all your tests. When that’s over, it prints a nice web summary of what it did. It can even update your main team portal pages with updated content (javadocs, rdocs, test coverage, daily metrics, whatever). It is like having a groupie fanbot who loves your code.

Until you check in something that breaks (fails a test or worse yet, doesn’t compile). Then your little groupie is more like a stalker. Not only does it display a nasty web page (in shades of red) about the build YOU broke but it probably sent out a raft of emails about it. Pretty embarrassing.

Read the rest of this entry »

Boost Team Productivity and Consistency By Developing and Using Rails Generators

Posted on March 1st, 2008 in rails | 1 Comment »

If you have worked with Ruby on Rails for any time at all, you are very comfortable with the speed at which you can create an application or prototype. Using scaffold generators and by following the conventions of rails, you can easily get started on a prototype app in a few minutes.  As you start to incorporate your client’s styling, menus or other markup/design aspects the power of generators and scaffolds seems to diminished.  If you find yourself in a position of creating the same menu or stylistic elements over and over for multiple sites, you should consider packaging them generically as a generator gem.

In some recent projects, we were creating sites with a consistent  ‘intranet’ look and feel (mandated by the client’s web guidelines).  Doing this each time was a pain because of the need to rework the style sheets, layouts and copy in css images. Lots of  moving parts and hard for the some of the less experienced team members to get right without lots of help. I kept thinking, it would be great if there was some way to generate the boilerplate web menus for our apps so you can get up and running in minutes.  This is where taking a little time to create a generator and package it as an internal gem that each team member can install and use.

Read the rest of this entry »

Overloaded Titles

Posted on February 3rd, 2008 in general | No Comments »

I really don’t like most of the titles I have seen. Architect is probably the most overused and most overloaded one there is. I agree with in the recent post from But Where are All the Architect Positions? in when companies say they want an architect, they really want a senior developer. This has been my experience too. I think of myself as a very senior developer who does lots of application architecture (overload for ‘application design’) and who is aware of enterprise architecture options/approaches. I’m really a developer who understands a larger number of perspectives than a less senior developer. This is because I’ve lived on many many more software projects and have worn many different hats. I also remember what worked well and what didn’t so am always on the lookout for new frameworks or techniques that improve my future existance.

In my view, an architect is more than just a person who understands frameworks or the various supportability or security implications of this decision or that… An architect is really a ‘lead developer’ who doesn’t just bring conceptual elements to a project, they lead the development – showing by doing, coaching, reviewing, spiking, advising.

So, when I think of software architect, I really don’t think of the academic sitting in the ivory tower, I think of the gal or guy on a project that always seems to be a step ahead of problems. They are busy as hell but always have time to explain or discuss. They foster proactive and transparent communication in their teams. They don’t own the design or framework choices, they encourage evaluation and trade offs. Most of all, they contribute instincts to the team. Instincts to help shore up the team to tackle some of the non-intuitive aspects of the development life cycle like TDD.

Working on a a self organizing scrum team means low ceremony and trying to work as a collective whole so titles mean little. I hope hiring managers and contract outfits will begin to dig into the needs of the project more than relying on titles. This is especially true when they talk to ‘architects’ that graduated in 2005.

Just say, my title is chief bottle washer.

Gift To Yourself

Posted on December 24th, 2007 in life | No Comments »

I recently participated in an activity at my son’s school that I thought would be fun but it turned out to be something entirely different.

Our elementary school has a very active PTA and recently an expanding dads volunteer group (Dad’s Den). We help where we can – car pool line, ice cream socials, bounce houses, etc… The group (thanks to the encouragement and dogged work of its uber-dad organizer) wanted to expand on last year’s holiday assembly where the dad’s show up in silly hats and sing a few songs. Last year was really funny and the kids talk about it still.

Now, my wife is very involved in volunteering and supporting the schools (she’s a Lifetime PTA member) and I do what I can on my boys’ baseball, soccer and basketball teams but work often gets ‘in the way’ of doing more. This year the Dad’s Den decided to expand the holiday show by adding a band and a larger dad’s chorus. Pretty soon the ‘project’ had a life of its own with weekly rehearsals and over 70 dads. I along with three other guitarists, a keys player, two drummers, and a saxophonist soon had a few pretty silly sounding songs under our belts.

I was pretty caught up in the whole thing by week three. We were making signs, tweaking lyrics, planning how to mix keys or drums into the ‘house PA’, setting up monitor feeds – it was pretty much a zoo – and I was having a blast.
The curtain went up at 8 AM and we had a great time – the kids really got into it, lots of dad high fives, lots of laughing, the band / choir did our best. By 9:15 we had torn down the amps, drums, mixers and all headed our separate ways. Each feeling pretty good about spreading holiday cheer while having the secretly had fun playing ‘rock star’ in front of our kids.

It wasn’t until later that I was watching the video of the whole thing that it really hit me how much fun the kids had. When you are standing on stage (next to the drum set) and there are 60 dad’s standing in front of you, and you are trying to remember the chords to Jingle Bell Rock, you miss lots of what is happening. The video was shot from within the audience of 500+ elementary school kids and their joy and enthusiasm was incredible. They were singing along like sailors and fist pumping and cheering each number. It still gets me choked up thinking about how much fun they had at our expense.

Anyway, the episode rekindled in me the stuff that truly matters. Volunteering isn’t often this much fun but it is almost always as rewarding. There are lots of creative ways to get involved. I encourage each of you to take time and volunteer your time with your schools, churches, communities. You will meet some great people and you will give yourself a wonderful gift.

Happy holidays.

Hello

Posted on November 28th, 2007 in general | Comments Off

I’ve been a long time consumer of internet information. I work on internet based projects and do lots with my client’s intranet spaces.

I have offered advice and asked the occasional question from time to time on specific technology boards such as Springframework but largely, I’ve taken information rather than offer it.

My net contribution to cyberspace is mostly negative.

This blog will attempt to rectify this situation little by little.

My hope is any contribution I make doesn’t further tip the contribution scale in the wrong direction.