View Single Post
Old 01-12-2012, 10:25 AM   #24
dentin
Member
 
Join Date: Apr 2008
Home MUD: Alter Aeon
Posts: 245
dentin is on a distinguished road
Re: may start a mud: what would you prefer?

Camlorn,

If one of your goals is to learn large project management and other advanced software concepts, my advice to you is to start writing code immediately. Don't spend your time buried in books; don't spend your time designing everything; instead, sit down and write code. When you're writing code and you run into a problem that is giving you issues, head back to the books and see if you can find a better way of doing it. Read the books on the side and try to integrate what you find, but keep your focus on writing software.

The thing is, you never really understand -why- certain things are important until you really have an application for them, and you aren't going to understand the drawbacks until you try it. Polymorphism is a good example of both - there are great places and reasons to use it, but there are also reasons to not use it, and drawbacks to using it. Just knowing about polymorphism doesn't make you a great software engineer. Knowing when and where to use polymorphism, which only really comes through experience, is what does that.

There's also a lot to be said for whipping some stuff together in a hurry, then having to debug and deal with it for an extended period of time. That epitomizes large projects - stuff you wrote ten years ago will be at a different skill level than you write today, and it's very instructive to see stuff you yourself wrote a long time ago. Large projects are often less about writing new code and more about making sure everything works properly.

If you could give just one piece of advice, it would be: Code something, even if it's wrong.

Good luck!

-dentin

Alter Aeon MUD
dentin is offline   Reply With Quote