A Recipe for Becoming Your Own Technical Founder

By bob | Dec 3, 2011

One of the most common things I hear from people in the startup community is that they are looking for a technical co-founder to help them build a prototype of their startup idea.  This can be a really frustrating experience.  Today I was reading a post from someone on Reddit talking about their thinking about going back to school to get a second bachelors in Computer Science.  I started writing a comment on their post but it got really long winded so I decide to turn it into a post here instead so that Social Matchbox community members could benefit from it too.  This is something I have personally considered numerous times myself and I know that many of you have too.  I’ve got intro books on Ruby on Rails, JavaScript, MySQL, PHP, Web Design, Web Development, and have logged hundreds of hours attending developer meetups and conferences as well as in watching tutorial videos online.  One of my favorites is the “You Suck At Photoshop” series when I wanted to learn how to wield Photoshop more effectively.  If you are on a shoestring budget be advised that there are some really amazing tools out there that you can use on Ubuntu – there is not really a good argument for a poor startup founder to pay the megabucks for Photoshop anymore. Do that after you get funded or get your prototype working, then start becoming a big spender.  Ok, I’m getting of topic…here goes.

So here is the approximate recipe for becoming your own technical co-founder.  You should decide what you like doing, feel comfortable doing, and want to do.  If you are afraid to install a new program on your computer or haven’t done something involving HTML or programming in your life then skip this, go take a class at your local community college on building a website and then come back for this (unless you have a really good tutor).

The thread I read previously was someone just asking if they should get a second bachelors in Computer Science.  If you are thinking about this now you were probably thinking about it before.  You, like me, probably took at least one programming class in K-12 or college or both. If you were able to handle the math and science requirements to get a BS in undergrad then you probably are not going to have that much trouble learning to program so keep reading.  If you didn’t then you probably want to consider going the Web Developer or Web Designer route (see notes about the Web Developer route below).  The bigger question is what you want to do – a CS degree or second one is only training in how to think about the field of computer science, how to learn a language, and stuff like that.  I’m omitting a lot here, but this is sufficient for this discussion.  It prepares you for a lot of possibilities.  If you know what you want to do then you could easily just come up with a plan to develop a competency in what you want to do without getting a second BS.  If you want to be the next Sergey Brin or Larry Page and have plans to come up with the next search engine or a complex algorithm to solve a series of complex problems then you should be thinking about getting a MS in Computer Science and just taking some leveling courses (they will require you to do so to get into one).  Avoid anything online, you need to do this in person – programming is a social learning experience that just can’t be done online via programs that are usually more like survey courses than cutting edge curriculum in my experience (I’ve looked many of them).

So to decide what it is that you want to do, you need to choose a level of difficulty and focus that fits your personality and abilities.  If you can stare at a computer for days and days writing, editing, doing math, then programming/software engineering is for you.  If you are a very visual person then web development is probably more your thing.  If you like configuring things, playing with databases and spreadsheets then you might want to think about database engineering.

So here are the three tracks as I see them: Web Developer vs. Software Engineer/Programmer vs. Database Engineer.

As a web developer you need to learn CSS, HTML, JavaScript (especially JQuery because that is what most people are using), and MySQL.  You can find an intro to book for CSS and HTML at the library or bookstore and pick those up.  You can supplement that by going to your local Web Developer meetups (you will need to listen and learn through people giving talks and outside of talks, developing some peers will help a lot when you get stumped and you will).  For JavaScript (JQuery), you should probably take a class on it – there should be something for this if you live in a major urban center and if not then travel to one nearby and take a class on it there.  There are probably some you can do in a weekend or online (take one from someone who programs in it, not from a training institute or online university).  You don’t need to much MySQL knowledge to get started as that is pretty much going to be taught if you take a class or read a book about JQuery.

If you want to be a Software Engineer/Programmer then you need to decide what kind – there are the kind that work on enterprise software, embedded (think mobile devices, and web programming).  If you go the web programming route then all the web developer skills are the same, but you need to learn one of the following combinations: Ruby on Rails, Python and Django, or PHP and Zend or Symphony.  You should be able to pick up a book on how to do one of these pairs that will also cover MySQL basics.  Pick a book that helps you build something from scratch.  Once you get done with that then you should take a few classes on it.  Ruby on Rails is very social as far as communities go so it is probably the easiest to jump in and get started with – there are user groups pretty much everywhere these days and people who will help.  Python and Django are also popular and pretty social, but not as widespread in my experience.  PHP is splintered a bit – people use it for WordPress, Drupal, and custom programming so there are factions (if you want to be a programmer you want to steer clear of the WordPress and Drupal crowds, at least at first – you can read up on these and make your own decisions though, there are a lot of people who make a good living off building and customizing websites built around both).  If you want to build enterprise software then you could pick up Java or C#.NET, but these are a lot more complicated to learn and so you would be better served by going the Ruby on Rails route or the Python and Django Route.

A database engineering track is something that is best learned via course taught by a college or university or trade school.  You are going to have to know a lot and be the custodian of critical data for an organization and to do that you are going to want to make sure you don’t have any big gaps in your knowledge.  Programmers are building and then releasing so there is a little more opportunity for getting it wrong, then testing it, then fixing it.  With databases, getting it wrong can be tragic.

I would personally recommend Ruby on Rails + MySQL + CSS + HTML to start out, then JavaScript & JQuery later if you really want to get yourself headed somewhere where you can build something and then even potentially do that full time within 3-12 months.  I say 3-12 months implying that you might even want to change careers a bit.  In the 3-12 months you you are going to have to a) work on at least one project to show people that you can build something using these technologies, b) get to know some people at your local meetup who might be willing to hire you part time for a project while you are learning your way – even if it is part time, and c) get someone who can be a reference from you based on a project.

If you have your own startup and that is why you are doing this then you need to make sure to budget a ton of time – 20 hours a week at least.  If you are looking to learn to program and get some experience, you should create a profile here on Social Matchbox and indicate on it that you are looking to find a startup company that is looking for a technical co-founder or programmers.  There are plenty that I’ve spoken to that are willing to take a chance on you learning while doing.  If you have stories about doing this yourself I would love to hear about them.

  • Anonymous

    I’d agree with this. I did both the web developer and software engineering route at the same time and it takes a tremendous amount of time. Specifically, I find designing for the browsers a massive time sink. If you want to create a web app, I’d outsource the design and pay someone to design the HTML/CSS. This frees you to focus on the interaction (jQuery) and server side.u00a0

  • Anonymous

    I’d agree with this. I did both the web developer and software engineering route at the same time and it takes a tremendous amount of time. Specifically, I find designing for the browsers a massive time sink. If you want to create a web app, I’d outsource the design and pay someone to design the HTML/CSS. This frees you to focus on the interaction (jQuery) and server side.u00a0

© 2010 Social Matchbox, - WordPress Themes by DBT