im sure you have a greater understanding about the languages by doing stuff like save game editors, patches, hi-res and the like.
I can’t speak for others, but in my case I definitely didn’t get it from school.
Yes, absolutely you have to have personal projects in order to understand any language you want to learn.
And not just any personal project, but very specific ones.
Criteria1: Interesting/Fun. No matter what your level of dedication is, boring projects burn you out. If you want to learn the language, create a small project whose results you can see quickly, and of a nature that is
highly interesting to you. This usually means games or utilities related to games you enjoy, as is the case with everyone on this board.
2: Challenging. You want to learn right? Then your project should have some feature in it that you don’t yet know how to do, or you want to do better than you did last time.
3: But not
too Challenging. Too much challenge just leads to frustration and burn-out, and after spending so much time on one problem rather than the global project you end up getting less out of the experience anyway. Pick something above your level, but not
too far above your level.
4: Pride. Put pride into every project. Every new project is better than the previous. Take pride in making your next project more organized than your last. Take pride because your newest project has
no memory leaks. Take pride because your newest project releases perfectly every resource it created. Take pride because your newest project has not a single bug, and 100% solid, structured, neat, and organized code.
Having pride in your work is the single most important aspect of coding, because when you have pride, you not only take care of all the tiny details and polish/fine-tune your project, you have fun doing it.
When you can decide on a project that meets
all of these criteria, get cracking.
My boss won’t hire people unless they have multiple personal projects to show.
School isn’t particularly special; anyone can be taught what a programmer is and does but passion is the only thing that can make an actual programmer.
L. Spiro