How To Make It as a
First-Time Entrepreneur

How to Make it as a First-Time Entrepreneur

This is the fourth part of a series on becoming your own technical co-founder. In 2008, we couldn’t find a technical co-founder for Yipit. I’m writing about how I became our technical co-founder. Hopefully, I’ll encourage other entrepreneurs with a dream but no technical co-founder options to take their destiny into their own hands.

Disclaimer: If you know a great technical co-founder that wants to work with you, join them. This series is intended for everyone else.

Learning Python

I know the below will seem daunting. It’s a lot of stuff.

I remember reading the Learning Python book and putting it down after 20 pages and having a major freak-out.

What was I doing? I had been out of college for 5 years having learned a ton of finance and I was reading a book called “Learning Python” with a mouse on it?! Did I just hit a huge reset button on my life? Was I even going to successfully learn all of this? Did I even know everything I was supposed to learn?

I didn’t have the benefit of reading the post below. No one told me it was possible nor that I should do it.

But, we were going to have to give up unless I became our technical co-founder and I was definitely not giving up. So, I kept reading the Python book.

Six months later, much to my surprise (though I now know why), I was ready to build any prototype we needed. That made us very dangerous and credible as a startup team. I still do some development for our team and, more importantly, I have a much better sense of what is possible and how long things will take making me a much better founder.

Lastly, you’ll get a lot of skeptical looks from people when you tell them you are trying to teach yourself. Just remember that they’re not in the arena, you are.

It’s Not That Hard

The challenge of building your own prototype isn’t that any individual part is hard (assuming your core innovation isn’t on the technology side and it most likely isn’t). The challenge is that there are so many different components you have to learn about.

The point of this post is to give a high-level overview of each of those components and make recommendations on which one you should learn yourself and which one you should just hire someone to do for you.

Also, I still don’t fully understand all of the components but, guess what, it doesn’t matter. I wasn’t looking to fully understand everything. The goal was to understand them just well-enough to build our prototype and get traction. We now have an awesome tech team that understands them way better than I ever will.

The Major Components You Need To Know

The best way to give you some context around the components is to describe what happens when a user visits a website.

So, when a user comes to Yipit, they make a request from our website by visiting a url.  So, as an example, lets say that a user goes to her New York daily deals page: http://yipit.com/new-york (note that this exercise assumes the user has already created an account and is logged in)

That request by the user is sent through the internet to a machine that runs your website.  That machine is called a server which brings us to our first component: servers.

  • Servers are machines that have your code, your database and run your website by responding to requests from your users. You don’t buy these machines. You rent space on them.
    • Popular examples: 1and1, slicehost, Amazon Web Services
    • Learn or hire someone: You want to spend as little time on this as possible. It will have no impact on your ability to get traction and is just something you have to set up and fix when it goes down.
    • What we did: We hired someone on a hourly basis, who is now our CTO.  We used and still use Amazon Web Services. Just make sure the person you hire lets you know what to do when the server goes down (it will go down)

Now, the server is just a machine. On that machine, is software that actually handles the request from your user and that software is our second major component: web servers.

 

  • Web servers are the software sitting on your server that is responsible for receiving the request from the user and sending back a response, usually in HTML, that the user’s browser will display
    • Popular examples: Apache, nginx
    • Learn or hire someone: You also want to spend as little time on this as possible so hire someone to get it set up.
    • What we did: We used Apache at first, switched to nginx and are now back on Apache. I would recommend Apache since it’s more popular. Again, we got this setup on our behalf.  Just make sure you know how to restart the server.

Okay, so now that the server got the request that the user needs her New York daily deals, it needs to respond. But, the server doesn’t know her deals or how to display the deals in a format her web browser will understand. So, it gets a little help. It sends the request to where all the magic happens and our third and most important component: web application frameworks.

  • Web application frameworks are responsible for receiving the request and generating the html page that will get sent back to the user. They do all the work. This is where the logic of your site will sit.
    • Popular examples: Django (built in Python) and Rails (built in Ruby)
    • Learn or hire someone: This is what you have to learn and will be where you spend almost all of your time. If you learn how to develop with these frameworks, you’ll be able to build almost any prototype you want.
    • What we did: I decided to use Python but Ruby is also great. If you have a good friend that’s an expert in either one of these, I would just pick which one they know and ask them lots of questions as you learn. I first bought a book on Learning Python. It’s not critical you fully understands all the ins and outs of Python.  I certainly don’t.  You just need to know enough (for loops, data structures). I then learned Django primarily from the online django book.  Will talk much more about this in a separate post.
    • Tools: I use Textmate to do most of my programming. I use GitHub to manage my revisions. (Ask the person you hire to set github up for you).

While the web app framework will do all the work, it needs a little help because it doesn’t actually have the data.  For our example, it doesn’t have all the new york daily deals. That data sits in our fourth major component: databases

 

  • Databases store all of the data for your project. Think of them as really large excel spreadsheets with rows and rows of data
    • Popular examples: MySQL
    • Learn or hire someone: You should hire someone to explain this to you and set it up. You should learn enough to run some basic queries off the database and alter the structure. The web app framework obfuscates most of the interaction with the database.
    • What we did: I read this book on learning MySQL. I wouldn’t read past page 300 and don’t worry if you don’t know this stuff to well
    • Tools: I use Sequel Pro to view the database.

While the web app framework will handle the creation of your html pages that get sent back to the server, you still have to write the templates in HTML and CSS which is our fifth major component.

  • HTML is the format that web browsers expect for web pages. CSS is an additional file that comes along with the HTML that helps to style the html.
    • Learn or hire someone: You should learn this. It’s actually the easiest thing to learn. If you have a co-founder that isn’t technical, they should definitely learn this. It’s not programming and it will be a big help to have someone else on the team doing this.
    • What we did: My co-founder Jim learned HTML and CSS.  He read and recommends this HTML book and this CSS book.  In three weeks, he was ready to go.
    • Tools: Firebug running in Firefox is your best friend; it’s awesome. I also recommend PSD2HTML to get your photoshop files turned into HTML. You can then work off of what they did. DO NOT BUY DREAMWEAVER.  It’s a nightmare-maker.

The last major component is Javascript. It’s a programming language that runs on your user’s browsers. You know when you click on certain websites and the page doesn’t reload but a little box pops up or it unhides content? That’s using Javascript.

  • Javascript is a client-side programming language that allows you to manipulate content on your site without requiring the user to reload the entire page. It’s not a necessity but it can significantly improve user interface and user experience of your site. There’s a library written in Javascript that you should use called jQuery
    • Learn or hire someone: You shouldn’t really learn Javascript but rather you should learn jQuery which is a library written in Javascript that makes it much easier to do all the user interface things you want to do on the page. Also, I wouldn’t worry about mastering jQuery, just learn enough to accomplish the user interface improvements you are looking for.
    • What we did: We just read through the jQuery website and did some of the tutorials. It’s pretty easy to get going.
    • Tools: I never found a javascript debugger that I really liked. Firebug’s console mode lets you see if there’s something wrong.

Development and Production Environment

When you launch your site, you will have a development and production environment.

  • Development Environment. This is just a fancy way of saying where you work on your prototype that normal users don’t have access to.  Or even simpler, your laptop. You’ll essentially have a working version of your website with a database, your code, etc running on your laptop. I strongly recommend you find someone who knows their stuff (pay them per hour if needed) to set this up for you. Sit right next to them while they do this and ask lots of questions. It should take them around 5 hours and it would take you a frustratingly long time to do it yourself. If you can, I also recommend switching to a Mac. It’s way easier to deal with than a PC.
  • Production Environment. This is where a live version of your site sits where users can access it. You do work on your development environment and then you push it to the production environment where users can see that latest feature you added. Again, you should have the person you hire set this up and the mechanism in which it gets updated from your development environment.

Other Acronyms and Terms You’ve Heard

When I was starting out, I was always intimidated by the endless list of acronyms that were thrown around. The good news is that if you understand the major components above, you can now fit these acronyms in their buckets.

A few of the more popular ones:

  • PHP, Java, Perl: Just programming languages like Python and Ruby
  • XML: Just a format to put data in like HTML. It’s just another way servers send data to users. It’s typically used for API’s.
  • API: This is just a way for your website to interact with another website. As an example, if you have a website with business listings and you want to show Yelp’s reviews on your website, you use Yelp’s API. That is, your website sends Yelp a request for the reviews of a business with phone number 555-1234 and Yelp returns an XML file with the reviews. Your site parses that XML file and puts the reviews on your HTML page.
  • JSON: Javascript object notation. This is just another format to put data in that’s actually much easier to use than XML. Most API’s give you the option of getting back JSON formatted data in addition to XML data.
  • AJAX: Asynchronous Javascript and XML. This is a way for your website to interact with your server without having to reload a full page. On Facebook, when you like someone’s status update, do you notice that the page doesn’t reload. That’s because it’s using AJAX. When you click on the “like button”, the javascript sends a request to the server to let it know that the status message has been liked without having to reload the page.

You probably have way more questions.  Feel free to ask away in the comments below and I’ll respond to them.  You can also ask through my formspring.me account.

Lastly, remember that your goal isn’t to master these things but to learn just enough to get a prototype up and running that you can iterate on. Once you get traction, you’ll be able to bring on awesome developers that will have a mastery of this subject matter.

Looking for more specific advice?

I’ve given many people advice on learning to build their own prototypes. Every month, I make available a few slots to give people advice over the phone or in person (in New York). You can book a slot using this form. The rate is $39 for 30 minutes though if you don’t think you got enough value from the call, I’ll happily refund you the amount.

This is the fourth post in a a series on becoming your own technical co-founder. In my next post, I’ll describe my experience of learning python and django in more detail.

  1. Guide to Finding a Technical Co-Founder
  2. Why You Can Become Your Own Technical Co-Founder
  3. Should You Find a Co-Founder, Hire a Programmer or DIY?
  4. Big Picture Overview of All the Components of a Web Service (This post)
  5. How I Taught Myself Python and Django (coming)


  • http://liuhenry.com Henry Liu

    First off, love the series – as someone who's in the same position you were, it's been invaluable in deciding to take the leap to go technical. Quick question, though – what made you choose Python/Django over Ruby/Rails? Arguably, it doesn't really matter, since both work for the same purpose, but I've heard that initial language choice is crucial since it's much harder to change down the road.

  • http://liuhenry.com Henry Liu

    First off, love the series – as someone who’s in the same position you were, it’s been invaluable in deciding to take the leap to go technical.

    Quick question, though – what made you choose Python/Django over Ruby/Rails? Arguably, it doesn’t really matter, since both work for the same purpose, but I’ve heard that initial language choice is crucial since it’s much harder to change down the road.

    • http://viniciusvacanti.com Vinicius Vacanti

      While it’s hard to change the language down the road, both Python and Ruby are fine choices and you won’t need to change.

      I just chose Python because Google App Engine was coming out and they said they were only going to support Python (I didn’t end up using Google App Engine). So, not a great reason.

      The primary reason to chose one over the other would be if you know someone who knows a lot of about either Django or Ruby on Rails. They can help you out.

      • http://etagwerker.com etagwerker

        Great article, Vinny! I love this series.

        I would also consider the community behind the language. Python and Ruby have very active communities. They are both sponsored by successful companies, like Google, Engine Yard, 37Signals.

        One last thing would be to consider the type of app. If it is “just a webapp” Django and Rails are great. If you are building a corporate solution, you might want to choose Java or .NET

        • http://viniciusvacanti.com Vinicius Vacanti

          Thanks Ernesto for the input. Interesting point on the language choice for enterprise.

        • http://profiles.google.com/guerrilx Leah Guerrier

          What if your thinking about cross platform development.. its a webapp today but you may want a mobile app or ipad how does that factor into the language choice?

          • http://etagwerker.com etagwerker

            I think you should consider picking one language per app. I find Ruby to be great for web apps. You could build a mobile app with Ruby + http://www.phonegap.com but maybe you’ll need to learn Objective C for iPhone/iPad development.

          • http://viniciusvacanti.com Vinicius Vacanti

            For your purposes, no. Just go with Ruby on Rails or Python/Django and build your web app. By the time you are thinking of doing a mobile app, you’ll have a developer working with you who will handle.

  • http://liuhenry.com Henry Liu

    First off, love the series – as someone who’s in the same position you were, it’s been invaluable in deciding to take the leap to go technical.

    Quick question, though – what made you choose Python/Django over Ruby/Rails? Arguably, it doesn’t really matter, since both work for the same purpose, but I’ve heard that initial language choice is crucial since it’s much harder to change down the road.

    • http://viniciusvacanti.com Vinicius Vacanti

      While it’s hard to change the language down the road, both Python and Ruby are fine choices and you won’t need to change.

      I just chose Python because Google App Engine was coming out and they said they were only going to support Python (I didn’t end up using Google App Engine). So, not a great reason.

      The primary reason to chose one over the other would be if you know someone who knows a lot of about either Django or Ruby on Rails. They can help you out.

      • http://etagwerker.com etagwerker

        Great article, Vinny! I love this series.

        I would also consider the community behind the language. Python and Ruby have very active communities. They are both sponsored by successful companies, like Google, Engine Yard, 37Signals.

        One last thing would be to consider the type of app. If it is “just a webapp” Django and Rails are great. If you are building a corporate solution, you might want to choose Java or .NET

        • http://viniciusvacanti.com Vinicius Vacanti

          Thanks Ernesto for the input. Interesting point on the language choice for enterprise.

        • http://profiles.google.com/guerrilx Leah Guerrier

          What if your thinking about cross platform development.. its a webapp today but you may want a mobile app or ipad how does that factor into the language choice?

          • http://etagwerker.com etagwerker

            I think you should consider picking one language per app. I find Ruby to be great for web apps. You could build a mobile app with Ruby + http://www.phonegap.com but maybe you’ll need to learn Objective C for iPhone/iPad development.

          • http://viniciusvacanti.com Vinicius Vacanti

            For your purposes, no. Just go with Ruby on Rails or Python/Django and build your web app. By the time you are thinking of doing a mobile app, you’ll have a developer working with you who will handle.

  • http://viniciusvacanti.com Vinicius Vacanti

    While it's hard to change the language down the road, both Python and Ruby are fine choices and you won't need to change.I just chose Python because Google App Engine was coming out and they said they were only going to support Python (I didn't end up using Google App Engine). So, not a great reason. The primary reason to chose one over the other would be if you know someone who knows a lot of about either Django or Ruby on Rails. They can help you out.

  • http://mrcoles.com/ MrColes

    I don’t know if this is too techy, but I think that anyone learning Javascript can really benefit from reading through this Javascript cheat sheet: http://javascript-reference.info/#numberIt very concisely shows all the basics of the language that you can use cross browser, and can take you a lot further than just knowing a little bit of jQuery.

  • http://viniciusvacanti.com Vinicius Vacanti

    Thanks Peter!

  • http://mrcoles.com/ Anonymous

    I don’t know if this is too techy, but I think that anyone learning Javascript can really benefit from reading through this Javascript cheat sheet: http://javascript-reference.info/#number

    It very concisely shows all the basics of the language that you can use cross browser, and can take you a lot further than just knowing a little bit of jQuery.

    • http://viniciusvacanti.com Vinicius Vacanti

      Thanks Peter!

  • http://mrcoles.com/ Anonymous

    I don’t know if this is too techy, but I think that anyone learning Javascript can really benefit from reading through this Javascript cheat sheet: http://javascript-reference.info/#number

    It very concisely shows all the basics of the language that you can use cross browser, and can take you a lot further than just knowing a little bit of jQuery.

    • http://viniciusvacanti.com Vinicius Vacanti

      Thanks Peter!

  • http://etagwerker.com etagwerker

    Great article, Vinny! I love this series. I would also consider the community behind the language. Python and Ruby have very active communities. They are both sponsored by successful companies, like Google, Engine Yard, 37Signals.One last thing would be to consider the type of app. If it is “just a webapp” Django and Rails are great. If you are building a corporate solution, you might want to choose Java or .NET

  • http://viniciusvacanti.com Vinicius Vacanti

    Thanks Ernesto for the input. Interesting point on the language choice for enterprise.

  • http://technbiz.blogspot.com paramendra

    Vin Vacanti On That Techie Cofounder http://goo.gl/fb/yqclA

  • http://technbiz.blogspot.com paramendra

    Vin Vacanti On That Techie Cofounder http://goo.gl/fb/yqclA

  • http://technbiz.blogspot.com paramendra

    Vin Vacanti On That Techie Cofounder http://goo.gl/fb/yqclA

  • Gmatnow

    hey, I was just wondering if you could explain why dreamweaver is nightmare-maker. Thanks

    • http://viniciusvacanti.com Vinicius Vacanti

      No developer uses it. It produces terrible HTML/CSS. You need to have HTML/CSS that you can modify cleanly. Dreamweaver is for small businesses creating their own display websites.

      You are much better using PSD2HTML to set up your HTML/CSS.

  • Gmatnow

    hey, I was just wondering if you could explain why dreamweaver is nightmare-maker. Thanks

    • http://viniciusvacanti.com Vinicius Vacanti

      No developer uses it. It produces terrible HTML/CSS. You need to have HTML/CSS that you can modify cleanly. Dreamweaver is for small businesses creating their own display websites.

      You are much better using PSD2HTML to set up your HTML/CSS.

  • Ari Rose

    I NEVER leave comments. But I feel compelled to out of some just respect for your hard work.

    You are a wonderful writer in both language and organization. Purely useful information. As a well-read observer, your writing stands out amongst the community of startup writers, and I’d venture to say is only matched by Paul Graham’s advice.

    Thanks for your hard work and insight. I’ll continue reading and sharingl

    • http://viniciusvacanti.com Vinicius Vacanti

      Well, that’s the best comment I’ve gotten on my blog. Thank you for commenting. It always helps to know that people are appreciating what I’m sharing.

  • Ari Rose

    I NEVER leave comments. But I feel compelled to out of some just respect for your hard work.

    You are a wonderful writer in both language and organization. Purely useful information. As a well-read observer, your writing stands out amongst the community of startup writers, and I’d venture to say is only matched by Paul Graham’s advice.

    Thanks for your hard work and insight. I’ll continue reading and sharingl

    • http://viniciusvacanti.com Vinicius Vacanti

      Well, that’s the best comment I’ve gotten on my blog. Thank you for commenting. It always helps to know that people are appreciating what I’m sharing.

  • David Cole

    This post just made me believe I can do it. High five and big thanks to you. I also never leave comments, but this article was highly inspiring.

  • David Cole

    This post just made me believe I can do it. High five and big thanks to you. I also never leave comments, but this article was highly inspiring.

  • Etan Berkowitz

    This was a great article for someone who is in the brainstorming phase of getting a company off the ground. Thanks for the awesome advice. I’m the current operations intern at General Assembly so I’m excited to say hi to you in person soon!

    • http://viniciusvacanti.com Vinicius Vacanti

      Thanks Etan! Looking forward to going to GA.

  • Etan Berkowitz

    This was a great article for someone who is in the brainstorming phase of getting a company off the ground. Thanks for the awesome advice. I’m the current operations intern at General Assembly so I’m excited to say hi to you in person soon!

    • http://viniciusvacanti.com Vinicius Vacanti

      Thanks Etan! Looking forward to going to GA.

  • http://yashchandra.wordpress.com Yash

    Hey Vin
    I have been looking at building a prototype on a business idea I have and your blog is just awesome. I could never get tired of reading it. I really hope that you update your blog for the topic “How I Taught Myself Python and Django (coming)”. Really looking forward to it.
    Wish you all the best with Yipit. I have been telling all my friends about Yipit :).

  • http://yashchandra.wordpress.com Yash

    Hey Vin
    I have been looking at building a prototype on a business idea I have and your blog is just awesome. I could never get tired of reading it. I really hope that you update your blog for the topic “How I Taught Myself Python and Django (coming)”. Really looking forward to it.
    Wish you all the best with Yipit. I have been telling all my friends about Yipit :).

  • http://twitter.com/kavink kavin kankeshwar

    Wow the best guide i have ever seen… i think i would love to work @ Yipit, just out of respect :D

  • http://twitter.com/kavink kavin kankeshwar

    Wow the best guide i have ever seen… i think i would love to work @ Yipit, just out of respect :D

  • http://www.linkedin.com/in/ethanranderson Ethan Anderson

    Vin, thanks for the great series of posts. One point you made for which I want to better understand your reasoning: Switch to a Mac. It’s way easier to deal with than a PC.

    Is this true for people who aren’t as familiar with Mac or OSX? What’s the significance of using a Mac vs. a PC with regards to programming?

    • http://viniciusvacanti.com Vinicius Vacanti

      It’s much easier to set up your development environment on your own computer using a MAC since it’s UNIX based.

  • http://www.redbeacon.com Ethan Anderson

    Vin, thanks for the great series of posts. One point you made for which I want to better understand your reasoning: Switch to a Mac. It’s way easier to deal with than a PC.

    Is this true for people who aren’t as familiar with Mac or OSX? What’s the significance of using a Mac vs. a PC with regards to programming?

    • http://viniciusvacanti.com Vinicius Vacanti

      It’s much easier to set up your development environment on your own computer using a MAC since it’s UNIX based.

  • http://twitter.com/taochen taochen

    Hi Vin, this is truly one of the best articles about building your own web prototype. Thanks for sharing!

  • http://twitter.com/taochen taochen

    Hi Vin, this is truly one of the best articles about building your own web prototype. Thanks for sharing!

  • David T

    A friend and I are thinking about doing a startup (leaving i-banking and legal jobs), and your posts are incredibly helpful. I noticed that you were a teaching fellow in Harvard’s computer science department for 2 years. To what extent did that experience help you pick up the tools for web development?

    • http://viniciusvacanti.com Vinicius Vacanti

      Much less than you would think. The stuff you learn in college is just basic programming. Web programming is more a collection of skills than a mastery of one.

  • David T

    A friend and I are thinking about doing a startup (leaving i-banking and legal jobs), and your posts are incredibly helpful. I noticed that you were a teaching fellow in Harvard’s computer science department for 2 years. To what extent did that experience help you pick up the tools for web development?

    • http://viniciusvacanti.com Vinicius Vacanti

      Much less than you would think. The stuff you learn in college is just basic programming. Web programming is more a collection of skills than a mastery of one.

  • http://www.facebook.com/profile.php?id=104987 Jeff Engler

    Vin –

    You are a gentleman and a scholar.

    Any word on the 5th article in this series?

    Jeff

    • http://viniciusvacanti.com Vinicius Vacanti

      Thanks! On the queue.

  • http://www.facebook.com/profile.php?id=104987 Jeff Engler

    Vin –

    You are a gentleman and a scholar.

    Any word on the 5th article in this series?

    Jeff

    • http://viniciusvacanti.com Vinicius Vacanti

      Thanks! On the queue.

  • http://positivetranceformations.com.au/hypnosis-gold-coast/  Hypnosis gold coast

    I hope short-sighted leftists like you actually learn to look past your urban hipster lifestyle for two seconds to consider the economic struggles your fellow American experiences in the real world. Obama should be leaning, really leaning on these BIG

  • Max M.

    I’ve been looking for a post like this for some time! Thanks!!!!
    It looks a little bit overwhelming, but very clear.
    Keep tris kind of posts coming.
    Max

  • Max M.

    I’ve been looking for a post like this for some time! Thanks!!!!
    It looks a little bit overwhelming, but very clear.
    Keep tris kind of posts coming.
    Max

  • Usamah C

    Vin – I echo Ari completely. Spectacular stuff mate, I’m getting a lot of whiny non-tech would-be founder buddies of mine here in London to read this! The startup world owes you for writing articles that are so incredibly useful and insightful, in a style that is so incredibly lucid: more of this kind of work is exactly what we need to genuinely bring down the barriers to starting a tech startup. Congrats mate, top stuff!

    Have also sent you an email – look forward to speaking soon!

  • Usamah C

    Vin – I echo Ari completely. Spectacular stuff mate, I’m getting a lot of whiny non-tech would-be founder buddies of mine here in London to read this! The startup world owes you for writing articles that are so incredibly useful and insightful, in a style that is so incredibly lucid: more of this kind of work is exactly what we need to genuinely bring down the barriers to starting a tech startup. Congrats mate, top stuff!

    Have also sent you an email – look forward to speaking soon!

  • http://www.muchbetteradventures.com Alex

    As one of thousands in the position you were in when you started to go it alone, this is really inspiring and useful stuff. I was just considering it the other day and started to browse. Thank you.

    Question:
    I am from a completely non tech background and initially hired a programmer to get our concept up, but in the process have had the lights switched on and now need to a complete re-iteration. I saw you had a computer science education anyway – how much do you think this impacted you ability to pick this up? Would you recommend starting from scratch rather than trying to pick up and modify an existing site with a sizeable framework and established database?

    Thanks again, When is Part 5?!

    • http://viniciusvacanti.com Vinicius Vacanti

      My background helped a little but not very much. As for your question, one of things I did to learn was re-build the website our outsourcer had built so that I understood how it all worked.

  • http://www.muchbetteradventures.com Alex

    As one of thousands in the position you were in when you started to go it alone, this is really inspiring and useful stuff. I was just considering it the other day and started to browse. Thank you.

    Question:
    I am from a completely non tech background and initially hired a programmer to get our concept up, but in the process have had the lights switched on and now need to a complete re-iteration. I saw you had a computer science education anyway – how much do you think this impacted you ability to pick this up? Would you recommend starting from scratch rather than trying to pick up and modify an existing site with a sizeable framework and established database?

    Thanks again, When is Part 5?!

    • http://viniciusvacanti.com Vinicius Vacanti

      My background helped a little but not very much. As for your question, one of things I did to learn was re-build the website our outsourcer had built so that I understood how it all worked.

  • http://profiles.google.com/guerrilx Leah Guerrier

    Vinicius I could kiss you right on the lips :) this is what I’ve spent the last 2 weeks searching for and my project management list just lost like 12 entries; you helped me really focus my energies and now I know where to begin…. thank you thank you

    • http://viniciusvacanti.com Vinicius Vacanti

      :)

  • http://profiles.google.com/guerrilx Leah Guerrier

    Vinicius I could kiss you right on the lips :) this is what I’ve spent the last 2 weeks searching for and my project management list just lost like 12 entries; you helped me really focus my energies and now I know where to begin…. thank you thank you

    • http://viniciusvacanti.com Vinicius Vacanti

      :)

  • http://www.facebook.com/ojkoukaz Omar Koukaz

    I have to ask Vin, how much have you made off of the Amazon affiliate referrals in this post?

    • http://viniciusvacanti.com Vinicius Vacanti

      Ha! Less than $40.

  • http://www.facebook.com/ojkoukaz Omar Koukaz

    I have to ask Vin, how much have you made off of the Amazon affiliate referrals in this post?

    • http://viniciusvacanti.com Vinicius Vacanti

      Ha! Less than $40.

  • http://www.facebook.com/ewaldsteven Steven Noble Ewald

    You are the man.  This has explained so much more to me in just a few articles than everything I’ve searched for in the last few weeks, thank you so, SO much for putting this all together so clearly and making it accessible.  This is a wonderful asset to the entrepreneurship and technical communities alike.  Thank you!

  • http://www.register-domainname.in/ Domain Registration India

    This is purely awesome information about build a prototype. You are really a wonderful  and intelligent writer. Thanks for sharing and keep posting.

  • Mickaël Jordan

    Awesome post. I’m in the exact same situation you were in with Yipit. I’ve quit my job to creat my own startup and I’m having a hard time finding a technical co-founder. You’ve just convinced me to spend August educating myself about PHP, MySQL, HTML & CSS. Miam miam. Thanks a lot!

  • http://www.facebook.com/people/Unique-Zyco/100001652560885 Unique Zyco

    This is the first comment I am leaving on a blog in years of browsing on the web.
    Fantastic. Just fantastic. Thanks.

  • Interested

    I would love to read part 5

  • Guy

    Hey Vinicius

    You recommended to hire someone to set up the server and web server. How about using LAMP or WAMP - http://en.wikipedia.org/wiki/LAMP_(software_bundle).

    Wouldn’t that be easier?

  • AC Paulus

    This is all fantastic.  Thanks for sharing.  

    I have a question about the areas where you recommended just hiring someone to do the job (setting up servers, development environment, etc.).  How did you go about finding people who could do these things?  And how did you evaluate them before hiring to make sure they would be able to do a suitable job and/or be good teachers as you watch them?  I read your guide to finding a tech co-founder, but for smaller tasks like this I figured there are probably different best practices as these are more sporadic or one-time tech tasks.

  • http://www.jamesdouglas.info James Douglas

    Great advice.  Why do you think people should skip javascript?

  • http://twitter.com/zachsbuzz Zachary Smith

    The insight, advice, resources, and the step by step outline you provide in this post is marvelous. 

    I have some background with WordPress, HTML, CSS, and Firebug but I have wanted to branch out into web development for some time. However I had no programming and development experience (I have a Supply Chain Management background).  Your post is exactly what I needed to get started and the fact that you did it from scratch was very inspiring to me. 

    I have already begun to learn Ruby on Rails after some initial research.  Rails appeared to have better books, screencast resources, community support, and Twitter (my favorite social media site) was built with it.

    I have read everything you’ve posted since 2010 and look forward to your future posts.  I’ll support you on Twitter and wish you continued success.  

  • http://goteamspark.com chrispa

    As a sort of technical founder doing the exact same thing I’d recommend checking out standingcloud.com. It let’s you set up the environment you need with just a few clicks – super easy an let’s you get on with the more important stuff. Looking forward to post #5!

  • JJ Aruba

    Just out of curiosity, what is so bad about Dreamweaver?

  • Guest

    Thank you for writing up a very useful blog.  I was just curious why you began with Python and not PHP.  Thanks.

  • http://www.facebook.com/manishrt Manish Reddy

    Loved the series of posts. Very informative and useful. I am a non CS student myself and have been look for a Technical Co-founder for working on my idea. But that was a very tough task. I too felt that learning to program is the best solution for the problem at hand. I have been learning to program for the past 6 months along with my normal college routine. 
    Your post increased my confidence and interest to continue what I have been doing. Now I very eagerly looking forward to the 5th post in the series!

  • Shaunak Mahbubani

    This is a really great post. It really cleared out a lot of my questions. Thanks a ton for sharing!

  • http://www.facebook.com/profile.php?id=1242666009 Herry Lian

    I stumbled across this, and this is a goldmine. I’m really interested to know how your learning experience was. Thanks so much for helping us non techies!

  • Imagineao

    this is an amazing post

  • Chip Wilkes

    Wow! I just jumped in, head first.. Python that is, Leaders do lead.. great story!

  • Too Ezeani

    I read all your posts because your an amazing writer. Good Insight. Am also working on a startup – RadioVybe.com

  • Ernie

    I’m a business person trying to get my idea off the ground, would simply like to say thank you, no, really, THANK YOU.

    Your post is incredibly informative, logically written and very easy to understand.  You should really think about writing a technical book for non-techies, I have 50 friends who would buy it.

    Much appreciate your sharing, awesome work man.

     

    • http://viniciusvacanti.com Vinicius Vacanti

      Thanks! Super happy it was helpful to you!

    • Jaber

      Couldnt agree more. Ive read every post on your blog. All very informative and easy to understand. You should totally right a blueprint type of book for non techies.

  • http://www.facebook.com/profile.php?id=566530092 Robert Alexander Battle

    I’ve paid somebody to develop my site, im just an idea guy with great marketing abilities. I felt that to better help them translate my ideas (which has been hell so far) I should learn more about what they do and how my site works. I’m hoping this will help and plan on posting plenty of questions over the next couple of months

  • http://toanjuan.com/ Toan Ngo

    excellent post. thanks for your tips

  • http://twitter.com/herbfunkstank Glen

    Thank you for this!

  • http://twitter.com/uwanja T.I.N.S.

    Awe-inspiring read..Now onto my initial developer stages. I liked it and thank you.

  • http://www.facebook.com/austinhulak Austin Fösh Hulak

    Overall I would say this is a GREAT post – but I do disagree with just one of your points:

    “You shouldn’t really learn Javascript but rather you should learn jQuery which is a library written in Javascript that makes it much easier to do all the user interface things you want to do on the page.”

    While I agree that you don’t need to become an expert in javascript, knowing even the fundamentals (arrays, loops, control flow, etc) will allow you to do MUCH more with the jquery and since a reader is likely learning Python/Ruby simultaneously it shouldn’t be too much more for them to pick up on. Just a few syntactical changes..

    Other than that, this is a fantastic foundation for any non-technical person looking to increase their knowledge and even build their first prototype. Bravo!

  • Tonhi

    Why did I just stumble onto this now?? I can’t even describe how beneficial this is.

  • Offtheground

    Someone should turn this precious material into an infographic.
    Thank’s a million for going through the pain and sharing it in such a light-hearted but motivating way.

  • http://www.joshbenson.com/ Josh Benson

    Good post. Nice explainer. Thanks.

  • omps

    Ah. thats one of the best articles i have ever read. i am learning to program and this is a very good article.

  • ksskidude

    Thank you for this. I am in the IT field as a recruiter and am still learning everyday. Any other info you think would be useful for me?

  • thankyouvacanti

    Thank you for taking the time to share your experiences in such detail, it’s all so very helpful. Time to grind it out.

  • jason

    This is my first look at up skilling myself,
    reading your post I find myself wanting to take this further. Thank you

  • Wayne Cardosi

    Thank You! You just changed my life.

  • Tommy

    HANDS DOWN the best explanation that have come across regarding how web-based products work, you perfectly explains how everything works together in a simple way. Thanks for that.

    • http://viniciusvacanti.com Vinicius Vacanti

      Thank you for leaving the comment!

  • Engin

    Thanks a lot for this post. It’s brilliantly written and a very good summary. As a programming beginner I find myself reading this again and again.

  • Christian Retek

    I would like to thank you for this phenomenal piece of literature. I’ve graduated from a great university with a BSc. in Computer Science and I’m really just beginning to get traction to start my own venture.

    This is extremely helpful, and explains things in a way I never understood them while going through school.

  • pablo

    Take a look on a free MySQL manager – Valentina Studio http://www.valentina-db.com/en/valentina-studio-overview

  • Joaquín

    This is awesome, I wish I had seen this a couple of months ago, it would have saved me a lot of time. Thanks a lot =)

  • Juan de Seven Wexford

    wow, a great great overview. Thank you for leaving useful information around on the web!

  • http://www.htmlpanda.com/ HTMLPanda

    This is a nice post. http://www.htmlpanda.com/

  • Amar

    Wish I had found this earlier, genuinely believe this will aid me in starting my career. Thank you Sir!