I feel unprepared entering the job market

Page 2 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

wwswimming

Banned
Jan 21, 2006
3,695
1
0
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.

it's normal to feel un-prepared.

one of the top guys in animation went to a small state college in the midwest. he coached me when i started learning animation. i went to a name-brand university - and i am quite happy to have had that guy as a coach.

i would say that your thoroughness and instinct for knowing a program inside & out, tying up all loose ends - and being able to talk about it - are important. if you're a competent programmer, there's a good chance that you're better than many of the managers that you'll be interviewing with, especially if it's at a defense contractor where "Powerpoint Engineering" skills are a key attribute.

i would just keep honing your skills, maybe do something else that interests you, e.g. work on some real-time stuff, make a USB-interface something.
 

Fallen Kell

Diamond Member
Oct 9, 1999
6,248
560
126
I feel a little for the OP. I had a different experience entirely, as my university had a very tight integration with local businesses as we had a massive co-operative education system. Almost all degrees (pretty much anything aside from liberal arts majors) were 5 year programs with three 6 month periods spent working at a business somewhere. So we were introduced to what was happening at businesses fairly early in our college career (I went to work for a Fortune 500 for 6 months starting September my sophomore year). Those experiences really let me better design my college classwork to fit what I thought were the business needs/requirements for getting a job.

Now that said, we primarily used C++ at my school, with several courses requiring Java, .Net (was still in beta at the time), LISP, ASM (MIPS), obj-c++, and perl. But really aside from a few courses in different tracks, once you were through the intro to programming classes, and the object oriented class, you could use whatever language you wanted as long as it could get the job done. Now as I said, there were some classes which simply required that you use specific languages (artificial intelligence courses, neural networks, and cognitive networks mostly could only be solved with LISP or C++ (what other language out there can reprogram itself while running other than LISP?) a robotics class I took required ASM and obj-c++ since that was all the micro-controllers could understand).

In the end though, I don't do a great deal of programming anymore. I write some tools now and then, but most of them are glorified filters/converts to output data in a more useful manner, or to do repetitive tasks for me. Every once in a while I will write some data analysis tools to gather useful statistics/metrics (last one was to analysis the memory usage of jobs which are run on our beowulf cluster to determine if we need to increase the amount of RAM per process that we currently had allocated/purchased to see if our software warranted an increase in future hardware purchases). Long story short, the answer was no, as less than 0.1% of jobs were using more than our current ratio of RAM/process, with the majority of them being using only 60% of the current RAM/process ratio.

Again, the experience you will get during your first few months/years on the job will far outpace what you learned in college in terms of depth of understanding of a particular language. The point of college is to get you to understand the concepts and fundamentals that are common to programming in any language, and they leave the language specifics up to you to learn either on your own on the job. But knowing the fundamentals will let you deal with asking the questions of what is the best way to do X using language Z? Without the fundamentals, you wouldn't know how to even grasp X to ask the question.
 

Krioni

Golden Member
Feb 4, 2000
1,371
0
71
I haven't read through every response, so I apologize for any redundancy.

Here's a little background...
I started out in CS, then switched to MIS after a year or so. I took Fortran, Pascal, C++, VB, HTML, Database Design

Upon graduation I took a job as a business analyst. But I always had a love for the more technical aspect and quickly worked myself into a programming role. I worked on a very large project that was many millions of dollars. I programmed for several years.
Now, I am the manager of a development team of 8 developers at a fortune 500 company. All of my experience has been with this one company.

So, during my time we've interviewed a lot of college grads. My school (see my sig) has an exceptional MIS program, so we have recruited a lot from UA, who happens to be only 1 hour away from where I work.


Enough background...
In my experience and in the many interviews in which I've been part we have focused FAR more on logic, technical affinity and cultural fit than actual experience.

Something I learned when I actually started working... I didn't know squat!
Most college grads, myself included, don't have much of a clue when it comes to actually programming and good practices. However, I *did* have a basic understanding of programming logic, how to define requirements, how to design (VERY basic) systems, etc.

Anyway, the point is this...
For an entry level person we look very little at specific language/syntax ability. Rather, we focus on your ability to think logically and solve problems. The syntax of any particular language is really pretty easy to learn in the grand scheme of things. We also do look for an understanding of basic data structures and databases.

However, you cannot easily teach someone to have the logical mindset/affinity that is needed. So, that's what we look for. (of course there are varying degrees of this skill too).

ONE OTHER IMPORTANT TIP:
We give the wonderlic test top ALL of our perspective hires. You could do yourself a favor by researching this a bit.

EDIT:
I completely agree with others who are recommending doing some stuff on your own time. Maybe getting into some Open Source projects, etc. Basically anything you can do to differentiate yourself from others.
 
Last edited:

LokutusofBorg

Golden Member
Mar 20, 2001
1,065
0
76
Anyway, the point is this...
For an entry level person we look very little at specific language/syntax ability. Rather, we focus on your ability to think logically and solve problems. The syntax of any particular language is really pretty easy to learn in the grand scheme of things. We also do look for an understanding of basic data structures and databases.

However, you cannot easily teach someone to have the logical mindset/affinity that is needed. So, that's what we look for. (of course there are varying degrees of this skill too).

ONE OTHER IMPORTANT TIP:
We give the wonderlic test top ALL of our perspective hires. You could do yourself a favor by researching this a bit.

Over the years I've learned to focus my interviews on these aspects. I think the best way to gauge how good a person will be at programming, or how much they'll like programming, is to go back to story problems in elementary school days: Were you good at them? Did you like them? Programming is a constant story problem. It appears the Wonderlic is a generic aptitude test that kind of gauges the same thing.
 

rchiu

Diamond Member
Jun 8, 2002
3,846
0
0
Well with only school education, you will be unprepared in most profession anyway. You really need to get some jobs in school/local business to work on real programming work. Things like Java coding together with database, or scripting in Unix/Linux is such basic requirement in all programming work, and you would have picked it up if you had some internship opportunities.

The problem with school is each class is single subject oriented. In real job, you need to take care of problems using multiple skills, so it's hard to just jump from school to work and be ready for everything.

Plus you can always look outside of school work. There are may professional certification programs that prepare you better than schools program and give you better credentials. Like Sun Certified Java Developer programs...etc. Those certificates target professionals and give you more real world tools than school (especially a non-technical school)
 

Cogman

Lifer
Sep 19, 2000
10,286
147
106
Well with only school education, you will be unprepared in most profession anyway. You really need to get some jobs in school/local business to work on real programming work. Things like Java coding together with database, or scripting in Unix/Linux is such basic requirement in all programming work, and you would have picked it up if you had some internship opportunities.

The problem with school is each class is single subject oriented. In real job, you need to take care of problems using multiple skills, so it's hard to just jump from school to work and be ready for everything.

Plus you can always look outside of school work. There are may professional certification programs that prepare you better than schools program and give you better credentials. Like Sun Certified Java Developer programs...etc. Those certificates target professionals and give you more real world tools than school (especially a non-technical school)

For programming, certificates are really quite worthless. They are better than no experience, however, any personal project is going to look so much better than a certificate.
 

rchiu

Diamond Member
Jun 8, 2002
3,846
0
0
For programming, certificates are really quite worthless. They are better than no experience, however, any personal project is going to look so much better than a certificate.

I wouldn't say they are worthless. Are they the only indicator some candidate can do the job? certainly not. But they are the baseline indication that someone has acceptable knowledge from an authoritative source. I mean anyone can Google couple of projects and say they work on them as personal project - yes people lie on their resume and interviews - and any recruiter would rather trust certification than personal project.

Plus most recruiters have no IT background anyway and while they definitely know some key programming certifications and look for those, they usually don't understand what the heck you are talking about when you describe some personal project.
 

watdahel

Golden Member
Jun 22, 2001
1,662
12
81
www.youtube.com
Great pep talk in here. Maybe I'll dig into some open gl programming.

Should I bother listing the minor programming languages I used in school on my resume? Aside from Java, they were really just a one semester intro to the language.
 

degibson

Golden Member
Mar 21, 2008
1,389
0
0
Great pep talk in here. Maybe I'll dig into some open gl programming.

Should I bother listing the minor programming languages I used in school on my resume? Aside from Java, they were really just a one semester intro to the language.

Call that "familiarity".
 

Cogman

Lifer
Sep 19, 2000
10,286
147
106
Great pep talk in here. Maybe I'll dig into some open gl programming.

Should I bother listing the minor programming languages I used in school on my resume? Aside from Java, they were really just a one semester intro to the language.

A long list of every programming language you've ever seen really doesn't help. It is more important to show that you know how to program than it is to have 5,000 different programming languages listed. A good programmer can pick up a new language in no time (and good programmer realize this).

If someone doesn't hire you because you didn't list that you could program in VB6, you really don't want to work there anyways. (BTW, ANYONE that requires a VB6 developer is a place you really don't want to work for).
 

nyker96

Diamond Member
Apr 19, 2005
5,630
2
81
I recommend the book THinking in Java (Bruce Eckle). read that and you will be much better at Java.
 

ikachu

Senior member
Jan 19, 2011
274
2
81
Great pep talk in here. Maybe I'll dig into some open gl programming.

Should I bother listing the minor programming languages I used in school on my resume? Aside from Java, they were really just a one semester intro to the language.

If I see a language listed on the resume of someone fresh out of college then really all I'm expecting is that they know some of the basic syntax, some things that the language is good at and bad it, and what kind of projects they might use it for (excluding their main study language of course, which they should know pretty well).

This is from a recent interview I conducted:
Me: So what is your favorite language?
Him: I guess I'd have to say C#
Me: Why is that?
Him: Well, when you type out stuff it presents you a list of options on how you want to complete it so you don't have to remember everything.
Me: o_O
 

Aikouka

Lifer
Nov 27, 2001
30,383
912
126
I attended a liberal arts college for Computer Science as well, and the one thing I wish we would have covered more is the parts of the development life cycle outside of implementation (design, specification, etc). We had a single course in college that we took a project on from the ground up in 3-person teams, but I don't think we were ever nearly as detailed as I've been on a project at work.

I would have loved to get more experience in requirement writing, configuration management and UML modeling. I actually got a bit of the first two during my internship, which leads to my next point....

In my opinion, one of the best things you can do as a computer science major is get an internship. This is somewhat similar to what others have mentioned in regard to showing a real-world project, but in this case, you're also typically working in a corporate atmosphere. I worked with a CMS team for my internship and designed an application from the ground up.

Also, do make sure you keep your grades up at all times. When it comes to hiring level 1s (or whatever they call their lowest-level position), one of the first things they look at is education. They want to see a degree and what your GPA is. Some of the defense companies won't even look at your resume if you didn't get above a 3.0, and the preference is usually to have above a 3.5 (although between 3.0 and 3.5 is acceptable).

So, all in all... computer science is all about understanding how to take a problem and produce a software solution. You could literally not know a single programming language and be a competent software engineer since all you technically need to be able to do is generate psuedo-code... although, I wouldn't recommend taking that approach :p.

EDIT:

This is from a recent interview I conducted:
Me: So what is your favorite language?
Him: I guess I'd have to say C#
Me: Why is that?
Him: Well, when you type out stuff it presents you a list of options on how you want to complete it so you don't have to remember everything.
Me: o_O

Haha... you should have asked, "Do you know what an IDE is?"
 

Dravic

Senior member
May 18, 2000
892
0
76
You have a Comp Sci degree like me..

syntax's come and go, its the logic they should have been teaching you.

The technical schools that teach specifics look good in the short run, but you have the skills to adapt to anything. You didn't get an Information systems degree, you got a comp sci degree. When they were in cisco/ruby/fotm 201 you were in compiler writing 304.

Now stop belly aching, pick up your truth tables and get out there...