How I Learned to Programming

in #programming7 years ago

In short:

I learned how to program by building lots of websites.

The full story:

I learned how to program by working on lots of different website projects starting from a pretty young age. What follows is a full account of all the major websites I’ve built, back to the very first site I made when I was 11 years old. What I hope the reader takes away from this full retelling is the importance of doing lots of side projects if you want to learn to program well.

The best way to learn a new skill is to practice, practice, practice. All the best programmers that I know sincerely enjoy programming – it’s something that makes them absurdly happy to do. And, so they do it a lot. Often, an unhealthy amount. Learning how to program – and how to do it well – doesn’t take superhuman ability. It just takes a willingness to get your hands dirty and build stuff.

It doesn’t matter what you build, as long as you pick something and start. The good programmers who I know each had a different reason for initially learning how to program. Some learned so they could make video games. Some learned so they could solve their own computer problems, or work more productively. Some learned so they could build products that make people happy. Some (the true hackers) learned programming as part of a larger goal of learning how computers work at a really deep level; they want to understand the machine. Some programmers just do it because they enjoy solving difficult problems.

The single factor that unifies all these types of “good programmers” is that they all got obsessed with programming at some point in their lives, and subsequently spent a long time programming. Lots and lots of side projects.

So, without further ado, here is the story of how I learned to program:

My first website

When I was like 11 or 12 years old, I decided I wanted to make a website for myself. I can’t remember exactly why I wanted a website, I just remember that I did. So, I searched the Internet for free information about how web pages, web browsers, and HTML worked. A lot of the information I found was out-of-date, plain wrong, or advocated bad practices (like making separate websites for Internet Explorer and Netscape), but it was really interesting and I learned a lot of neat stuff.

Despite the shoddy information I found online, I was able to make a simple website, which I called “kero’s Website”. I built it with Microsoft Frontpage, which had really cool side-by-side WYSIWYG and HTML editors. I could make changes using familiar commands like Bold, Italics, etc. and see how that affected the HTML code in realtime. A great way to learn.

My first real project

In 9th grade (14 years old), my friends and I were pretty obsessed with watching flash movies and videos on websites like Newgrounds and eBaumsWorld (this was before 2005, so YouTube didn’t exist yet). I spent lots of time on these sites so I knew about all the best videos and games. I thought it would be really cool to make a website that collected all my favorite flash animations, videos, and games from around the Web in one place. That’s where I got the idea for FreeTheFlash.com.

I used all the HTML I learned from working on “kero’s Website” and also got my hands on a copy of Macromedia (now Adobe) Dreamweaver, which allowed me to use templates for the repetitive parts of the site.
After a while, I realized that I should make the site dynamic (I remember hearing that buzzword a lot), which basically meant that the site would be powered by a programming language like PHP, instead of just static HTML. So, I bought a book called PHP and MySQL for Dynamic Websites for $20 from Amazon and redesigned the site to use PHP and MySQL.

I continued to work on FreeTheFlash for 2 years in high school. It was pretty successful for my first attempt at a “real” website – it had 600,000 visitors and 3 million page views in 2006. FreeTheFlash taught me how awesome it feels to make a product, stick it out there, and watch lots of people using it. It made me want to build a lot more websites.

My second website

In high school, I took pretty good notes for a few of my AP classes. So, in 11th grade, I decided to put my notes online for other students to use, if they didn’t feel like reading the textbook. I made a site called StudyNotes which I built with PHP and a content management system called Joomla. I also experimented around with Drupal, but found it to be too complicated.

How to learn programming:

Do side projects.
Buy and read programming books.
Do side projects.
Take computer science classes.
Do side projects.
Read programming blogs.
Do side projects.

That’s the best advice I got.

Sort:  

Definitely doing side projects can be really helpful in getting better and better. Another good practice is to solve programming problems. It is good way to became more comfortable with new language and to learn samo algorithms. I will do a little promotion of my first post on steemit where I gathered list of websites offering such service :)

Coin Marketplace

STEEM 0.18
TRX 0.16
JST 0.030
BTC 68425.65
ETH 2646.01
USDT 1.00
SBD 2.68