• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

I feel unprepared entering the job market

watdahel

Golden Member
I'm a Computer Science student and at my school we only use Java. I'm a few credits from graduating and I feel my school has only prepared us to get a job doing internet programming using Java. May be prepared is an overstatement. My depth of experience with Java is pretty basic and nothing outside the classroom, past the Introductory Java book from Deitel. We have never even gone through every single chapter of the book. My experience is all based on class projects. I don't have experience with creating GUIs since our projects used the console for user inputs and outputs only.

My school is a liberal arts college and I was wondering if a technical college would have a more thorough Computer Science program than what my school has turned out to be or are they all similar?

I did a practice job search and I am truly disheartened at how ill-equipped I am. Every single listing required experience with several programming languages and frameworks, SQL databases, APIs and what have you. All the credentials I have is basic java.

Can I really get a job after graduating given the experience I have? Am I reaching too high to soon, perhaps? Am I destined to start out as a deskhelp for my first real job? I'm so depressed. I need a bag of potato chips.
 
First, calm down, the job market is actually pretty good right now. Second, if you haven't started a personal project or worked with OSS, do so, RIGHT NOW. NOTHING looks better on a resume then "I did such and such in my spare time."

Third, don't sweat the "We require knowledge in x, y, z, q, d, v, w, r, s, t, etc" Lots of companies do this and not many actually expect someone to have the long list of experience. Apply anyways.

And finally, GO TO JOB FAIRS. You won't have a lot of success applying for jobs online, but if you can get an in-person interview you will be placed miles ahead of everyone that applies online only. Having good people skills is just about as important as having good programming skills.
 
First, calm down, the job market is actually pretty good right now. Second, if you haven't started a personal project or worked with OSS, do so, RIGHT NOW. NOTHING looks better on a resume then "I did such and such in my spare time."

Third, don't sweat the "We require knowledge in x, y, z, q, d, v, w, r, s, t, etc" Lots of companies do this and not many actually expect someone to have the long list of experience. Apply anyways.

And finally, GO TO JOB FAIRS. You won't have a lot of success applying for jobs online, but if you can get an in-person interview you will be placed miles ahead of everyone that applies online only. Having good people skills is just about as important as having good programming skills.
Good advice. All companies are aware of how much new grads are ready to contribute. You'll spend a lot of time your first 6-8 months just learning on the job. After that you'll be ready!! Don't worry about it! Just try to keep learning, and you'll be fine 🙂
 
If you're interested, apply anyways.

Like most said, you're going to have some intro time to the company learning the job. Especially with programming, they can't expect you to know their DB Schema overnight. 🙂

Personal project with OSS is fantastic. I would try to keep some form of resume site together that also has your OSS project on the same site, or at least a mention of it (download only a few seconds away).
 
I found that most of my programming interviews are interested in your ability to solve common problems. Read up on some common algorithms and data structures. Brush up on the fundamentals. Also, read this book: http://www.amazon.com/Cracking-Codin.../dp/145157827X Almost every question I've been asked in an interview is in this book. But don't just memorize answers, use it to find out what fundamentals you don't understand and need to learn.
 
all the programming courses I took in college ( undergrad and grad school) use Java. the main thing is that it teaches you the fundamentals of programming along with good programming habits and practices, which can carry over to what ever language a future employer or endeavor may require you to use.
 
You could try producing a simple java application (maybe an android app?) and put it online for prospective employers to see. If you had something on your resume that says you're the developer of some app and it has a few thousand users that would help negate your lack of work experience.
 
I was in the same boat when I graduated several years back. I ended up taking a .NET programming course over several weeks and got a job out of that. I also started up a side project after that for a company that ended up being a decent sized application, so definitely support the other suggestions of getting a personal project going.
 
You're obviously concerned. Forgive if any of this is obvious. The first thing I would say is do not minimize the experience you have garnered thus far. While it may be limited to school projects, in your resume cite the ones that are more impressive or demonstrate proficiency with a certainly technology. And as several others have suggested: start up your own project or get involved with OSS. Sourceforge & Codeplex are just a couple of places you can start. The hard part is finding one-- it can be overwhelming with the number of those available for contribution.

Every job posting has a list of wants, but that does not mean they are all absolutes. Apply for the ones that interest you, market your strengths, and see what happens. Let the potential employer decide if they want to hire you. Do not sabotage your interview by emphasizing a perceived lack of experience (I have stupidly done this myself). By the same token, I am not at all suggesting you overstate things and market skills you may not possess.

I have seen listings for junior developers that have mandated no prior experience, as well as others that are specifically for new grads. So do not despair, you'll find something.
 
Make sure that you go to your school's career office; they should have access to job listings that are targeted at new graduates. I'm pretty surprised that your school hasn't helped you to get an internship or co-op though.

On a side note, you've really only used Java the entire time through school? You didn't have a 'Programming Languages' class or anything like that where they at least introduced what other languages were like? Have you dealt with pointers and memory management ever? How about some kind of assembly language?
 
On a side note, you've really only used Java the entire time through school? You didn't have a 'Programming Languages' class or anything like that where they at least introduced what other languages were like? Have you dealt with pointers and memory management ever? How about some kind of assembly language?

I actually don't find this unusual. My school started us out with C++, then separated the CS guys from the CompE guys having the CS guys learn Java and the CompE guys learn Verilog. Those are about the only languages they taught (unless you took a web development class, which I think they still used java at the backend.)

Most of the time for the CS guys focused on processes of creating programs and not actual programming.
 
Companies care more about you having a logical mind to solve problems and from this learning a new programming syntax should be trivial.
 
I just graduated with my CS degree as well. Like some of the other posters have said, emphasize what you have done. At my school, Java was the main language used, however, we did have a languages class where we did some Lisp, Prolog, and perl projects, we had assembly programming x86 and MIPS, and you had to take one semester of either c++ or VB. I took web programming as an elective so I had some exposure to javascript, html, php, mysql. I am putting most of that on my resume and a little about projects I did. No database class was required, and I find that a lot of employers around here are looking for that, so if you can I would try to take that if its offered. While I have been job hunting, I took on a web project for a professor here, and I've picked up some books to read about things I didn't learn in school. The big thing to realize that the degree is a foundation, not the end. Over the summers, learn about things that your school doesn't offer.
 
I actually don't find this unusual. My school started us out with C++, then separated the CS guys from the CompE guys having the CS guys learn Java and the CompE guys learn Verilog. Those are about the only languages they taught (unless you took a web development class, which I think they still used java at the backend.)

Most of the time for the CS guys focused on processes of creating programs and not actual programming.

Hmm I don't know it still seems unusual to me. I don't think a computer science education is complete without at least a rudimentary understanding of computer architecture as well as exposure to some variety of languages (procedural, object-oriented, scripting, functional) so you can get a feel for the strengths and weaknesses of them, and just learn how to approach problems from different directions.

Just from my personal example I graduated from UT Austin in '02 and I had been exposed to C, C++, Java, Haskell, Lisp, and MIPS Assembly. I've taken a different path than most CS majors and now mostly program in C, Perl and X86 assembly, but I definitely appreciate that background that knowing other languages gave me.
 
Hmm I don't know it still seems unusual to me. I don't think a computer science education is complete without at least a rudimentary understanding of computer architecture as well as exposure to some variety of languages (procedural, object-oriented, scripting, functional) so you can get a feel for the strengths and weaknesses of them, and just learn how to approach problems from different directions.

Just from my personal example I graduated from UT Austin in '02 and I had been exposed to C, C++, Java, Haskell, Lisp, and MIPS Assembly. I've taken a different path than most CS majors and now mostly program in C, Perl and X86 assembly, but I definitely appreciate that background that knowing other languages gave me.

My school offers courses that teach assembly, but they are optional for CS majors (and many don't take them, preferring 'easier' classes.)

I'm not saying that language diversity is a bad thing (it is a GREAT thing), just that I can see different schools having different focuses. Many of the CS guys in my school graduate without really knowing how to program. It is somewhat of a travesty. In fact, their knowledge about how computers work is quite lacking. I don't know how you solve this issue.

A big part of the problem is that my school places a very high value on attrition rates. The CompE department of my school has the highest in the school, and as such they keep trying to cut our budget and keep considering getting rid of the program all together.
 
Hmm I don't know it still seems unusual to me. I don't think a computer science education is complete without at least a rudimentary understanding of computer architecture as well as exposure to some variety of languages (procedural, object-oriented, scripting, functional) so you can get a feel for the strengths and weaknesses of them, and just learn how to approach problems from different directions.

Just from my personal example I graduated from UT Austin in '02 and I had been exposed to C, C++, Java, Haskell, Lisp, and MIPS Assembly. I've taken a different path than most CS majors and now mostly program in C, Perl and X86 assembly, but I definitely appreciate that background that knowing other languages gave me.

I'm done after this summer and I've had a similar experience as you. You can add VHDL, perl and now python to the list. Software Engineering is now taught in Python and Haskell. Instead of MIPS though, we used x86 in Comp Architecture.
 
Colleges and Universities typically don't (and I would argue, should not) emphasize teaching languages, APIs, etc. As much a we glorify them, those are just trade skills.

Instead, hopefully OP's college experience has given him a good background in the essentials -- math, logic, algorithmic reasoning, etc. The rest can (and will) come later, in the form of on-the-job training.
 
If you get a job that actually has you programming, and the problem domain is not extremely simple or mundane, then you will learn more during your first six months on the job than you did during your entire school career.
 
I did take courses where we used assembly, lisp and such but it's very basic that I would be embarrassed to put it on my resume as a skill. We were taught only enough to complete the semester projects. I don't even remember anything about those languages unless I reread my notes.

I guess college was a let down for me because I really wanted to learn video gaming programming. That's a very specific field. I always wished I could've gone to a school specifically for it but money and location was an issue.

After reading the responses here I do feel a little bit more at ease. I appreciate the feedback.
 
I guess college was a let down for me because I really wanted to learn video gaming programming. That's a very specific field. I always wished I could've gone to a school specifically for it but money and location was an issue.

After reading the responses here I do feel a little bit more at ease. I appreciate the feedback.

As a means of starting a project, take a look at Microsoft XNA if video games are your interest. IIRC you can download free tools to get going. It will be in C#, but since you know Java it will not be difficult to learn. Being that you're a student, assuming your school participates, you can download the Game Studio from Dreamspark (along with other Microsoft tools). I believe there's an Express version of the Game Studio as well. MSDN has numerous XNA tutorials.
 
what are some good OSS projects to work on? Most don't seem really 'noob' friendly as such.

I've never worked on an OSS project before, and I think its high time I get started!
 
what are some good OSS projects to work on? Most don't seem really 'noob' friendly as such.

I've never worked on an OSS project before, and I think its high time I get started!

What do you consider "noob friendly"? Many OSS communities are more than happy to give a tour and help someone get familiar with the software.
 
Over the course of my CS degree we took
Python (introductory course)
Java (core)
C (only 1 class, but required and used in at least 1 other required course)
bash scripting (part of C and Unix class)
ruby on rails (elective)
PHP, Oracle/PLSQL, XHTML, Javascript (part of database programming series)

In projects I used C#, sqlite and mysql as well.

I regret not taking C++, but at least I feel prepared to learn various languages.

I also forgot to mention Mips and Verilog..We had to use both of those in 2 classes
 
Last edited:
i graduated with a BS in Comp Sci and my first job I really learned a lot pretty quickly. you will get trained in the systems and frameworks that you will be using, and this can take some time. you won't get to a new job and be able to just dig in, it will take weeks, maybe months to actually understand what is going on.

chances are you will start out with some minor bug fixes to get familiar w/the code base and how things work under the hood. then gradually move up.

one thing is for sure though, looking back at all my school projects, i feel now I could knock them out so freaking quickly heh.
 
If you get a job that actually has you programming, and the problem domain is not extremely simple or mundane, then you will learn more during your first six months on the job than you did during your entire school career.

this is also one of the truest statements in this thread.

and i can even go on and say that at my current job which i've been at just over a year, i learned more in this past year than i did in the 5 years at my first job out of school.
 
Back
Top