I has been an interesting journey this far and I have learned more then what I thought (ie. not only javascript), I thought it might be interesting to discuss these observations so please leave a comment.

There’s a long way to go. Learning to program a game is not something you do in a weekend. Sure you could hack together some sort of game in a weekend, but that’s not what I’m talking about. I’m talking about developing, testing, bugfixing, releasing and promoting a game to real users. It ain’t easy. Many people don’t understand the work that is really behind the tools/games they use every day. When you try to develop even a simple game you need to understand the rules really well, you need to consider and implement every possible use case. It’s a lot of work. OOP rules. I’ve become too used to OOP that not working with objects was really difficult to me. Proof of that is how hard was to complete the checkers game and how easy was the chess one once I learned OOP in javascript. Step by step is the way to go. When you want to learn something new there are usually to ways to do it. You could just dive in and learn as you go, this is cool because you can make a lot of progress really fast and you immediately start working on something you want. The other way is to go step by step, do small exercises that let you learn gradually, this is obviously slower because you do a lot of work which is “academic”. When you are done with it nobody will use it. Most of my life I’ve learned things in the first way. Now I think that step by step is the way to go, because your product (the real one) will be a lot more maintainable since you learned the proper way to program which in the long run will save you a lot of time. Step by step is the way to go 2. Don’t just jump at any problem and start writing code. First understand well what the problem is and try to solve it in your head. Then write some pseudocode in comments and then write the actual code using the comments as a guideline. Write some basic functionality and then expand it. Finally test, Test, TEST! Stackoverflow is your friend. We all have doubts, we all have some stupid bug that we can’t fix (or even find). If you have a coworker he could help you, but not everyone is so lucky. For the rest of us Stackoverflow is probably the best way to go. The tools don’t matter but help. Everyone of the exercises I’ve done thus far could have been written in notepad, so don’t stress about the perfect tools and the perfect work environment. Sure tools help you, they highlight your code, keep thing in order and integrate well with your versioning system. Tools essentially save you time, but the most important thing is what you actually do, not what they let you not do.

What have YOU learned?

updated from the comments