I’m a Developer. Well, to be fair, I’m probably a little closer to a Sweeper than I am to a Developer. But, I’d definitely not consider myself a full Sweeper. It’s complicated, let me explain.
Designers, Developers and Sweepers
In software development, a good Designer uses his instinct and experience to create functional and memorable user interfaces. A great designer can translate those user interfaces into semantic XHTML and CSS.
A good Developer can take that XHTML/CSS user interface and bring it to life using tools like jQuery, Ruby on Rails and a data repository like MySQL or MongoDB. A great developer can also translate the designer’s user interface into semantic XHTML and CSS.
Now, a Sweeper is by default great, not just good! He can design a beautiful and memorable user interface. He can translate that interface into semantic XHTML and CSS. Then he can turn right around and bring that interface to life using jQuery, Ruby on Rails (or another framework) and MySQL.
The Sweeper’s natural gift of design coupled with a natural talent for development make him a formidable software developer. However, this virtue can be a Sweeper’s biggest enemy.
The young Sweeper might not see much value in teaming up with a Designer, Developer and other execution roles. The potential for non-collaboration can decrease the Sweeper’s chance of realizing his full potential.
Examples from the Development Community
Jason Fried is, without a doubt, the quintessential Designer. He can design user interfaces. Yet, he is constantly frustrated that he cannot make his designs work on his own.
David Heinemeier Hansson
The corollary is David Heinemeier Hansson - the creator of Ruby on Rails and the eternal Developer. David loves code and code loves him. But, can he design memorable user interfaces? I don’t think he’d even want too because he knows the power of focus and delegation of responsibilities!
Matthew Inman is a hardcore Sweeper. Matthew is the one man show behind The Oatmeal. The man designs, creates semantic XHTML/CSS and codes! Classic Sweeper!
What should you take from this?
No type is better than the other! If you take nothing else, take that home. Each of our talents lay on a continuum of: Designer, Sweeper, Developer.
I am probably closer to a Sweeper than most developers. Why? Well, I fervently believe great design inspires great code. And that’s how I ship! I start from an XHTML/CSS design that is at once beautiful and inspired. Then I iterate until I have a functional prototype.
I often get asked, “What exactly do you mean by beautiful and inspired?”
Beautiful is about stimulating dopamine:
beau·ti·ful - having qualities that give great pleasure or satisfaction to see, hear, think about; delighting the senses or mind.
Inspired is about having a purpose:
in·spired - aroused, animated, or imbued with the spirit to do something, by or as if by supernatural or divine influence.
I want to stimulate your dopamine and make you feel good when you use my applications. But before I do that, there needs to be a purpose behind you using my application and I want to be inspired to deliver that purpose.
For me, making software that is beautiful and inspired is about scratching my own itch. And that is what’s great about being a developer. Most people buy software and just have to use it. We have the rare opportunity to see software and ask, “How can I make this better?”
A very small example of this gift of innovation is the web’s progression from ugly urls to human readable urls. A bigger example is the gifts that are Stack Overflow and Google. I remember a time when finding answers to coding questions was limited to a local instance of the MSDN library. Now you can collaborate with thousands of developers!
Such an ability is a gift! Nothing short of a burning light. A light I’ve seen too many developers extinguish in the lavatories of uninspired development. Don’t forget who you are and take time to remember our Patron Lady of the Code. You too can be inspired once more!
Where do you fit in? Are you a Designer, Developer or Sweeper?