Bill Horsman
Key Skills
- Passionate about Ruby on Rails. I've been using it full time since January 2007.
- Building websites with Java since 1997.
- 15 years worth of mistakes; doing things the hard way; learning from what went wrong. Trying to learn even more from what went right.
- Finishing projects and standing by them in production. Coding isn't all about the thrill of the new - it's also about detail and making it work.
- Beautiful interfaces: HTML, CSS, javascript. Simple, easy to use, intuitive, enjoyable.
- Refactoring and simplifying existing components. It's better to build something quickly and improve it later than to make it perfect first time, if that's even possible.
- Test Driven Development so you, the customer, have the confidence to make changes and adapt your business.
- I've been using Linux since 1999 and managing Internet servers since 2005. I am completely comfortable deploying and managing a production environment.
Influences
- Rework influences my work on a daily basis. Best absorbed with some perspective, not blindly, but astoundingly insightful. Learning that constraints help creativity; simplicity is beautiful; that things that appear simple require effort and discipline. I love the fact that 37signals still publish and stand by their manifesto from 1999.
- Currently reading HTML5 for Web Designers from A List Apart.
- Really enjoyed reading Javascript: The Good Parts by Douglas Crockford. Made me realise that I've been doing Javascript like a beginner for years.
Experience
I've been running my own company, Logical Cobwebs, since 1994 – working as a contractor through an agency, freelance on gigs, and in partnership with others in startups.
-
Contracting
I've worked for banks, telecoms, government, education, distribution and retail. Some of it has been at the leading edge using the latest tools; some of it has been the rigor of maintaining a financial system. All of it has taught me a great deal: language skills like Java and Ruby; coding skills like testing and transparency; business skills like communication and commitment.
- MyArtChannel. Leading their Ruby on Rails development team, building a website for the British Columbia visual art community. The biggest thing I've learned over the past two years is to only build what is needed right now and not to speculate on features that are likely to be needed in the future. Also, the reason you did something a certain way six months ago might not still be relevant: revisit old decisions and simplify where possible. (2008 - present)
- Royal Bank of Scotland. Maintaining a Java application handling credit card management. The app I was working on was very hard to maintain and the bank required endless documentation and adherence to processes that drove me crazy but there's a lesson to be learned from such extremes. Part of the reason for the rigid approach was that the application was brittle and had no automated testing - change was hard. In such circumstances you have no option but to move slowly and cautiously. (2006)
- Scottish Police Services Authority. Development of a Java application. (1999 to 2005)
- Findexa (and Telenor), the biggest Norwegian telecom. Redesign and development of their Yellow Pages website, gulesider.no, in Java. (2000 to 2004)
- Scottish Enterprise, Perot Systems, British Home Stores and others. (1994 to 1998)
-
Projects and Gigs
- GiftCardRescue. A gift card exchange site based in Maryland, written in Ruby on Rails. I have done 90% of the coding on this project and handle everything from design to production support. (2009 - present)
- Ghana Movie Channel. A Rails 3 app done extremely quickly (20 hours) showing videos related to Ghana. An experiment in Rails 3 productivity. (2010)
- Holiday Extras. An airport car parking e-commerce site written in Ruby on Rails. (2008)
- Mindstretchers. An online shop selling educational materials. Written in Java. (2004)
- NATEC. A simple website demonstrating electron microscopy for schools. (2005)
- Jubilee Group. Working for a stationery distributor I developed an application to analyse and visualise the flow of stock: looking at who bought what and when. Java. (2004 to 2006)
-
Startups
- Lemontastic (Ruby on Rails). Using PayPal to receive and pay money to businesses and individual members. This project taught me so much about Ruby on Rails and about how startups work. I guess this falls into "learning from my mistakes" category: overly complicated without testing the market first. (2007 to 2008)
- WebEcology (Java). This startup never went beyond proof of concept although we did attract some significant grants from the UK government. Although I was an experienced programmer I had a lot to learn about startups.
Education and Interests
I graduated from Bath University in 1990 with a degree in Aeronautical Engineering. I am a slalom canoeist and represented Great Britain at three World Championships from 1987 to 1993, winning the silver medal in the team event in Italy in 1993. I canoed down the Grand Canyon with my wife, Nonie in September 2001 and enjoyed it so much I went back in 2004 and 2007. We have two young children and enjoy introducing them to the adventure to be found outdoors.