Applying the Inventors Paradox to Job Hunting

by Royd Brayshay on January 11, 2010

The "How to Solve it" book cover

Back in1973 a mathematician named George Polya wrote a book called How to Solve It. Within the book he defined the Inventors Paradox for the first time stating, “The more ambitious plan may have more chances of success”. This is commonly paraphrased as, “Its often easier (paradoxically) to solve a more general problem than a specific one”.

Polya’s book was about solving maths problems. The principle however applies to many things including, as you may expect, software. Years later those involved with Adaptive Programming and subsequently the Aspect-oriented programming movement, sighted the Inventors Paradox as a foundational pattern. Both are techniques primarily concerned with decomposing and the abstraction of programming problems.

Programmers expend a lot of effort decomposing problems. Their success at doing so defines them. How developers think about abstractions is another key differentiator of skill and experience. Cleaver abstraction is an art not a science. It’s one of the places where design and engineering meet.

As a programmer I’m a professional problem solver, practiced at decomposing and thinking in abstractions. Teasing out the essence of the problem is, for me, the fun part of any project. Collaborating on a design within a well gelled team can be very satisfying. Finding and joining such a team is not straightforward however. You need to choose carefully, and that means having choice in the first place. The whole purpose of this dialogue is to explain why I’ve started this blog. In Inventors Paradox parlance my specific problem is consistently landing great jobs. My general problem is communication. With a three page resume, half filled with keyword soup, it’s a challenge to convey my accumulated skills effectively. I hope this blog builds into something that may help.

Man carrying portfolio case.Job seeking developers traditionally attend an interview, often sitting a programming test. They typically have no portfolio, as a graphic designer might have. Solving a coding puzzle does require intelligence and language knowledge, but some skills like design are difficult to measure. Looking through a graphic designers portfolio is a view on thinking, style and execution. Would sitting a Photoshop quiz be as insightful?

I’m not alone believing design is everywhere within development however, in my experience, developers’ are rarely judged by their design skills during the recruitment process.

The recent launch of Geoff Atwood’s StackOverflow Careers could be the start of a new direction, I hope so.

I don’t know what form a developers portfolio might take. I’m exploring a few ideas and a blog is obviously a popular choice. Writing is a different skill set and despite a new copy of Strunk and White failure is very possible.

{ 2 comments… read them below or add one }

Matt February 12, 2010 at 8:05 am

I was just pondering how to apply Polya to a different employment and software development problem and read your post. I’m not certain if I agree or disagree with your definition of your general problem as Communication, but it didn’t feel right to to me. I will concede your specific problem of consistently finding great jobs with great teams. I will further concede your logical progression that to choose a great job you need choices. However, I will suggest your general problem is better defined as being consistently “in demand”, as effective communication seems to be different specific problem and you clearly communicate perfectly effectively already. That’s the trick of Polya, outside of science/math/software, describing the general problem can be elusive or misleading. As for a solution the the general problem as I defined it, .net are dime a dozen – lining the pavement as they might say in Harrogate. Ruby on Rails folks are getting top dollar (or pound) and they all have myriad choices. I forced my two .net guys onto the platform and they are coming up to speed fast. Do what’s in highest demand, general and specific problem solved! I also share your passion for good design, and enjoyed reading your posts. Keep up the blogging, your portfolio notion is brilliant. (I used to work for CODA, who have an office near you and competed with Sage. Now I have a SaaS start up in CA. Good Luck and keep up the blogging…Cheers)


Royd Brayshay February 12, 2010 at 1:03 pm

Matt, thanks for the thoughtful comment. It’s very gratifying it receive one. In sighting communication as the general problem I was really meaning bandwidth. I’m hopping a year’s worth of blog posts will say what I do and think better than purely my resume. I’m working on a couple of other things I hope will also help; one of them designed to demonstrate my polyglot programming efforts. And yes I agree with your Ruby marketplace comments. Good luck with the start up and thanks again.


Leave a Comment

Next post: