views:

462

answers:

14
+10  Q: 

Experience Needed?

I am third year computer science major. Soon I'll have to start looking for a job. What sorts of things should I been doing before graduating, that will facilitate my job seeking experience?

EDIT: I am interested in the field of software designer, mostly C++.

A: 

Entirely depends on what you want to do.

This is tough to answer without information such as what your experience with programming is, what you want to focus on, etc.

Ian P
+5  A: 

I have advised friends to make contributions to some open source projects. That way they have example code that they can show to prospective employers, it also gives you experience working with other programmers - and that is often invaluable.

William Hutchen
+2  A: 

I would go for working on Open Source Projects. It shows you're interested in your field and have some passion for what you are doing. I always like to see that in a new hire.

KevDog
+1  A: 

Code. Build a nice portfolio showing your skills. Find a nice Open Source project to contribute something too.

Zee JollyRoger
+10  A: 

When interviewing someone just out of school, these kinds of experiences perk my interest:

  • Past Internship/Co-op Experience
  • Working on an open-source project
  • Doing some kind of undergraduate research

To me these are worth more than personal projects because you're accountable to someone and often working on a team. If you have none of the above information, I'll try to find a class group project, though I loathe to do this.

Most important to me is that I see experiences that show you enjoy programming. I will ask questions about the experiences to see how excited you are about your past projects. This is more interesting to me than if you remember obscure information. For sure, being knowledgable is important, but I'd rather have someone who is excited and knows how to look something up via the documentation/stackoverflow, than someone who has memorized the latest Java/C#/C++ libraries.

Also I will try to probe about

  • In past project X did you have to deal with team conflicts? How were they resolved?
  • Were others ever skeptical about your approach? How did you handle their concerns/questions?
  • What unforseen technical challenges occured, how did you handle them?
  • When did you have to take a leadership role? When did you have to take a back-seat to someone else ideas?
  • Name a situation that you disagreed with your boss/professor/leader-person. How did you handle the disagreement? What was the end result.
  • How did you plan for this project? What technical challenges did you forsee?
  • What design approach did you take? What made the design difficult?
  • How did you document your changes? What challenges came up communicating with everyone?
  • How much time did you set aside for testing? How were bugs evaluated?
  • What kind of source control did you use? Why did you choose this tool over others?

Any experiences that allow you to have informed answers to these questions will greatly benefit how you are viewed by future interviewers (like me).

Doug T.
+1  A: 

A similar question has been asked here - you may want to take a peek - http://www.positivespaceblog.com/archives/student-questions-what-should-i-study-to-become-a-web-developer

Vaibhav
+7  A: 

The best thing I did when I was in school was get internships where you do real work. They gave me real world experience and payed well for a college student. By the time I was looking for a regular job, I already had experience and was able to find a much easier job.

Aaron
+2  A: 

If it's possible to find an Internship, that could serve 2 purposes. 1 gives you experience, 2 shows you what a typical work environment could be like.

Jay Mooney
+2  A: 

Go for internships, at least over the summer. I feel that it really helped me gain some real-world experience. My employer also seemed happy with the experience I gained, too.

Adam Neal
A: 

I took the old school approach of entering a company at the bottom (think mail clerk of a law firm) and then becoming one of the Developers after a few years.

This worked out for me as I made my intentions clear. Once my former managers knew I wasn't another peon after their position, they were more than helpful in assisting me make the move, even letting me know what specific skills would be best to learn up on.

But to each their own, do what you enjoy (open source, weekend projects etc) and see where the world takes you.

Mark Glorie
A: 

As an interviewer, I look for any programming experience outside of the college class environment. Contributing to open source projects, creating and selling shareware, or creating web sites that are actually in use are all good indicators of a real interest in programming.

A programmer who has only ever written code for coursework is deeply suspect, sorry to say. We have hired such people before, and they always turn out to be people who just program for a living (and never become very good at it).

MusiGenesis
+1  A: 

Learn something else (eg. C#, Java, PHP, Flex, Ruby on Rails, etc...)

A: 

Get some part-time work. There are things which no open source project can give you. You learn how to deal with co-workers and clients face to face. You will feel the deadline pressure and it is nothing like a homework deadline. I (want to) assume most open source projects' code base is above the average due to extensive reviewing, but you must learn how to deal with terrible code.

Don't get me wrong, contributing an open source project is a very good thing. But it is not working experience. It wasn't even as hyped as today a few years ago.

artificialidiot
A: 

There are several things you should do at this point of your college career to facilitate finding a job upon graduation. From the technical standpoint, find a summer internship with a software group to learn what the corporate environment is like and their expectations. While there, talk with your coworkers and ask them what sorts of things they look for in new employees. As an added bonus, if you intern at a company and they like your work, it is typically fairly easy to work full time with them upon graduation.

From a non-technical side of things, start to get your resume in prepared, visit campus career fairs and talk with the reps there. If you campus has a Career Center, stop by their office to get tips on appropriate dress for interviews, approximate starting salary range for CS majors from your school, etc. If they offer mock interviews (where you can practice your interview skills) start to sign up for them as well. At the end of these mock interviews, typically honest feedback is given to you.

Erdrick01