My Blog

I'll share what I think & have learned with you

How I Learned to Code For My Start Up

By Pavan Katepalli
Code

Image taken from http://www.webdesignerdepot.com

Learning To Code Is Important

After three of my Start Ups failed, 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 they're working for a Company making good money.

Or they're 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 of your money and if you're successful, convince awesome developers to work with you.

Passion and Dilligence is the Key

When I decided to learn how to code, I was hell bent on figuring things out. I wanted to learn everything.

I spent hours, all day and sometimes all night. I knew it wasn't for some class or for fun – this was for my dreams and goals. Nothing was going to hold me back. That was the secret to 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 much money, but what I do have is an extreme work ethic and the vision to change things for the better.

I started with PHP

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

  1. PHP is the easiest one to learn.
  2. It's not restrictive to being Object Oriented, so it doesn't take much learning to get started.
  3. Two of my friends knew PHP so I knew I could go to them for questions. I ended up getting good advice from them on architecture and how to approach certain programming problems.
  4. I had a book on PHP.
  5. WordPress uses PHP.

What I did to Learn

I first started with the video tutorials on Lynda.com, and reading a 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 php.net to look up functions and read the comments on each page. I still do that to this day.

One of the most frustrating things about PHP is the error notification. The line that PHP tells you, 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, then 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/.

Make Magic Happen With MySQL

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.

Working with databases seemed a bit daunting at first, but after I realized it's pretty much Excel for the internet, it became easier.

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

What else?

In addition, I read books about JavaScript, Object Oriented programming, and did the jQuery tutorials on PHP Academy.

Get Help

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. That goal was to build INRtracker.com. It drove me to push myself.

InrTracker is my newest start up and it cost me less than 60 bucks to launch the alpha 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 scripts from codecanyon.net.

Use Pre Made Code

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.

Conclusion

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.

Tags

Keywords For Search Engines

7 comments

Justin (website)

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!

Pavan (website)

Thanks Justin, and again congrats on the Huffington Post article.

Jaime

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 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.

Pavan (website)

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 0 in PHP means false, this won't execute. So instead you have to do this in PHP: if isset(x) { echo ‘hi'; }. 1.Finding people you can turn to for help. 2. Finding 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.

Jaime

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.

Pavan (website)

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.

Joe

Great article Pavan! Hopefully I can use a lot of these tips to further my own coding experience.

Subscribe to New Posts

Recent Comments

  • Hey Sayanaël I’m glad the post helped you out! I switched from windows to mac and then mac to ubuntu, so I forget how to refresh wamp. Do you pull up the wamp menu and click on refresh?

    Pavan in Cake PHP 2.2.1 Installation Errors
  • Thanks for this solution ! After hours browsing internet, your solution work just fine ! P.S: You don’t have to restart wamp, just refresh it.

    Sayanaël in Cake PHP 2.2.1 Installation Errors
  • Great article Pavan! Hopefully I can use a lot of these tips to further my own coding experience.

    Joe in How I Learned to Code For My Start Up

Want to get started?

You've got an idea and I'll code it fast and make it look great.