

Ask YC: Four Year Roadmap - matt1

Over the last week I've submitted several questions to YC regarding startups and programming. Your responses have been intelligent, thoughtful, and inspiring -- thank you.<p>I realized my questions all revolve around a central issue and I should have just addressed it from the start. I'm 23 and work as a manager in a nontechnical field and won't be able to pursue another career full time for another 4 years. I have a computer science degree and consider myself a very good hacker, but my web programming experience is currently limited to HTML, CSS, PHP, MySQL, and some JavaScript.<p>In four years I either want to be able to work at a tech startup (or a company like Google) or have the technical and business savvy to start my own. The question is: How should I spend my time to give myself the best chance of success?
======
babul
Why wait 4 years? Why not join a startup (or technical company) now and start
doing the things you want full-time instead of fitting them in around a job
you don't value? You can learn _a lot_ getting hands-on at the ground level,
and if you want a mix of tech skills _and_ business savvy then why not work at
several startups (over time) and help grow them - you may get to do everything
and anything from software/service design to marketing and PR. It is probably
the best experience you can get if your aim is to start your own startup and
will also equip you well for applying to places like Google.

If you really have to stay at the job for some reason, then I'd say in your
spare time practice programming and building web apps around what _you_ are
interested and that solve problems _you_ face. Launch them and see what
happens. You may suck/fail at first, but over time you will definitely learn a
lot, and will get better with each iteration you take - you never know one of
them may really take off. You can practice business skills in growing your
apps and once you have done it a few times, try doing it for other businesses
(ideally in other fields too for some diversity to other markets). There are
many courses/books that can teach you the skills, but if possible, find
someone whose expertise you respect to mentor you.

Many successful businesses were, and still are, started by people in the same
boat so please don't let worries about lack of skill/experience stop you from
starting.

~~~
g9
The problem is to find a startup since almost all of them prefer to work in
stealth mode and second is to convince them that you're right guy. So for
example, I realy would like to work (even with $0 salary) on interesting
project/startup, but all attempts to find something literally failed. Just for
the record, I was looking for Python/C++/Java/Erlang (one or all languages)
startups.

~~~
babul
What type of attempts? Have you tried going to events, meetups, and
(un)conferences etc.? It is a great way to start. Meet people, learn what they
do, let them learn about you. Once people see you at several events over time,
and you get a chance to bond with one another, they are more inclined to take
you on, especially if you can demonstrate skills/portfolio (even if, for
example, it is just your own personal projects on a blog).

If you are in London, email me and I'll see what I can do to help. There are
several startups here that can always use extra hands.

------
wallflower
"You can't wait for inspiration. you have to go after it with a club." - Jack
London

First of all congratulations for having a long-term plan. You know where you
want to end up. That's big. And you're flexible enough that it can be a
startup or a prestige company.

Micro-apps. Build something small like a Twitter visualization (twistori.com
was built in a day, twittervision.com in 4 hours!), release it, build a blog
to record your projects.

And I'd like to suggest broadening your portfolio: If it's all technology,
it's all in one basket. Entrepreneurship is about taking on and managing risk.
Outside the controlled world of compilers and stack traces, there is
opportunity.

Consider taking on activities of varying risk. What are you scared at getting
better at? Does it scare you to give a presentation? Join Toastmasters. Or ask
a question at the microphone in a public forum (that's p.s.) Does it scare you
to mingle in a room of strangers? Get a group of guy friends and go practice.
Nothing to lose. Or start by going to a lecture and talking with the person
you sit down next to. Does not having control scare you? Mentor or tutor a
teenager. Or be the new guy in an interest group.

~~~
matt1
i really like this post because you not only give specific advice (micro-
apps), but you focus on the bigger picture of personal development. it
reminded me of a blog post by marc andreessen where he suggested putting
yourself in really tough, uncomfortable positions because as an entrepreneur,
thats what you'll be facing on a day to day basis.

------
pg
One option would be to do what Joshua Schachter did. He built Delicious in his
spare time. When he was ready to quit his job, he transformed Delicious from a
hobby into a startup by raising money.

~~~
matt1
Agreed. His interview in Founders at Work hit home. Well, at least the part
before he had a successful company and sold it for like $25M.

------
ivankirigin
I hadn't really done any web programming before starting tipjoy. With a full
time commitment, we went from start to launch in 3 months.

You should certainly be able to do side projects. The best part is that you
don't need to try to make money, so you should focus on building something
interesting and useful.

If you want to do tiny free projects for tipjoy, let me know :)

~~~
matt1
ivan, thanks. question: what programming languages is tipjoy built on?

~~~
ivankirigin
We use Django, a Python framework.

Here is a quick installer I wrote up.
<http://wiki.slicehost.com/doku.php?id=install_django>

You might also consider building on Google App Engine, which uses Django.
There are parts of Django you can't use that aren't a big deal if you start
with App Engine. Basically there is no MySQL, but that should be fine for most
applications.

------
warwick
Make something. The only way to keep your skills current is to use them, and
the best way to expand your skills to to build something.

A great video interview appeared here a while ago. It's about how it takes a
couple of years to really get good enough at a creative field to produce good
work. You go through a period of creating work that's not as good as your
ambition would like it to be. Here's the link:
<http://www.youtube.com/watch?v=-hidvElQ0xE>

It's worth the time to go through the process of creating a body of work.
After doing it for a couple years, you'll be able to focus far more on doing
something wonderful, rather than just doing /something/.

~~~
matt1
A recurring theme with these responses seems to be to just go for it and don't
worry about messing up because as long as you're learning along the way,
you'll be better prepared for whatever the future holds. I think thats
terrific advice!

------
neodude
If your 4 year tenure is absolutely non-negotiable (or if you're not ready),
then fiddle - let your hacker instincts take you places. Learn a scripting
language (python ruby etc), write a blog, dissect apps, join an opensource
project..

After four years of quality exploration, you'll have built up some formidable
experience that isn't easily replicable.

------
wehriam
Four years is a lifetime! While I'm sure there is a good explanation (jail,
military?) I'm having a hard time imagining what you're up to.

As you're apparently captive, I'd recommend making the most out of it.
Technologies and trends shift, but your dreams and competencies will stick
with you. Do whatever you want, with gusto.

That said, additional formal education is never a bad way to go.

~~~
matt1
"Four years is a lifetime!" - I know, belive me. And its not jail. I realized
that being an entrepreneur is not the same as being a great programmer. There
are lots of skills necessary, and the plan is to develop as many of those as
possible with my current job so that I'm better prepared for my next one.

------
ia
So what is it, then? Military? If so, I'd imagine there are lots of
opportunities for a "very good hacker" to use and expand his skill set.
Experience is key, so go after it. At this point, the thing I'm most curious
about is why you're not giving us a bit more detail on your current situation.

------
Baltropreneur
Startup now!

Why wait? Find others or friends whom you can learn from or work a full time
gig while paying a team or offshore developer to build your product.

THough you first need to have an idea. That is when that component of a
startup is most vital. Later on not so much...

Who knew you had to be so adaptable. Learning that now being in Philly's
incubator! Great learning experience!

~~~
matt1
Ideas are a tricky thing, because without experience behind you, you may
seriously misjudge the market for your product. But there's only one way to
get experience, right?

What do you mean by "That is when that component of a startup is most vital.
Later on not so much..."?

~~~
Baltropreneur
YouTube started as a dating site. Flickr as MMORPG.

That is the idea and vision that led them to something totally different.

