Getting Hired As an Entry-Level Programmer? 540
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?"
You should have asked this a year before. (Score:5, Informative)
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
Re:You should have asked this a year before. (Score:5, Informative)
Do not ask your boss up front because s/he may be naive and order you not to try anything else(in which case you look for another job). After you schmooze around a bit while keeping your standard affairs in order, approach your supervisor(preferably with "attaboys" and testimonials from other department heads) and tell him/her you want to move up, then you provide evidence of your qualification. They LOVE to see how much money you can save them. If they're skeptical then offer to negotiate(i.e. work half of your day in QA, half in development or alternately ask for a 1-month "contract" to work for another department for the chance to prove your mettle). If the PHB says no and dosent offer you a raise to stay(heh, you may be so valuable in QA that they wouldnt move you no matter what your skills are) then look for another job.
If you interview for another job then emphasize the reason why you're leaving - you're capable of more, tell 'em why, and you want to move up. Stress that you have the skillsets to be capable of learning what you do not know. Ambition looks good and even though QA isnt the greatest job, it shows that you're stable and humble enough to stick to a shit job as long as it pays the bills.
Best of luck.
Repeat (Score:5, Informative)
Contact your Universities Placement office (Score:5, Informative)
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.
College Recruiting (Score:3, Informative)
Research which companies are recruiting at your and other area colleges. Not that you necessarily have to go to a college career fair (although it's not a terrible idea), but it's a good way to get a feel for which companies will hire with no experience.
A couple companies in my area are very much of the "hire people straight out of college and try to keep them forever" mindset; it's no coincidence that these companies also do a ton of college recruiting. A company like this may not be where you want to spend your entire career, depending on your aspirations, but it's not a bad way to get started.
Three ways (Score:5, Informative)
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.
How I did it (MFA to Tech Support to Programming) (Score:5, Informative)
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.
Look for a job of an SDET (Score:3, Informative)
Sounds eerily familiar (Score:2, Informative)
traditionally (Score:3, Informative)
a) work cheap
b) work someplace crappy that doesn't care
c) build some exp with self-made projects (OSS, make your own game, etc)
d) expand the duties of your current position (depends on how viable this is in a particular job, of course, and how receptive they are to it.)
alternately, you could make your skills attractive by hitting up the keywords they want to hear (php, perl, scripting, java, c, whatever)
Start talking and programming (Score:2, Informative)
If you like the company that you are in start programming your own tools and solutions, let other people use them. There are tons of things you can do in QA along those lines. Also, it is important to start talking to the software engineers. Most companies like to hire internally if you can exhibit some capability.
from a manager (Score:5, Informative)
Apply Anyway and have a portfolio (Score:5, Informative)
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.
Here's what I did. (Score:2, Informative)
I dont understand (Score:3, Informative)
Another question is- what kind of QA? Does your job title contain the words "engineer"? Are you writing programs for hardware that tests an object or code for test programs? You shouldn't have to worry about much if it does, QA is a very common entry level position and getting out of it is usually a matter of simply other positions opening up and less to do with your own skills.
And this isn't a dupe, QA is NOT the same as tech support.
tech support... (Score:2, Informative)
when I got out of college with my CS degree I couldn't find an entry level programming job at all. I had plenty of interviews, a few site visits event, but never any offers, and it was always because I did not have any out of school experience.
I ended up getting offered an assistant manager position at the bagel shop where I worked, I was happy because I made my age and then some, (salary = my_age * $1000) but I soon found that I was not getting as many interviews as I once did.
I ended up quitting my job to go work at an inbound technical support call center for residential dsl... my take home pay was cut by 33%, and life pretty much sucked, but I got the experiece to get me noticed.
After less than 3 months at the god forsaken job I got hired by a local startup to do their technical support. Every now and then they let me do some programming, and after a year I was a full fledged Software Engineer.
So basically what I am saying is in my experience you need to go to as many interviews as you can, even if you don't think you have a shot at the job, and take a crappy job in tech support if needed, it sucks big time, but sometimes that will be the only way to get your foot in the door
Re:Get involved in an Open Source project (Score:4, Informative)
I've been involved in two open source projects over the last 12 months and have received (tentative) employment offers as a result of both of them. A decent contribution to a large project shows that you can do the job, can work well with others, and can be motivated to do things, so even if people don't come looking for you, it still helps a lot, and keeps your experience current.
If you do participate in OSS projects via public mailing lists, remember that most of the related mailing lists are publicly archived and your name will show up in a google search as a result of this, particularly if you state "I have been heavily involved in project xyz" on your resume and they go and google using your name and that project as keywords. So be nice to others online :)
Move up in your QA job by writing automated tests (Score:2, Informative)
From your current position in QA, see if you can get permission to add unit tests and other automated tests to the Developer's code base. Introduce the developers who aren't writing tests to Test Driven Development.
Re:good luck - many programmers outsourced (Score:3, Informative)
If you had programming and graphic design skills, you could go into game development.
I don't personally know any game developers, but do they really not split that up? My understanding is, the programmers program, and the designers design.
That's in line what I've heard. I interviewed at a gaming company, and my math skills weren't up to snuff. It seemed like they wanted me to have a command of calculus/differential equations and linear algebra, and I just don't. They clearly want someone who can do computer graphics, but that is way different than "design".
Re:You should have asked this a year before. (Score:3, Informative)
I agree with the subject.
Your best bet is get working on an Open Source project that interests you. Documentation as well as coding will help as both will get your name into search engines (and google.com is not necessarily the most important one). The skills you learn will make you a better programmer while honing your skills. Writing new code is somewhat important, but the majority of your time will be spent maintaining code and being able to diagnose and fix bugs is by far the best way to ensure job security. It's a dirty job and if you have an insightful manager (and if you are in a profitable company with long-term prospects, one of them will be) it will be appreciated.
<hat="Professional">Guys like me spend a lot of time getting paid good money to clean up after hit & run programmers who come in, hack some crap together and leave.</hat>
<hat="Mr. XEmacs, Open Source guy">Guys like me also wrote more than one letter of recommendation to kids starting out after college who had contributed to XEmacs.</hat>
The bonus is that if your target company is using the software you worked on, your name may already be in their internal web search engine database when you're applying there.
My name appears more often in the internal corporate search engine on a search of my name with hits on the Gnus 5 FAQ, of which I wrote the original version over a decade ago, than for anything else and I've been working there almost 2 years now (on very high visibility projects). Nothing beats that for a reference.
Oh and thanks to Microsoft, bug triage has become more valuable over time because people expect stuff to be broken and you are even more respected when you fix it.
Re:You should have asked this a year before. (Score:4, Informative)
I cannot reiterate this enough. So many times I've had to go in and make a small fix for a usability issue, and ended up having to refactor a couple hundred lines of code. Not ditching on the original coders, but shit happens like that. Having to wind your way through sometimes confusing code hones and expands your skills more than most other things.
The answer isn't to lie (Score:4, Informative)
It is to match buzzwords. For example if they ask for experience with TCP/IP, make sure you have that, not network experience. HR is often, literally, just matching buzzwords. They look at the requirements list and make sure the words are in there.
So it isn't a matter of inflating anything, it is a matter of having the terms they want. Now I realize there are postings out there that are just plain silly/impossible but the majority aren't. The answer isn't to try lying about it, just make sure that someone who has no idea what they are talking about, which is what you have with an HR person hiring for a technical job, can see matches.
Think about it like you were trying to hire, say, a commercial artist. You know nothing about the field (if you do, pick another one for this). You also can't research it. So you are given a list of requirements and a stack of resumes and told to filter out the ones that aren't qualified. How do you go about it? Well you probably start off filtering out the ones that are just crap, poorly written and such. However what about requirements? You don't know anything about the field, so how do you see if they have what you want? Check for terms most likely. The requirements sheet says you want X, if they have X, they go in the good stack. Now maybe it turns out Y is another term for X. However you don't know this. So people that have Y get tossed, because you just don't know they are qualified.
Well, that's how it is with HR people reading tech resumes. They don't know that "network" pretty much implies "TCP/IP" these days. So put the one they ask for, not whatever you'd call it. If they are super specific, then you be specific. IF they are general, you be general. The person doing the initial filtering won't know when something is the same as something else.
Re:You should have asked this a year before. (Score:4, Informative)
Moving up in your own company is a shot, but never forget what you can do in your spare time counts. Getting a master's degree is one "spare time" option, but others are Project Coding (such as Elance.com), getting on a fairly large and active Open Source project, or creating your own applications under your own name and putting them out for prospective employers to see.
If you are really serious about getting into a CS development position, I recommend the Open Source route because it will teach you how to code in a group setting and deal with code reviews, QA, and the whole enterprise process.
Re:Is programming really for you? (Score:3, Informative)
He should have asked himself that 4 (or 5... or 6...) years ago. Now, he needs to either like coding, or suffer through it for a decade to afford a go at a new career.
I agree, though, far too many people seem to go for CS (or related) degrees who really don't like coding. Big mistake, IMO. Now, personally, I truly love programming... I did it before college, I did it to help pay for college, I do it for a living, I do it in my spare time, hell, when I slack off a bit for some mental downtime at work, I sneak in a bit of coding on unrelated personal projects. I admit I might count as a bit more obsessive about it than most, but if you can't at least relate to the idea, run away screaming from anything even resembling a CS degree.
Re:from a manager (Score:1, Informative)
I've often waited 6 months just to get one good resume from a programmer that wasn't asking for a ton of money.
You are obviously a cheap bastard who doesn't value his programmers. I don't care what you think a programmer is worth, salaries are determined like any other cost: supply and demand. If you can't find a programmer for six months, supply is low and you need to give them that "ton of money" they're asking for. If they're not willing to work for less, that's because they are able to find higher paying jobs elsewhere (demand for them is high).
The alternative is for you to be without needed labor for six months (which will slow down production, which will cost you money) until you find someone who doesn't know his true market value, and will leave you as soon he finds that better paying job (after you've invested money training him in your stuff).