Best Way To Land Entry-Level Job?
chemicaldave writes "I'm graduating this May and have been seeking a programming position for months. It seems that the biggest hurdle to landing an interview is getting past the doorman that is HR. After reading this entry from Coding Horror describing the lack of programming candidates who can actually program, I can't help but scratch my head. I can program! (See how I put that link in?) If I can't land an interview, then even a short online evaluation of my coding skills would suffice. I just want a chance to prove myself. Alas, sending resumes to companies has rarely led to anything but an auto-confirmation email of my submission. I understand that sending resumes online is not the best method to landing an interview, but I come from a small rural school so job fairs rarely offer anything more than IT support positions let alone a programming position. It seems to me that developers are always looking for talented young programmers. We're out here looking for you too. Am I missing something?"
And stop expecting a big salary shiny salary to do what is essentially the work of a computer janitor.
As soon as you lower your expectations to reality you'll find 'entry level' jobs are almost as common as now-hiring signs at McDonalds.
Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
apply for the google summer of code project. looks great on the resume.
also, do virtually anything public programming related. write a small open source utility. or a new feature in an existing open source app. or a free app for a cell phone. (100k downloads isn't that hard, and looks good to business folk)
i've been on the hiring side of fresh meat devs several times now. literally anything that shows you can code in a reasonable, organized fashion will put you at the top of the list.
btw, i hope the html link reference was a joke. =P
http://kered.org
Can't stress it enough. Lets assume you do get to an interview. Ooze COMMON SENSE. Let it seep out your pores. You are going to be the guy that doesn't need to ask the stupid questions that should be assumed.
Secondly, show examples of your programming experience. Doesn't have to be used somewhere in industry, just have working, finished examples of your code available either online (if applicable) or somehow available for them to see. Be the candidate that they interview that might not have experience working in a firm, but can still finish projects.
I can't stress just how much those two simple points will help?
Moved to http://soylentnews.org/. You are invited to join us too!
The sad fact is GPA and the school you went to really matter a lot when getting past HR. If you have a sub 3.0-3.2 GPA and/or went to a low ranked school you should try to bypass HR.
I would consider traveling to another University's job fair if you don't have good local ones. Here, you can talk directly to engineers/programmers who can gauge your skills far more precisely than HR can glean from your resume.
Things have changed a lot, you can pretty much expect that most of the time you're just going to get an auto reply. If you do manage to get an interview they may very well think that silence is the same thing as telling somebody they didn't get the job.
Probably the best thing you can do is while searching try and get involved in some open source project. It's probably not going to put food on the table, but it will likely land you access to opportunities that you might not otherwise get. And give you something to put on your CV while maintaining your skills.
But just realize that the manners of people doing the hiring are typically lousy and remember that if you get turned down that you're likely not interested in working for a company that represents itself in such an embarrassing way.
Bad economy+no practical experience+little school no one has heard of=hard to get a job. Particularly if your college can't get together a real job fair. Applying to internet postings works more if you have experience on your resume, its a difficult way to get a first job. Especially since in this economy an experienced but out of work programmer may apply for a position normally below him. It was that way after the .com crash too.
I'd suggest using any people you know already in the industry or in companies that hire programmers. And consider taking an IT position if you can't get anything else- I know a lot of programmers from small schools that started out that way and then switched over. If nothing else it will pay the bills for a while.
I still have more fans than freaks. WTF is wrong with you people?
Right now is a really hard time to try to get your foot in the door. As a manager, I posted for an entry level position and ended up with a ton of candidates with a strong background. I don't believe in the whole "overqualified" paradigm, so I ended up getting the best candidate -- over twelve years of experience pertinent to my business, glowing reviews from previous employers and excellent interpersonal skills.
I got a ton of resumes from college students. Several sounded promising, and I would have loved to give them a chance. But when I have someone with a proven track record who I KNOW will not require only minimal supervision and will bring more to the table... why should I waste my time and money?
Is it fair? Maybe not. When I was in this position almost 15 years ago it sucked. But with 10%+ unemployment it is very hard for the entry level candidate to get his foot in the door.
My solution.... if you are still in school... get a fricking internship. It may not put you at the same level as those I did end up interviewing... but it will help/
See my journal for slashdot ID's by year. Mine created in 2005. http://slashdot.org/journal/289875/slashdot-ids-by-year
I'm in broadcast engineering, which includes some programming, but is not programming-specific. I'll let some of those folks address your concerns directly. But speaking in general and in no particular order:
1. Maybe you should have gone to a different school, even if it meant relocating. An internship would have given you some valuable experience, and if you're really good, would probably have resulted in permanent employment afterward.
2. Look at small companies instead of the big ones. Offer to work for beans and rice until you can demonstrate that you know what you're doing. It'll pay off in the long run.
3. While you look for a job, work on an open-source project. Having a recommendation from a well-known F/OSS guru can't hurt. :)
4. Once you get the chance, I can't emphasize this strongly enough: PROVE TO ME THAT YOU REALLY WANT THE JOB. Think outside the box. Be willing to go the extra mile. Don't sit in your chair playing Solitaire waiting for me to tell you what to do next. Show initiative.
Back when I was a teenager, I got my first job in radio by hanging around the station constantly. I took out the trash. I annoyed the engineer and asked a thousand questions. I was willing to do anything to prove that I wanted the job.
I'm not boasting; that's just common sense. But contrast that with an intern who tried out with me a couple of years ago. Unless I stayed on him, he did indeed sit and play Solitaire. When the HVAC went out in the studios, he got up from his job as a call screener for one of our talk shows and said, "it's just too hot. I'll be back tomorrow" -- which left us scrambling for someone to cover his slot.
He still calls from time to time and is amazed that we won't hire him. No, I'm not kidding.
Cogito, igitur comedam pizza.
...but about who you know. Referrals from friends are the best way to get your foot in the door for entry-level positions, then experience will get you in the door for future jobs.
If you are submitting resumes, and not getting any responses whatsoever, then it's likely there is something wrong with your resume (I had this particular problem when I was entry-level; I kept rewriting my resume until I finally got responses).
If you are only applying to big companies, that could be your problem. There are lots of smaller companies around, and they are usually the ones that have trouble finding good programmers. If you really are good, then keep tweaking your presentation until the people where you are applying can actually see that you are good. If you are not actually good, then your roadblock is that you are not good, and you should fix that.
Qxe4
Have you asked your friends and family. And families friends...and so on.
That's were most of the jobs are. Which is a bit sad.
And remember, don't take just any job. You have a degree and you've spent a lot of money on it. The salary of your new job should reflect this.In Norway for instance starting salary for an uneducated is about 280'000,- kr. The cost of 5 years of study is 333000 in loans. 20 years from now your education will have cost you 1'400'000 (5 years of lost income) + 999'000 in down payments = 2'399'000. So if you are planning on paying that down you need to make close to 400'000,- kr a year.
Say NO to unpaid Internships!
I find that jobs are handed out in this order.
1) Kickback (If I Hire X will I be compensated?)
----
a) |----- Family (Am I related to individual [Small form of kickback, sometimes hiring children of political people falls under this catagorey, nothing cuts through red tape like]
b) |--------- Figurehead ( I've seen where people are hired just to be a figurehead ( Astronauts, Politicians, Former CEO's ect )
2) Circle of Friends (Nothing makes them feel better than hiring someone from their Alma mater, charity, ect.)
----
3) Indentured Servitude (Can I pay this kid to do the job what I spent filling up my yacht for my weekend getaway?)
----
4) The Shiny Turd ( I've got a double MBNA Frum Havard. I am Job. )
----
Lying lips sound the sweetest but when their kissing your ass its even better.
5) Needle In the Haystack ( This is you and me )
-----
Step 1: When carping about not being able to find a job on slashdot, remember to tell people what programming languages you know.
Step 2: Make sure the name attached to your post links to something besides a couple of pages that haven't been updated in 2 years
Step 3: When fixing the above - start writing essays or blog entries on technology stuff that you know, so that when the quasi-decent HR rep googles your name, he'll be impressed with what he finds. In this day and age, that's one of the few ways you can "submit" a sample of your code.
Good advice was already stated about volunteering for OSS. Even if it doesn't help get you in the door somewhere, it'll at least hone your chops, which will help once you do get a job.
General Rule For Getting Hired: Don't forget to include a complete collection of your /. postings. I can't think of a better way to impress a future employer than to show them just how funny and clever you really are.
Getting a professional job isn't as simple as having the knowledge and certifications that make you eligible. Building a social network is equally important, if not more important. Having a professional that's already in the industry being able to vouch for you is a huge plus when it comes to finding jobs. Often, this can completely bypass HR and get you in touch with the management involved where your targeted position is.
HR is kinda stupid. Getting around them is the best way to get in, and doing that requires knowing the right people.
This is how I got my engineering job. I have no degrees, but I have substantial real world experience and knowledge, and was introduced to my job through a friend and former coworker who convinced my current manager to interview me. No HR was involved until hiring.
First, including a link doesn't make you a programmer.
Second, what are you graduating from (high school, technical college, university)? With what kind of degree?
To directly address your question, most entry level positions require two years experience. You need to figure out how to get that experience!
I graduated right before September 11, 2001 and wound up taking an IT support job where they needed some programing done as well. It was a long haul (almost eight years of more and more development), however I just started my first senior developer position. Everyone has to start somewhere!
I will not mourn that which I never had to lose. - Unknown
It appears that you missed some level of social networking during school. I volunteered to work for the sysadmin at the community college I go to...I graduate in may and will go to uni in the fall, in the meantime, he put in a good word for me and it helped me get an internship at a sizeable area hospital that will look *great* on my resume (if they dont hire me when i finish uni)
Why is the parent modded +5 insightful? Let me translate this from 'holier art than thou' to English
Way to be helpful, might as well utter that old adage, "You should have thought about it before."
To understand how to get hired, you have to understand how hiring works. Here's a simple 2-step generalization:
Part 1)
A great number of companies out there rely on their HR staff to do the hiring and applicant-seeking. The project lead or ~maybe~ even manager writes up a job description, and the HR staff formalizes it; breaks down each skill individually, adds 'years of' or 'proficiency level x-out-of-5' etc. This means that either a computer program that scans for buzzwords, or a person with no computer experience is going to be the first one to decide if your resume fits the bill.
They are not going to know that someone with 10 years experience with c++ can probably write pretty good c, or that J2EE is the same thing as Enterprise Java. They won't understand why no applicant has "MVC programming" on their resume. This is your first gauntlet.
Conclusion 1)
You need to conform to their specifications.
Rewrite your resume to tailor it for each position you're applying to. Make sure you include every single keyword listed in the job description, exactly as it's listed. Include easy-to-find "years of experience" for skills. When in doubt (say you're submitting without a job listing) investigate the company, make a best guess, and liberally sprinkle buzzwords.
(... and if you're submitting 100% blind, like on dice or monster, rewrite your resume every week or so to change up the buzzwords. It seems that the company searches are re-run upon resubmittal, generating new 'matching candidate found' indicators)
Step 2)
Now you've made it to a person. Hopefully a technical person, but sometimes it's an HR person with a 20 question programming quiz - really just an extension of the resume step (JMP step 1). They're going to do the technical and social evaluation.
Conclusion 2)
You need to be unique.
Everyone else who's made it to this stage is identical. They all have the same buzzwords, years of experience, etc. Assuming all of them have the actual technical capabilities, there's nothing to differentiate you from anyone else, which means that selection of a candidate is still pretty much random choice. So, you need to find a way to stand out.
One good way available to everyone - in life as well as interviews - is to ask a lot of questions. Get the interviewer talking about their most recent projects, engage their emotions by getting them to talk about customers (no one has a customer-neutral stance). If you can get them talking about themselves, they'll leave with the perception that you were really interested in what they do, and pretty impressed with them in general. It doesn't hurt in most cases to sideline the 'real' interview to talk about their hobbies. Then, the next time they see your name on the page, they remember your face, the discussion, and you're head and shoulders above everyone else.
One person I know had his girlfriend call three times during the interview. He did the check-the-number-frown-send-the-call-to-voicemail thing for the first two times, and then asked for a quick reprieve for the third. Embarassed, he explained it was his girlfriend, and they were meeting her parents for the first time tonight, etc, etc, don't forget this, can you pick up that. That sort of thing totally humanizes a person, turns them from a name on a paper to something more.
Of course, if you have some interesting resume fodder, like the google participation listed in a previous comment, that's good to bring up too. Still, people like to talk about themselves or their code, so usually asking THEM the questions instead of just responding or talking about yourself seems to be a better shot.
You can't beat being really good at what you do for getting jobs. It's almost magic!
Also, it helps if you're not a dick and you don't smell bad. People don't like hiring or working with dicks or people who reek.
You are welcome on my lawn.
If your experience with programming is having a CS degree, you aren't a developer. You are, well, a computer scientist. The same thing you say? Not hardly. While both deal with programming, it is from different aspects. Computer Science is a theoretical field. It is based around the research of computers and algorithms, around the theory of how to program, how to make them better. Fine, but that isn't what most companies are hiring. They are hiring developers, which is the practical side. They are hiring people who will be told to solve real world problem X and do it quickly. They want people with practical knowledge of how to develop apps on today's systems, not theoretical knowledge of computers over all.
So if all you experience is in computer science, that's a disadvantage. Don't get me wrong, having a strong theory background can help, but it isn't what companies are after. If you feel a bit cheated by your university, well, ya, kinda happens that way.
The problem derives from the history of universities. They have historically been high level, theoretical institutions. Time was, that was really the only reason you went there. When Harvard first started, then called Oxford after the English school, you had to know Latin and Greek just to get admitted. It wasn't a place where you got practical training for a job, it was just the polish to an already fine education that included many purely academic pursuits. Few people got those sorts of degrees.
Ok well our current universities get their heritage from that system. So while we now have more complex jobs that want more training than high school gives, students still by and large go to theoretical institutions. The universities are trying to present more practical training, but aren't doing a great job over all.
Now please note, I say this as someone who works at a university. It is just something you need to be realistic about. Your degree can be helpful, but you need to get practical experience outside of it. The only time you tend to see an "All degree," field is if you are seeking to become a PhD and teach/research at a university. Anything else, you need to get practical experience as well as the degree.
Look for low end testing jobs. Show enthusiasm even for minor things. State that yes, you are happy to work 80 hours a week for the privilege of having a crappy job in the industry of your choice. The point is to get experience so that later you can get the job in a company you actually like.
That posting was two years ago, and he says he's a student. The fact that a student was making elementary errors in C++ two years ago hardly means that's incompetent for an entry-level position now.
If the private sector wont hire, maybe the government will?
General Rule For Getting Hired: Don't forget to include a complete collection of your /. postings. I can't think of a better way to impress a future employer than to show them just how funny and clever you really are.
Does this include postings with timestamps between 9-5 during your previous periods of employ?
You're thinking small. Why miniaturize the laser, when we could instead enlarge the sharks? -John Searle
Being a fresh graduate isn't as hard as people make it sound - if you've coded before, and you're good at it, you've got a way to sell yourself.
Correct. I don't know if lalena came out of the womb writing immaculate C++ code or something, but obviously (s)he does not understand the concept of "Education". Everyone has to start somewhere, and that somewhere is usually really basic stuff that years later you cannot believe you ever had a problem with.
If I was hiring for an entry level position and I saw that, I'd think "Hey, this guy knows how to go get answers when he doesn't know what to do." Yeah, sounds lame, but it is unbelievable how many IT guys/programmers that I have run into who don't seem to understand how to use the web (Search, Forums, etc.) to find answers. If they don't know an answer they ask a coworker. If the coworker doesn't know the answer the call a consultant or try some shitty workaround. After seeing this waaaay too often I consider knowing how to use resources to be a pretty decent "Soft Skill".
I hope you don't pay to much attention to this guy. The world is not nearly as dark as he's proclaiming.
I'm going to tell you a fact that you may or not find comforting.
9 out of 10 programmers who are applying for jobs suck. I'm probably being too generous here, but whatever. I've interviewed people at Microsoft, and I've interviewed people at small start ups. Doesn't matter, most interviewee's are just terrible. I don't blame this guy for being jaded. If you had to interview crappy programmer after crappy programmer, you would be too.
BUT if you're the 1 out of 10 who's actually good, than you have a very bright future ahead of you. Companies are always hiring, and if you're truely talented, they'll often hire you even if they weren't planning on it. No good company lets a great programmer get away when they find one.
Entry level jobs have a lot of advantages, in that you're still new, and have no idea what you're actually worth. People are inheritantly loyal to the first company they work for, so they tend to stick around for a lot longer. Plus you get to train them to your style of programming.
Now in terms of actually getting those jobs...
Luckily for you, HR is ridiculously easy to get around. They don't know technology, and you can use that to your advantage. School, GPA, hobbies, cover letter, prior non programming work experience, awards... none of that matters. The only thing they care about is the programming buzzwords you have in there.
Right now, the big one is FLEX, or AS3. Learn that. Put it on your resume. There's a big shortage there, because most people who learn Flash are graphic designers with a minimal programming skill set. If you're a programmer with a minimal graphic design skill set, they'll love you.
Find out what else is "hot" but becareful not to confuse programmer trendy, with what's actually in demand. (Nobody in HR cares about Ruby on Rails).
Just pretend HR is nothing but a search engine that scans your resumes for keywords, and you'll be fine.
Now as far as experience goes. Work on an open source project. There's really no excuse not to. Just think about all the programs you use that are open source, find something that you'd like to change, and than go about learning how to change it. Don't "apply" and ask "what can I do to help". Just jump in and have at it. It's way easier to work on a project when you're doing something you want done anyway.
Good luck!
The best tip I can give you is to make personal contact. Every time you send a resume in somewhere, follow it up with a phone call, and ask whether the relevant person has received your resume. Then, since you already have them on the phone, give them a thirty second spiel about why you would be good for the job. If you have no experience in the area, cite a high level of interest and enthusiasm.
It still boggles the mind how we receive null and void experience resume's from guys that seem more jaded than people with 10 years in the field. If you don't show a positive as to why a company should hire you, guess where your resume will be filed? Right in the circular filing cabinet.
Science advances one funeral at a time- Max Planck
Way to be helpful, might as well utter that old adage, "You should have thought about it before."
That doesn't alter the fact that however the point was presented, or however unintentionally up-his-own-arse the person making the point may have seemed to take the more negative stance, it is a very valid point. Networking can help a lot in may cases.
Maybe it is the Sunday evening pub meal and drinks talking (as I'm not usually one to give the benefit of the doubt!) but I didn't read the post you replied to as "this is what I did but you are too late nyar nyar n nyar nyar", but more as "this is what I did and this is how it helped my plans". The OP could still try the technique - there may be opportunities locally for some sort of technical volunteer work that could be used as the same sort of "CV fodder" spring-board and/or to gain a good reference for future applications for paid work. While the relatively easy-to-access college volunteer work option has gone for the OP there are likely to be opportunities to look for at this later stage. There may well be departments/organisations related to the University or its student bodies or local charities that could use some technical help but can ill afford a trained/accredited resource. If you can get in contact with someone like that at an appropriate time it can be a win/win situation: they get the temporary technical help they need but can't actually afford and the OP gets some CV fodder and/or a useful reference, or at least some experience that could be talked about at interview. Having some real world "dealing with users" / "dealing with customers" / "dealing with management" / "real-world problem solving" experience to talk about critically in an interview can make a massive difference to your chances once you get as far as the interview - it can indicate to the interviewer that not only do you know some facts/techniques but you are also capable of applying them outside academic situations and are capable of dealing with the real people in the real world at the same time. (by "talk about critically" I don't mean just "having a go" about the things that were/went wrong, I mean "what went well and why, what could have been done better, how would you approach the same task again if you had the power of hindsight, how were other people/resources helpful or not" and so on - constructive critique of your progress and experience)
Ever if you don't even manage any of that the exposure, through volunteering, to work outside an academic environment might teach you some useful stuff - even if only "I don't actually like X" or "I more enjoy Y and I'm more proficient in it than Z" or "hmmm, I didn't realise I would need A so much, maybe evidence of reading around / practising / otherwise persuing that area will help me jump from the CV stage to the interview stage more easily".
If you have time and can find volunteer work it will rarely be a disadvantage to you - especially if you are otherwise completely unemployed because it isn't like there would be a lot else practical to fill your time with. This in itself helps a CV/application look more attractive - which would you rather interview from the choice of people who graduated six months ago: those who have sat on their hands for six months doing nothing more than scanning jobs adverts and similar, or the people who have done, or tried to do, something practical with some of the time they had available?
To cut a long story short: as pointed out by the responder above both networking and volunteering can help and the two techniques can be mutually supportive of each other. And if you are not lucky enough to find any good opportunities, what have you lost by trying?
For anyone starting out, coming from a veteran of job searching.
1) Experience. I have said this before, if you have to do some volunteer work for a non-controversial non-profit. E.g. doing websites and donor databases for your local no kill animal shelter. There are plenty of volunteer orgs. that need help. Find one that overlaps your interests and seems a high quality organization. You can get both experience and good references from this.
In addition, if you show up to help with fundraisers you will probably get to meet local business owners. One of which could give you an internship or entry level job to see how you work out. This is also the networking aspect.
2) More references and networking. Get a reference from instructors you "click" with. They may even have leads on potential employers, sometimes former students or colleagues of their. It helps if you have an interest and good grades, but if you show a keen interest that helps to offset any academic struggles.
3) Networking with peers. Form study groups, interests groups, or join one. People who graduated before you could give you leads or advice. Depending on the situation, you may end up doing business with a classmate or two for the rest of your life.
4) See if you can get a student position at your school's IT dept. or help desk. More opportunities for references and networking.
5) Put up adds on Craigs List etc. and do a little consulting on the side while in school. It beats washing dishes. Just make sure you know how the taxes work. More opportun ity for networking. Nothing speaks volume like satisfied customers.
In this economy if all you have done take classes, you are hosed. You lack both experience and social contacts, and will be starting from zero when you graduate which is when you need to money the most.
putting the 'B' in LGBTQ+
As someone who's hired a lot of developers, I can tell you now that going down the Testing path is a terrible idea.
As all good Software Engineers go, Developers Make Bad Testers(tm), and the same goes for the reciprocal. Testing and developing require two completely different mindsets. When we advertise developer positions, we get swarms of testers applying. Unless they've got something else to show for it, their application goes straight in the bin.
The best advice I can give you: contribute to an open source project.
This tells us three things: You actually can cut code, you're motivated enough to see something through, and money isn't your primary motivator.
Applying for jobs sucks and in many ways is a numbers game.
Making up some numbers, for any given job there will be 20 people who apply and think they have a chance. Three of those will be interviewed and one hired. So you have a 15% chance of getting an interview and a 5% chance of getting the job.
You can increase the odds of getting a perfect job by using two different tactics. If you see a job where you think "I could do that", do the selection criteria, fire in your CV and check it off the list. If you see a job where you think "I really want to do that" go the extra mile, call them, talk to anyone you know in a related field, do the selection criteria, rewrite your CV, call them again, rewrite the selection criteria etc. Going the extra mile will take a few days but it really helps for those truely awesome jobs, it's too much work to do every time though and you need those applications working through the system.
Looking for work should be considered a full time job. You would normally work over seven hours a day, try to use at least five hours a day to apply for jobs. Some time also needs to be devoted to remaining positive to try and fend of depression
"As a manager, I posted for an entry level position "
"I ended up getting the best candidate -- over twelve years of experience pertinent to my business, glowing reviews from previous employers and excellent interpersonal skills."
"Is it fair? Maybe not."
There, right there, is why I don't teach. I cannot, in good conscience, tell some poor kid to work hard, stay in school, study like a madman, fight for good grades, and work 80 hours a week to put himself through school like I did, knowing that there won't be a job for him.
We all know this economy HAS NO entry-level jobs. The same people who so cavalierly smirk "life ain't fair" will be the same people whining and gibbering the loudest when the young we've screwed over pass the "Mandatory Euthanasia/Nutrition Enhancement Act of 2025."
As the next generation straps me and the whiners into the gurneys so we can watch the pretty movie while the drugs start dripping down our IVs, I look forward to finding the fattest, loudest schmucks bawling the like Glenn Beck and telling them, "It's OK. Life ain't fair," before it all goes black.
He put his boots up on the table and made a face. "The sig," he smirked. "You can waste your life in search of the sig."
couldn't figure out why a string named string was a problem
You know something? I ran that code through g++, and after adding an #include for cstdlib (to get "system()") it compiled just fine. Having a string named string is actually perfectly valid c++, compilers that can't handle it are just broken.
Move to a city with a lot of IT. Take ANY job, even if it's Geek Squad. Start networking like crazy, join a LUG, attend conferences and talks, put yourself out there. The vast majority of all jobs are not given to a resume on a stack. Meet people.
In Capitalist America, bank robs you!
Rude? No. It's the simple (if perhaps unpleasant) truth. The single most important thing that can happen during your course of study is your internships. When you graduate with your shiny new CompSci degree, you should already have experience. Your competition will.
I didn't do the all important social networking part while in college, and that set my career back by at least 3 years. You see, no one explained to me that the internships were the important thing. I was busy trying to learn what the professors were trying to teach (all of which is nearly irrelevent to getting a job), instead of getting work experience, and building a network of friends who would recommend me.
To answer the question from TFS: just about the only way to get your first job out of college is with the recommendation of someone already working for the hiring manager. Otherwise, you'll be playing HR roulette indefinitely.
Socialism: a lie told by totalitarians and believed by fools.
well then you need to work on how you come across calling someone out for not having social skills by writing a fairly agressive post is not maybe the best way to help the OP.
The purpose of the HR department is to come up with bizarre and absurd reasons why mid-level supervisors can't get the human resources that they need to keep their division profitable.
All the other functions of a 'human resources' department could be done by computer or out-sourced to some distant third-world country. So the alleged humans in the HR department need to constantly come up with reasons to justify their salaries. So they specialize in coming up with weird and irrelevant reasons to prevent YOU from being hired.
My last job interview had a 22-year old ask me to explain a job termination that happened to me before she (always a she) was even born! How do you answer something like that?
Enthusiasm is crucial however, I would say you will work an 80 hour week. Just let them know that in crunch time you will rise to the occasion but you should never be putting in way more than is expected unless you are directly paid for those hours. Have a life and enjoy the lack of responsibility when you land the job. It'll pile up soon enough as you prove yourself. As for advice to get the job, my experience was that you have to be open to move. My experience was basically searching local job ads in the areas I was interested in and found those which I had to contact directly. Take initiative to know about the company you are looking for and then be confident in your ability once you hit the meeting. You are in the situation of not being too tied down so don't make hard core concessions such as 80 hours weeks right off the bat, look for the good deal and find something you love to do. Oh and make sure your resume is is triple checked for spelling and grammatical mistakes, something I will not do on this post
Thank you for posting links to your code along with your response, it makes it abundantly clear that you have no real programming experience aside from simple, non-OO PHP. Yes, you can program, but you are by no means a software developer. The comparison that you are drawing is like a shade-tree mechanic considering himself automotive engineer.
A developer creates non-trivial software; the code is modular, documented, and extensively tested. It often makes use of various APIs, and integrates with other systems like DBMSs. The software may be responsible for human lives or millions of dollars. Furthermore it may be a very, very large codebase with dozens of developers, making collaboration essential.
You are correct in that programming is useful in virtually any scientific/engineering job; but realize that college doesn't teach you shit about programming, that your programming experience would better be called scripting experience, and that the majority of these "I need a job" posts are people who are in the lowest 5% of software development food-chain.
BAD IDEA.
From my experience working for a large company, people who start off in test have a very hard time getting out of it.
This is addressed to people at least a year away from looking for a job:
Use /. and other technical and even non-technical internet presences as if they were your portfolio.
Think carefully about everything you post, everywhere. What you did 2 years ago may not hurt you but technical mistakes or off-putting comments made in the last few months may hurt you.
Have a "main" web site that's about yourself that includes links to the sites you want your employer to look at along with your handles on each site. Use the same handle if you can, and make is a reasonably professional one. Include links to work you've done that is relevant to the jobs you are seeking.
Then, when you meet recruiters at job fairs include a sample of your portfolio along with the URL or URL-shortener-shrunk URL on your resume. If you've had a few insightful /. posts that are relevant to the work you are looking for or better yet to the particular job the person is hiring for and others have made positive comments about them, include one of them along with your resume and cover letter. If you've ever had a Wikipedia article promoted to Featured status or spearheaded getting one promoted, consider mentioning this, just be aware that it will give your employer a reason to look at your entire Wikipedia history, so this could work in your favor or against you. What other people have said about open-source projects is good, but this also carries over to writing how-tos, explaining things to other programmers or to users, and generally anything that lets you shine as a person and as someone with relevant skills.
Now, having said all of that, don't overdo it. For a college grad, your cover letter should be one page, your resume should be 1 page, maybe two if there is something extraordinary on it, and your initial "portfolio" for programming jobs should be no more than a page or two unless there is something super about it, such as letters of recommendation from industry or other super-heavyweights or a project that won national industry recognition. Recommendations from The President of the United States or the CEO or CIO of a Fortune-50 company won't count against you no matter how many pages they take up. Everything else should go on your web site, not as part of the initial portfolio. For 99% of college grads, the recruiter probably won't spend more than 60 seconds looking at it, if you are lucky, and that's once he's made the decision to even look at it. In today's economy, most won't even get that far even if you hand them to the recruiter in person at a job fair.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
I have to second this statement. I'm also a student graduating in May. I have had four job offers. No matter what anyone says about a recession there are always opportunities in any economy. Three of my four offers came from social networking, the first two came from simply chatting up some guys I met at a conference, while the third came from a friend of one of my professors. The fourth offer is a government agency. If your having trouble finding people to meet, I would say try getting to any sort of industry conference you can. It can be pretty pricey but there are often student rates, and you almost always meet developers at conferences, not the HR staffers. Just talk to people, ask them about what they do, and see where it goes from there. It worked for me. Three times.
#include <iostream>
::Fnord(9);
class Fnord {
int x;
public:
Fnord(int x) : x(x) { }
int operator ()() const { return x; }
operator int() const { return 2*x; }
};
int x() {
Fnord Fnord(3);
return Fnord() *
}
bool Fnord(double x) {
return x > 5;
}
int main(int argc, char **argv) {
std::cout<<x()<<" "<<Fnord(4)<<"\n";
class Fnord Fnord(7);
std::cout<<Fnord<<" "<<Fnord()<<"\n";
return 0;
}
Here's my story, for what it's worth...
I graduated from U of Illinois in Spring of '90 with a CS degree. Unfortunately, I kept my head down in school, so all I had was classwork, and I spent summers working in my dad's business. Both of those added up to zero experience.
I finally got an interview in October based on a newspaper ad, and borrowed my grandma's car to go to it (I wasn't sure mine would make it the 90 miles, and hers had air conditioning - I wanted to look decent.) The interview went OK, and I ended it telling the hiring manager something like this:
"So look, I need a job. Pay me enough to live on and I'll be happy. We can talk about what you're paying me in 6 months after you decide I'm good."
Fortunately, they hired me. 9 months later they gave me a raise from $22,000 to $29,000 a year. Biggest raise, as a percent, I've ever had.
You aren't missing anything. The problem is HR. The people actually hiring don't evaluate resumes at companies of any size. They send a position summary to HR, who handle that. When you submit a resume, it goes to HR. HR then scans your resume for the keywords from the position summary. If your resume doesn't contain exactly the right keywords (which you don't know), then HR bins your resume and the people who know what to look for never even see it. Meanwhile the scam artists (whether the candidate themselves or the recruiter submitting their resume) know exactly how to put the right keywords in, so what does go through to the hiring manager is the people who aren't qualified. Which leaves both hiring managers and candidates griping.
Yes, I've been through this from the hiring side. After one particularly fruitless batch I got permission from my manager to go twist HR's arms until they coughed up the rejected resumes. And lo and behold, we found 5 interviewable candidates from the batch HR said weren't qualified. My manager was, needless to say, Not Amused, and made his lack of amusement felt.
And then realize that the majority of the code that runs important systems was written by engineers, analysts, scientists and various technicians. It's the depth of knowledge in a particular problem domain that makes the programmer valuable. Expert programmers have their place, but that place is usually just cleaning up after the people who write design the software that solves the problem in the first place. In a sense, this also suggests a solution for the OP. Pick an industry and get familiar with it. You won't be very useful to a potential employer if you can't even comprehend the problem they're trying to solve. If you have time before graduation, look into getting a minor. Something like a GIS, physic, or chemistry minor can pay real dividends.
"I think employers trawling old web forums to dig up any dirt they can find is just peachy keen, and anyone who doesn't go along with the status quo by constant paranoid identity-hopping is an idiot!"
I'm not an employer, but personally I'd rather work with someone who will own up to their past mistakes rather than hide from them, especially if I'm in a situation where the cost of hiring is high.
"Oops. I added a huge bug to the last release, and it's going to need an emergency patch. I'll just quit, claim it's a family problem, and hope nobody notices before I get a new job."
An identity carries reputation. Sometimes, even a slightly-tarnished history is better than none at all. The employers are already taking a risk by hiring someone in the first place. Having less guesswork about the employee's history is a good thing.
You do not have a moral or legal right to do absolutely anything you want.
He's graduating now, so that means at the end of his second year he couldn't figure out why a string named string was a problem, ...
If you reject based on this, you will have carefully selected, at great expense to your company, a workforce consisting entirely of people who hide all their sophomore homework assignments.
A recruiting manager who inflicted this on me would not get a favorable performance review. In fact, I would consider it career limiting. You might as well measure how well they glued macaroni to construction paper at age 8.
I agree with others who state that they only hire the best people they can find.
In which case you will select people based on reliable, major positive measures of skills (loops, pointers, recursion), and ignore unreliable, minor negative measures of problems.
The challenge is to find the 0.5% of applicants who can solve the FizzBuzz problem at all. That means 200 applicants to consider per position on average (and a pool of 600 resumes if you need a guaranteed high-quality hire). If you weed out the half of applicants that don't have a squeaky clean Google image, you'll have weeded out about half of the most skilled, which means an extra 200 applicants (1200 resumes total for guaranteed hire). Either you pay horrifically inflated costs, or you are forced to compromise on quality -- probably by self-delusion.
You already know people connected to the industry -- talk to them! Ask your profs if they know anybody in the industry. Ask your jobful friends to pass your resume along. Is there a famous prof at your uni? Did you take a class with them? Bring your chutzpah to their office and ask for a rec.
A referral from a trusted third party is thousands of times more likely to get your foot in the door than your resume, no matter how bloody sparkly the thing is.
Case in point, I graduated summa cum laude from an Ivy school, and no one really gave much of a shit. Until I knocked on my algo prof's door once during his office hours, asked him whether he knew someone in industry looking for a smart hard-working youngster. He gave me the name of his contact (the CEO of a tiny co). (I didn't even do that well in the Prof's class, slightly below median IIRC.)
Next thing I know the CEO's shaking my hand congratulating me on my new 50%-pay job. He's telling me "boy have you ever got a lot to learn, but Prof so-n-so says you're smart and you do seem to come off that way". Worked my arse off til it turned into a real job. And now there are *2* people out there who think I'm smart, so, you know, twice the network :)
If you don't have a network, make one. Think about doing an unpaid internship at a company that has a future. (Look into funding options from your uni for this kind of stuff.) Be careful with this one -- the network you create here must be valuable to justify the work and the resume gap.
I had the privilege once to speak with the former-CFO of Coke, and asked her (rather lamely) how one winds up being the CFO of Coke. She said, "If you really want a big-time job you gotta be aggressive and you gotta be charming."
Note that "qualified" is not a part of that sentence.
I can program!
Broken thinking. Getting hired isn't about being good at the job. It's about being good at getting hired, which is a largely orthogonal skill set.
Need new skill set = need to practice. Interviews are like first dates: they pretty much all suck, but get less nerve-wrecking with practice.
I should mention that once you have job 1, the network it creates (or doesn't create) will bear heavily on how your search for job 2 goes. So take good care of your network at job 1. I've seen a ton of smart people with amazing resumes, who are actually quite good programmers, who can't find jobs because they are huge pains in the ass. The days of the cranky-bitch-genius-programmer are limited (if not completely over), because there are plenty of pleasant-genius-programmers out there who need jobs too.
Approach your job like a pro: learn the politics and the people, be friendly, be polite but not stodgy. Choose very carefully which personal details to share with which people. Never express a negative emotion unless you've thought about it extremely thoroughly. Never write an email to/from a work account that you wouldn't want the CEO to read. Get people to like you: morally it shouldn't matter, but practically it makes a gigantic difference to how your career will go.
Finally and of course most importantly, work your ass off and get results. Nothing will make boss-man like you more than if you are generating two times the output as everyone else, with a smile and a joke handy at lunch time. It makes him look fabulous to his boss, and ten years from now when he's working at google (or whatever the "google" of 2020 will be, probably "google"), guess where you can ship an email and probably get a job.