Getting Hired As an Entry-Level Programmer?
An anonymous reader writes "I received a state university degree in Computer Science. After graduation, I immediately took jobs in QA to pay the bills while waiting for other opportunities, which of course turned out to be as naive as it sounds. I've been working QA for several years now and my resume does not show the right kind of work experience for programming. On the whole I'm probably no better as a a candidate than a CS graduate fresh out of college. But all of the job postings out in the real world are looking for people with 2-5 years of programming work experience. How do you build up those first 2 years of experience? What kinds of companies hire programmers with no prior experience?"
Internships are the way to go. A nice internship will give you some job experience. If you've been thinking about going back for your Master's degree, do that. And get an internship.
LK
"Hi. This is my friend, Jack Shit, and you don't know him." - Lord Kano
http://ask.slashdot.org/article.pl?sid=08/09/29/1926216
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
Even though you have graduated, most Universities will help you find a job if you graduated from there. The jobs for entry level ( new graduate ) positions are not typically going to be posted on Monster, Hot Jobs, etc. since we look for those people at University Job fairs.
I have been to many of these as a prospective employer, and there are always several Alumni who are there looking.
Lie on your resume...but you better be able to keep the job once you have it.
People who bite the hand that feeds them usually lick the boot that kicks them
Get stuck into an Open Source project, find out how it works, dive deep. If it turns out you can make a contribution that has even reasonably broad acceptance, that will add to your credibility as a programmer. At worst, you'll be keeping up your currency in at least one field.
Do not mock my vision of impractical footwear
Don't undervalue your QA experience either. QA experience means that you know how to test and debug, which is a rather large percentage of development. If you don't meet the requirements exactly, apply anyway, or look for jobs that mix QA and development, but make it clear that you want to move into a development role as soon as you are ready. Good luck!
unzip ; strip ; touch ; grep ; find ; finger ; mount ; fsck ; more ; yes ; fsck ; umount ; sleep
Unless you had a very good program in school, odds are you haven't actually written many real world programs. The stuff in school usually isn't finished programs, just enough to demonstrate the concepts being discussed.
So join an open source project and do some real world programming. Learn how to finish the job, catch those return codes, use a version control system, track down bugs in non-trivial programs, work on getting the documentation to actually match the program, etc. Learn how to work in a real team. Be a big enough contributer that you can rightfully claim to be a major contributer so when a prospective employer follows up by looking at the credits, commit logs and mailing list traffic you aren't seen as inflating the record.
Democrat delenda est
There are 3 ways to get that first job:
1. Know someone in the company
2. Gain experience through personal projects and showcase it.
3. Be extremely charismatic and up to date on the job's focus areas and especially the companies specific mission.
Right out of college, with a degree in Anthropology, my first job was as a system analyst for a health care corporation.
For years I had tinkered with computers, and kept somewhat up to date on modern programming techniques, enterprise systems, and had created several little programs that resided on public servers that I could show off.
The interview was successful because I:
A) Knew exactly what they wanted for that position.
B) Researched the relevant "buzzwords" and lingo beforehand.
C) Was generally easy going and relaxed.
Despite having no formal education in computer science or programming, my obvious research into their business and corporate culture (thank you anthropology!) really showed well during the first encounter.
People with technical skills are a dime a dozen (unless you are striving to get into some very abstract programming job), and usually, a hardworking, motivated person should be able to convince a interviewer that they are up for the challenge.
Basically, apply for the job in front of you, do not apply for "a programming job". If you treat the job as something unique, do a little research on the company and their culture, and can "seem to be one of them", you are in.
The natural step from doing QA is writing the tests for QA: specs, scripting, network, database, there can be a lot involved.
Ask yourself this, do you really want to be a programmer?
Many people think its the "it thing" in IT, and that being a programmer and eventually an architect is the pinnacle of their career.
The truth is most people will not make good programmers, they wont end-up enjoying what they do, and something as mentally straining and intensive as programming requires you to continually have a good/positive mindset to be productive and to churn out top notch solutions.
I suppose this is the same for all types of careers - is it really for you?
That said most people will undoubtedly tell you to do some open source, start some of your own projects.
I have another suggestion, take your QA role, and ask yourself this: what tasks that you're doing now can be further automated, is there an area where something can be solved with a program?
If you can find that area(s), and build the program(s) to solve those problem(s), then you're probably a good fit for programming, if you're the kind of person that needs someone to tell them any one of those things, then perhaps its not for you...
Arash Partow's Philosophy: Be a person who knows what they don't know, and not a person who doesn't know.
I got a non-technical post-graduate degree and now I'm a programmer. Only took a couple of years to get my first programming job. Here's how I did it.
First of all, I did as much programming as I could at my tech support jobs. Not all of it was company sponsored, but if I figured out something I could write that would help *me* do my job I would write it. I wrote all kinds of little things, and then I was able to truthfully add to my resume that I developed software.
I was also going to user group meetings for the language I was using most and meeting people there. I ended up getting my first job (and all subsequent jobs, actually) through people I met at those meetings. At least for the language, city, and time I happened to be in, the meetings were filled with people who knew about more work than they could take. And the recommendations you can get there are worth "2-5 years of experience" on a resume.
I'm currently helping my company's QA guy get some programming tasks so he can make the switch and give his job to some other poor CS grad. Is there anyone on the development team where you are that might help you out?
There's one more option: recruiters. I know they're not great, and the jobs you get through them aren't all perfect, but there are some recruiters who can help you market yourself without the exact "2-5 years of experience" someone's looking for.
One last thing: If you're any good at all you'll be way ahead of most people in this field. If you can get an interview, showing your abilities and desire to learn can be enough.
Good luck.
I hire programmers.
I hire entry-level programmers. For what it's worth, the last couple I've hired have been from India.
I look for a couple of things when I'm hiring entry-level. The first is experience. I'm not talking about professional experience, you won't have any of that yet. But what have you done? Have you done an internship? What have you done in your spare time? What have you done on your own? Can you demonstrate useful skills? Can you debug a program?
The first thing I'm going to throw you into if I do hire you is maintenance. Find a bug, fix a bug.
It's about attitude. Technical competency will be low at your level... but do you know how to find out what you don't know? Do you know how to research a problem? Do you know how to find an answer off the internet? Do you know how long to work on a problem on your own, and when to ask for help? When I show you how a certain thing is done, can you watch me once, and then pick it up?
Most programmers are bad at interviews. Most stink at writing resumes. So it's mostly going to be about other things. If you can make friends in the right circles. If you can get a recommendation from someone I've heard of. If you can show me that you have hunger and drive to get ahead... then I'll hire you in a heartbeat.
I'll keep you on if you don't mess around, but dig deep into the problems you're given. I'll be delighted if you bug me for answers when you need them. I will gladly explain concepts if you'll gladly listen and run with what you've been taught.
I only get so many openings per year. I've turned down folks for the wrong attitude most of all. I've turned down folks with professional experience if they kept a narrow focus and never ventured out of their comfort zones. I've passed on people who believe that programming is something like FrontPage, and that they shouldn't have to work hard, or understand much, to make a cool application.
I guess, mostly, I look for people who would be programming something even if they weren't getting paid.
Is that you?
I've been hiring programmers for a few years now and here is what I can tell you. 1. don't be afraid to send your resume to a job asking for 2 years of experience. Most applicants are absolutely terrible! I've often waited 6 months just to get one good resume from a programmer that wasn't asking for a ton of money. 2. Build something. Build something in your free time and put that on your resume. There are many times I would have hired someone in a heartbeat if they had simply done this and could talk intelligently about their project (for an entry level position). 3. aim for smaller companies if you are having a hard time getting hired. They don't use HR departments that filter resumes based on buzzwords and x years of experience.
They write up things they'd like as opposed to what they actually need, and guess what, they don't get them.
When I first graduated, I saw a job looking for someone with 5 years experience with .NET. At the time, even the educational version of .NET had only been out for about a year and the commercial version had been out for about 3 months.
Since this company was not paying well enough to steal developers away from Microsoft, and wasn't anywhere near Redmond, one must presume that their eventual candidate did not actually have these skills.
Most employers ask for way more than what they're going to get, and in most cases more than they actually need.
This is particularly the case for people in entry level jobs, they want a guru for intern pay, and it's not going to happen.
Try for everything position you think you can do, be willing to take a pay cut if you have to in order to get your foot in the door, and have some good clean code samples to provide if you're asked.
When I was fresh out of Uni I did the same things you did, but I've since learned, that if you don't try you'll never get anywhere, and, especially when you've still got a pay check coming in, the cost of throwing out resumes is pretty much nil, and the rejection isn't so bad.
You should of course, as others have said, also make sure that folks in your own company know you want to move up in the world, and take whatever opportunities you can get your hands on internally. Even if the job isn't exactly where you want to go, moving up will make you look a lot better on a resume than sitting on the bottom for years.
Right after graduating I managed to get into the game industry as a programmer. The trick?
Internships!
If you look on craigslist (I'm in the SF bay area so your mileage my vary) there are tons and tons of postings looking for cheap/free programmers in the form of internships. You gota put in your time there instead of putting in your time in QA.
Since you have been in QA a few years, you should talk to your manager about moving on to a jr level programmer position in your company. If they are willing to work with ya, problem solved. If not, time to move on ASAP.
Why not move from QA to dev in your current company? You (should) already know the product, so moving over internally will be a lot easier than switching to an entirely new place where, not only are you an entry-level developer, but you also don't know the product and the internal processes.
"I am Dr. Freud, but you may call me.siggy."
The question is, what is the most efficient way to produce bug-free code?
Sure, you can take your top-quality programmer, and have him do everything. But that's the least efficient way to do things. Your top-quality programmer can churn out 80% perfect code with 20% of his time. The other 20% is the hard part.
It is FAR more efficient to pay one programmer and two to three QA folks to debug that code than it is to pay one programmer to make his code perfect and one QA guy to debug it.
And that's setting aside entirely that on any significant project, you have 5, 10, 20, 100 programmers, and you need the QA guys just to make sure that it all works together right. Programmer A writing perfect code and Programmer B writing perfect code doesn't mean their code combined works at all.
paintball