Choices For Software Developers

by havoc

Just watched this
David Heinemeier Hansson talk
from Startup School.
This is a
great thing to watch if you’re starting a career as a
developer, or ten years along.

His basic point is this. Lots of times developers might see their
range of options as working as an employee, or founding a
venture-funded startup. Those can be great options in the right
situations, I enjoyed working at Red Hat and am enjoying the startup I’m a part of now.

There’s an under-considered third option: create a small,
sustainable business. Sometime since the dot-com boom (back then
everyone was buying huge racks of Sun servers), it became possible to
launch a web app or web site for almost no up-front investment. You
can buy just one server in a colo, or even better, use flexible
utility services such as Google App Engine, Amazon EC2, or Mosso.

There are inexpensive, pay-as-you-go, automated ways to do all the
mechanics of a business, such as collecting payment (PayPal, Google
Checkout, Amazon) and advertising (both buying ads and selling ad
space). None of these have up-front fixed costs.

If you want to be old school you could even create a non-web app and
sell that. I guess there’s nothing 100% new here; developers have been
writing shareware and doing freelance work forever.

Whatever the details, as a software developer all indications are that
you can start a simple small business with just your own skills. The
only investment will be your living expenses. There are many ways to
cover living expenses (consulting/freelance, savings, mooching). It
helps if you live
well within your means
.

Disclaimer: I haven’t done this myself. I’ve been fortunate enough to
find other stuff I wanted to do and people I wanted to work with. But
I have seriously considered it. A while back I tried figuring out in
detail how I’d do it. I came up with numbers pretty similar to the
ones David Heinemeier Hansson mentions in his talk.

If you find something you can charge $5/month for, or better
$40/month for, the number of customers you need to match typical
software developer salaries just isn’t that high. Make a spreadsheet
and play with your own numbers to prove it to yourself.

Your product can be niche, or regional, and still be
worth your time.

Coming up with product ideas is hard, but it’s a lot easier if you’re
trying to come up with something small a few people might want,
instead of trying to invent a product worth hundreds of millions.

Why is this huge? Think of the confidence and independence it
should give you to know that by yourself, or with a couple friends,
you can go earn money directly.
Employers and investors have
advantages and often make sense to work with, but if the relationship
isn’t mutually beneficial, you don’t need it. That’s a great thing about
software development as a career in 2008.

Even if you never end up starting your own business, you’ll be a much
more valuable employee (and earn what you’re worth) if you have all
the skills you’d need to go out on your own. Learn something about UI
design and financial math and marketing and legal issues. Why stick
only to code? The world is a complicated place.

Surely it’s a worthwhile exercise for all developers to work through
what they could do on their own – what they could contribute to the
world, what they could earn, and what their quality of life could be
like. Identify any missing skills. Develop a concrete plan. Then use
your plan as a baseline when choosing people and companies to work
with. Why settle for less?

(This post was originally found at http://log.ometer.com/2008-05.html#25)

My Twitter account is @havocp.
Interested in becoming a better software developer? Sign up for my email list and I'll let you know when I write something new.