Comment Become Employable (Score 2) 654
This thread has evoked much theory on Education vs Training. As a 20-year software veteran -- with a M.S.C.S. degree -- and a former adjunct faculty member at a top 10 University, my opinion is to do whatever you can to become employable.
Start first by attending a school with name recognition. It's just like brand recognition. If, in a job interview, you get the "... and where's that school?" question, you're already on the defensive and at a disadvantage. "Recognizabiilty" (is that a word?... I should know, my undergrad is Liberal Arts), is relative. Some small East Coast schools are well known for their academics, but are little known on the West Coast and vice versa
Next, if you can't demonstrate productive software development skills during your interview, you're also at a disadvantage.
What are productive skills?
If those skills are vocational, so let it be written, so let it be done -- you need employment.
I had this very same discussion with the Department Chair of the Electrical and Computer Engineering department of the school I mentioned, where I suggested a 1CR course on the above topics as a program requirement for the ECE major (remember... this is an Engineering department) and I got the same push-back, ".... we're hear to educate, not train..."
I'm back in industry as an employer and I won't hire anyone with less than 5 years of experience because, in the face of economic and competitive pressure in the software industry, I cannot afford to train someone to become productive.
Do what it takes to become employable -- courses, internship, networking.
I hear my soapbox creaking, so I'll step off of it.
Start first by attending a school with name recognition. It's just like brand recognition. If, in a job interview, you get the "... and where's that school?" question, you're already on the defensive and at a disadvantage. "Recognizabiilty" (is that a word?... I should know, my undergrad is Liberal Arts), is relative. Some small East Coast schools are well known for their academics, but are little known on the West Coast and vice versa
Next, if you can't demonstrate productive software development skills during your interview, you're also at a disadvantage.
What are productive skills?
- knowledge of an advanced programming language (I'll defer the religious wars to some other thread)
- skill in using a visual debugger (no print statements)
- use of a profiler to understand where your code needs optimization
- use of a version control system so you can play well with a team
- an appreciation for an optimized build technology/system (Ant, make, JAM, etc.) so you can contribute to the neverending optimizations to make the edit-compile-debug cycle as efficient as possible -- save a Developer 30 mins a day, multiplied over 10 developers... time is money and the money adds up
If those skills are vocational, so let it be written, so let it be done -- you need employment.
I had this very same discussion with the Department Chair of the Electrical and Computer Engineering department of the school I mentioned, where I suggested a 1CR course on the above topics as a program requirement for the ECE major (remember... this is an Engineering department) and I got the same push-back, ".... we're hear to educate, not train..."
I'm back in industry as an employer and I won't hire anyone with less than 5 years of experience because, in the face of economic and competitive pressure in the software industry, I cannot afford to train someone to become productive.
Do what it takes to become employable -- courses, internship, networking.
I hear my soapbox creaking, so I'll step off of it.