Software Development optimize

Advice for an aspiring developer

Would you advise a HS student who is thinking about studying CS and becoming a software developer to go down that career path? Find out one developer's answer to this question, and then take the poll to let us know what you think.

If a high school student asked you whether they should study Computer Science in college with the goal of becoming a software developer, what would you say? Justin James, host of TechRepublic's Programming and Development blog, was recently asked this question.

Read Justin's response to the aspiring developer, in which he spells out the good and the bad about the industry and explains why he encourages the teen to go down this path. These are a few of the tips Justin offers:

The comments to Justin's Career Management column show that not everyone agrees with encouraging a high school student to enter this field. What do you think? Let us know by taking this poll.

Related TechRepublic resources

Get weekly development tips in your inbox Keep your developer skills sharp by signing up for TechRepublic's free Web Developer newsletter, delivered each Tuesday. Automatically subscribe today!

About

Mary Weilage is a Senior Editor for CBS Interactive. She has worked for TechRepublic since 1999.

14 comments
Cybrduck
Cybrduck

I frankly agree that CS alone doesn't make you special. I changed my major so that I could apply my computer skills to the entire business entity. Managment Information Systems (MIS) allowed me to leverage the skills I had as a "geek" and merge them with my desire to be in business. I found bliss in that I learned about architecture and analysis before programming. I was able to see opportunities and places to apply technology while increasing my skills as a programmer and eventually an application developer.

r.raj.d
r.raj.d

Learn how to code now, and START coding immediately

mstro7
mstro7

I'm 58 years old and have been a developer for 23 years now. There's a lot of misconceptions about what makes a good developer. All of the best developers have the following in common; 1) They enjoy what they do. Will you? A litmus test I've passed on is get the book "HTML Goodies (2nd Edition) by Joe Burns" and go through it in fine detail. Probably takes about a week or two but if you enjoy this book, that's a good sign. It covers a little of everything concerning web sites which also gives a good idea how things are related. It's simple enough for anyone to pick and understand from the start. 2) Stubbornness. The ability to tackle a problem and remain focused until the solution is yours. 3) Puzzle solvers. Do you enjoy crafting solutions to problems. 4) Share information. Be ready and willing to pitch in and delve into the unknown. You reap what you sow so when it's your turn for outside help it'll more likely be there. 5) Remember to always keep in mind the question, "What problem am I trying to solve"? In the business world timely solutions are everything. Form is secondary at best and many times irrelevant. Unfortunately schools are limited in what they teach, Java, OO, etc. These have their place but if you're unwilling to learn other things, then you're like a carpenter with only a hammer in his tool chest. Be open to alternatives. Most importantly, though, ENJOY IT. Regardless of anything else, time is a precious commodity that no one can give you more of. Use it wisely.

kitico
kitico

My advice is to try the shoes on before you buy them. Who knows what they really want in High School?! I'd say that the young student should really like math and constant study that does not end until retirement. The young student should work in the field before committing to a programming career. The work experience will help enormously if the student decides to get a degree in computer science. If the student decides not to make a career in programming, the skill will still come in handy in almost any other profession as a complementary skill.

Duke E Love
Duke E Love

Don't follow peoples advice. Seriously, Learn something other than CS in school. Too many developers are myopic one trick ponies who's world view is stunted by a lack of exposure to subject matter outside of computers. Get some humanities and social sciences under your belt. It is just as important to examine the "why" you do something as to the "how" to do something.

davidhbrown
davidhbrown

Done right, learning to develop software -- especially software engineering at a higher conceptual level -- teaches you how to solve problems efficiently. Every business needs that skill set, and more and more problems can be solved on (or are caused by!) a computer. Don't worry too much about whether the language you're learning in a class is the language you see advertised. The real value is in figuring out how to put pieces together, not memorizing syntax. (Do keep an eye on what's required for available internships in your area and make sure you self-train to qualify, if your classes don't do it.)

SnoopDougEDoug
SnoopDougEDoug

How strong is their desire? Does this person already write code? Have they ever worked on a multi-person project? Do they realize their skills rot at about 50%/year? Do they realize that developers > 40 are considered dinosaurs at most companies and their salary will plateau by then? Are they considering the field because they think they will make a lot of money?

Lionfan1991
Lionfan1991

... is great advice! When I saw the headline, before I saw the article, this is what came to mind. Join the military and become a communications officer. You probably won't get to develop software yourself very much but the key is to get a security clearance, preferrably a top secret. Once you have that, you're "golden". If you decide to get out after your service commitment, companies will scarf you up if you have a TS clearance because they take a lot of time to get and cost a lot of money. I served 11 years as a comm officer, separated with a TS clearance, and came back to the same unit as a contractor immediately after leaving the service. Have been a contractor in the same organization for eight years now. In that time, my salary has increased 65% from what I made when I first became a contractor. Right now, there is no forseeable end to the projects I work on, meaning job security is very good at this time.

ojemuyiwa
ojemuyiwa

LOL, in all honesty software developement / developers are very similar people. Creative, essentric and resilient. Forgive the spellings. I am of the school of don't do it for the wrong reasons, but the right. Only if you're interested. I studied applied physics & my co-worker who is one of the best developers i've ever come accross was a drama major student. So go with whatever you want to study !

rajan
rajan

I am not sure if this can be answered with a simple Yes / No. There are many factors to be considered before answrting this question. If the student is only interested in the high paid IT Jobs, then he / she may not become a good developer. There should be a genunine passion for software development.

Tony Hopkinson
Tony Hopkinson

In the current market an opportunity in the job market is going to be very difficult to find. Despite my misgivings on the disconnect between theoretical and practical development, you have to get past the HR numpties and they've bought into academia and certification (dubious at best for programming) big style. To be quite honest if you don't already think like a programmer, I can't for the life of me understand why you'd want to do it. If you haven't already been programming for years, forget it. Programmers program, they can't help themselves. Keep doing practical, apply, recognise the theory in your work/ hobby. If it isn't there, why not, t may be inapplicable, it may be that you've missed something. Above all remember the one thing they never seem to teach in academia, change is a given. There is no such thing as finished, there are only good starts, bad starts, and good starts that now look not so clever. So if you do it and enjoy it, and you haven't bought this you earn a pot load on money bollocks, then by all means, get yourself enrolled. Just remember academia is often a hide out for people unsuited for the real world.....

Slayer_
Slayer_

We have several universities and colleges. The best university sounds like the logical choice right? Well actually no, the Universities here teach touchy/feely stuff and standard "arts and sciences" courses for those that don't really know what they want to do with their life. So I chose our best college instead which had a renown Computer Analyst/Programmer course. How did it turn out? The company I work for now is made up entirely of graduates from the same course over the last 50 years. My recently laid off manager, actually had the same networking and administration instructor that I had.... 40 years ago! But, like anything, it has a double edge, though my college education is well respected in Manitoba, it means a lot less in other provinces and other countries.

Mark Miller
Mark Miller

Approaching CS as an academic subject is tricky, because in most universities it's really taught as a competency rather than a discipline. I agree with Justin. Go for the best school you can. This is also tricky, because the best school may not be the one that has the best overall reputation, by which I mean a school in the Ivy League, which many ambitious people choose by default. If you can, I would seek out someone in the field of computing that you admire and try to ask them about what a good CS education really entails. There are a lot of misperceptions about it, mostly because CS is an ill-defined field. If you look at the first online lecture for "Structure and Interpretation of Computer Programs" (at http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/), you'll hear Abelson say that "computer science" is a misnomer, because it's "not really about computers", and at this stage it is not a science (like physics, chemistry, etc.). I've heard one computing luminary say that the name "computer science" was an aspirational title. When the field was started it was expected that someday it would be a science. It's not there yet. Despite the fact that there are many who will say they know what CS is, they are really recalling what they were taught in college. Some more accurately classify what's taught in college as "theoretical computer science". I say this because the typical CS program teaches some things that have been discovered about certain computing models, from a mathematical perspective. In this sense it's rather like theoretical physics--math that attempts to make predictions about things in the real world. This sort of stuff is valuable to know, but it's not science. Some of the predictions have been tested, and this comes closer to a science, though I don't know of anyone who's gone through an undergrad CS program and has actually had the opportunity to do such tests. So the science aspect is typically missing. What is also very important is that you (and your parents) take charge of your education as early as possible, at the very least by the time you enter high school, if not earlier. [i]Really[/i] understand what you are studying. Don't just take what you're spoon fed in school. Don't just go for the good grades (understanding and good grades are not always linked, particularly in math and science). Good grades are typically important for getting into the "best school" that you pick, though, so don't neglect them. Another thing I would encourage aspiring CS students to consider is taking another route. To stand out it's important to have something else besides CS, another discipline to bring into the mix, perhaps something from cognitive science, psychology, language, or the arts. Maybe a double major would be appropriate, or even to defer taking CS until graduate school, if you're willing to undertake a more extensive education. I'm just throwing out ideas, but I mean to emphasize that having "something else" is important. It will help give you a [i]reason[/i] why computing is important. It might even prove valuable with employers. CS tends to be focused on itself, not on why computing is important. Just having some knowledge about computing is not that valuable to society, and is therefor not that valued by employers. Seeing the relationship between something that is of human interest AND computing is where the really interesting stuff is.

victor.gutzler
victor.gutzler

I would recommend students go into the military as well instead of going straight into college. In my own experience, I fritted away four years of my life because of my immaturity and only then started getting serious about life just to find it very difficult to get a job with a college degree and no experience. If a student chooses not to go military, then he should take the basic college classes in junior college and find out what he is really interested in before spending the big bucks at a good university. The previous post is right that a student probably already has a hobby of programming (or playing chess or designing train networks) if he has a penchant to program. And computer engineering is a more appropriate description of our profession than computer science.