How I Learned to Code For My Start Up

After launching three web startup Companies that didn’t become successful, I realized what I had to do to make it. I needed to learn how to code. It’s too hard to get a technical co-founder to see your vision and join you, because either they’re working for a Company making six figures or working on their own start up, so you’re either left to spend a lot of money on a prototype or code it yourself. I’ve done the whole spend lots of money on building your prototype thing and it sucked, because you can’t pivot fast enough and your money goes down the drain. When you learn to code, you can pump out features fast, launch quickly, save almost all your money and if you’re successful, convince awesome developers to work with you.

When I decided to learn how to code, I was hell bent on figuring things out. I wanted to learn everything I needed to. I spent hours, all day and sometimes all night. I knew this wasn’t for some stupid grade or personal enrichment – this was for my dreams and goals. This was for my start up. Nothing was going to hold me back. That’s why I learned so quickly. If you recognize this kind of passion in yourself, then you can learn to code too. I don’t have an Ivy League degree, I don’t have experience working for Google, I don’t have much money, but what I do have is an extreme work ethic and the vision to change things for the better.

I decided to learn PHP, because of the following reasons:

  1. PHP is the easiest one to learn. It’s not restrictive to being object oriented, so it’s pretty easy to get started.
  2. Two of my friends knew PHP well so I knew I could go to them for questions. I ended up getting good advice from them on database scheme strategy and how to approach certain programming problems.
  3. I had a book on PHP (it had some dust on it though lol). Somehow I lost it and don’t even know what it’s called. Don’t worry though –  it kind of sucked – and you can probably find a better book out there somewhere.
  4. WordPress uses PHP and WordPress is cool.

I first started with the video tutorials on Lynda.com, and reading my PHP book simultaneously, however I felt they both didn’t explain complicated things well and were slow, so I started using phpacademy.org, which helped me tremendously. I also coupled that with doing all the exercises at phpexercises.com. I was also constantly going to the php.net site to look up functions and read the comments on each page. I still do that to this day, and I’m sure everyone who codes in PHP does too.

One of the most frustrating things about PHP is the error notification. The line that PHP tells you your error is on – is usually not where the error is at. Don’t worry though, somehow you’ll get used to this and figure all your errors out quickly. I never thought I’d be able to debug things quickly, but I managed to, and if I can – you can too.

If you don’t have a PHP book on hand, these are great places to go to: http://devzone.zend.com/6/php-101-php-for-the-absolute-beginner/ and http://net.tutsplus.com/tutorials/php/20-ways-to-save-kittens-and-learn-php/.

PHP is pretty useless unless you know how to work with a database. I learned MySQL, because it came with WAMP (the package I used to install PHP on my computer) and I was accustomed to using phpMyAdmin which works with MySQL specifically I think.

Working with databases seems a bit daunting at first, but then I realized it’s pretty much Microsoft Excel for the internet – and it became a whole lot easier.

This is a great site to learn the nuisances of SQL: http://www.1keydata.com/sql/sqlin.html.

In addition, I read books about JavaScript, object oriented programming, used Lynda.com’s javascript tutorial and did the jQuery tutorials on PHP Academy.

I got help from Stackoverflow.com and phpfreaks.com, but sometimes no one could help me. Not my friends, no one on a forum and I was stuck to figure things out by myself, which was good, because it made me a better coder in the end.

The most important part that led me to become a coder is the goal I had. I’m not the kind of person that likes to code for fun. I only code if I have a bigger goal.

That bigger goal was to build INRtracker.com. It’s my newest start up and it cost me less than 60 bucks to launch the beta product. Not bad considering that it was about 150 times less expensive to launch than my past startups. I spent some money on the domain name and some pre made PHP classes from codecanyon.net.

If you can use pre made code – then go for it as long as the documentation is good and the author of the code is communicating with all of his customers’ questions. I say this, because I guarantee things will break and you’ll have a hard time fixing them without the help of the code’s author.

Never let anyone or anything stop you. Go code and make your minimum viability product for your start up. It’s the only way to truly influence your startup’s path.

8 thoughts on “How I Learned to Code For My Start Up

  1. Great post, makes a lot of sense. PHP is definitely the way to go as it can build the principles you need for pretty much every other language. And I agree – WP is cool! Best of luck w/ INRtracker!

  2. Pingback: Quora

  3. Hi Pavan,

    Great post! Thanks!
    I’m right where you were when you decided to learn to code.
    I would really appreciate if you could answer some of my doubts about this:

    i) I’ve just started to take the CS106A Stanford Course (online, of course). This is about programing as a whole and JAVA in particular. Although I’ve read some great reviews about this course and the foundations it gives, I do think I’ll be using php+MySql+Javascript much more. I would like to go on to program apps, but I think that is out of my reach for now.
    Do you think you got good programing foundations by learning PHP? Do you think you can now evolve to other languages (C++, for example)?

    ii) and then the one million dollar question: How long did you take to start building something that was not just a learning exercise?
    Of course this depends on each person, but I would like to have an idea of what I should be expecting.

    thanks in advance for any feedback,
    best regards,
    Jaime

    • First off, great job for taking the leap. You’re ahead millions of other people right now.

      JAVA is awesome to learn, because it’s what Android Apps are made out of. It’s a hot field and it’s specialized. You’re learning something great.

      I haven’t had much experience with JAVA, except a long time ago in high school, but I know there are a lot of Companies that build websites with it. However, I feel that PHP, Ruby and Python are much easier to use to make websites.

      You might want to try http://www.tutsplus.com to learn one of those languages as well as HTML, CSS, JS and jQuery. I’m on subscription to it, and it’s been better than every book I bought and a lot better than lynda.com (puts me to sleep). It’s helped me get much better at web development fast.

      You’re more than ready to build out web apps or mobile apps. The very fact that you started learning by yourself is evidence to that.

      As of now, I feel like I could pick up any language, but the thing is, once you pick up a language, it takes time
      - to figure out the nuisances of it

      For ex. in PHP, if you do if (x) { echo ‘hi’;}

      It won’t work if x = 0. In this case, x exists, but since in PHP 0 means false, this won’t execute. So instead you have to do this in PHP:

      if isset(x) { echo ‘hi’; }

      - to find people you can turn to for help
      - to find pre-made classes or code that have good documentation and have been well tested

      So, because of the reasons above, it’s hard to just keep picking up languages, because it’s almost a waste of time. It’s better to pick up frameworks. Like the Code Igniter framework, which I did a video tutorial on. Every language has a framework, but I feel Code Igniter is an easy one to start with. I would then move on to harder ones that have more functionality and magic like Fuel PHP.

      It took me a month and a half of really learning to start building out http://www.INRtracker.com. However, what you see today on the site, isn’t at all what it first looked like. When you start working on an idea you have, don’t focus on building it all at once, focus on one part, and get that up. It’ll feel awesome. For me, I got the user registration system working, and from there I made a basic form that let my users log their blood INR level into the database. It was really basic for the most part, but it was an accomplishment.

      The key is to find a problem you’re passionate about solving, and jump into it head first. You’ll make mistakes, which is inevitable, but you’re ready for that. You’ve accepted that. Things aren’t going to work out exactly, but it’s not a big deal, because it’s your first project, and after you get some experience, you’ll fix the mistakes or rebuild it to make it better.

      Jaime, I want to let you know that you’re awesome for learning to code. It’s a big step, and you’re going to do great things soon. Let’s keep in touch dude.

  4. Hi Pavan,

    Thanks for your reply!
    Your blogpost, together with other things, made me reconsider my JAVA approach.
    I’ve shifted to PHP (and html, javascript, MySql), as I think this will make me “productive” much sooner. The feeling I have is that I progressed more in one PHP day than in a week with JAVA.
    With php it is possible to start thinking about a concrete and real project right from the beginning, and that is highly motivating.

    If you want to keep in touch, my email is jaime dot quintas at me dot com.

    Thanks again for the blogpost and the comments! Very inspiring and motivating.

    • I’m glad I helped you Jaime, and I’m flattered that I’ve helped influence your path. With PHP, you can get going really fast. Check out codecanyon.net. I’ve used it to speed up development when i’m doing freelance work. When I used that site, my freelance clients were amazed at how fast I got their products up and running.

      My email is pavankat [at] gmail. Let’s keep in touch dude. I connected with you on linkedin.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

What is 14 + 2 ?
Please leave these two fields as-is:
IMPORTANT! To be able to proceed, you need to solve the following simple math (so we know that you are a human) :-)