4 ms·
"Finding a mentor" is good advice. So is the other advice, but most of it has been stated many times by many people (read code, write code, think about code you
by kaens 18y ago
"Finding a mentor" is good advice. So is the other advice, but most of it has been stated many times by many people (read code, write code, think about code you have written, etc).
I personally have had two people that I would call "mentors" in the time that I've spent learning about programming. One was my high school comp-sci teacher - we learned using C++, but he did not teach the language, he taught general concepts - and did a very good job at it.
The other is a friend of mines older brother. He's one of the smartest people I know, and a brilliant coder although he doesn't really code much anymore. I have a printout of code he wrote for a TI graphing calculator that is a 2d rpg engine, including NPCs that have semi-generative text dependent on "important" plot points, and smooth-scrolling. A lot of the code is code-writing code and memory management - it's incredibly impressive given the limitations of the platform that it's written in. This guy is one of the only people I'm around on a semi-regular basis that I can really "nerd out" with, and he's always got good advice on improving system designs and performance - mainly because the vast majority of his experience is building non-trivial systems really close to the metal.
A mentor can come from anywhere, I suppose that people on newsgroups or forums would work as well if you work well with that sort of communication / exposure. There is something to be said for face-to-face conversation with someone who is a lot more experienced than you are though.
I remember one time I was playing around with a sort of image transformation algorithm, and this guy took a look at what I was doing, picked up a pad of paper and scribbled out about 20 lines of psuedo-C which did the same thing, did it faster, and did it with constant memory use. I probably would have arrived at the same solution after a while of thinking, but seeing someone identify something that they've seen before and spit out the optimal solution can be a very enlightening (and humbling) thing.