1
The best definition of engineering elegance …
November 6, 2009A designer knows he has achieved perfection not when there is nothing left to add, but when there is nothing left to take away.
Google’s Privacy Centre announces Dashboard
November 5, 2009Over 11 years Google has offered many innovative products and stored a lot of data. Now you see your data stored with Google via ‘Google Dashboard’.
Koyana open-sources Basecamp-data importer
October 13, 2009We’ve released code for a Basecamp data-importer as project Texa hosted on BitBucket. The importer is based on Grails. Texa imports your Basecamp account XML file and stores your information in a database you can configure.
We use Texa to create a database for customized project tracking and reporting applications written in Grails and Flex.
Rob MacGregor
The FreshBooks hiring lament
October 8, 2009I follow a few blogs maintained by people and companies that have interesting perspectives. One of those companies is Toronto-based FreshBooks. Today I read their blog ( bit.ly/44zZ52) with uncharacteristic disappointment because of a blog post from FreshBooks’ Chief Cat Herder Corey Reid.
FreshBooks is hiring and Corey is lamenting the quantity and quality of the resumes he is receiving. Corey then goes on to describe his formula, known as the three ‘Be’s, of getting a job. With a tragic lack of imagination the three ‘Be’s are; be specific, be relevant and be discerning. Corey’s post carried a tone of tired solipsism that sounded like whining.
The first ‘Be’ is ‘Be Specific’. This is good advice for job seekers and employers alike. For job seekers be specific in your resumes as Corey describes. FreshBooks and Corey should be specific in their role-descriptions. Here’s an example where improvement could be made, let’s examine a FreshBook’s role description for a Software Developer:
“Love the fast-paced and creative environment of a start-up, but could do without the stress and chaos? FreshBooks has been around for more than five years now and has a fanatical fan base of over 900,000 people who use our groundbreaking Web 2.0 application. Whatever “Web 2.0” means.”
As a jaunty up-beat summary it’s OK. But it needs to be specific; what does FreshBooks need from software developers beyond developing software? Software to do what? By when? Create new features? Punctuation matters too; the last sentence needs a question mark. This paragraph was wasted because it fails to inform about FreshBooks intent.
Next comes skill areas and there is nothing specific:”3 years’ experience building online applications” – What kind of applications? Which target markets? Which implementation languages? What architecture?
“Serious SQL chops” – Does that mean I make every SQL query seriously? I know where to get a book on SQL? Does it mean I can formulate arbitrarily complex SQL queries?
The last bullet-point is the worst because it’s a reprimand: “No desire to waste our time because you don’t actually have some of the qualities described above”. Given the prior vague descriptions this is self-serving at best. Here’s a tip Corey; don’t reprimand the people your trying to recruit.
Corey’s second ‘Be’ is ‘be relevant’. Corey deplores applicants who, in his opinion, haven’t matched their skills to the role. Here’s another perspective; beyond the message that FreshBooks does invoicing there is little to information describing FreshBooks’ culture, revenue-model or intent. Without more information candidates cannot fill-in the gaps for a hiring manager. BTW FreshBooks’ 2 minute video is amusing but gives the impression FreshBooks is Facebook. Why not have employees describe why they joined and remain at FreshBooks?
The third ‘Be’ is ‘be discerning’. Discerning means shrewd, astute and selective. Corey’s point is applicants should tailor their applications to aid FreshBooks in identifying relevant skills. The driver for discernment is ‘Five-page resumes full of thick paragraphs, endless lists of acronyms and long columns of bullets just make you look like everyone else.’
If you don’t specify length/pages you’ll get everything because applicants want to present a complete work-history. If you want less volume ask for it in the application process. If you’re seeing similar resumes it means you’re getting consistent responses to your role descriptions. E.g. if you asked for SQL you’re going to see a lot of SQL in the resumes!
Here’s some tips that make hiring easier:
1) Make time to read resumes; all of them! Applicants made the effort to send them to you so you read them. If you see a resume you don’t like contact the applicant and explain how to improve it.
2) Hold a regular open gathering where people can come into FreshBooks, meet employees and talk to you. Think of this as a small scale job fair with one employer. If you have a Friday Beer/Pizza party this is a good venue. Meeting potential hires lets you talk to them in groups so you don’t repeat yourself and makes a relaxed atmosphere. Encourage friends-of-friends to attend. Keep doing this regardless of headcount; always be recruiting.
3) Don’t put reprimands in role descriptions.
4) Avoid adding questions at the end of requirements: “Experience with “Agile” development methodologies (whatever “Agile” means)” because it looks cynical. If you don’t know what it means why is it a role requirement?
5) Improve your job title. Do you want to be recruited by a Cat Herder?
Cory Reid, Chief Cat Herder – better stick with herding cats Corey until you improve your hiring process!
FreshBooks is hiring and Corey is lamenting the quantity and quality of the resumes he is receiving. Corey then goes on to describe his formula, known as the three ‘Be’s, of getting a job. With a tragic lack of imagination the three ‘Be’s are; be specific, be relevant and be discerning. Corey’s post carried a tone of tired solipsism that sounded like whining.
The first ‘Be’ is ‘Be Specific’. This is good advice for job seekers and employers alike. For job seekers be specific in your resumes as Corey describes. FreshBooks and Corey should be specific in their role-descriptions. Here’s an example where improvement could be made, let’s examine a FreshBook’s role description for a Software Developer:
“Love the fast-paced and creative environment of a start-up, but could do without the stress and chaos? FreshBooks has been around for more than five years now and has a fanatical fan base of over 900,000 people who use our groundbreaking Web 2.0 application. Whatever “Web 2.0” means.”
As a jaunty up-beat summary it’s OK. But it needs to be specific; what does FreshBooks need from software developers beyond developing software? Software to do what? By when? Create new features? Punctuation matters too; the last sentence needs a question mark. This paragraph was wasted because it fails to inform about FreshBooks intent.
Next comes skill areas and there is nothing specific:”3 years’ experience building online applications” – What kind of applications? Which target markets? Which implementation languages? What architecture?
“Serious SQL chops” – Does that mean I make every SQL query seriously? I know where to get a book on SQL? Does it mean I can formulate arbitrarily complex SQL queries?
The last bullet-point is the worst because it’s a reprimand: “No desire to waste our time because you don’t actually have some of the qualities described above”. Given the prior vague descriptions this is self-serving at best. Here’s a tip Corey; don’t reprimand the people your trying to recruit.
Corey’s second ‘Be’ is ‘be relevant’. Corey deplores applicants who, in his opinion, haven’t matched their skills to the role. Here’s another perspective; beyond the message that FreshBooks does invoicing there is little to information describing FreshBooks’ culture, revenue-model or intent. Without more information candidates cannot fill-in the gaps for a hiring manager. BTW FreshBooks’ 2 minute video is amusing but gives the impression FreshBooks is Facebook. Why not have employees describe why they joined and remain at FreshBooks?
The third ‘Be’ is ‘be discerning’. Discerning means shrewd, astute and selective. Corey’s point is applicants should tailor their applications to aid FreshBooks in identifying relevant skills. The driver for discernment is ‘Five-page resumes full of thick paragraphs, endless lists of acronyms and long columns of bullets just make you look like everyone else.’
If you don’t specify length/pages you’ll get everything because applicants want to present a complete work-history. If you want less volume ask for it in the application process. If you’re seeing similar resumes it means you’re getting consistent responses to your role descriptions. E.g. if you asked for SQL you’re going to see a lot of SQL in the resumes!
Here’s some tips that make hiring easier:
1) Make time to read resumes; all of them! Applicants made the effort to send them to you so you read them. If you see a resume you don’t like contact the applicant and explain how to improve it.
2) Hold a regular open gathering where people can come into FreshBooks, meet employees and talk to you. Think of this as a small scale job fair with one employer. If you have a Friday Beer/Pizza party this is a good venue. Meeting potential hires lets you talk to them in groups so you don’t repeat yourself and makes a relaxed atmosphere. Encourage friends-of-friends to attend. Keep doing this regardless of headcount; always be recruiting.
3) Don’t put reprimands in role descriptions.
4) Avoid adding questions at the end of requirements: “Experience with “Agile” development methodologies (whatever “Agile” means)” because it looks cynical. If you don’t know what it means why is it a role requirement?
5) Improve your job title. Do you want to be recruited by a Cat Herder?
Cory Reid, Chief Cat Herder – better stick with herding cats Corey until you improve your hiring process!
Article via InfoQ – Encrypting the Internet
September 22, 2009Encrypting Internet traffic is necessary to maintain privacy. SSL over HTTP provides encryption and introduces processing overhead. This article, by Grover,Kang, Kounavis and Berry, is a three-pronged solution utilizing new CPU instructions, a novel RSA software implementation and web-server load balancing.
Project management disputes and techniques to resolve them
September 6, 2009Sept 14, ADR Institute office
234 Eglinton Ave. E. Suite 405
Poor project management is a common cause of disputes in technology projects of all kinds. Unrealistic expectations, lack of communication, undocumented changes in requirements, multiple parties working at cross-purposes can all contribute to disputes that rapidly escalate if they are not managed and resolved effectively and efficiently.
Our speakers, Ori Schibi and Robert MacGregor, are project management experts who have experience dealing with all of these problems. They will speak about how and why disputes arise and how effective project managers deal with them.
Following their presentations, there will be a round-table discussion on the role of mediation and arbitration in the dispute resolution process.
Ori Schibi is an entrepreneurially-minded project and change management expert with twenty years experience in financial services, IT, telecom, not-for-profit and education sectors. He is an educator, trainer and facilitator committed to collaborative working environments and results.
Robert MacGregor is the principal of Koyana Inc., which specializes in saving software projects in crisis. His methodology identifies the symptoms and causes of software project failure and applies effective countermeasures to improve project management and manage conflict.
When ‘Good Enough’ product design isn’t
August 26, 2009Wired Magazine 17.09 published an article by Robert Capps about the philosophy of ‘Good Enough’ product design. The article uses the Flip video camera as an example of a low-cost, feature-reduced product that disrupted an established market. Capps’ article identifies ease-of-accessibility as the new measure of product success and shows how the Flip camera, Predator aircraft and Kaiser Permanente’s micro-clinics demonstrate the success of good-enough design.
Another champion of good-enough design is Basecamp project tracking software produced by 37-Signals. Basecamp’s minimalist feature-set has attracted one million users and rates highly in 37-Signals Customer Satisfaction Surveys (1). But not everyone is happy with Basecamp. In a recent post to Basecamp’s API forum Richard K from Souldesign (2) was critical of 37 Signals reluctance to add features requested by Users. In reply David Heinemeier, of 37 Signals, stated ‘We can’t be all things to all people, but we try to be a lot of things to many.’
Richard K and David Heinemeier’s exchange illustrates an important aspect of good-enough design; good-enough is great if it meets your needs. Knowing what your needs are is crucial to benefiting from good-enough products. Typically good-enough products are cheaper and incur a low down-side cost for trying to use them. For example the Flip camera costs USD 150 and Basecamp is free for one project.
The insight we can take-away is this; always try a good-enough product if available. Use the good-enough product as long as it meets your needs. If your needs change switch to something else; don’t expect the good-enough product to change for you.
Refs
1. Basecamp Facts https://37bp.backpackit.com/pub/1271221
2. Basecamp API forum topic ‘Listen to clients’
http://groups.google.com/group/37signals-api/browse_thread/thread/cade85cbd39628e8
Rackspace’s open cloud
July 23, 2009Rackspace have made their cloud-servers controllable via an open-source API. Rackspace’s API allows programmable control of server configuration, deployment and control; and that includes re-imaging a server.
http://www.rackspacecloud.com/
Intro to Groovy – 7pm, July 16 at Toronto Hacklab
July 6, 2009Groovy is an exciting, capable, tool for extending Java’s expressiveness as a language. Come and learn how groovy can make your code easier and fun. Robert MacGregor, from Koyana Inc., will introduce Groovy and guide you through it’s very useful features.
Meeting Location: Hacklab Toronto, 170a Baldwin Street (in Kensington Market).
This event is held by the Toronto Java Users Group.
http://groups.google.com/group/torontojug
Posted by robertmacgregor
Posted by robertmacgregor
Posted by robertmacgregor