If you want to contribute something original, it may be best to stay away from those who might inspire you too much.
I was just watching this lovely little seven-minute video on Roger W. Smith over at HODINKEE:
Roger is a watchmaker, in the most traditional sense. He apprenticed under George Daniels, one of the best there ever was. And for the first few years, he made everything himself — just him, no one else. Eventually he built up a team of 8, and that’s where he is today. Even if you aren’t into watches, I bet you’ll be into Roger W. Smith after you watch the video above.
Roger’s workshop is on the Isle of Man — far away from the heart of the industry in Switzerland. In fact, he’s the only watchmaker on the Isle of Man, and one of very few in the UK.
He thinks being far away is a good thing. I love how he puts it:
“The influences just aren’t around, and I can just get on with my days work and just make what I want to make.” -Roger W. Smith
I love that notion — it’s one I’ve tried to hold dear myself. Don’t be influenced too much. Be aware of what’s great, but don’t get other people’s work too deep in your head or you’ll be doing their work, not yours.
It’s so easy to get sucked into other people’s work. Following industry news, attending every conference you can, picking brains. But I’ve often found it better to retreat into your own mind and bring something original. The more you see how other people do what they do, the harder it becomes to do things differently.
So pay attention a little, but not too much — leave more room for your own ideas than for theirs.
I’ve always highly respected his viewpoint. But I can’t say I’ve necessarily been able to fully relate to it.
Don’t get me wrong. His rationale and explanations make perfect sense. I don’t write a lot of Ruby, but I understand why people like it a lot. It’s very pretty, expressive, and clear. It has a ton of great features. Those are the facts.
But when David talks about Ruby, he doesn’t hammer on facts. Rather, he exudes emotion. Emotion is what really cuts deep and inspires people.
Sure, he also mentions some language features, but it’s far more interesting when he excitedly talks about Ruby’s beauty, how it makes him genuinely happy, and how its transformed his life. His deep passion and enthusiasm trumps any facts or features. You can tell Ruby is, to him, something special and profound. He loves it.
And it’s usually at this point when I ask myself, “What the hell is DHH talking about?”😕
The reason I could never fully relate to David’s visceral, emotionally charged stance on Ruby is because <gulp> I’ve been a Java guy for 15+ years.
I know it’s not a particularly cool thing to say, but for all its warts, Java has served me well. And as Android’s native language, it’s been a true blessing in disguise. Who knew all those years of writing shitty webapps would turn into such an awesome mobile opportunity?
But I’ve never had strong feelings about Java itself. I liked some things about it, and I hated others. Whatever…it did the job. It was fine.
For many years my perspective was simple — I didn’t have to love Java (or whatever programming language) to do my work well.
That all changed a few months ago.
At the suggestion of my Android partner in crime, Jay, we started to look more seriously at Kotlin. It had been in the back of our minds for a while, but when it hit 1.0, we took a more serious look.
Jay jumped in first with some experiments and I played around, but I didn’t think too much more about it. I continued with my 100% Fine Artisanal Java™ features.
Then about a month ago I wrote my first Kotlin class.
It was a popup adapter in just 86 lines (17 of which were package and import statements), and I couldn’t get over how concise and readable it was. I could barely comprehend how little I wrote to get something to work.
It took me a few passes, but all of a sudden, I sensed the difference. This wasn’t just about language features or what the FAQ said the language was capable of.
This was about how I felt.
It was genuinely fun. I found myself smiling. I found myself saying “holy shit” more than a few times. I’d read code over and over and couldn’t believe how much I was accomplishing in so few lines. I couldn’t believe the clarity of the writing.
Over the next few days, I wrote more and more Kotlin. I wrote my first extension. Then I converted an existing helper class and instantly cut 94 lines. I wanted to write more!
I was amazed, excited, and having a ton of fun. I was also slightly freaked out by this weird new experience brought on by a programming language.
Then it finally dawned on me. Oh my God, this is it. This is what loving a programming language is like.
Over the next couple of weeks, that warm fuzzy feeling just grew and grew.
Whenever I’d have to work with Java, it was painful. I’d find myself rushing through it and making stupid mistakes because I had more important Kotlin files to attend to.
But when I opened the Kotlin files, I felt at home, relaxed. The code was beautiful and expressive. It was concise but powerful. I kept finding new ways to write more clearly, more directly. And I was happy!
In short, I was feeling what David had felt about Ruby for all those years. I finally understood what the hell he was talking about!
And so that’s where we’re at in the love story. It’s still really early, and who knows if this is just infatuation or true love. For all I know it’ll all come crumbling down.
But no matter how it turns out, I learned this very valuable lesson (and it only took me 15+ years)…
Nobody can truly decipher a programming language‘s greatness for you. No amount of explanation will help you feela great language at your fingertips. They may try, but it won’t fully click. You have to experience it for yourself.
If you’re programming now, but don’t love the language you’re writing, I’d encourage you to try one that has a reputation for positive vibes: Ruby, Kotlin, Swift, or Coffeescript. And don’t just read the docs and do tutorials — pick one and try building something real.
Good luck. I hope you find love on your journey.
We’ve been working really hard to make the all-new Basecamp 3 and its Android app as great as they can be. Check ’em out, we hope you love them. 😀
Attend enough startup conferences or listen to enough motivational speakers and you’ll hear one piece of advice repeated over and over again: You’ve got to love what you do! If you don’t love what you do, you might as well stay home. No less a giant than Steve Jobs famously told Stanford’s 2005 graduating class, “The only way to do great work is to love what you do. If you haven’t found it yet, keep looking. Don’t settle.”
I don’t buy it.
There’s nothing wrong with loving what you do, of course — I just don’t think it’s a prerequisite for starting a business or building a fulfilling career, let alone doing great work. In fact, I think it’s disingenuous for really successful people to put so much of the focus on love, just as it’s disingenuous for really rich people to say money doesn’t matter. People tend to romanticize their own motivations and histories. They value what matters to them now, and forget what really mattered to them when they started. It’s human nature, so it’s an easy thing to do.
The way I see it, many great businesses and important innovations are actually born out of frustration or even hate. Travis Kalanick and Garrett Camp, the co-founders of Uber, didn’t start their ride-sharing service because they loved transportation or logistics. They started it because they were pissed off that they couldn’t get a cab. Kalanick may love running Uber today, but he really hated not having a way to get home. A random brainstorming session one night in Paris turned that frustration into the seed of a multibillion-dollar company.
I talk to other entrepreneurs all the time, and many of their companies sprang into existence for similar reasons — because the founder wanted something that didn’t exist or scoped out an opportunity to do something better than it had been done before. Love for their subject matter may or may not play a role in their stories, but hate for the existing options, along with strong opinions about how things could work, does and is a much better predictor of success.
My own career is no exception. Back in the mid-’90s, I was looking for a simple tool to keep track of my music collection, and all of the available programs seemed bloated and unnecessarily complex. Those are two things I hate, so I set out to make my own tool and eventually released it under the name Audiofile. I didn’t love music collecting. I didn’t even love software development. (I was just learning it at the time.) And I didn’t have any aspirations to run a software business — I just saw a need, and I filled it. Nothing wrong with that. A similar situation led me to start my current company, Basecamp.
Truth be told, even today I don’t always love what I do. The paperwork, the reporting, the day-to-day minutiae that come along with responsibility for a large and growing company — none of those things make me swoon. Yet I’d still rather be running Basecamp than doing anything else. I think I’m good at it, every day I get to do challenging, creative work, and I continue to find making better project-management tools a worthy and rewarding cause. It’s also a real pleasure to work with such amazing people as I do every day of the week.
If I were giving a motivational speech, I’d say that, if you want to be successful and make a real contribution to the world, you have to be intrinsically motivated by the work you do, and you have to feel good about spending your days on it. Love might grow — and it’s a wonderful thing if it does — but you don’t need it up front. You can succeed just by wanting something to exist that doesn’t already.