You should learn to code today

stretch your brain by coding
Even if the code is simple, there’s lots to learn.

What can you get done in a day, or a weekend?

Today, I learned how to call my phone automatically today with a REST API and to play background music when the caller picked up. Yeah, you say, that’s easy if you know how to use Twilio (which is what I used) but the interesting thing was how I learned it. I used Codecademy – a web site that helps you to learn how to code – and it was completely free.

While some folks might think that learning how to code is a waste of time, I’d like to politely rebut that statement and say that it’s absolutely necessary for you to learn how to code and that it’s a vital use of your time. There are a few reasons you should learn to code today, even if you have no intention of ever completing a program or shipping code in a production environment:

Ask and Answer Better Technical Questions

The first reason you should learn to code today is to begin the process of translating geek to english. If you can ask programmers and techies types better questions you will annoy them less, get better at getting answers to the questions you want to answer, and build a better rapport with your technical team. In my experience, the practice of asking better technical questions helps you to understand the basics of a technology as an engineer does (what actually happens when you post an HTML form, rather than thinking of it as a black box, can help you grok the limitations of submitting and validating a post to a web page.) You won’t be able to deliver production code by working on a Codecademy course, and you will start to understand the scope of the problem and get closer to the actual doing of the work.

Make Your Brain Better

The second reason you should try coding is that identifying, trying (and sometimes failing), and succeeding at a new skill will stretch your brain. Among other things, learning new skills provides dopamine to your noggin and gives you a feeling of accomplishment. Even if you’re lousy at coding, there’s something cool when you type puts “hello, world” and the computer echoes back what you wrote. No, you’re not ready to ship code, but it’s the smallest big thing that you know how to do and gives you a framework for learning additional tasks should you get interested in learning additional new skiils. You’ve got to crawl before you walk, and learning new things may even make your brain grow.

You might have fun

Much like the lean startup idea popularized by Steve Blank when he tells entrepreneurs to “get out of the building”, learning a new skill like coding is constant practice in getting out of your comfort zone. It feels uncomfortable to learn new syntax, be specific enough so that an interpreter running inside of a web page understands what you’re trying to do, and to speak computerese. You might have fun and learn a new skill, or you might just stretch your brain. The effort is worth the effort, and “learn to code” isn’t the only skill you want to build, it’s your brain’s plasticity and resilience. Learn one thing, and you can learn more things effectively.

HOW TO: Go From Eating Pizza to Building a “Disruptive” Startup in just 54 hours

This weekend I participated in an amazing event at Startup Weekend Seattle. I found some great new friends, got the opportunity to pitch amazing ideas in front of a crowd, and contributed to an epic journey: building a complete startup from a pizza dinner to a working prototype with media buzz and excited potential customers in just 54 hours.

As I gathered my thoughts on my plane ride this morning, I wanted to share the semi-live blog of what happened so that we could share not only the successes that we achieved over the weekend but also the many decisions, missteps, fails, and pivots that our amazing team (Yijen Liu, Adam Loving, Forest Baum, Myk O’Leary, me = Greg Meyer, and Scott Nonnenberg) made to build the almost-finished (and already winning accolades) service to Wake up with Friends: ShakeupCall

Just the pitch from Startup Weekend, Please …

If you just want to hear the pitch, go here to see a video of our pitch on GeekWire. Or, keep reading …

The Story of ShakeupCall

Once upon a time … a successful team made choices and used agile techniques to stay focused and have fun. This allowed us to dodge a number of difficult problems and still had a great time to build a great almost-done product. Let’s start with the beginning of Startup Weekend (cue the way back machine …)

Friday Night, 6pm: Meet and Pitch

The beginning of Startup Weekend is a bit of a melee. Over 200 people attended, and 60 people pitched. But first, we had a “lightning round” where we practiced pitching nonsense ideas (some of which were pretty awesome) and then it was time for the main event. Yijin, Adam, Greg, and Forrest all pitched … very different ideas. So how did we end up on the same team?

Survival of the Fittest Idea

The pitching is really only the beginning of Startup weekend – where the next 30-60 minutes looks like a rugby scrum as individuals first sort by indicating their top three choices using sticky notes, but really what’s going on is the grouping of people into likely teams with complimentary skills. Everybody seems to need a designer, and there are not enough of them to go around. Add to that the mix of developers with different skills sets and preferred tools (and the randoms like us business types who can do many different things that might not be related to the task at hand) and you have an interesting challenge.

Friday, 10 PM, Adam’s “Early Birds” idea gels around a team

Forrest and I both had lukewarm support for our pitch ideas, as did Yijen, so we decided to form a team with Adam, who had already found Scott and Myk. We decided that we liked the “Early Birds” idea – make a gamified social experience where friends could help each other get healthier by competing to wake up on time – but we weren’t sure about the name, which we felt was quite similar to Angry Birds. At this point in the process, 4 hours in, we had accomplished the following:

  • Formed a team
  • Considered a few options for business models for a “social alarm clock” game
  • Narrowed to a basic technology platform of Heroku, Ruby on Rails, and Twilio, and thrown out the idea of making a pure mobile app (emulated or otherwise)
  • We also didn’t have a designer.

We decided to come back at 9am having picked a few domain names and to hammer out the functional model of the app and the branding by Saturday at Noon.

Later on Friday Night

Domains are picked. Technology platforms are bootstrapped.

Bright and Early on Saturday Morning at 8:45am, We Get Started In Earnest

We decided that the most important thing in the morning was to have breakfast, so we enjoyed the food spread and coffee from Trabant and got to work.

Our goals for the morning seemed simple. By Noon, we wanted to reach our first Agile goal of:

  • Writing user stories on sticky notes and starting to prioritize them
  • Take an initial swag at the branding, which became “Wake up with Friends”
  • Bootstrap and build the development environment

To do this, we split tasks, with Scott, Myk and Adam working on the technology; and Forrest, Yijen, and I brainstorming on marketing collateral. The developers did some magic to get everything going and managed to stay on task despite the fact the three of us were chattering, gesturing, and writing on whiteboards and easels to work on these marketing ideas:

  • Concept and source the logo art (thank you @ebencom);
  • Write a customer development survey to assess purchase intent and user interest;
  • Determine how best to get a reasonable number (50+) of answers to get a representative sample;
  • acquire Twitter handles (@shakeupcall and @shakeywakey) and populate them with content;
  • create a “name squeeze” or subdomain at http://get.shakeupcall.com to allow people to sign up and share for a service that wasn’t live yet. (it helped that @thomasknoll is amazingly nice and had a great tool for this in @launchrock)
  • Produce a Facebook page and figure out how to get it enough “likes” for a custom name (25)

By 11:30am Saturday we are in Good SHAPE.

Awesome! We bootstrap the environment, use GoDaddy to find some domains, quickly write some content and get social, and BOOM. We’re not sure what we’re selling.

Maybe we’re not in such Good SHAPE.

Enter Mentors – one of the keys of Startup Weekend and an essential component to tweaking these nascent ideas and building them into viable business models in such a short time with the resources available. We were lucky to have help from Adam Philipp, who suggested that we were being too cerebral and that maybe we should just own the humorous aspects of sending an audio file via a phone call to someone in the morning to help them wake up. Eugene Hsu, another amazing mentor, convinced us that we needed to punk and Rick Roll our friends for the best effect. And thoroughly muddying the waters in a helpful way was Kate Matsudaira. So now, we needed to do some serious customer development.

To the Cloud!

To test our ideas, we posted our SurveyMonkey survey using our favorite crowd tool, Hacker News. We used a catchy closed title, “Have trouble waking up?” and added the word “startup” to indicate that we were non-traditional marketers, and then all voted up our idea. We got lots of answers.

Our First Monetization: Ourselves.

Proving the adage that there is always a business in selling pickaxes to miners, we quickly hit the choke point in SurveyMonkey’s free account of 100 responses. So we needed to plunk down some cold hard cash to keep our fledgling startup going: $24.95 for a month’s service. While we were waiting for more answers to roll in, we continued our marketing efforts:

  • Forrest and I added twitter handles to the Tweetdeck and iPhone applications and broadcasting the value proposition of the business and some funny messages through Twitter and Facebook
  • Yijen worked on wireframes for the various pages of the app and corrected some of our user stories and UI designs that were misaligned
  • Forrest had a strange fascination with oddly hilarious sounds, which made us laugh, but we weren’t sure how to make it part of our application.
  • And the dev team worked on, and on, and on…

Saturday 5PM, WORRIED DEVS. TOO MANY FEATURES

At this point we were sort of tired, kind of hungry, and we had been single threading and working on individual tasks rather than forming, storming, and norming as an entire team. And then some of these individual efforts came together in an amazing way.

Two key things happened that galvanized the team:

  1. We got a tweet from the Director of Engineering at Hark.com – this was important because it gave us a different way to monetize than the initial way we considered – and opened up the idea of sending really annoying (but potentially viral and social) clips to one another.
  2. Scott got Agile on all of us and took us to the Agile Woodshed – he led us through three rounds of feature prioritizing and cutting such that almost 50% of the development schedule was cut 24 hours into the 54 hour project. Scott, Myk, and Adam also tasked Adam with determining the method of sending and concatenating audio with Twilio (thanks @rahims for all of your help), to validate the input of the user’s simple math problem, and to bootstrap the alarm page. I got the job of building a slide deck and Yijen worked on the licensing and business model. And Forrest continued to listen to funny sounds.

Saturday 8pm, I go home. And finally spend a little family time.

But not much.

Saturday 9:30pm – I plan to Build a Slide Deck and Go To Bed.

I started building a slide deck and making sure that the Facebook site had enough likes for a custom name. And that was going pretty well, until 10:14pm.

We had received an effective “Cease and Desist” – though not formally sent by a lawyer, a competitor had noticed us and had asked us to stop what we were doing, 28 hours into a startup. On the one hand this was amazing validation of our concept and market presence; on the other hand, it was very annoying that we hadn’t realized this before.

So, we changed our Tag line: The Social Alarm Clock Wake Up With Friends.

And this meant I had a little work to do:

  • Change the existing collateral to remove the phrase
  • Analyze 330 survey responses (and notice that we had almost 100 people waiting to get our app)
  • Make the slide deck
  • Wonder if Adam was still awake.

5:30am Sunday – The Critical Path to Development is 3 hours old.

I couldn’t sleep, so I got up to work on the social channels and to ask for Clif Bars from the Seattle Startup Weekend Crew. I noticed that Adam had sent an email at 2:30 demonstrating that the basic idea that we wanted to do – use Twilio to send a phone call to you having a selected audio file and a user-supplied message read with text-to-speech software – worked! Also, Adam built the simple math problem.

I set a ShakeupCall, called myself, and it worked. Brilliant!

Finding Product/Market Fit – 9am Sunday

At this point, we needed to finalize what we were building and for whom. Fortunately, the survey data was giving us more than directional information on demographics of the people who liked to send funny messages to their friends: 90% 18-34 year old men. (BROS! Well, not quite, but you get the idea.)

To make these people happy, Forrest, Yijen and I decided that the model of the YouTube viral video most closely matched the kind of content young men might send to each other to be obnoxious and social. And since we wanted to build an app that would also socially humiliate someone who didn’t finish their ShakeupCall validation correctly, we thought the noises and sounds should be as obnoxious as possible.

We then got fantastic feedback from Enrique Godreau about how to license content. And I told him about Sleep.fm asking us to stop, which made him smile. Eugene Hsu also encouraged us to think BIG and to think SILLY – because people like that too. Forrest and I used this opportunity to find awesome songs on http://turntable.fm and to rapidly iterate through the kinds of songs you would or woudn’t like to hear in a phone call to wake you up. When Yijen added annoying YouTube viral videos to the mix, we realized that Forrest’s audio skills could be used to create a montage of really annoying viral sounds – and that would make a great demo. So off he went to do that.

1pm Sunday – Bugs are Scuttling about, and Devs are Cranky

By early Sunday afternoon we had most of the app together but there were some things (layout, CSS controls in the template that we bought to mitigate design risk) that just didn’t work. Myk and Adam and Scott worked togther to determine the things that needed to be cut and presented those decisions in a quick Scrum session where we cut a few more features. This made us a bit sad, but we wanted to create a really great demo that we could try beforehand, and we were running out of time.

The teams both engaged in peer activities – devs peer programming, Forest and Yijen and I hacking words out of the slide deck and rearranging it so that it made more sense given the changes in the application and the changes in our business model since the previous night. Scott figures out how to post to Facebook effectively and Myk builds a date/time picker to make the choosing a bit easier.

2:30pm – We practice the demo for the first time. It sucks.

The timing isn’t quite right, I’m not sure what I want to say, and a few of the slides are wrong. It’s good that we have a little bit of time to practice before our 4pm deadline to do a sound check and pick our presentation slot. Demos #2,3 and 4 go much better and there are some parallel UX tweaks on the web site that help us tighten up the view.

4:02pm – We go do our tech check, and realize WE HAVE NO CONTINGENCY PLAN FOR THE PHONE CALL.

We realized we can record the phone call and place it on a phone for playback if things don’t go well with the web server or the network, which makes us feel … a little better.

5:00-5:05pm eat Dinner.

We refine the slides a bit more, relax, are nervous, and then relax a bit more. It feels like we might be done with Part 1 of this Startup Weekend idea.

6:00 pm Sunday – the Pitches Start

Some of the pitches are awesome. Others, not as awesome. Nerves. There’s a break. We figure out some presentation tips while we’re on deck which represents another risk but it makes everything look a bit slicker.

7:40pm Sunday – we’re on!

And then, we pitch. Wow. The Crowd Loves It. Whoa. QA. We do ok with that, then stumble off stage in an adrenaline-fueled haze. (Hi-fives and fist bumps all around.

At 9:00, the judging starts.

We try to figure out who our team likes for the audience prize, and wonder who will win prizes. @Heuge and I set @ShakeupCall messages for the next morning, as we’re both getting up early. And then, it happens. We win the special prize for “Most Disruptive”! 60 pitches. 23 teams. 3 winners. 3 special awards. Awesome. And we go to the bar to celebrate.

At 1am, I am packing for an international trip to go to Canada.

This is not enough sleep.

5:45am Monday morning, standing in line at SeaTac Airport.

My phone rings – oh right, it’s that ShakeupCall I set for myself at 5:45am. I listen to the call, and it’s DIFFERENT! I’m confused, and then my text-to-speech tells me “Congratulations on Winning a Prize at Startup Weekend from Kevin Croy” and he’s giving us mad props.

AMAZING! I get it. Shakey loves me. I answer the simple math problem (5+2) and I post my thanks to Kevin on Facebook. I can’t wait until he sets his next ShakeupCall so that I can compete with my friends to send him the best wakeup call.  (A side note: the math problem is something I had no problem handling at a noisy airplane counter when I was running on only 3 hours of sleep – it was an accidental and solid customer validation step.)

We owe some thanks.

We wanted to thank all of the teams, judges, and sponsors. And especially Rahim from Twilio, Marc Nager, Eugene Hsu, Adam Philipp, Enrique Godreau, Bob Crimmins, John Cook, and Rob Glaser. And Amazon for being a gracious host.

What’s next?

There’s clearly a market.

Our survey (n=430) indicates

  • 24% will definitely buy at $3/month
  • They skew disproportionately to 18-34 year-old men
  • 100+ people want in on this.

And we did it in about 144 (8 + 20 + 20 hrs each) dev hours.

This is just the story of 1 team and how we did what we did – Startup Weekend is so much more than that and is a great event to build your startup in 54 hours (or just to meet some amazing people.) We haven’t figured out the whole business model or the individual items we haven’t yet fixed. But we’re going to work on it. And in the meanwhile, I can schedule a @ShakeupCall for myself to wake up and have more fun.

If you like it, Tweet it and share the word!

Blog at WordPress.com.

Up ↑