Josh Watts
Blog Posts
7/4/1776 - ToDo List: 1) Start a Country 2) Find Funding
--232 years ago today, a bunch of guys in Philadelphia made one of the riskiest decisions of any startup in history. Thumbing their noses at the worl...
PitchCamp
--Live blogging from StartupLounge's PitchCamp. Going around the table with introductions and initial pitches.A lot of interesting ideas that people ...
Skilled workers, where art thou?
--I read this story today in which AT&T's CEO says that "We're having trouble finding the numbers that we need with the skills that are required to d...
How I Picked Blue Violin
--Servinity, a local company, posted on its blog how it picked its name and logo. I thought I'd share how I picked Blue Violin because it's a questio...
Let There Be Light
--Tonight I released the full source code to Blue Violin under the GNU Affero General Public License. You can get the code at http://code.google.com/...
David Heinemeier Hansson is an idiot
--I read this blog post [via Jeff Atwood's excellent Coding Horror blog]: "While I can certainly understand the reasons why some people go with Linux...
Georgia Tech Business Plan Competition Exhibition
--Last Thursday I went to the see the participants in the Georgia Tech Business Plan Competition exhibit their ideas and hear a bit about their produ...
Gang of 5
--We're getting the band back together. At Capital Connections last week, I saw Anne Simons of brandeo. I haven't seen her in a long while and we tal...
Bookmarks:
Got an idea for a web app, but you aren’t a techie?
You and your business partner have an idea for the next ‘Big Big Thing’, but neither of you knows anything about software development or programming. How do you turn get your idea out of your heads and on to the internet? I spent a few minutes chatting about this very topic earlier today. The individual first asked me if I would be willing to sign an NDA and explained that we don’t do NDAs. She decided she could describe what she was trying to accomplish in general terms without giving away the ’secret’ (basically, a fairly simple social network-style website). She went on to explain that she had recruited a CFO and now she was thinking about hiring a CTO and trying to decide whether or not she should outsource development here in the US or overseas.
My advice:
- Stop asking for NDAs and start sharing your idea widely, here is why.
- Don’t hire a CFO (you won’t need one for quite some time).
- Don’t hire a CTO (at least don’t hire anyone who has ever been CTO of anything but a startup).
- Attend Local Events like Startup Happy Hour, Refresh Dallas, Ruby Brigade, Barcamp and Democamp.
- Find a young, passionate developer with an above average EQ to join the team as a founder (he will be at the events listed above) and make him a full partner in your deal.
- Outsource the major development to U.S. based freelancers (don’t worry if they augment their team with offshore resources as long as you don’t have to deal with them).
The right person:
- Some early stage startup experience (as a founder or employee).
- Passionate about software development (hopefully agile methods, LAMP, Rails, etc).
- Someone who has read more than one book about development (Don’t Make Me Think - Krug, Bulletproof Web Design - Cederholm, Designing with Web Standards - Zeldman, Defensive Design - 37Signals, Agile Web Development - DHH)
- Someone who writes about his work on a blog (regularly)
- Someone who has a LinkedIn profile with more than a few recommendations
- Someone who attends events like Barcamp, Web 2.0, RailsCon and Gnomedex.
- Someone who can sit on a panel at a conference and talk about your service.
- Someone who is well respected and has at least 300 followers on Twitter.
- Find the coolest startups in your area and ask them about the person you are thinking of hiring. If he is respected they will tell you how great he is, if he is a chump they won’t say much…
One last thought. Everyone assumes building a website or a web service is easy (I know I did). Anyone with an idea can simply hire a few coders and presto they are on their way to kicking Google’s ass. It is hard to explain, but an anology I use is: “I have an amazing idea for a new kind of shopping mall. All I need is to raise the money (Around $500MM), buy the land and find a contractor to build it.” Of course, it might be easy to design and build a mall (I doubt it), but if you haven’t done it before I suspect there are a number of important lessons you might not be up-to speed on. Have you ever been to North Park? That was the first attempt at an indoor mall, they didn’t get it right until a few years ago. Building a successful web application really requires a little know how and experience ~ they days of Craigslist are over (i.e. you can’t build a rudamentary website and expect to be successful, it is just too late). Your site needs to be MUCH better…
Building a better startup eco-system in Dallas
When I was in my twenties I knew I wanted to start my own business. I sat down and wrote a business plan and called my Dad for advice, asking him, “How can I raise money?” My Dad was out in Silicon Valley running an ATM switch company that was acquired by Cabletron and his advice was, “Move to Palo Alto.” For a number of reasons I wanted to stay in Dallas and suggested, “Surely I can keep my business in Dallas…” I was right, ultimately raising more than $20MM, but it took me twice as long as it would have in the Bay Area. I didn’t deserve the money, I wasn’t necessarily qualified, but someone took a chance on me and my idea. Of course that was the late 90’s, today would-be entrepreneurs are finding it much more challenging to start a business. What is it about Dallas that makes it so hard? We have the money, we have the talent, we have the schools, we have the infrastructure ~ then why isn’t Dallas a hotbed of entrepreneurial activity like San Francisco, Boston or Boulder.
Over the years I have spent quite a bit of time in the Bay Area. Walking down the streets of San Francisco you are likely to run into scores of people running startups. It isn’t unusual to run into people like Stewart Butterfield (founder of Flickr) or Erika Hall (founder of Mule) on your way to lunch. There is a sense that everyone is on your side. They want you to succeed. Advice flows freely. They will offer you a desk if you need a place to startup. They will introduce you to potential employees. They will set up meetings with their investors if you ask. The environment is very much one of cooperation. They will do all this in the simple hope that if you are successful that you will return the favor to them or someone else in the future. Ironically, these typically ‘left-leaning’ people completely believe in the ‘bigger pie’ theory that there is enough for everyone. What they won’t ask for is a cut of your deal (i.e. a percentage).
Over the past three years authoring the Texas Startup Blog scores of people have contacted me for advice, referrals and ideas. More often than not the person on the other end of the email or phone line asks me ‘what do you want’. I am quick to suggest, ‘nothing, I am simply happy to help’. Often times the person is skeptical and I have to spend my time convincing them I don’t mind helping out - for free! For example, my Dad is trying to raise $2-4MM for a health care startup here in Dallas. I happily connected him (and would even if he wasn’t my Dad) to various investors and wouldn’t think to ask for a percentage. But it would seem I am in the minority, here in Dallas everyone wants a percentage for a bit of advice, a referral to an employee or a introduction to a potential investor. Half of the people with suits on are ‘deal guys’ (I am not referring to you if you are reading this). Do we really need a guy with a suit to introduce us to kids with great ideas? Why not let the kids come talk to us directly? Why not let the community (i.e. once we get one) police itself. The going rate for ‘deal guys’ is what’s known as 5 and 5 ~ 5% of the amount raised and 5% of the post-money equity. Are you kidding me? Really? The going rate for a CEO is 7-10% and he has to work for the company for three or more years to get it. Come on!
There are other groups here in Dallas that will offer a startup a phone and a desk for 5-10% of the company, oh and the cost of the phone and desk are only deferred until you get funded. Again, are you kidding me? Really? Of course I have mentioned the groups that charge you to pitch. Really? These groups, who may represent a minority, give Dallas a very unfriendly feel to startups. Take a couple cool 20-something founders from Dallas and let them spend a week in San Francisco after trying to raise money in Dallas and I guarantee we will lose them. They will be gone forever. We all lose out when they leave. Take for example Jambo Networks. Charles Ribaudo and Jim Young started Jambo to offer mobile social networking software for online social networking sites, associations, and conferences. Charles and Jim are just the kind of guys we need in Dallas, but after struggling to find capital I recently learned Charles moved to San Francisco to work for Seagate. Ug! I am confident that it would easily be worth $1MM to the city to keep Charles here (in taxes, corporate development and so on). Matt Mullenweg, the kid who founded the WordPress (the software that makes this site go) had to move from Houston to San Francisco to get his business to the next level.
My proposal: Can we all start making an effort to help startups and investors here in the Dallas area without thought to ‘what’s in it for me’. If someone asks you for advice and offers you equity, turn them down. Just give the advice freely. Ask them to return the favor sometime in the future. If you make an introduction between an entrepreneur and an investor quickly explain you are happy to make the connection, but that you don’t want anything in return. If you have an extra couple of desks in your office, make it known to connectors in the community (guys like Brandon Cotter, Christopher St. John, Charlie Humphreyson or me) and we will connect someone doing something cool to you. Get it? Entrepreneurs, you can do you part by stop being so secretive. No more NDAs, confidentiality agreement or non-competes ~ open up your process. This is the first step in building a community. (Oh and come to the Startup Happy Hour) What are you ideas? Please comment:
The Ultimate Code Kata
As I was paging through Steve Yegge's voluminous body of work recently, I was struck by a 2005 entry on practicing programming:
Contrary to what you might believe, merely doing your job every day doesn't qualify as real practice. Going to meetings isn't practicing your people skills, and replying to mail isn't practicing your typing. You have to set aside some time once in a while and do focused practice in order to get better at something.I know a lot of great engineers -- that's one of the best perks of working at Amazon -- and if you watch them closely, you'll see that they practice constantly. As good as they are, they still practice. They have all sorts of ways of doing it, and this essay will cover a few of them.
The great engineers I know are as good as they are because they practice all the time. People in great physical shape only get that way by working out regularly, and they need to keep it up, or they get out of shape. The same goes for programming and engineering.
It's an important distinction. I may drive to work every day, but I'm far from a professional driver. Similarly, programming every day may not be enough to make you a professional programmer. So what can turn someone into a professional driver or programmer? What do you do to practice?
The answer lies in the Scientific American article The Expert Mind:
Ericsson argues that what matters is not experience per se but "effortful study," which entails continually tackling challenges that lie just beyond one's competence. That is why it is possible for enthusiasts to spend tens of thousands of hours playing chess or golf or a musical instrument without ever advancing beyond the amateur level and why a properly trained student can overtake them in a relatively short time. It is interesting to note that time spent playing chess, even in tournaments, appears to contribute less than such study to a player's progress; the main training value of such games is to point up weaknesses for future study.
Effortful study means constantly tackling problems at the very edge of your ability. Stuff you may have a high probability of failing at. Unless you're failing some of the time, you're probably not growing professionally. You have to seek out those challenges and push yourself beyond your comfort limit.
Those challenges can sometimes be found on the job, but they don't have to be. Separating the practicing from the profession is often referred to as code kata.
The concept of kata, a series of choreographed practice movements, is borrowed from the martial arts.
If you're looking for some examples of code kata -- ways to practice effortful study and hone your programming skills -- Steve's article has some excellent starting points. He calls them practice drills:
- Write your resume. List all your relevant skills, then note the ones that will still be needed in 100 years. Give yourself a 1-10 rating in each skill.
- Make a list of programmers who you admire. Try to include some you work with, since you'll be borrowing them for some drills. Make one or two notes about things they seem to do well -- things you wish you were better at.
- Go to Wikipedia's entry for computer science, scroll down to the "Prominent pioneers in computer science" section, pick a person from the list, and read about them. Follow any links from there that you think look interesting.
- Read through someone else's code for 20 minutes. For this drill, alternate between reading great code and reading bad code; they're both instructive. If you're not sure of the difference, ask a programmer you respect to show you examples of each. Show the code you read to someone else, and see what they think of it.
- Make a list of your 10 favorite programming tools: the ones you feel you use the most, the ones you almost couldn't live without. Spend an hour reading the docs for one of the tools in your list, chosen at random. In that hour, try learn some new feature of the tool that you weren't aware of, or figure out some new way to use the tool.
- Pick something you're good at that has nothing to do with programming. Think about how the professionals or great masters of that discipline do their practice. What can you learn from them that you can apply to programming?
- Get a pile of resumes and a group of reviewers together in a room for an hour. Make sure each resume is looked at by at least 3 reviewers, who write their initials and a score (1-3). Discuss any resumes that had a wide discrepancy in scoring.
- Listen in on a technical phone screen. Write up your feedback afterwards, cast your vote, and then talk about the screen with the screener to see if you both reached the same conclusions.
- Conduct a technical interview with a candidate who's an expert in some field you don't know much about. Ask them to explain it to you from the ground up, assuming no prior knowledge of that field. Try hard to follow what they're saying, and ask questions as necessary.
- Get yourself invited to someone else's technical interview. Listen and learn. Try to solve the interview questions in your head while the candidate works on them.
- Find a buddy for trading practice questions. Ask each other programming questions, alternating weeks. Spend 10 or 15 minutes working on the problem, and 10 or 15 minutes discussing it (finished or not.)
- When you hear any interview coding question that you haven't solved yourself, go back to your desk and mail the question to yourself as a reminder. Solve it sometime that week, using your favorite programming language.
What I like about Steve's list is that it's somewhat holistic. When some developers think "practice" they can't get beyond code puzzles. But to me, programming is more about people than code, so there's a limit to how much you can grow from solving every obscure programming coding interview problem on the planet.
I also like Peter Norvig's general recommendations for effortful study outlined in Teach Yourself Programming in Ten Years.
- Talk to other programmers. Read other programs. This is more important than any book or training course.
- Program! The best kind of learning is learning by doing.
- Take programming classes at the college or graduate level.
- Seek out and work on projects with teams of programmers. Find out what it means to be the best programmer on a project -- and the worst.
- Work on projects after other programmers. Learn how to maintain code you didn't write. Learn how to write code so other people can effectively maintain it.
- Learn different programming languages. Pick languages that have alternate worldviews and programming models unlike what you're used to.
- Understand how the hardware affects what you do. Know how long it takes your computer to execute an instruction, fetch a word from memory (with and without a cache miss), transfer data over ethernet (or the internet), read consecutive words from disk, and seek to a new location on disk.
You can also glean some further inspiration from Pragmatic Dave's 21 Code Katas, or maybe you'd like to join a Coding Dojo in your area.
I don't have a long list of effortful study advice like Steve and Peter and Dave do. I'm far too impatient for that. In fact, there are only two movements in my book of code kata:
- Write a blog. I started this blog in early 2004 as a form of effortful study. From those humble beginnings it has turned into the most significant thing I've ever done in my professional life. So you should write blogs, too. The people who can write and communicate effectively are, all too often, the only people who get heard. They get to set the terms of the debate.
- Actively participate in a notable open source project or three. All the fancy blah blah blah talk is great, but are you a talker or a doer? This is critically important, because you will be judged by your actions, not your words. Try to leave a trail of public, concrete, useful things in your wake that you can point to and say: I helped build that.
When you can write brilliant code and brilliant prose explaining that code to the world -- well, I figure that's the ultimate code kata.
| [advertisement] Read the largest case study ever published about lightweight peer code review in Best Kept Secrets of Peer Code Review. Free book, free shipping. |
Rough Ride Ahead: Buckle Up & Get Your Money Now (if you can)
"Thus far in the second quarter of this year, there have
been NO venture-backed IPOs. There has never been a quarter where this
situation has occurred (since NVCA has been tracking such data). "
-- NVCA Mailing
I am pronouncing this cycle official dead at Q2, 2008. We have a general VC cycle that lasts 7-8 years and whose downturn generally lags the public markets by 6-9 months. With the credit crunch hitting in Q3 of 2007, I was expecting things to turn sharply in our business in Q1-Q2 of 2008. Just in the past month, term sheets seem to be disappearing and valuation dropping rapidly as firms begin to dig in. Groups that have been Lone Wolves for the past couple of years are suddenly looking to syndicate. Yes, things are about to get ugly for the next 2-3 years so brace yourself.
If you are close on terms with an investor, do what you need to get it closed now. If you have access to capital, draw it down and don't touch it as it may need to last a while. If you have a high burn rate, you had best start aggressively cutting it now. If you are going into this cycle burning $1m/mo, you will have no ownership left by the time the cycle turns up and if you are burning more than $500k/mo, your cap structure is going to take a hit if things turn out as badly as I fear. In these kinds of times, breakeven is great (wait out the competition) and $100-200k/mo burn is manageable.
Ad rates are starting to fall so expect the carnage to start piling up in the coming year in the "ad-based model" world. The cycle is coming around and I don't think rate cuts are going to holds things off much longer. I hope that I am being Peter (and the Wolf) and not Cassandra here!
Patient has flatlined Q2...
Rambling Instead of Running
Some idiot (me) scheduled a 7am breakfast meeting on a day when he had a six mile run scheduled. Have you ever tried to get up at 4am (after going to sleep at 11:30pm) to get ready to go for a six mile run. Nope - it doesn't happen. So - I gave up on the idea of a run and just did my morning email / web / blog routine. I'm running a marathon next weekend anyway so I'm supposed to be tapering (ahem).
As a result, I have some morning reading for you.
- Law Firm 2.0 - Why can't financings be easier and cheaper? My partner Jason has been writing a great series he calls "Law Firm 2.0". He holds no punches with his provocative thoughts. The feedback has been amazing - entrepreneurs love it, some lawyers publicly hate it but privately love it, and some lawyers just hate it. He keeps going and - IMHO - keeps nailing important issues.
- Google visits TechStars: David Cohen put up a nice summary of Google Day and Andrew Hyde has one of my favorite segments of Kevin Marks talk on How Not to be Viral up on video. Kevin shows some subtle (and not so subtle) brilliance in this segment. While you are at it spin over to the TechStars Community Site and join and take a look at the great early TechStars coverage from Monday in the Daily Camera (TechStars' second coming) and the Rocky Mountain News (Looking for the next tech star).
- iRobot enters the undersea robot market: In the unfortunately long category of "damnit - I should have made that investment" comes a cool new product from my friends at iRobot.
- Google Co-Founder Books a Space Flight: Seriously awesome.
StackOverflow podcasts moving to IT Conversations
Yes! I'm still doing those weekly podcasts with Jeff. We've already done eight of them.
We're moving, though, to IT Conversations, a huge network of terrific audio shows about technology. Just looking at all the great shows they have there makes me feel a bit like a kid in jeans and a T-shirt with a dirty slogan who just walked into Chez Panisse.
The new feed, IT Conversations-based feed is at http://rss.conversationsnetwork.org/series/stackoverflow.xml.
The easy way to subscribe is with ITunes, choose Advanced | Subscribe to Podcast, paste that URL in there, and you'll be all set.Not loving your job? Visit the Joel on Software Job Board: Great software jobs, great people.
Network
|
|
|
|
|
jon gos friend |
|
|
|
|
|
Rashid Muhammad (mutual) friend |
|
|
|
|
|
Mike Schinkel (mutual) friend |
|
|
|
|
|
Shelby Highsmith friend |
|
|
|
|
|
Timothy Moenk friend |
|
|
|
|
|
Jim Stroud friend |
|
|
|
|
|
Jacqui Chew (mutual) friend |
|
|
|
|
|
James Harris friend |
|
|
|
|
|
Lance Weatherby friend |
Comments
Great meeting you at SoCon07!
It was tons of fun speaking with you this weekend.
I got your note about the Atlanta MIT Enterprise Forum. But I don't know, as a Ga Tech grad I don't know if I can go to an MIT branded event... Just kidding! :) I'll have to check it out.











