This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
So, i want some opinions on this. I'm thinking of majoring in computer science in college, i'm currently a senior in high school and i am taking AP Computer Science. Quite frankly, i hate computer science, haha.
I don't actually hate it, i enjoy the concept of creating things through code, but i don't have a huge amount of patience and i get bored easy. Do you think computer science is for me, will it get more interesting in college? I just don't want to waste my time going into it in college if i don't think i want to really do it.
Go to college. Major in "general studies". Take some serious math, science, english writing, english literature, history and philosophy courses. Take a couple of CS courses along the way.
Do not limit yourself to "computer science" you may find that Software Engineering, Information Technology, Management Information Systems, or other related fields are more your style. CS has specific meaning. Its about the science of computing, which means data structures, analysis of algorithms, compilers, optimization, operating systems, etc.
After you have been in college a year or two, you will find that for some courses, you just take them, get an A or B, and move on. Others you will be staying up all night working in the lab, arguing with your classmates over beers until dawn, etc. Whatever that class is, take more of them.
No one can know what they should major in until they get into college and have taken real classes.
For most cool development jobs, you will find that human communication (speech, literature, etc.) is at least as important as your skills with Java, AJAX, MySql, etc.
Originally posted by john larry: . . . i don't have a huge amount of patience and i get bored easy. Do you think computer science is for me.
If you don't have much patience, how can you hope to solve a complex problem that will take days/weeks/months of study (and believe me, there's PLENTY of those kinds of problems in CS and elsewhere)? I know several people who were thought they were interested in computers, but when it came down to CS, it turned out they were more interested in playing computer games. Needless to say, they did not complete their degrees. As Pat said, take some courses. Do you know anyone in the industry? Find out how they got where they are, and if what they do sounds interesting. Browse the forum here and see if what we're doing clicks. Even if you don't major in CS, there's plenty of occupations which use computers to get work done. Perhaps you'll find one of them a better fit, and college is a great place to get exposure.
Originally posted by john larry: i enjoy the concept of creating things through code, but i don't have a huge amount of patience and i get bored easy.
Then the field of information technology management should be ideal for you! (That's a joke: go look at Dilbert comics for background.) But seriously, what the others already said. Keep your options open.
Originally posted by Pat Farrell: Go to college. Major in "general studies". Take some serious math, science, english writing, english literature, history and philosophy courses. Take a couple of CS courses along the way.
I'd be cautious about doing this. If the market is strong you'll be fine, but in a weak market "general studies" may not get you an interview (unless you're attending a brand name university). I would spend the first year or two exploring careers and majors as much as possible, but ultimately picking something.
Check out "What Color Is Your Parachute?" they have some exercises that might help you narrow down your field. A web search may reveal other tools for helping to determine fields of interest.
I would recommend talking to as many people as possible in potential fields to ask them about their day to day work, what are the key skills they need, and what a career path in that field might look like.
Originally posted by Mark Herschberg: I'd be cautious about doing this. If the market is strong you'll be fine, but in a weak market "general studies" may not get you an interview (unless you're attending a brand name university). I would spend the first year or two exploring careers and majors as much as possible, but ultimately picking something.
Perhaps I was not clear. After you take a year or two to find a field you love, major in it. @mark is correct that "general studies" are not well loved as a major.
But I do not believe that a typical high school kid has been exposed to enough to know what they love. And you have to love it. You have to put in huge amounts of time, no matter what the field is. So take a bunch, explore, find what you love, and marry it.
I've seen some fairly well grounded studies that say it takes 10,000 hours to become a professional musician (out side of instant rock star). So if you want to be a studio musician in Nashville, or play in a professional symphony, you gotta put in the hours.
I believe that IT is no different. You can get a degree with only a thousand or so hour of woodshed, but that just gets you in the door.
There are many related areas under IT, not all of them CS. But unless you are working as THE search guy at Google (and you had damn well better be great to get in to even talk to them) then you need human-to-human communication skills to match the geek quals.