Thursday, August 9, 2007

The Daunting Task of Continuous Education

Looking over at the technology landscape that exists today, it's easy for someone to be barraged by all the information. What do you do if you are fresh out of college or even high school and want to get into development? Where do you start? Or, in many cases, where you do pick back up if you were left behind?

I've been pondering these questions. With technologies of today and tomorrow being out there, having the skills to learn the information and also to continuously educate yourself is one of the best "skills" a person can have. In addition to be able to absorb information, I've seen it being extremely beneficial to be able to apply and present what you've learned. In the situation of presenting the topic, it assists in validating your knowledge and also easily identify holes.

Most college graduates in college are not focused on a single programming language. Colleges for the most part prefer to provide a variety to languages, which is good for a neophyte who doesn't have a preference; however, it also shows the difficulties of using college as a baseline for a developer. I switched colleges a lot when I was in school. Not all of my credits would transfer and in a few of those cases, I got to experience lvl 2 classes of many programming languages. After a couple 2nd level Java and VB classes as well as the interviews and research I've done, college really only teaches some basic File IO and possibly some DB connectivity. Some colleges DO take development courses further than this; however, many programs only get this far.

So you're a recently graduated college student with knowledge of the basics and a desire to learn more. What do you do? There's plenty of resources out there now for the Internet generation. Google, MSDN, forums, user groups, Safari, Books24x7, ElementK, and more are out there for easy learning. Their effectiveness really comes down to that of the individual. If the person learns best from reading and applying, that person won't have any troubles but what about the others who prefer examples or mentorships?

While everyone prefers a specific learning style, that doesn't mean the paths they choose doesn't have to different: same content but different means. So how does a person who knows the basics through College level 2 VB or Java get to being a skilled .Net 3.0, SOA, or basic OOP developer? How does one learn topics that are somewhat scarce due to "common knowledge"?

There are some steps that make a sense sequentially like the following:
  • Basics > OOP > SOA
  • .Net 2.0 > .Net 3.0
  • OOP > Unit Testing
Even with these maps, it still can be a daunting task to get exposure to everything and even more of one to attempt to master any of them. The only thing you can do is take it one step at a time. No one will ever be an expert at everything since there's just too much out there; however, there are definitely those that are more skilled in a particular field. Luckily, most of those individuals in our field tend to share.

With this goal in my mind, I shall hopefully minimize my ramblings like these first couple posts have been and start putting more technical content in. If even one person find it useful then it'll be worth it in my opinion.

No comments:

Post a Comment