views:

743

answers:

7

Hey everyone, I have completed a college degree in a major that was essentially pre-med, but now I'm interested in working as a computer programmer.

Since I have minimal experience in programming, I realize that I have to (1) learn programming and (2) prove that I'm qualified for an entry-level job.

I'm considering these options: getting a Computer Programming Certificate from a community college; studying and getting a professional certificate; and maybe preparing for a MSc in Computer Science.

After I've learned to write code, how can I show an employer that I'm a competent, qualified programmer? Thanks.

+14  A: 

Learn to code first - you will either love it and know you wish to pursue it, or not. Once you have completed a few decent projects go for a junior job, make sure they see your enthusiasm and willingness to learn and someone will take you on. Once you're on the ladder your talent and effort will do the rest.

Programming is a very broad discipline - make sure you choose an area that you are interested in; it's no good learning kernel programming if you're really interested in the web.. for example..

Edit: There are two things at stake here: 1) working out whether you enjoy progamming enough to pursue it as a career and 2) gaining some experience. When someone takes you on as a junior I doubt they will be that interested in seeing a portfolio (as a design firm might for example). Employers looking for a junior won't expect you to have built enterprise systems, rather they will be looking for more general traits - intelligence and aptitude, willingness to learn, enthusiasm for what you do, whether you will fit in their organisation. (Note: employers are likely to test aptitude at interview, but this would be a general logic and problem solving test rather than a test of a specific technology).

Completing a few projects in your own time is a great signal to an employer that you're serious about programming - rather than demonstrating meaningful experience. Meaningful experience is hard won; it takes years of solving real-world problems, supporting production systems, dealing with other people's code and so on, to build experience that employers are interested in, and this applies increasingly as you work your way up, but not really when starting out.

In terms of education - I probably wouldn't go for an Msc (at least initially) for the following reasons:

  • Not having a formal computer science qualification is generally no hinderance to progressing your career - personal qualities matter more.
  • Think of progamming as a kind of practical engineering; there are many great car mechanics for example who understand every nut and bolt of an engine and learnt their trade taking engines apart. On the otherhand I wouldn't trust my car to a mechanic who had only ever read a haynes manual. With programming you learn by doing.
  • The rate of change in technology is fast; staying in touch and keeping your skills up to date is an ongoing investment, you can't expect to attend a course for one or two years and then relax with the knowledge learnt, as perhaps you can with more traditional academic subjects.
  • There are lots of high quality learning resources freely available on the web - with your academic background, you will have no trouble taking advantage - you're already on stackoverflow so you're halfway there ;)

To get started I would suggest getting hold of the tools (Visual Studio for if you want to go down the .NET route), learning the nuts and bolts of a language, learn a bit of SQL (you will need it) and once you're comfortable you understand what's going on, create a project in an area that interests you. There are a few questions on StackOverflow about getting started.

flesh
Thanks for the help. Many people have advised me to work on some projects. How do I go about undertaking a project? Also, once completed, do those projects serve as my portfolio for when I need to circulate my resume?
Eric
+1  A: 

Write programs and put them on the internet (your own website) for others to see.

Jason
+4  A: 

When i met my wife she was enrolled for college for CS, after watching me work at home for one night she basically said "screw that" and is now a Nurse.

See if you like it before you say you wanna do it.

Tom Anderson
Because nurses never have to work long hours?
James McMahon
Because the work of nurses are more meaningful than 010101001001010101010101001010110101
Jonathan
A: 

If you can afford it and can get accepted, I would suggest starting with the MSc. That'll set you up for jobs.

Any pre-reqs you need for the MSc can probably be learned through self-study using books. However I'm sure there are MSc programs that don't assume any previous programming experience.

slim
+1  A: 

Pick a small project and implement it in your spare time. You'll get experience, be able to decide if you want to pursue programming as a career, and show potential employers you're interested in software development beyond just a job. There's no reason not to take classes if you want to or think they would help get you started, but since you already have a degree I would lean more towards getting experience.

Marc Charbonneau
+1  A: 

If I was in your situation I would suggest continue pursuing your pre-med then get a Masters in Computer Science. This will set you up to go into bioinformatics. My wife is a biologist and can testify to the difficulty of finding programmers that understand medical subjects, or vice versa.

To get familiar with programming while still in pre-med, learn functional programming with a language like Haskell. Java or C# would be good languages to become familiar with too to learn about object-oriented programming.

DavGarcia
Dont learn an edge-case language. Straight C# would be more appropriate from the sheer number of jobs openings available... IMHO.
Jonathan
+1  A: 

I know a guy who graduated from my school with a sociology degree who is now working a very well paying development job.

He worked on school website and with some very difficult systems commonly used in academia, that apparently impressed the right people and he got offered a job right out of school.

So his experience got him the job initially, but what keeps at that job is that he has the right mindset for programming. A willingness to learn and experiment with various technologies and languages.

Having a few projects under you belt will probably take you farther then a bachelors. I got the sense from my interviews that my CS bachelors wasn't worth alot. Probably because a guy with a sociology degree was a much better programmer then alot of the kids I graduated with.

James McMahon