When Jeff Attwood is asked "how to prepare for a career in software development" he replies with "There's no substitute for learning on the battlefield." I heartily agree. I have been on the front lines of software development (full-time) since 2001, when I was laid off by a little company named Cybercash, based in Reston, VA. The dot-bomb went off and finding a "junior" software developer position in Northern Virginia was nigh-impossible. But, I digress.
The reason for this post is that I came across the following statement on Jeff's post:
Higher education is still worthwhile because it teaches you how to talk to people.
With a good educational background, you'll learn how to read
effectively, how to write coherently, and how to think critically
amongst your peers.
Based on the above quote, I believe that Jeff is trying to say that attending college and getting your degree can improve your "people skills". I don't buy that. If that is not what Jeff meant, I apologize for my misunderstanding up front. But I still think this is a topic worth addressing.
Improving People Skills
Sitting in a classroom, listening to your professor read chapter 23 from your biology textbook will not help you with your people skills. Like Jeff, I believe there is no better teacher than experience. Here are my recommendations for anyone who is interested in improving the skills that Jeff mentioned, without attending a university.
If you want to learn how to talk to people, start by reading Part Three of The 7 Habits of Highly Effective People. On second thought, read the whole book. You'll thank me later. Pay attention to the way other people communicate. Model your communication after other good communicators. Next, take a job at a call center, or try cold-calling businesses to sell them something. That is what I call "learning to communicate effectively while on the front lines". In those types of jobs, you either improve or die. Sure, it can be scary trying to sell widgets over the phone to people you have never met. You will make mistakes. But you will learn from those mistakes and be able to apply your newly gained knowledge the very next time you pick up the phone.
If you want to learn to read effectively, read online articles about "effective reading". Then read...a lot! Read about what interests you and occasionally read books that are considered to be "classics". Like most everything in life, the more you do it the better you will become. If you read about subjects that interest you, you will retain more of what you are reading. If you are still having trouble retaining what you are reading, try reading it with the intention of explaining it to someone else (a tip from 7 Habits...if I am not mistaken). If you have to explain the book to someone else, you will process the information in a manner that promotes retention.
If you want to learn to write coherently, read books on writing. Research "writing tips" online. Mimic the writings of your favorite authors. Then write...a lot! Start a journal or create a blog. Write stories about things that interest you. Read them to your family and friends to get their opinion. Learning how to accept critical feedback is an excellent "people skill" to develop.
If you want to think critically amongst your peers, read books on critical thinking. Research "critical thinking" online. Dare to ask question
s. Don't accept information you are given at face value. Be prepared to intelligently defend any stance you take or decision you make. When someone states: "Microsoft is going down the tubes.", think twice before you nod your head in agreement. If I asked you: "Why do you think Microsoft is going down the tubes?", would you give me a laundry list of reasons, or would you reply: "I dunno, I just don't like the fact that they are charging me $260.00 to upgrade to Vista Ultimate. I am going to check out that free Unix software I keep hearing about."
In all of the above cases, feel free to take a course at your local community college on the subject you are interested in. When all you want to know is how to communicate more effectively and think more critically, don't spend your hard-earned money to get a degree that required you to take a dozen other subjects over the course of 4+ years, that were completely unrelated to your goal.
If you are not motivated, on your own, to improve your people/communication skills and to educate yourself via books and other media, I am not sure that paying an increasingly ridiculous sum of money to a university is going to help you. While you are in school, there are such motivations as peer pressure, your parents threatening to stop paying said tuition, and the fact that somebody once told you: "the college years are some of the best years of your life". What you don't know is that the latter statement was made by someone whose parents paid their tuition, never pressured them about their grades, spent the majority of his time partying, and never actually received a degree.
After reading this post, you may think that I don't believe that you should go to college to get a formal education. That is not the case. If you have a free ride, you have a good idea of what you want to do when you leave the campus, and you are motivated to do what it takes to get your degree, by all means, go for it! You will probably be better off because of it. However, if you are contemplating taking on tens of thousands of dollars in debt because "people" keep telling you that you should go to college (like your "guidance" counselor, who is probably required to have a master's degree in order to hold his/her position, which in turn leads her to justify the time and expense that went into obtaining it) and/or you are not sure what you want to be when you "grow up", re-read the above paragraph about "thinking critically" and then thoughtfully make your decision.