The World’s Leading Microsoft .NET Magazine
   
 
timstall

Donate Today!

Search Box

 

Calendar

««Jul 2009»»
SMTWTFS
    1234
567891011
12131415161718
19202122232425
262728293031

My RSS Feeds








Mailing List

Most Popular Tags

                                                           

What is the best way to learn coding?

posted Friday, 4 July 2008

I have the opportunity to do a good amount of interviewing, and it lets me see many ways that developers promote themselves:

  • Years of experience

  • Work at a prestigious company

  • Professional awards

  • Certifications

  • Academic degrees (bachelors, masters)

  • Attended training classes

  • Buzzwords

  • Job title ("Extra Super Senior Technical Specialist Level 3++, with Honors")

  • "I've read every tutorial on w3schools"

  • Various activities on their last job

At the end of the day, these are all good, but people who have these still fail simple coding questions. They can talk a good talk, pass multiple choice tests, but struggle when trying to write 10 lines of C# on a whiteboard. Perhaps the #1 indicator of a good developer is that they build their own personal coding projects - from scratch. Not just configure some buzzword package, but actually write, compile, deploy, maintain, and improve their own personal pet project. For example, many of the best developers I know are those who got started by writing their own computer games. I think this actually makes sense for a lot of reasons.

  • Good practice - If you're asked to write code in an interview, what better way to practice than by writing code on your own?

  • Emotional attachment - You have a vested interest in your own pet projects, and a vested interest in their success. Therefore, you'll inevitably be more eager to learn and understand the coding techniques involved, as opposed to some "boring project for work."

  • Small and flexible - A pet project is small, so it's flexible and easy to change - you're not constantly dragging around years of legacy code.

  • Easier to try new things - You're more likely to try new things for your own project, than risk screwing up the company's flagship product.

  • You see the big picture - You see your own project end-to-end, in its full context, as opposed to just a small niche of a much larger product.

  • Lets you focus - A small project, of your own interest, lets you focus on just the specific tech you want, as opposed to writing thousands of lines of redundant or plumbing code for work. It's often a minimalist example of a some interesting technology, because once it gets bloated, it stops being interesting, and the developer stops working on that hobby project, and moves onto another one.

  • Shows motivation - Someone who invests the energy to write their own application, off the clock, is probably motivated to learn new technology and tricks for their work project.

There are tons of fun, pet projects you could build. And with free open-source hosting with places like CodePlex, you can easily share that code with others. If anyone has experienced a better way to learn coding, I'm all ears.

 

tags:  

links: digg this    technorati    




1. Jimbo left...
Friday, 4 July 2008 11:56 am

Get a book on JavaScript, open notepad and a browser, in notepad type Document.Write("Hello World"), save the file as html and open in in the browser. See what else you can do...


2. barbara left...
Sunday, 6 July 2008 10:14 am :: http://bloodredrosev.livejournal.com

There is no one best way - every person has a different learning style. Personally, I learn best by starting out with the goal - the "pet project" - and then researching, reading, experimenting with code until I figure out the steps it takes to build it.