So You Want To Be A Software Engineer?
Ever had a conversation with someone who wanted to be like you?
Yeah, it's kinda weird. There's a young man in my neighborhood, a friend of mine, who recently told me that he is planning to be a software engineer. This of course interested me, so I asked a little about his plans. He's a pretty smart kid, and is planning to finish about two years of college before he finishes high school. Then he plans to finish up his degree within about two more years. Seems like a good plan, but there's a few other details:
- He's planning to pursue a computer engineering degree, not a computer science degree. He likes this plan because he will learn how to program but it doesn't require so many difficult courses in CS theory, math, and science.
- He's planning to obtain his degree from a brand new program that lacks reputation in the industry.
- After he gets his degree he plans to take a couple of years off for religious service, then return and go straight into the workforce.
When I asked him what he hopes to do with his degree once he gets it, he said his plan is to work on computer games.
Well, I care about this young man, but he won't listen to me. So I thought I'd write him a letter, right here on this blog, where he's sure to read it:
Dear (x),
It was great to hear about your goal to go into the software engineering field. Of course I'm very interested in that, because I've been doing that for almost 15 years. I'd love for you to be successful in your pursuit and think you've got a great future ahead of you.
Even though I'm excited about your goal, I'm concerned about your plan. First off, if you want to be a software engineer, there is only one option for your major: Computer Science. I know it is harder than other majors that also teach you how to program, but that is exactly why you should choose it — it will set you apart from the rest. The other degrees are excellent and meant to train you well for a career, but if the career you want is a software engineer, the major you should be taking is Computer Science, preferably from a school with a highly respected program.
I'm also concerned about you taking two years off after you finish your major. I know why you are taking the time off, and I completely agree with you doing that. But what you don't understand is that those two years will make your degree mostly obsolete. For most companies, a "college hire" is only a recent graduate; when you've been out two years, they'll expect you to have two years of experience. You'd be better off to do your two years, then wrap up, say, the last year of your degree after your religious service is done. You'll meet the hiring guidelines of the companies looking at you, and you'll be that much the better person for having done the religious service in addition to getting your CS degree.
I hope you'll consider what I'm trying to tell you. I can't tell you how many times I've met with people finishing up college that want to go into software engineering, only to find out after they were done that they chose the wrong field. And if there is any job in software engineering that requires a CS degree, it is in game development.
I realize you're young and think that what I'm telling you is dumb. All I can say is, I didn't invent the rules. You don't have to like the rules, but it doesn't mean you can break them and still win.
What I really can't figure out is, where are the advisors in all of this? When you're attending high school or college, aren't there advisors that are supposed to be helping you align your educational plans with your career goals?
Regardless, I simply had to say something. He'll probably never read what I wrote, or listen to me if I end up telling him. But I've seen too many discouraged college graduates to let it go any longer.
