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'
Pick a technology you find interesting and build an application in it.
I got my first programming job by showing off a simple web based contact manager I built for myself.
-Jim Bastard
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.
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.
You would be surprised. Microsoft loves to hire fresh programmers, that way they can be indoctrinated into the MS way of doing things. Many small companies will hire entry level because they can't afford $100K experienced people. They will look for entry level, lost cost people who have the basic skill set and are motivated to learn and grow. It may cost some time when training you up to speed, but many companies are willing to make that sacrifice, esp on non-critical path projects.
Good luck.
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
I did the same, only caught in QA for 6 months though.... I can tell u this, some companies(mine) hire Jr. programmers when they cant get anyone else, for one reason or another. I found out the reason for my company soon, startup short on funding regularly misses payroll. Currently Im 3 paychecks behind...ughh But at least Im not "Unemployed" during this messy market, and Im getting bonfide Programmer experience on my resume for when I chose to bolt!
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
Programming is an easily-outsourced IT job. Perhaps you should find a way to specialize, so that you can combine programming skills with other necessary skills such as DBA work or IT administration. Programming alone is a great gig, but not so easy to come by. If you had programming and graphic design skills, you could go into game development.
Another way might be to develop apps for the iPhone. You can make a lot of money over time if Apple picks your app; if they don't, you may be able to port it to Android or Blackberry.
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
If you cant find decent internships or jobs, become a key player in some well-known open source projects so you can throw them on your resume. I've been pretty impressed with some entry level guys who played key roles in open source jobs it shows intiative and and passion.
Trying to install linux on my microwave, but keep getting a kernel panic...
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.
does an article like this come up? once every 2 months?
The natural step from doing QA is writing the tests for QA: specs, scripting, network, database, there can be a lot involved.
The answer, regardless of career path is always volunteer work, in the case of programming that may be an Open source project. There are also non-profits looking for help, simple scripts and small programs to automate their work flow count as experience. You may get culled by a mindless sorter/agency for not having two years programming, but to most managers hiring juniors any related experience is good, if it shows your work ethic and general abilities.
We have a shortage of IT graduates here. :)
This might seem a little out of the ordinary, but you might consider starting your own business and write your own applications for a couple of years. Not really to make any money per-se, but just to gain work experience in your off-hours. After a couple years, Not only will you have the experience required, but you should also have a nice portfolio of applications to show off and a CEO title to add to your resume;) Who knows, maybe after a couple of years, you'd have enough of a revenue stream established in your own business that there would be no need to find a job.
Have to agree. Though I had grad school "experience", getting an internship was the real way in! I did a 6 month internship with IBM and as they say showed my worth. Not only did the internship itself pay well, I am quite happy with the FT job. Once I was here though I made it clear that I did not want to do testing, that developing was my thing. Lucky there were options for me but sometimes you are stuck doing whatever it is they need. "Needs of the Business".
Years ago I had taken an "junior programmer" job. Came with a "junior salary" too. I was better off quitting and going to grad school (which I promptly did) making similar money as a grad assistant.
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 started as a chief photocopier, then moved on to find a niche in Java based BI which was fun for a while, then made the natural progression into Java based programming. The firm I worked for wasn't a tech firm which may have worked in my favour, but they were sure happy with the work I did as my reference said, and helped my progress onto somewhere else more up my street. In the mean time as I'm sure is mentioned above the BI package is open source, so I spend plenty of time honing my skills giving time back to the project.
So the answer is pretty simple. Apply for the jobs that match your skillset even if you lack the experience. What you will see, if you're lucky, is a company looking to hire someone they can offer a relatively low payrate compared to what they posted but will do nearly as good of a job minus the expected failings of a newbie.
Essentially they get a good deal and you get some experience.
Secondly, make friends who have jobs at programming companies, and make those friends impressed with your skills. Networking is the #1 best way to get a good long lasting job.
I'm speaking from my own experience here. To top it all off, I have no schooling at all. I taught myself. I proved myself to future employers by proving myself to my friends who had friends, etc. I'm promoted every year due to my merits now and couldn't be happier with the way this all worked out.
Good luck to you.
I read the script, and I think it would help my character's motivation if he was on fire. -Bender
Small companies pay programmers with no experience, likely substantially less; however it gives you the opportunity to get your foot in the door. Additionally small companies often develop a breadth of experience because you are required to take on many roles. For a developer this might mean developing across multiple software layers and getting involved in many aspects instead of being slotted into one focused area. Small companies don't have the stability. Be ready to give a lot. Years later you can take a lot back after experience is built up. This is only one option but is viable.
Start writing for an Open Source project in your off time and get some credit. As an employer, it would show that you can work well with others and that you are self-sufficient and have initiative. I would then show the code that I have worked on in the project as well as any feedback from the other contributors or users.
"No, but understanding is not required, only obedience."
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.
Search places like craigslist "gigs" for short term projects!
People post "simple" short-term projects all the time, where as an entry level candidate, you can stand out by offering a competitive rate (think 40$ / hourish...rate too low = people won't take you seriously). Be a good communicator on how you'd solve their problem, and you'll likely land a few of those gigs.
Remember to search in big markets like NYC or the Bay Area, and tailor your resume to highlight the skills you have that apply to the job!
After three or four projects like this, you'll have company names you've "consulted" for on the resume, and bigger outfits will start taking you more seriously.
I truly believe that companies like self-starters on the whole, Showing "deliverables" and industry knowledge for ANY client is far more important that an uninterrupted full time job crawl.
"In the end, we all fall back on fiction." -- Lonely Planet
your summary speaks of an expectation that the rules of employment are hard set in terms years of that, experience with this, etc. not that a lot if not most employment opportunities do work in the way you understand. however, you'll find that there is a lot of wiggle room out there. some relaxation of requirements comes from a wildly unprepared employer, belying an unpleasant work experience. other times requirements are relaxed and gambles are made simply because you are in boom times, or its really hard for some reason to find prospective candidates, due to all sorts of factors
its not formulaic. you can spend 10 years ratcheting up the job ladder to get to a pay scale and job experience that you could have gotten if you had just gone to a few more interviews 10 years earlier. nothing is guaranteed, everything is chaotic. you'll find (and probably have already found) that your coworkers differ dramatically in skillset and effectiveness. its always like this, and there is a certain level of salesmanship and misrepresentation and misperception going on in every job interview
you'll also find some people will join a company, then leave after a week, if things are not to their liking. so don't feel skittish about taking a risk on a promising job, and then leaving if its not what you though it would be. and go to a lot of interviews, simply to see what is out there, and to build your interview skills, and don't be afraid to fall in love with something and put a lot of effort into it to see your chances uptliamtely dashed. the reward for your short term pain is long term gain
intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
QA ... QA-Lead -> Team-Lead -> Manager -> ???
Most programming jobs tend to go to management jobs anyway. Well, not entirely, if you're a "real programmer" in a niche they might pay you very very well and keep you doing "real programming" - if that's what you seek I suggest you to definitely quit your current job and look somewhere else, even if it means starting at a bitter salary.
But your experience should matter anyway, if you have your degree plus 2+ years of QA I'd say go for those job offers that require some years of programming experience ... if you're confident in the skills you've earned so far don't mind bidding higher, and if you've done some programming tasks don't hesitate to put them on your CV as well!
At my job I know that a lot of QA guys in some teams have created amazing tools and scripts that help the whole department. If you can express that in your CV or in an interview you're as good as any new programmer that has done data entry for two years.
Most workers rarely get credit for doing what they're really good at. Most developers hardly ever get a chance to show what they're _really_ good at. But it's really a matter of working with people who will give you a chance sometimes. For every pointy-haired boss who is afraid you might be smarter than s/he is, somewhere else in your company or one down the street you will find somebody who has a problem that needs to be solved. And when managers have a real problem that needs to be solved, and they can't dig a hole and hide from it, they can be amazingly open-minded.
The easiest way to break into the software development industry is to simply be an intern for a small to medium sized company and do a good job while getting along with people. If you make yourself an integral part of their development team, they would be foolish to let you go.
You could use the QA experience to your advantage. Since you have a QA mindset you will make a great SDET (Software Dev Engineer in Test). An SDET writes code to test the code written by Devs. This involves writing service level automation frameworks. Test tools to make automation tasks easier and also UI level automation. Such a job allows you to keep your QA skills and at the same time showcase your coding talent. If you show enough panache for being a coder, you can make a move as an SDE which is a much easier transition than going from QA to SDE. Plus SDETs are paid nearly at par with SDEs. Companies that you should be looking at: Amazon Microsoft Research in Motion Real Networks Google. Another way is to join consulting firms like Volt which allows you to work as a contractor in Microsoft. If you do well and get recognized, you can apply in MS and get selected. Hope this helps :)
Because I was in the exact same situation, when I received my BS in 2001. In fact, I even ended up getting a Master's Degree, while I continued working in tech support to make some cash. In a lot of ways, I enjoyed my older job a lot more. As someone who wanted to be a professional programmer (and was a hobbyist programmer for years), I was severely disappointed in my job. When you do something you don't enjoy, programming can be the dullest career possible. As someone who enjoys coding for the PSP in my spare time, I find my job (writing ASP.net apps) mind-numbing and just plain obnoxious at times (hell, I don't even run Windows at home). I urge anyone who has similar issues to think carefully about their career choice. Unless you land a job that you know for fact you will enjoy, consider existing opportunities. As a tech support person, I usually had time to do hobby development. These days I'll be lucky to check my RSS feeds in the morning.
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?
Yes, I was seeing a lot of the combination of companies not wanting to hire unless someone already had several years experience, and those same companies then wondering why they couldn't find someone with a few years experience (when no one were hiring with no experience.) Some seemed to use this as an excuse for H1B hiring. It's looking like H1B abuse is being reigned in though, both by simple economics and by people w/in the gov't finally realized the large amounts of H1B fraud going on.
So, I expect the local markets to pick up.
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)
FreeBSD for the impatient.
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.
OPEN SOURCE
Get online. Find a project that is vaguely interesting to you. Hack on it. Subscribe to mailing lists. Post on forums. File bugs. Read books. Write cool programs. Get some experience.
I know *exactly* where you are coming from, having finished a programming course about 8 years ago, and having to deliver pizza (hey, a job is a job!) whilst waiting on the people who ran my course to find me a job (as they had promised). Of course, they started demanding the money for their course (which they were supposed to extract from the people they got me a job with... catch-22 deluxe).
Long story short: you should first see if there is some way you can relocate within your current company -- if they are forward-thinking, they will try to help you "be all you can be"; if they aren't, you're better off somewhere else anyway. Which brings me to the other point: you will have to accept the first programming job that you can find, irrespective of pay, or even environment. If you can prove flexibility, it doesn't matter where your programming roots are: a good company will realise programming talent irrespective of development environment. Take this from someone who initially had a side-course of C on a Chemical Engineering degree, which lead to taking a focussed programming course in COBOL (yes, I know, horrid stuff!), which landed my first job doing VB, which got me my second job doing ASP (and then PHP), which prepared me to work for myself for a while in TCL/TK, PHP, ASP; on to a job in primarily Delphi, and then on to a C++ position, now a C++ / "whatever I want to use" position. Of course, there were helpings of SQL, shell scripts, Python (yum!) and Perl (scary!) along the way. I'm quite sure I've forgotten at least one...
I know there will be people who object to such diversity. But hey, it's worked well for me. I have a good idea of programming principles and which tools will deliver what benefits to my current project.
Social connections are vital for getting a job unless you have some other remarkable skill that's going to land you a job, or you happen to stumble upon a company during a hiring phase. Most of these connections should of been made in college, or in QA over the past couple years. Since you haven't made any of these connections I'm guessing you're an introverted type that tends to go unnoticed. I would suggest doing more to be sociable, and make a likable impression on people. Don't be clingy, and don't be judgmental these two things ruin social interactions. Eventually you'll find yourself moving in the right circles if you have the ability to actually become a good programmer.
Knowing people who know people is tremendously helpful (especially if you're like me and you'd like to skip that whole 'entry-level' thing entirely). I'm 2 months away from my BS in Computer Science and I'm 6 months into a senior programming/management position at a startup. I got the interview by knowing a guy who knows a guy. I got the job by knowing enough technical gobbledygook to wow the bigwigs. I kept the job by being good enough to back up my interview bs.
Yea it's retarded. Have the same situation, I'm an engineer though. And to those of you speaking of internships, I did apply to a bunch but got no answers, same as with my job application. The only interview I ever got was for a marginally related position (like QA in your case), but I didn't even get that. Find a better major, sadly, that's what I'm doing, four years wasted and $10k in loans with no job to pay them off.
I think Linux isn't better than Windows hence in the slashdot realm I'm a troll
Hide the QA experience by telling them that you really worked as a developer in a finance house for the last few years, but you're too ashamed to give details. They'll understand ;-)
Spin your resume to emphasize coding skills. Did you write scripts in your QA job? Even if it was a 3 line batch file, put it in. If you coordinated with programmers in your job, put that. Did you do any debugging at all?
If you can come up with a halfway decent program on your own time, try to do it. Throw it in your cover letter, and offer them the program and the code. Don't worry about open sourcing anything, this should be your own code, and it should be clean.
msg suitable to freshers.
http://lunchgossips.blogspot.com/2006/11/getting-experience-before-getting-job.html
lots of jobs there.
If you can't get hired in the first year of looking, it makes it even harder to find a job because employers assume there is something wrong with you. I've only worked in a programming position for six months in the past six years I've been out of school. And nooooooo one wants to hire me because of it. I'm not crying myself to sleep though. My family is happy to support me, so I don't need money. I just keep working on my personal projects. Right now I'm wrote a 3d fighter that can have over 1000 people in the same room. I'm considering making it into a 100 level deep dungeon crawl like Angband crossed with a 3d Zelda. Its not easy, but eh, some people aren't lucky enough to get a job in programming.
God spoke to me.
Write code that interests you, sell it or give it away, and build up a body of work that you can point to.
-jcr
The only title of honor that a tyrant can grant is "Enemy of the State."
I ended up doing IT out of college (between the first Internet bubble and the Web 2.0 one). I did manage to convince the IT department that a few custom scripts/programs here and there would be helpful to their operations. Still, 75% of my time was spent moving computers around, helping people with issues, and graduated to managing servers. That, however, made me really hunger for programming so I ended up thinking up projects on my own and coding them. I learned web related programming and AJAX when it was relatively new. I would create games for fun, etc. Finally I got a call from a recruiter at a company that I admired and applied for the job. I told them what my situation was. I told them a good part of what I know I learned on my own and that I was looking for the chance to really learn to do software engineering, not necessarily better compensation. That attitude probably impressed them quite a bit. Obviously I had to pass all the technical questions and coding tests. At the end, I got hired and that's where I've been for the lats 1.5 years.
Long story short, you can learn quite a bit on your own, enough so that you can get an entry level job in programming. The right attitude helps.
EvilCON - Made Famous by
How can you read slashdot and not know about this little movement called "Open Source?" There are tons of projects out there that require programming help, and it's the best way to build your resume up. I'm a 3D Animator and it's somewhat the same hiring circumstance as programming. Nobody will hire you unless you've done something, and the only way to do something is to do it yourself. As a lead, I would never hire an animator who has nothing on their demo reel. All of the demo reel material that people come up with out of school is from projects they've worked on in their spare time. Why would it be different for programming jobs?
Don't trust a bull's horn, a doberman's tooth, a runaway horse or me.
I didn't even finish my CS degree, and now have a decade of work experience programming. My first company was a small start-up that couldn't afford to pay much and was willing to accept my insistence that I could do the job they needed. Yes, my salary started at $30k. Two years later at the same company, it was $45k. And with that two years of work experience I found a job at a new company... for $75k. It worked for me, at least!
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.
You need to get some real experience that you can use as a reference. Put an ad on Craigslist or the like to program for free in exchange for a reference. You'll have skip the $ for a while, but it takes money to make money. You still have your QA job, right?
I've had to low-ball when changing languages in the past in order to get that experience for reference. It goes with the profession (unless you are a good liar with a lots of liar friends).
Table-ized A.I.
I got my degree in computer science and began grad school, but dropped out after one quarter. Not having had any real world experience, I felt like I was up a certain creek without a certain instrument. I began to use a local placement agency (one that specialized in tech jobs) to find a job in the Seattle area, and after a few searches I found one that looked interesting. No, it was not a full-time job, it was an internship, but it was a development position with an up-and-coming company that would, at the very least, get me some real programming experience. They offered me the job and while I got very few benefits and a fairly low wage, I took it anyway. I worked in my internship for an entire year without being offered a job. However, I made a very good impression with the company (this is important). After my internship ended, I accepted a QA job contracting at a different company. I did not enjoy this job at all, but stuck with it and kept in touch with my former employers from time to time. Finally, an ideal full-time programming position opened up at the first company, I interviewed, got offered the job, and happily accepted. It's been over a year since then and while I still have a lot to learn, I have a full-time development job and I love it. At first I did not like the idea of accepting an internship because I already had a bachelor's degree, but in retrospect, it was the best decision I could have possibly made.
The last 5 hires my boss has made are all worthless. I'm sure with a CS degree, 2.5 GPA, and lies about your vast Java (and J2EE) skills on your resume, you'd be hired on the spot. Last posting on the bulletin board for the H-1B types with J2EE was 87.5K.
Reply here and I'll find you and send you an email.
I work in QA and I do plenty of programming of multiple varieties. I'm A CS graduate 1 1/2 years out of college. I can see where your coming from, in that QA work isn't exactly solving mathematical problems, and often involves "plagiarizing" someone else's code (i.e. from another department who had to work with the product before you did). However, it can also be a lot of black box debugging, and forces you to look over your code and check that it works before you call it "released". Its not exactly the skill-set I prefer, but the fact I consider myself better than some of the people who've been here for 6 years already show I possess the skills to get good at another type of job, even if the skills for my current job are, IMO, stuff I learned in AP CS in high school.
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.
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
People in this business move around so much there's always a ridiculous amount of recruiting and interviewing. Until you have a real resume with real experience, just play the numbers. Send out 6-10 resumes a week. You'll find someone desperate enough to give you a chance.
These days I'll let my network know, cherry pick a couple of openings to apply to and if I get desperate, put my resume on Monster. I got my first programming job by working for free and only stayed in the game by resume spamming when times were bad.
Try recruiters. I get contacted by recruiters every few months asking if I know any junior candidates. It's always a possibility.
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.
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.
Find some aliens who are about to attack earth and need to come out with some greeting to earth. Maybe something along the "Hello world." lines. For some extra features though, you may want to include translation software back that can understand when a human says something along the lines of "I for one welcome our new overlords..."
I for one welcome our...
Moved to http://soylentnews.org/. You are invited to join us too!
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."
they'll hire you
Most smaller companies can't afford to hire someone without experience. Big companies like defense contractors or the Government can afford to hire newbies and train them. I got a job straight out of undergrad working for the Navy with a BS in Computer Science. I can stay here for 4 more years and then move around once I am "experienced". But, there's something nice about telling the contractors what to do.
I never did get a CS degree. I started off in technical support at a printer company (had to be able to rip a laser printer apart and reassemble it and have it work before I could touch a phone, so I find most tech support these days insulting), then got into QA at the same company.
Once that company laid me off, I got into QA at StorageTek, where I wrote test tools in C, Perl, and various Shell scripting languages. I was doing development there, too, before they closed our office.
From there I got another QA job where I wrote more test tools and automated a lot of tests (C, Perl, Java, various shells). They pulled me out of testing and into development, where I spent the last 4 years.
Test tools and automation worked for me as a gateway out of testing and into development. Talk to your manager. Let them know you're interested in a development role. On your resume, play up your skills, not your job title. If you're not doing much programming in this QA job, use it to get into another QA job that does call for it.
I work for a company currently recruiting developers. I will share a few thoughts with you.
First, you should talk to your boss and say that you would like to get more challenging tasks than just the QA you do. The company should encourage you to grow within the organization. If they do not encourage you, or if you do not have that kind of relationship to your boss, you should leave anyways.
Second, a few years in QA is a merit for a programmer I would say. I think a few years in operations is an excellent merit to. There are so many programmers who just write code without seeing it being deployed, maintained or really run. The important thing is that you have kept your programming skills up to date.
Now, too many years in any position can indicate lack of ambition (but switching all the time is even worse). Participation in Open Source projects is one way to show extra ambition and knowledge. What is also very good is running your own business: i.e. building (web) solutions as a consultant.
How enthusiastic are you about coding? If you are a programmer, you do not stop coding, even if you have another job. If you have not coded for fun in your spare time, maybe you should consider another career (perhaps in QA instead).
Improve yourself:
- Start a personal project, spend most of your free time on it. Make it something you are passionate about & do it right. Use it as a code example. Release to open source if reasonable.
- Only other thing you can do with your free time is contribute to open source. Again, useful as a reference or code examples.
- Start going to local user groups for your preferred languages. A *lot* of jobs are filled in right there & never make it to the job boards.
- Look for & attend the next barcamp in your area.
Cast your net wider:
- Be willing to relocate
- Look for small businesses that need contract work done
- "Good" companies are almost always hiring if they can find a good candidate. Don't be shy about contacting some.
- Talk to friends about job opportunities
- Be willing to contract
- Don't apply for stuff
Realize also that with all the volatility in the market right now, it is a bad time to look for a new job. A lot of smaller places are going into survival mode.
Tailor your resume for each job you are applying for and stretch the truth where it may help you. You should omit any and everything on your resume that does not make you sound like a complete and total badass. If your QA job is not glamorous, then write very little about it. Less is more in this case. You should not lie outright, but instead, describe yourself and skill as you are and can be, not what is 'technically correct'.
Face reality. Resumes just get you in the door so you can get an interview. The idea should be to get the interview and then it is up to you and what you know. There is no getting around that. Fibbin a little on your resume to get an interview is no big deal, but you cannot be lying in your interview though. You better be able to back up what you put on your resume, but just because you were not able to get a job programming does not mean you do not posses the skills. If you know you have them, convey them however you can.
Many people will want to do things by the book, like you seem to want to do. Truth be told, that will only get you so far and in many cases, not very far at all. You need to be a salesman for yourself and you cannot make your pitch unless you get in front of them. The interview is key, you need to kill it. Be confident and personable. Talk about them more about you... people love to talk about themselves. Be conscious of your body language and make eye contact. Treat the interview as if you were interviewing them as much as they were interview you and you should even tell them as much, they eat it up!
Remember, people with skill sets get jobs, not skill sets alone. Companies do not interview to find the right skills, instead they want the right person. Know it.
Invexi - a Phoenix, AZ based web design and web development company.
All our last several hires we have done have been directly due to their involvement in open source projects we are directly or indirectly interested in.
So, find an open source project which you really like and actively work on it. It matters less what the project is than to find one that you can be passionate about and get fully involved.
If you can't find an open source project that really brings out your passion for development, it's probably not the right career field for you.
Come work in East Europe. Not yet touched by the crisis and a lot of employment opportunities. Indeed, no company in IT succeeds to hire as much as they would want.
Sorry if any of these suggestions are repeats... it's late and I'm too tired to read through all these comments. I've known a few people who have had this problem as well, so, first of all, I hope you don't feel like you're alone in this. Breaking into that first job seems to be a pretty common problem for programmers. My advice is to do one of the following: 1. Apply with companies that are willing to hire programmers fresh out of college. These are few and far between, but there are some out there. 2. Find a job (or internship) at a company with a small IT/software development department, and work hard to prove yourself. On a small enough team, you will rise quickly. 3. Get involved in some projects. I noticed some other replies mentioned open source projects; I can't speak to this personally, since I've never been involved with one, but I guess every bit helps. Also, if you're confident in your abilities, bid on some jobs from websites like Rent A Coder and Elance, and work on them in your spare time. Make sure this is all listed on your resume. For my part, I was fairly successful with suggestion #2. I landed a position with a small software department (about 15 people) a few months out of college as an analyst (job duties included defect analysis, level 2 support, and writing user docs). I ended up playing a key roll on a few projects, and was eventually promoted to software developer within a year. The company I work for now (based in Troy, MI) actually hires quite a few people out of college, although I was offered my specific job because of my skills and experience. Some other things you should be doing: 1. Make sure you have an up-to-date, well-organized, professional-looking resume. 2. Make sure your resume is posted on sites like Monster, CareerBuilder, and Dice (especially Dice!). If you know your current company's HR department uses these websites, you may want to make it private and apply for jobs individually. Otherwise, make the resume public, and update it often to keep it near the top of search results. 3. Network with people in the IT/techonlogy industry. Posting on forums is one great way to do this. Also, If you don't have one already, I highly recommend signing up on a website called LinkedIn; it's a social networking site aimed at business professionals and job-seekers. It is a great way to meet people in your industry. 4. Keep your skills up to date! Sign up for free newsletters and magazines. Find online articles and tutorials. Get books related to specific development platforms or languages you're interested in (popular publishers include O'Reilly, Wrox, and Microsoft Press). Build applications in your spare time. Do whatever you can do get exposure to what interests you. As my old boss once told me, you should "know a lot about something and a little about everything". Get exposed to as much as you can, but try to focus on one or two key technologies or areas. People generally focus on one specific development platform, like Java, .NET, or LAMP. My first job gained me some exposure to Delphi and ASP classic, but it was my .NET and SQL Server skills that had the job offers coming in once I started looking. Again, make sure all of your skills are listed on your resume.
(On a sidenote: If .NET is your preferred platform, I suggest learning both C# and VB to a decent level of understanding. From the job postings I've seen in the past, their usage seems to be split pretty evenly. Most recruiters or HR people are comparing your skills with a list they were given; they won't know how similar they are or how easily it is to move from one to the other.)
I hope these suggestions were helpful. Keep in mind that sometimes we have to work jobs that we don't consider to be the "ideal job", but that doesn't mean we have to stop looking. Stay positive, and you will eventually find what you're looking for. Good luck!
Since there's a QA department where you work, it's probably safe to assume there's a development department. Talk to your manager and the manager of the development team, see what options are available for you to move toward programming at your current company.
This is probably the method with the lowest barrier to entry.
Yes, I am a smart ass; it's better than the alternative.
Write a virus program that you can upload into the mother ship. Then fly up there in case of a problem in the upload.
Once you succeed at that, you now can use the president of the united states as a reference, that will help -- unless it is GW.
BTW. Don't be obsessed with the fat lady.
Fight Spammers!
Everyone wants 2-5yrs for entry level because the economy is shit and there are millions of people out of work.
If you have work now then hold on to it and hold onto it tight. If you can advance at employer you have now then great. If you lose that position you aren't even going to be able to find a job at a gas station without experience. It doesn't matter if a trained monkey could do the job, when there are people with 10-20yrs of experience doing that job are desperate enough to take entry level, you are screwed.
I was in the exact same position, in 2001. Graduated with a CS degree into a difficult job market, found a QA position after several months of looking. While there I did pick up on some odd jobs like cvs maintainer, random programming bits, but it was clear the company wasn't going to move me into full time programming. I ended up taking a job at another company in professional services / account management. Seemingly a step back from the technical career path, but I was hired as the technical resource on accounts, handling integration work. Hence, in retrospect a lateral move. While there I worked very closely with the engineering team, but for a few years advanced my career more in line with professional services. Fast forward a couple of years, I was doing full-time account management, traveling to meet clients... and decided I wanted to be a programmer instead. Thankfully I'd kept up with my programming skills even in a non-engineering side of the company, and was hired into an engineering position at another company. Point is, don't be afraid to be creative as to your position and career path, just keep honing your skills and interests. And just from a personal POV, get out of QA.
I really got lucky after graduating - I was offered a job at my Uni to work in the School of Computing, developing the little bespoke applications they needed - if you've got contacts at your Uni still, send out some feelers, see if this is do-able. They normally pay under the odds, so you get your training on the job as it were, and voila.
.NET learn both C# and VB... the jobs that seem to believe them to be completely separate entities is huge.
Been there nearly 2 years - looking at other jobs now.
As a side note, fully agree with parent - if you're
and are you a us citizen? if the answer to both is "yes", then you should take a look at the various major defense contractors (lockheed martin, boeing, raytheon, northrop grumman, etc.) i know lockheed has about 50 odd entry level positions in denver open last i looked (two or so weeks ago). the large programs really prefer associate engineers and engineers because they tend to be relatively cheap compared to the staff and senior staff engineers.
As a project manager and coordinator for a software hours certainly i dont undervalue my QA people and praise their work highly... but still, i understand your desire to become a developer.
Personally forget internships, its just slave labour. You need to get out there and sell yourself. So what if the advertisement says 3-5 years experience required? Show them you have experience with QA which means you have good experience of reviewing bad code and fixing bugs and this has helped your own development skills increase...
What have you been doing all these years with your programming skills anyway? Been letting them atrophify (how do you spell this damn word?)? I presume you have been developing things at home, making the odd contribution to small projects etc???? If so, you can claim this as some form of experience and show this.
Learn how to get interviews. This is a real skill that can only benefit you. If your resume is crap you will never get an interview. Dont go crazy on buzz words.... i see too many buzz words on a CV/Resume and i throw it in the bin. Focus on achivements and your strong points. If you can get an interview then you stand a chance. At the interview take some (good) examples of code (there should be one technical guy on the interview panel otherwise be scared). If they will allow, fire up something you have developed on a computer. Tell them you are ready to sit down to a technical exam to prove your expertise. Dont look desparate but show willing.
Hell, there are more advices than i can fit in a slashdot post but i can tell you 100% that if you dont apply just because all adverts demand x,y,z then youll never get a job.
Let me break it down further with regards to adverts:
Essential = We really want these but if a good candidate appears we will let some of these slip.
Desired = We know nobody in the world has these skills except for the last chap that is quiiting the company but we thought we would request anyway.
Other = What the hell, some extra buzz words cant hurt.
As someone who has been involved in many recruitment exercises i can tell you i'd rather take a person lacking the essential experience who is willing and hard working (and a dev with QA skills is just pure gold!) rather than someone who has experience but does not look like a team player or is too arrogant etc. Plus probably get the inexperienced guy a little cheaper as well :-0
Last point, and sorry for going on and on...
Why go for masters? You got a degree and this got you nowhere in the end... what for to get another degree to achieve what? I had the same problem when i left university. Degrees mean you can pass exams, not do good work. Start somewhere small and build up.
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
I was in the same boat as you until just recently. After getting a BS in CS I got a job doing something completely unrelated to computers. After 5 years I wanted to get into software development. I succeeded, but it took a few months, so don't get discouraged.
.NET, and J2EE experience. So I bought a bunch of O'Rielly books and started studying. To help myself learn I made up little projects to do in the new (for me) languages. Eventually I felt comfortable enough to list them as qualifications.
The first thing I did was get on monster.com and studied the kinds of qualifications people were looking for. I felt comfortable programming C/C++, OpenGL, and windows programming using MFC, but it seemed like most employers were looking for C#,
Next I bought a book on how to write resumes. I picked a format that used a Summary of Qualifications section since my work history wasn't much help. I posted a resume on monster.com listing my new qualifications and started getting e-mails and phone calls from a bunch of headhunter agencies. Almost all of these felt pretty shady. They seemed more like telemarketers than anything else. Apparently a lot of these guys just run searches for resumes with the right buzzwords and then cold call people without really understanding the job requirements or technologies involved, hoping to get a quick commission.
I also went to a couple of job fairs but they seemed fairly useless. I'd stand in line waiting to talk to an employer, and at the end he'd say something like "yeah, we're always hiring people with those qualifications. Why don't you go to our website and check out our openings?" If it's all online, what's the point of a job fair? As far as I could tell most of the employer representatives at the job fairs were generic HR people who weren't associated with any particular project and didn't really know very much.
One good thing did come out of attending a job fair. One of the fairs was run by DICE, which apparently is kind of like monster.com. To get in the fair, I had to give them a copy of my resume, and they scanned it and put it in their online database. I got a few calls from people who found my resume there. But I could have just posted my resume there without attending the job fair at all.
So eventually I got calls from actual software development companies and eventually I went to some job interviews. Oddly enough none of the companies I applied to online ever contacted me. The only calls I got were from companies who found my resume on DICE and Monster and called me first. The first two interviews were for fairly large employers. They were deeply concerned with my five year gap in experience. I think in their mind I was worse than a brand new graduate. At least new graduates could be expected to have it all fresh in their minds. I assured them (truthfully) that I had been programming on my own throughout those five years and that I kept myself up to date. They were not impressed. I guess I can't really blame them since I had no documentation or work experience to back up my claims. In retrospect I wish I had gotten involved with some open source projects while working at my previous job. That would at least have been something I could point to to prove that I had experience.
My third interview was for a much smaller company with less than 20 employees. The guy who called me was the leader of the project they were working on. We talked a while about the project and it turned out I had some of the qualifications they were looking for but not all of them. I was honest about all of this and at the end of the conversation I hung up thinking they'd probably never call back.
Well, to my surprise they called back a couple of weeks later and asked me to come down to interview. I guess they were having trouble finding someone who had everything they needed. Due to various scheduling conflicts we set up the interview for about two weeks later. In those two weeks I bought
You should have good knowledge of the software development life cycle, but you will still need to show your technical skills. Have you tried getting into the development team for your current employer, if they do development then surely this would be the easiest way to get into development. Also keep learning development skills, maybe think about certification, it wont give you experience but will show you have a willingness to learn, and should show a good level of knowledge in the core parts of the language your certification is in.
The way I did it was to work for a place whose core business was not software or IT, but needed custom software and IT help to accomplish their mission.
In my case, it was working at a print shop. You can be the "hero" and do some really great work without worrying that they'll judge you to harshly since they think you're working magic. As long as the network was up and print jobs were going from designer workstations to printers, I was free to code up the dreams of the shop owner. I got up front "real-world" coding experience, and the owner got a bargain on custom development.
However, this approach will not teach you a lot about the rigorous side of software engineering (unless you're mega disciplined) and don't let the hero thing go to your head. Write some code, solve the problem, understand what you wrote and why it works...then put it on your resume!
Done.
When I read applications and interview developers, work experience is not really that important. At least not for young applicants. After 10 years of doing something els, I'd start questioning whether you are motivated, but a few years doing the wrong thing isn't the end of the world.
I usually check academic records to look for anything odd, for example if the candidate needed 6 years to finish a BSc that would be odd. Reading applications when applicants are scarce, is basically a matter of finding a reason this guy should *not* come to an interview. Could be glaring holes in academic records, sloppy spelling or something else. In later years, nearly everyone with the correct academic qualifications are contacted for an interview. If you feel that your previous work experience is keeping you from interviews, then do whatever it takes to make it look better. Exaggerate whatever creative role you have played, and try to leave out stuff that does not help you.
Next, at the interview, we just reason with the guy (it is always a guy, sadly) about programming. If you can reson well with me for an hour about programming in general, and some specific programming problems, You will probably be hired. If you can show me a hobby project or something that you have coded, then that is more impressive than anything you could have written about your work experience. It shows that you have a genuine interest.
We would never let an HR department of non-programmers, or a recruiting company get the first chance to filter candidates, that too is really important.
Comment removed based on user account deletion
Here's my story:
I was in a similar situation. I got my state university CS degree and got my first job out of college as a game QA thinking I cracked into the Game Industry. After a little more than half a year, I realized I wasn't in the right department to get an opportunity to become a game programmer.
I expanded my opportunities by starting up an online company with my friends doing web development work. This was the first time I got into web development. I realized I needed more experience so I started picking up contract work. At the same time I got a part-time job working as a free intern on the weekends. Working for free really pushed me to interview for paying jobs. Eventually I got a few interviews and an entry level job in a small marketing company.
My situation at that time:
- I was living at home (so money wasn't a big deal)
- I worked so many hours made it hard on my relationship with by girlfriend (we're married now). I didn't have a life outside of work.
- I came out of college right after the Internet bust
- I knew I needed experience
- I knew I needed references
Most programmers don't consider web development "programming". Honestly, I thought the same but it pays the bills. I think it can be possible if you're persistent and willing to make sacrafices. Who knows, if I listened to myself I could've been a game progammer :).
I'm in a pretty similar situation as the submitter, I just have taken a different path that's worked well for me. I started coding in PHP about 5 years ago as a recreational thing, for small projects I was interested in creating.
Eventually, I realized the money in freelance, and spent junior and senior year of high school doing freelance for hire. I didn't have any bills, so working on projects with a $200-300 payout, and at times larger projects near $1000, it was good money. I learned how to be self-sufficient and not need others to solve issues that arose in the course of programming.
I eventually wanted to move out of freelance to something more steady, and finally got hired doing basic development work for a small firm (4 people) of young developers. The pay was terrible, but it was a great environment and let me get some in-house positions on my resume rather than all freelance.
While working there, I started part-time at an internet startup I found on oDesk.com . Online freelance sites aren't great, but oDesk seems to have a pretty high percentage of North American employers willing to pay North American wages to North American developers, and it's worked out for me. At this job, I was slightly overpaid for my position, got great experience in a large scale website. They over time moved me to one of two remaining developers, with higher wages, until they self-destructed about a month ago.
I'm currently looking for a job that lets me work around my school schedule which is proving difficult, but I think I'm about to start ANOTHER long-term position working at home from oDesk, with a more established company. While I'm working towards my Bachelor's degree, I'm making more money than the average developer a year or two out of college with a Bachelor's degree, working at home, without any degree. The primary reason is that I have a body of freelance and in-house work on a variety of websites that I can showcase to new employers, along with some rock solid references from successful people running their own businesses from home, in most cases.
The bottom line is that to get hired, you have to prove you know what you're doing. Internet entrepreneurs have slightly more lax requirements than your typical in house position, but both value results, and seeing that you can do what you say you can do. A degree doesn't always show that; a portfolio does. Obviously I'm a bit biased and jaded because that kind of experience is more critical and easy to showcase in a web development background, as opposed to desktop development.
Even so, many of the same principles ring true. Work on open source projects or freelance projects. Take work in technologies you aren't terribly familiar with, strive to learn new technologies and master more areas of your language(s) of choice. Stick with a scale of project that you feel you can comfortably handle, but don't sell yourself short or convince yourself you can't do a given job. I got an early start and the return on investment has come a bit earlier in my case, but it's not too late now. Immerse yourself in the code and technology you love, firstly for the personal accomplishments that probably drove you to a development career to begin with, but then also for the personal gain of wealth for using that knowledge for someone else's pet project. It works.
(2) You talk to your friends and create fake references. Generally your employer (or rather a "security" firm that checks references, or the HR department) check them not to find out your qualifications. Nope, what they need is (a) to confirm the story you presented in your papers and the interview, they do not wish to see contradictions, and (b) the main thing, to find out if you tend to get into conflicts, or sue, or have other character traits that would make you an inconvenient slave in their well-run stable of insipid corporate serfs. (that, by the way, is why you never talk about any conflicts during your interviews). So cheating with fake references is not that hard. Your reference should simply tell them in a good-humoured tone that you haha were sleeping in the office when a manager pressed all of you guys with some managerially invented deadlines and came up as a "winner" finishing just in time. And that you are a great guy in general.
(3) You should not hesitate to do as described or be ashamed of that because EVERYONE IN AMERICA LIES. When they advertised for a person with experience and spruced up the job description THEY LIED, because in reality they will be content with much less, it's simply a hiring tactic to scare off complete tyroes. When Java was just beginning to make it, I saw them advertise for Java developers with 10 years of experience in big projects, I laughed until my stomack began to hurt. You do sound so young exactly because you take the words of corporate whores at their face value. They are not nice people, they are there to run you as a workhorse for God's sake.
(4) and, well, after this stream of cynicism (and trust me, it's fully justified by my own experience and by many other people's - we gave references to each other, embellished and invented work histories to then, after getting the job continue working successfully and becoming first-class engineers), so after this wave of cynical reasoning I can also give you a way how to get real experience and real respected reference/qualifications for a better job in development. WORK ON AN OPEN SOURCE PROJECT and then legitimately use your contributions to support your resume.
Good luck to you (from an IT guy with about 15 years of experience in the field)
I would apply to the 2-5 year positions. If you REALLY can code, debug, etc, then go ahead and do it. You don't even want to know how bad some interviewees are. I've had people with 5 years on their resume that don't even know what a linked list is. You're going to get some programming questions in the interview, so only you know if you're up to it.
The problem is that most CS grads really don't know how to do anything when they graduate. Really good friend of mine graduated near the top of his class in CS, but would freely admit that he didn't know where to start when writing software. Not someone I would have hired.
In my case, I was self taught on an Apple II back in the day, and used to spend my time writing games. By the time someone asked me if I could code anything, I was proficient, and I had been working for years as a programmer without a degree. They didn't care about the paper, but more if I could do it. Truth is, I never even got a CS degree, but an engineering degree in another field. Didn't matter though, I code in my sleep.
Even when I'm not at work, I still keep sharp hacking on things I find fun. Doubt I'll ever stop.
WWJD -- What Would Jimi Do?
(Smash amp, burn guitar, take home the groupies)
Microsoft?
But I was coming from a different path from you, however if anything you have an advantage.
I didn't go to Uni or get a degree but worked in tech. support for 7 years starting when I was 18. I've always liked programming and have done it since I was young, and whilst I have now nearly finished my degree having done it full time alongside work the important thing to realise is that you have to be able to show you're a good programmer and a degree by itself wont cut it. If you can do it the 2 - 5 years thing becomes irrelevant as I was able to get a few interviews with a good CV and then outshine many candidates who had been programming for years.
If you can demonstrate on your CV not just a long list of languages but that you understand the fundamentals of programming and can work with any language thrown at you, if you can show you understand not just a UI API like Windows forms but how to build one from the ground up and hence how to work with Swing through to Windows forms through to MFC's Windowing classes for example then you're in with a good chance of getting that first interview.
The difficulty is you have to know these things, you wont be able to blag it so put some work into learning everything you can. It may be a year before you're ready, you may not be able to move straight away. It's probably worth working on some open source projects if you can.
The payoff is that if you do put in the time, effort and energy a lot of firms will care little about your experience but the fact that you have demonstrated all the way through that you can do the job and with such a good understanding, possibly even do it better than people who have been a "programmer" for years but only know Java and will use that language for everything even when it's simply not the right tool for the job.
You have to want to do it. That might sound obvious and you might think you already want to do it but really try to be honest with yourself: If you like programming, chances are you will become a programmer. Start by writing software for yourself, in your spare time, THIS IS EXPERIENCE. If you don't enjoy doing it for your own curiosity, you definitely wont enjoy doing it for someone else.
Lie.
Jobs I've run into in the past will ask for the moon and hope they get it. The reality is that it doesn't always work that way. As one said, you can be charismatic, you can be a dang good salesman (the product is you), or you can take the defeatist attitude in which case you never will land a job you desire.
There are several other ways you can get some experience. Do part times for a job agency, in addition to what ever your job is now. Tell them you are only interested in programming. I doubt they have many of those just laying around. You can contract out to some third party programmer, that does contracted maintenance of programs. I knew of one such that did this for the oil field. He would travel to offshore locations, with cell phone and do the custom installs and upgrades for the office.
Another thing you can do is develop programs of your own. Crap make them free on the net for folks. The idea here isn't so much to make money but to gather data that shows x amount of people have downloaded your application and use it. It won't make you money at first but it's a sure sign of experience, in lieu of what some company hopes to get.
Visit this site, there are many top programmers who post on the forums there. It's more games programming orientated though, don't know how you feel about that.
http://www.thechaosengine.com/
Good luck with your job. =)
small companies and something, anything, that shows interest and ability to converse about that interest. big/medium companies will filter...my 50 year old housemate who applied to google and had a successful interview eventually got weeded out because he didn't have GRE scores to fit into their hiring/ranking algorithm.
Option-1: Start with contributing to an Free software proj. This also has the added advantage of choosing which platform you want to start with. Eg. if you want to go for desktop apps, try GNOME, KDE. if you want to go into web apps - look at Java, J2EE, php apps on sourceforge. You can look at rubyforge for contributing to RoR projs. Once you have decent experience, you can showcase this and get a decent job. You can count this experience in addition to your test experience. Option-2: Apply to smaller less established firms or even some of the large Indian IT firms - TCS, Infosys, wipro. They should consider your application. You can mention during the interview that you are looking to get into development as soon as possible. They might start you on testing but move you to development soon. Indian cos. are flexible that way.
Bad hair day ?
Bad hair day ?
Nah, just having trouble with drivers on 64-bit Kubuntu Intrepid beta.
If you can't get hired in the first year of looking, it makes it even harder to find a job because employers assume there is something wrong with you.
No, they just assume that you're someone who is okay with leaving things the way they are. While they were actually looking for someone who is active and can set priorities.
8 of 13 people found this answer helpful. Did you?
If you've got the time, use some of your spare time (or at work) contributing to free software projects of your will. You will find lots of projects on SourceForge, pick one of your favourite language and start developing. When written properly, a thing like that can count as a programming job on your resume. It also counts as a major plus for companies that are into free software. YMMV, especially if you're a bad coder!
49% skills 51% personality.
Look for help from friends and family who are willing to vouch for you as a great guy and a hard worker to someone they know at the VP or hiring manager level in the industry.
I apply for any of them, they say 2 years experience, but once they realise what people wih that experience are asking they some times settle for someone with less that can show some telent.
I managed to get a Job programming Java while i was in the last semester of my Master of Technology (Software Enginering) mind you it was $AU20K less than what i was getting in my casual fill in job and $AU35k less than what i was getting before being made redundent from my IT support role. A year later I more than double my income when I applied for a new job.
In both cases I took along Assignments from my degree and a sample (screen shots, discriptions) of projects i worked on in my Master and as private projects. The employers where impressed by some of the past work, even though it was not commercial experience.
Also if posible do some research on the technology that they use, so at least you can show that you know what the technology is, and that you have taken the time to find out.
Bost most off all, keep applying...
Access Point Live Mapping Access Points with Google
Well, that'll teach you for playing with an inferior distro. ;~)
One big mistake that a lot of people make is in assuming that they should wait around until someone tells them what to do.
Look for things that need to be done, and do them. This could be Open Source projects (I personally know lots of folks who have gotten started on successful careers this way), or just finding stuff to do at your current employer.
You work in QA? Figure out ways to automate things, improve test harnesses, data collection, etc. etc. How deeply do you understand the product(s) you're testing? Do you just read docs and test plans? Read the code, too! Understand what's really going on. You can learn almost as much (probably more, at first) from reading others' code as you can writing your own.
Alternatively, you could just bluff your way into a junior development position and sink or swim. That's probably a bit higher stress, and you run the risk of peeing in your own Cheerios if you are in a small community.
In any case, just do it. Also, do it while you're young and single. That's the time to be ambitious and driven. It's a lot easier to put in 16-hour days learning your craft when you don't have to worry about anyone else's needs.
A host is a host from coast to coast...
Unless it's down, or slow, or fails to POST!
The problem with degrees is that they are out of date, or that they are focussed on academic directions. In the end, when we hire new coders, we look for practical experience, not work-experience; and we look for coders, not academics. This is why we use tests - a degree will get you a long way - but in the end it's being able to refactor a complex logic structure without causing side-effects, and knowing how to write a set of unit tests which will demonstrate robustness. All of our key programmers can deliver a good 1,000 SLOC of C++ (I'm only attempting to give you an idea of the order of magnitude here - I know that SLOC is no good measure) in a day without breaking into a sweat; and all of them got to be like that because they love to write code; even working in it, many of us still program in our own time.
This comment was written with the intention to opt out of advertising.
1) They could get the pre-requisite experience without having a job as a developer
2) It showed they enjoyed software development
3) It displayed showing initiative, which is something a lot of candidates lack
Best case: A company sees the project and wants to sponser it, making your project your full time development job
Worst case: You spend some time working on a project that goes no where, but you now have some real experience that you can tout on your resume and in the interview
Added Bonus: You get to talk in the interview about the open source community, your participation in it, and maybe on how that experience can also benefit your perspective employer.
Plus you'll be able to brag about your software to friends and co-workers.
-Runz
Just about all professional services firms (such as Accenture, Deloitte, Wipro, CSC, etc) hires English and Psychology majors straight out of college, send them to a 2-4 week training program (where the new hires spend more time socializing and drinking than learning) and you have instant IT developer...
I'm driving to Columbia, SC today to attend tomorrows USC Career Fair as an employer. We're hiring entry level programmers, straight out of college. If you've got relevant work experience, that's a bonus. If you can convince me you've got the right attitude and can still code & fix bugs, I'll bring you in for a full interview and probably hire you.
If you don't have a connection w/ USC, then try your alma mater - most (all?) career fairs allow alumni to attend, and most career centers support alumni jobs searches.
Hope to see you there!
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.
Last i checked, it doesn't take a college degree to be a programmer. Software Engineer, yes, programmer... maybe associates degree.
I strongly believe very recently read right here about exactly same situation only last time the guy took a tech support job after college.
US-UK-Israel: The real Axis of Evil
Even in good job advertisements they sometimes ask for more than they are actually after. Reason is they'd be willing to hire someone more high level and/or they don't want to scare people away in thinking it's a crap position.
One of my first tech jobs in university was like that. The school paper had an ad that said they were looking for a webmaster. My roommate told me I should apply, since I was computer related and I wanted a job. I didn't think so. While I had web experience, it wasn't a whole lot. Certainly not enough to run a site of that magnitude. However, my roommate said do it anyhow, since it doesn't cost anything so I did.
Well I got an interview, then got hired as the assistant webmaster. Turns out that is really what they were after. Old webmaster had left, assistant was moving up, they needed new assistant. However, they didn't want to preclude someone who was real good from coming on as as the webmaster. Had a good enough candidate applied, the assistant would have stayed as an assistant and they'd have hired a new webmaster.
So while I wasn't what they were asking for as a webmaster, and even not ideally what they wanted for an assistant, I was the best applicant they got so I got the job.
Remember that it doesn't cost anything to apply. So if you see a job you like, that you think you could do, apply for it even if you aren't ideally qualified. Might turn out that you are what they are looking for and they hire you/
Start freelancing on elance asap and build yourself a portfolio.
or,
Work for a software house (from any place) through telecommuting, and build up a past. For this, you gotta choose a good, respectable company, even if its a small business. Can be anywhere in the world, but has to be respectable with a serious portfolio, and a decent employer. Your going rates would start from at most $8-10 hour i believe. but over the course of a year you probably will move up to 15 and 20.
now the thing is, actually when you are established as in the second scenario, you may find that you no longer want to apply for an on-site corporate position.
and in the former case, you may find yourself running your own web-based software house.
Read radical news here
I got a job programming at a big company with a)no degree and b)no experience. I submitted my resume and pointed out that I'd contributed to an open source project, had worked with a particular language for a year on my own time as a hobby, I was a fast learner and that I was a hard worker. I got the first job I interviewed for.
One thing I'll mention: HR writes those ads. Most HR people don't know the difference between their ass and a hole in the ground. Your QA experience should go a long way in their eyes. In short, just apply for the jobs and you will get one (assuming you have reasonable interviewing skills).
Your sig(k) has been stolen. There is a puff of smoke!
I just signed up to slashdot a couple of minutes ago, and I was immediately fascinated by this topic. Reason being that Im kind of in a similar situation. I have a Computer Science degree, graduated in 2006, and taught Computer Studies at a High School for pretty much the whole of '07. The jobs I got after that have been Database developer and Implementation Support jobs respectively. Similarly, I had tried to get programming jobs but employers were all looking for years of experience (even the ones that saw small projects I did). The thing is though I enjoy programming, work has been taking so much of time, that taking out time to keep up with personal programming is becoming impossible, meanwhile experience in non-programming jobs keep building up in my resume. I think all the suggestions so far are great, but can I for example, get programmer internship after over a year of graduating? Even then a lot of internships require the applicant to have "excellent programming skills" in language XYZ!!!!!
"Just what you want to be you will be in the end."
Last time I did that, I got slapped with a harassment suit.
Never mind the old IT adage I heard somewhere, "Where there's an itch, there's a communicable disease or infestation".
YMMV, but an itchy IT worker is the *last* place I'd want to put my hands.
"Trolls they were, but filled with the evil will of their master: a fell race..." -- J.R.R. Tolkien on Olog-hai
A master's degree will certainly help...
No, it won't. Don't waste your time and money.
They are rare but are designed for your exact situation. I've created one at my company. More thoughts at http://softwarecraftsmanship.oreilly.com/news/2008/7/17/comparing-apprenticeship-programs
I think what most of these responses fail to address is that your question does not match your headline. Since you have no programming experience no place is going to hire you as an entry level programmer. Luck = opportunity + preparedness. So be prepared. The first day you pick up a book and start working your butt off is the day you are a programmer. All of the tools are out there for you. Despite what all of linux zealots will scream about you will have a much better chance of getting a job if you learn something a little more mainstream right like Visual Studio, C# and SQL Server. Right now ASP.NET developers are in huge demand. I know because I am looking for some and I cannot find them here. Go get all of the tools you need to learn for free at: http://www.microsoft.com/express/ 1. Get Visual Studio Expres web developer edition 2. Get SQL Server 2008 Express 3. Take advangtage of all of the other free stuff MS offers developers. Training videos, etc. Get to B&N or Amazon and get some entry level books. Then you can start calling yourself an entry level programmer. Most important think: Work harder than the guy next to you and create your own luck. That is how I now own my own company.
"Action is the thing that escapes most people. Great ideas are a dime a dozen. Great actions are few and far in between.
I have no degree and had no professional programming experience before I started at my current job. I apparently showed enough skill on the programming test alone. That was eight years ago. Now I am the assistant director of the department. We have a few spots open for competent c programmers in the Beaumont, Texas area. We develop in a unix-like environment and occasionally travel. Check out C&D Robotics and call before sending a resume.
I Don't Work Here
Be willing to code COBOL. That's how I got my job. I took one course in COBOL and stuck it on my resume. I put in about 2 years then transferred to a different programming team in the company that is not a COBOL team.
An internship is probably the easiest way in. After college (BS in CS) I had a really hard time finding a job as a software engineer. I was totally paying for not having any internships. I ended up getting an internship resulting from a career fair I had been to a while back. Once I got the internship I tried to meet as many people as possible, especially managers, and let them know I was looking for a permanent position. At the same time I was applying for any jobs remotely related to my degree on the companies internal listings. Oh, and I kicked but in my internship. It only took a couple months before they offered me a position as an engineer and that $15/hr. internship rate multiplied.
Then, of course, there's the postings demanding 5 years of experience in a 3 year old technology...
I've always read that as meaning 3 years of experience in the technology plus 2 years in its predecessor, such as 3 years of .NET and 2 years of Win32.
I worked in QA for 2 different companies for about 3 years. First year and a half was with a company that was sold so I had to go somewhere else. Having been in your same situation, I was fortunate to find a place that was looking for a QA Automation programmer. They use Rational Robot which has a form of VB6 and VBA used for writing scripts. This qualified as an "entry-level" programming position. I was able to get the job, get the Robot scripts to the level they were looking for, and a year and a half later, I moved on to development with the same company. I let the lead developer know of my intentions and was then given a "BrainBench" test, passed it, and am now in development leading my own team.
The company is a small/medium sized business so I'd say you should look for a place like that if you're wanting to at least get your foot in the door. The more you know their software the better your chances are. Look through their code if you can. See how they do things. These types of places like to move people from within (for the most part) that know the code in some way...this saves them time from having to train a new hire.
Oh...and try to start your own project to keep your skills up. This way you won't forget all that hard-earned coding you learned in school and, heck, you should get better at it as you find different and better ways to do things.
Write programs, open source, hobby, whatever. Then, apply to those jobs that "require 2-5 years experience", and show projects you have worked on in the last 2-5 years.
If you're applying to work for me as a programmer, you will be performing a small programming test before being hired. I weigh 60% of my hiring decision based on that test - with strongest consideration given to communication skills, did you understand the problem before writing the code?
Lots of guys with 10 years programming experience leave the room frustrated after an hour (there's a sample program already written and compiling, all you have to do is write additional code to add a couple of features.) Kids with zero "real world" work experience tend to do better on the test for some reason, and they also seem to make more productive employees. We started giving the test when one of these $150/hr consultants with 12 years of experience (in a field that was 8 years old, but he had an explanation for that...) couldn't program his way out of a paper bag, given a month's time.
Results count.
I would recommend two things;
.Net front end). Thing is, we prefer people with little/no experience, because we don't inherit as many bad habits. People adapt easier to coding standards, etc.
1. Check your college's job postings. A lot of colleges let alumni go through the job postings.
2. Be open to what you at willing to work with. Don't put at the top of your resume, "seeking a job where I can utilize my java skills".
I work for a small software company (ERP software), and we hire 90% of our programmers direct from colleges. We also work with slightly less common technology (Progress Openedge Database, Progress 4gl code,
So if we don't look for experienced people, what are we looking for? Passion. Work Ethic. Personality. Problem solving, logic, ability to learn. Honestly specific technical skills/experience rates a lot lower.
Freelance in your spare time. Being able to show examples of your work may be as good as a line on your resume that says you were at company $x for $y years.
Even though you have graduated, most Universities will help you find a job if you graduated from there.
Is this true even if the university's closest (or only) campus is over 150 miles (or over 250 km) from where you live now? Or do these universities offer job placement even over the phone or the web?
I had the exact same experience... big computer company - deciding that I will have an oppurtunity. Internship in support, now, still stuck in support. At least your doing QA! :P
You can join an open source project. Doing so will provide you with experience if not fame, and it'll look good on your resume. Moreover, that way, people can read your code and see that you rock as a programmer.
Dude :)
a) believe in yourself, with this, try to apply to jobs that require more experience than you have. Do make impression that you are capable of doing job, do not try to accent fact that you lack experience. Do mention it once, but than show why yo are good for job.
b) Involve youreself in Open source projects perhaps? It will be something many employers would be glad to see, it's experience none the less. Again, when you try to get involved in Open Source, try to get into at least small team and nt be wild single hacker
That's pretty much it.
Every company, and no company. They all say 2-5 years to scare away the losers. Employers like entry level programmers because they usually have good documenting skills, are malleable to new methods, and can be paid with peanuts. The problem is, employers scare away the legitimately good (and honest) graduates by saying they want experience and get the liars, whom they have to sift through to find a recent graduate that knows what they want.
Your problem now is that you aren't a recent graduate any more.
Anonymous reader: Work on a project in your spare time. If you can't prove experience, prove know-how. A well written application under your belt will be the experience you need to say, "Look, I've programmed before! Now pay me for it!" A good example is a small calendar app or even contributing to FOSS like Pidgin, GIMP, or even getting involved with bug reports! There's dozens of ways to write code. If you do it long enough, you WILL have 2-5 years of experience! -Tres
Look for somewhere that will allow you to be a jack-of-all-trades. My second job was as a casual tech support person at a university. While I was there I was able to branch out into a few different fields that interested me, one of which was programming. I was able to display an aptitude for it and a willingness to pick up new skills so that when I returned to them after a year of travelling they re-hired me as a full time programmer.
Universities are generally unable to offer the best salaries so they have to make themselves appealing to potential employees in other ways. In my case, they were less stringent about their requirements for qualifications and allowed me to develop my skills on the job. I've spent the last couple of years bluffing my way through at a software company so the experience was definitely worthwhile.
I don't think it's naive to expect other opportunities to appear but you just need to look for an employer who is going to offer them. And be willing to accept a lower salary in exchange for some good experience.
Here's what you do. You walk in there with a Cheetah right by your side. Sit down, don't mention or even look at the Cheetah. The interviewer will be to scared to ask. Let the Cheetah gnaw on the desk a little, maybe even the guy's shoes. Nobody questons a man with a Cheetah.
"I don't have to think. I only have to do it. The results are always perfect, but that's old news." - Meat Puppets
What was extremely helpful for me was I kept writing code in my own spare time, and set up a local support consulting business, while looking for that first programming gig out of college. I was able to present my down-time work in interviews, which really helped out a lot. It showed that I was ambitious, capable, and passionate about programming, and not just looking for a cushy desk job.
Life would be easier if I had the source code.
I got hired as a programmer five years into my career by a senior programmer friend/mentor who joined a start-up company. All I had done before that was help desk and sales support. He knew me pretty well (we were longtime drinking buddies) and knew I had the aptitude for it. The company sucked, but working for/with my friend was a great learning experience and set me on a great path. Thanks to him, I'm making twice as much as I would be if I had stayed on that career path, after I put up with working for a shakey start-up.
Therefore, I suggest "playing golf with the right people" is the way to go. Obviously, if golf is not the thing, figure something else out. Try joining programmer user groups and giving presentations. If you look like you know your stuff, they will trust you even if you don't have the resume to back it up.
Fuck internships. If "trying to pay the bills" got you stuck where you are now, an internship isn't going to help your financial situation. Keep your day job, learn PHP and start freelancing as a PHP programmer. If you need experience tailored toward desktop apps, try ASP .NET instead. The IDE and language are the same you'd be writing desktop applications for. In this day, web apps (especially in companies like Google and Apple) are on the same tier as desktop apps.
I spent six months (while nursing a Final Fantasy X and Everquest habit) trying to find a job after graduating with a Bachelor of Science in Computer Science in 2001. It's a harrowing experience, especially if you're just searching job sites, firing off a few resumes, and twiddling your thumbs for the rest of the day. Sounds like you've got a mediocre job to pay the bills, which is both good and bad: positively, your depression about being unemployed does not fuel your boredom which does not fuel your depression, but it's very tough to get anything extremely productive done while working 9-5.
1) First off, get feedback on your current resume from a professional, either in IT or HR. If there's some glaring error you've missed or you've got it formatted in Comic Sans (GAH!), no one will read it no matter what you do.
2) Networking is the key. Finding other people and talking to them about how they got their start in IT, what they're doing right now, and if they've heard of anyone hiring entry-level programmers is the fastest way to get a job, period. End of story.
3) You don't need certifications, but they certainly don't hurt. Check your local community college for professional certification classes for cheap (cheaper than the big books or programs) or find an online resource for passing those pesky exams.
4) Never underestimate the importance of keywords. Getting an IT person to actually read your resume is the goal, and standing between you and them is an underpaid, overworked HR person. The IT Hiring Manager gave them a list of skills that they need, and it's the HR person's job to gather as many resumes as possible that meet the required skill list. So what can you do? Figure out ways to get more keywords on your resume. If you're seeing a lot of jobs that require Hibernate or Struts but have never used them, swing by your library or head over to Amazon Marketplace to find a couple books on the subject. Read up and voilà: you can add it to your "Programming Languages" section. Now, the IT Hiring Manager may shoot you down because you have no professional experience with the language and I certainly don't recommend lying about your level of experience (don't bother, they will find out and they will fire you), but getting past the HR person is a big step.
5) Find an Open Source project using technologies you want to work on! There's nothing better than getting intimate knowledge of a new program or methodology by working on the project, and companies using those new technologies need people proficient in them. If nothing else, it's another bullet point under your "Experience" section.
6) Fax your resume whenever possible. It's much more likely to be read since an HR person can't just throw it in a directory and search for keywords.
Good luck!
I could not help but notice how many posts from seeker.dice.com forums, and elsewhere, are of the same nature. Here are just a few recent examples:
http://techtoil.org/wiki/doku.php?id=articles:news_and_commentary
Makes me wonder if tech degrees are worth the time, money, and effort.
This is what you do... You start your own consulting business and do freelance work in the evenings and weekends as a side job. You get a couple of books in the language you need/want to know, and you start your own little projects to support your business (like a time tracking app, or a billing application, etc...). So now you have a business, language experience, an application, and business experience under your built while still working your day job. Now you goto freelance websites looking for small jobs and gradually grow to larger ones.
After a year or two of this, you'll have a lot of diverse experience in a wide range of areas that you can legitimately add to your resume.
I say this because this is exactly what I did... and I went from a software engineer to the director of the IT department in 14 months because of my independent work and foundation I made for myself.
Just don't call your company something stupid like Jackhole Studios...
00101010
Really, what other career field requires you to fight, and finagle, and sacrifice, and so on, just for a mediocre job? I see lots of IT jobs advertised that require a bachelor's degree, and experience, for $15 an hour. Even if you get that job, you will just be training your h1b replacement within two years.
Employers don't want Americans. The few jobs that can not be offshored are being filed by "guest workers." And after the election, the situation will get much worse. Both candidates strong support further glutting the field by drastically increasing the number of guest workers.
Just a thought.
The easiest place to make the transition is wherever you are working now. Of course nobody wants to take the risk to pay for you to change career directions, and why should they? If you don't have the drive to turn yourself into a programmer then is it really going to matter if they give you the title? You need to:
1) Find anything you can automate by writing software for your current duties.
2) Make it known that you want to become a programmer.
I don't care if it's a hodge podge of Perl, Python, Shell scripts, VB script, etc. It doesn't matter if you're writing build and deployment scripts or tools for your QA team to use. Before you know it you will be the 'QA Programmer', and from there it will be much easier to transition into a full time programming job at your current company or another. I suspect you can find someone on the programming staff to help mentor your ambitions as well. Someone who can answer your technical questions and provide some feedback.
Another tactic would be to attempt to trace the bugs you discover in the QA process back to the code. See if you can solve the bugs yourself.
Write software. Then get a job. Amazing!
Jokingly: Ask Microsoft. They keep complaining that there are a shortage of programmers graduating from schools in the US.
Seriously: If you're stuck in a place where no one notices your potential, you have to make them notice it. We have a QA department, and it would help the development department out a lot if they could write code to generate and run test cases. You need to look at what you and your co-workers are doing, think of ways you can help improve it by writing code, and then take the initiative to do it. If you impress people enough, they should notice that you're in the wrong department. If not, it's still actual coding experience you can add to your resume.
When I started my career as a developer, they stuck me with system testing for nearly a year, and then they gave me the horrible job of writing documentation for a monster of a project that had absolutely none. They thought it would take at least 6 months, and they heaved a huge sigh of relief because they could drop it on the new guy and not have to document their own stuff. This was back in the Windows 3.11 and NT 3.51 days, and I surprised them by writing an ODBC project (ODBC was new to them at the time) to scan all the DBase tables and indexes they had, and then generate RTF pages for all of them with hyper-text links already built into them. Then I created a description table and asked various developers to fill in descriptions (since I was new and there were no docs, I had no clue what was in those tables), and we had documentation good enough to send to customers in a few weeks. They were very impressed, and after that started giving me better tasks.
If you are good at your job and work hard without whining about you current tasks or job description, then tell you boss you want to get more involved in other areas. Workers with talent and desire are hard to find and will naturally get moved into more important roles.
Many people include the years they were at University as part of their experience in various programming languages.
For example, if in your first year you learned OCAML, and that's 5 years ago, you have been programming in OCAML since 2003.
This means that any good interviewer will need to narrow down exactly what your relevant skills are, of course, so don't exaggerate and never ever tell an outright lie on your CV. In some (usually large) companies (and in some countries more than others) that can be grounds for dismissal without notice even 15 years later. But do remember you can include open source work and your university courses - they are every bit as relevant as the experience of someone who did not go to college but spent a couple of weeks reading "Lean Perl in 21 days" and then decided to re-write the aircraft navigation system ;-)
Live barefoot!
free engravings/woodcuts
Go to Grad School!
"There can be little doubt that union activities lead to continuous and progressive inflation." F. A. Hayek
1) Get into QTP (or Robot or similar) ... but you could go on to C++ (to selectively improve performance of Python modules) or Java via Jython, or .NET via IronPython ... Profit!
2) Volunteer to do the scripting
3) Extend tests by calling out to non QTP scripts - very useful and powerful.
4) Write these scripts in Python
5) You are now basically there
6) Oh: yes, and
PS: you're QA experience should give you business knowledge which will help your case ...
PPS: business knowledge will let you transition to Business Analyst - which might actually be preferable to programming
I'm surprised that someone could already have their degree, want to program for a living, and yet not have any experience. (What have you been doing for fun for the last 10 years, when not studying or working?)
Anyway, assuming that doesn't make you realize, "oh, I do already have tons of experience," then start hacking at night. If you really can't think of anything, then write a game. Or take on some existing code, and fix its bugs or port it (e.g. Chrome to Linux).
As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
I believe the editors already answered this one:
from the foot-in-door dept.
You've got your foot in the door as QA, you should be able to move around in the company now.
Disclaimer: I am not god.
We may not be created equal
But we can be treated equal.
...Open Source. I'm a current CS student, and asked this very question at an Alumni Panel on Friday. The answer they gave was "Get involved in an Open Source project." That's a big part of what they look for in new hires. Doing so shows that you're not just in it for the "big bucks" but instead that you want to be a programmer, that you're willing to go out of your way to program.
I'm waiting for a "-1 somepeoplejustshouldn'tgetmodprivileges" meta-moderation.
I work in QA for a software development house, and even in my few months here I already have a lot of programming experience I can put on my resume. Developing QA tools to streamline the QA process as well as developing automatic QA systems for regression testing are invaluable and show that you can look at a process, see how it can be improved and coded into an automatic way, architect a system and complete the code.
Think outside the box at your job and I"m sure you can find many programming tasks in your QA position. It's just a matter of taking on the initiative.
Take a QA job at a small company, and tell the engineering manager that you are an engineer, and sometimes you need to review the code to properly QA the product/project. Write small apps to exercise and load test the applications. Show the manager what you are developing. If you are good enough, you'll find yourself moving over into development.
The bigger the company, the more likely you are to be pidgeon-holed.
This kills me every time I see it. I was just talking to a co-worker about this yesterday. We were doing some campus recruiting and this subject came up.
I run a software development organization now, but back in the day, I held a similar stereotype about "QA"... until I had to actually be responsible for quality.
QA is as much a science as art. Being a good tester takes skill, excellent understanding of the area being tested, an understanding of use-cases, understanding of likely vs. non-likely failure points, and how to truly measure quality itself. It requires (usually) a medium to high level of IT admin knowledge. In some cases (such as hardware)... the best testers are true engineers... EE(electrical) or CE(computer). Most test automation QA people are actually coders who know how to write software and do it every day.
I realize that there are lots of flighty "button clickers" out there. But there are equally as many "code monkeys" who write garbage code.
I wish QA would stop getting this bad wrap. Testing a complex piece of software (or hardware) is equally as tough as creating it.
If you are looking to use QA as a stepping stone into software development, I urge you to reconsider. You can rise into the ranks of a QA organization and easily make 100k a year... just doing testing.
thank god i dont work with you
The jobs actually say "Entry Level. Must have 2 years experience in .Net, C, etc."
I have been working in IT for 6 years with servers, and now as a DBA, but know my future is in programming.
First does programming match your personality?
I recommend working through K&R on your own:
http://www.amazon.com/Programming-Language-Prentice-Hall-Software/dp/0131103628/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1223994909&sr=8-1
and finding a job that uses programming. There will come a time when programmers are needed so badly that they will accept less experience.
I apologize, but I did not read all 300+ replies, but I just wanted to say I was in your shoes.
I graduated with a B.S. in C.S. and started applying to development jobs left and right. They all wanted to hire somebody with experience, but did not want to give me the chance to get experience. (I always assumed that to get a newbie right out of school was to get a piece of clay you could mold the way you want it instead of re-training a person with two years experience in another environment.)
I was hired at an online company in a completely different job but still working with computers (which I ultimately felt was a waste of my time and money earning my degree). Two years later, the company's development department started looking for a person, and I applied for and got the job.
My advice is to learn about the language your employer uses... learn everything (obviously brush up on you SQL too). Try to show them that you are willing to learn to help move up to a full development position. Since you do need to pay the bills, internships are difficult unless you get lucky enough to find a paying internship that would cover your costs. If that fails, go to the staffing agencies to ask for their help.
I do wish you good luck in finding a position that better suits you, but remember that the road ahead may get bumpy...it will get better if you be patient enough.
Make contacts. Go to user group meetings, go to job fairs.
Meet people, get to know them. Get your name out there.
My first real programming job? I was at my brothers wedding, happened to meet someone who managed a dev. team. Told him I was trying to get into a jr position, and if he knew anyone looking I would appreciate it.
He gave me his card and asked me to call hime. Over the phone I got my first job. Granted I had to move 800 miles. It was well worth it.
Another tip:
GO door to door handing out resumes. I did this when the bubble burst, and it worked.
I would walk into a 'tech sounding place' in some business park, engage the person up front in what they do. If they did development, I would give them a resume.
Handed out about 200 in two weeks, got an interview and a job ion the spot.
The Kruger Dunning explains most post on
"QA is as much a science as art"
um know, it's a science.
"Testing a complex piece of software (or hardware) is equally as tough as creating it."
only if your QA group doesn't know what the hell it's doing.
"You can rise into the ranks of a QA organization and easily make 100k a year... just doing testing."
HAHAHAhahah.. where? Maybe as a contractor. Maybe if you move up into management. But know QA tester makes 100K.
Proper QA is critical to a good and consistent release, and yes they do get a bum rap in most companies. But lets not over do it, shall we?
For the record, writing code isn't the critical step either, it's good design.
The Kruger Dunning explains most post on
1. As a few others have said do open source work.
Think up a project that might help someone out and do it.
Help out your church, non-profit or what ever hobby you have for free.
All these projects can go on your resume!
2. Look with in your company... Chat up the developers, the development manager, your supervisor. Request soemthing small. Let them know that you want to switch roles and tell them what you're willing to do for the opportunity.
3. Submit your resume anyway... Who cares if they're request 2 - 5 years experience they need someone they're going to hire someone. Be prepared to answer the question "Someone else has 3 years experience why should I hire you over him?" Paint as you're hard working, dedicated, willing to learn to take advice, fast learning. ect ect ect... On a resume and during an interview you're selling yourself why would they want to buy you? (on a personal note I always approach an interview with the mentality "I already have the job (or else I wouldn't be going for an interview) do I want to take it?" Kind of conceited but it helps me relax and makes it become a conversation about where I'd fit with the company instead of an interview.
4. Network... Who know gets you the job... what you know keeps the job. So go to user group they're everywhere so you should be able to find one in your area.
5. Pound the pavement apply to as many places as possible. Again don't worry if you don't have the exact experience wanted. All they can do is tell you know. You might have to take a crap job to get started but once you have the only place to go is up.
I don't see any reason why you can't get some programming experience while working on QA. You should at least be able to get read access to the code of the projects you are working on. When you find bugs during you QA work try tracking them down and/or writing unit tests for them. Depending on what languages are used there, you should probably get to know JUnit or NUnit or search for other testing frameworks that might be relevant to your project. Then create a patch with the test and attach that to the issue. It will make the developer's life easier and prevent the issue from occurring again later. Obviously, not all test can be easily automated, but you're bound to find a few along the way.
If you're able to create an automated test for the issue, the next step is to see if you can fix it yourself. If you sumbit a few unit tests with fixes, the development team will probably start thinking about hiring you if/when an opening comes up. If openings do not come up within a year or two, then at least you have gained some good experience that can be used during interviews, or to help out one of the many open source projects that desperately need better automated tests.
Program something in your free time, so you have something to show. Engage the programmers at your company. Try to move into programming at your own company first. I've hired people from QA who passed our technical interview and I knew to be hard workers, or the types to come back with solutions or look into the code to find what is wrong and sent that along as feedback to the programmer on a test failure.
I see a lot of .NET positions around that are looking for 8 years of professional .NET experience. Production versions of the .NET framework have only been out for 6 years. You should do the same as almost everyone else who is applying for those jobs.
Lie!
The people who are posting jobs looking for n years of experience don't have any idea what makes a decent programmer, entry level or senior. And they deserve what they get!
I've seen ads for "entry level, 1-3 yrs experience" (can you say cognitive dissonance?). On the other side, as someone with a long career - 15+ yrs programming, when I was out during most of the first part of the Bush Depression, I literally got idiots telling me I "wasn't fresh", as though I was some kind of bruised fruit, and had forgotten everything I'd done over decades.
Actually, one of them, I got mad, and asked her if she were to take a year off to have a kid, if she'd never get a job in her field again, since she wasn't "fresh". That actually got through to her, and she did put me in....
The only way is around HR. Either make contacts, as others have suggested, or find a friend to do work for, even if they don't pay you, so you can claim you're employed as a programmer, or, if you can, find a recruiter (their account managers talk to actual hiring managers, and so get around HR) that actually knows what they're talking about, and what's actually needed, to help you get a foot in the door.
Come the Revolution, we won't waste ammunition. We'll escort HR into the parking lot, toss some asphalt on them, and PAVE THEM INTO THE PARKING LOT.
mark
...because that's where companies are looking for entry-level programmers.
Advice: on VPS providers
Theres lots of "slave jobs" (minimum wage) in IT on campus, help profs etc. That way you arent really an entry-levelperson naymore once you graduate.
If you're really dedicated to CS as a profession you already have a computer at home. You're already working on some sort of code in your off hours, whether something of your own or some sort of open source project.
This kind of thing is sometimes hard to sell as "real" experience. You need to either have something demonstrable (like an open source project) or you need to bring example code with you to your interview. I dropped off a mini-CDROM of various personal projects at one interview and was later told it was a big part in my hire.
If you're just going to work every day and that's it then CS is your "day job" and you need to examine what's really important in your life. You may have another career there somewhere.
Is it possible that even in your current QA position you can, at a minimum, start programming/scripting/designing some of your efforts?
Try the government (city, county, state, federal)...my first programming job (with a Geology degree) was for a public utility. They were looking for someone with a bit more experience too, but settled for me. Also, don't be afraid to apply to positions you aren't qualified for yet. If you need more "current" experience, take an evening class before you go back for a Master's...that might be enough to add a new 'hot' skill.
Alternately, do some programming (even scripting etc) for local non-profits. Might not pay, but it'll be material for your resume.
Based on personal experiance, and I did not even have a college degree at the time, just a pc support/qa job
1. Write a resume, turning all the little programs and scripts you wrote for QA, into programing assignments, start every line with "Designed and Implemnted ___________ that _____ with _____"
2. Post the resume on www.monster.com, and on www.dice.com
3. Wait till your offered something reasonable, that sounds intresting to you
4. $$$ Profit
Two words: web applications.
Any large(r) online retailer needs a whole hive of perl/java/ruby/insert-flavorof-the-month-webdev-platform-here monkeys to maintain their site. Grunt work? Yup. Shit pay? You bet. Easy to get? One company in my area will hire basically anyone who passes their perl proficiency test, regardless of training or experience.
I didn't even have a CS degree, but a M.S. degree in Physics/Astronomy; in fact, I never took any CS classes, but did quite a bit of programming related to my college classes after doing some Fortran programming in a job during high school. I started in a small company doing some CAD work, and demonstrated my programming skills through automating some of my tasks and helping automate some large tasks. This led me to programming the company's main applications. This is how I started. My suggestion is to be hired by a small company where multiple skills are much appreciated. It's always risky to work for small companies, but it is a good way to move through multiple disciplines getting work experience.
I've made a living doing QA for 10+ years now. Especially if you can have both the QA skillset and the Programming skillset, there's a subset of the market that will let you write your own ticket - good test automation guys are HARD to find. They usually are either too much qa (very timid with programming tools) or are too much programmer (without the QA mindset that all really good testers have - the difference between a mediocre tester and a really great tester is an order of magnitude in the type and number of bugs they find. One really good tester is usually worth 4-6 mediocre testers)
If you hit the sweet spot and network, you can find the companies who recognize the worth of test automation and are will to pay for the talent.
A lot of QA can be repetitive, so look for little ways you could write a program to cut out the monotony. Also, try to find programmers in the company who may want someone to write unit tests for them. Companies (and programmers alike) are realizing more and more that they need unit testers.
Develop an application for the iphone. Make it free so that it gets downloaded by a lot of people. You'll be getting instant job offers every day.
Are you applying for these jobs? It seems like the only think holding you back is anxiety. I guarantee that with a CS degree and a few years experience in something relevant, you're going to get hits. Quit worrying and get out there.
I quit my first full-time programming job after college. However, after quitting, I starting writing iPhone apps and have written a couple pretty good ones; both of which are on my resume. Doing something like this shows employers (and yourself) that you can actually be passionate about programming. In addition, if you can get passionate about something you're programming, you will become a much better programmer than if you're just writing something for school or for work.
Also, off topic: if you're going to an interview, just wear some slacks and an untucked polo shirt...not a suit and tie; you'll feel much more comfortable.
QA can be integrated into the development process so that testing isn't just done once it's "thrown over the wall". Also, a QA department can oversee processes such as build and source control.
Try to build up your programming resume by advocating and implementing the following things in your team:
- Automated integration testing
- Unit testing
- Configuration Management / Source Control
- Build automation and continuous integration.
- Coding standards and metrics collection and enforcement.
Also, you could advocate and build home grown tooling such as applications to track what is deployed where, machine configuration in each environment etc... Basically any area of the development cycle that could have process improvement is fair game IMHO.
A completely different route to go is to take a really low paying job that no other person would take and work through the pain for a couple years.
Personally I did a combination of the above. I worked as an Associate Quality Engineer (not a papered Engineer) and built up some coding experience under the name of QA. I then took a 50% pay cut and moved out into the middle of nowhere to get that first programming job.
Switch from QA to QA automation (aka regression testing), where you will be doing alot more scripting and working with code than just manual testing.
Once you're good at scripting and have worked with a few languages, you've got most of the experience you need.
Thyself.
Ive seen perfectly useless programmers getting hired by upper-people because they give out the right vibe.
Im sorry, but that is the way to go: get the right vibe for the guy interviewing and experience will mean nothing for them.
NO SIG
In the UK, the trick was to take a rubbish job, in a rubbish area with a big company. In my case Capgemini in Bumblefuck, Shropshire.
Scared of flying, pointy things snce 1979!
When I graduated from college many moons ago the industry wasn't hiring. I sent out resumes to over 150 companies all across the country over a period of six months, and from that got a grand total of 5 interviews and one job offer. Needless to say I took the offer. It was doing telephone tech support, but for a small company with corporate clients so I wasn't dealing with joe idiot off the street. Like you, it paid the bills but not much more. During whatever spare time I had I would create demos out of our software (it was basically a high level graphical programming language), and even started looking through the source code of the product to understand how it worked. After having done that for a while I was even able to locate the potential causes of bugs in the code that customers were calling us to complain about. By demonstrating to our software development team that I could read & write code, and do code-level troubleshooting, I eventually attracted the attention of one of the senior software engineers. He would occasionally explain to me some of the more complex parts of the code and point me in the direction to look for potential bugs that I was trying to identify. Eventually he was the one who recommended me for a new entry-level software development position that opened up which I jumped at. It took me about 18-24 months to get to that point but eventually I did and it really paid off.
if you want to code, you need to show that you've coded. See if there's opportunity within your company to code, maybe in some other role than QA. Try some freelance work. Yeah, even an iPhone app would show that you've coded. Basically, seize the initiative and get coding.
No matter what your title is, show all -- including yourself -- that coding is in your blood. I started out in QA and became quite frustrated with the tedium the job entailed. So I started writing tools to make my job easier. When people in my QA group started using my tools, the company noticed this and formed a new "Tools Group" and put me at its head. And that's how it started with me. Was I luckey? ... Yip! But that spark of luck would not have happened if I don't keep coding.
The State of Alaska hires entry level programmers with a minimum of requirements. Anchorage probably has enough programmers but Juneau is hurting for more. Find out more at http://www.jobs.state.ak.us/
I just finished a job detail in Hawaii and they need to hire an entry level programmer. They hire through JIMAR: http://www.soest.hawaii.edu/JIMAR/
In Hawai'i, I was working at CRED which researches the coral reefs around the islands. Very interesting job, incredibly relaxed working environment. And there is opportunity to go on cruises as a data manager.
Both places are expensive. The pay in Alaska makes up for it, and the weather in Hawai'i makes up for it there.
It took me three years after graduation to get a programmer job and I believe I exaggerated a tad on how much programming I was doing in my current job.
I started out in visual database modeling. I was using tools to build 3-D models of large-scale terrain simulation areas. The company that hired me wouldn't consider me for their software jobs because I have a degree in math. I made sure to do a good job at what I was doing and I made sure to make it known that I wanted to do more advanced work. It took a year, but I was finally given a chance to write software. It was in a limited capacity at first, but after I did a good job at that I was given more responsibilities. Throughout that time I made sure to do things as correctly as I could and I also made it known that I could do more. In the 10 years since, I've been writing software. I'm on my third company now. I'm about to get an MS in CS because even with 10 years experience it can still be hard to find a job without a CS degree. Don't think that you need to toot your own horn to make progress. If you can really do the work, people will know that. Don't be afraid to ask for what you want though. In fact, make sure you ask for what you want regularly. Don't be afraid to make it known that you need more challenges.
If you are entry or junior level, you need two things in an interview: a college degree (usually) and the ability to spew back answers to the programming questions they ask you.
If you have a little experience as a QA person, you can do the following. Work in QA for 2-5 years. Find out what your developers at your current company use for CM and as a development environment. Get accounts for all that stuff and learn how it works. Maybe write your own little app or two.
If you can, post your resume, and indicate you used those tools in your workplace. This will magically translate into 2-5 years of experience with those tools. Do not overstate your experience. You are not a genius of Subversion, and you didn't write Foundation classes. A simple mention of them in your resume is sufficent.
If your workplace gave you a title without the letters "QA" in it, you are home free.
Now here's the hard part. Experience is worth having, but let's face it, 2-5 years is squat. Its just something they put in the description so that they don't get recent college grads to apply. You MUST know what you are talking about in terms of the things you learned, however. The secret is that it doesn't take 2-5 years to answer their questions in an interview, you could probably do it in a month or two of diligent use of those tools on your own.
This is the thing. You are doing what they call in poker a "semi-bluff". Most companies ask for one thing, but settle for another. The fact is that some people have made good use of their 2-5 of programming experience and are superior candidates to you. They should beat you out, because they are better candidates than you.
Luckily, most of them already have the jobs they want.
Then there are people who had the correct job description, but they are barely qualified to program your order on those fiddly cash registers at McDonald's. Those are the people who won't beat you, even if you graduated from college with a Medieval Chinese History degree. (Ask me about the Tang Dynasty sometime, its really interesting.)
Finally, once you are in, they teach you what they want you to do anyway. As long as you actually earned that CS degree you probably can do what they want you to do. Its not like you are a "senior" programmer here.
If bluffing doesn't work for you, then accept a contracting gig or two. They tend to be a lot less picky about who they hire, and you will get experience as a real programmer. You'll be even more of a cog in the machine than you would be as a green programmer, but it still pays money, as long as you can handle getting a new job every 6-8 months.
Moral of the story. Don't let yourself get classified by a title when you can do more than that. It will become harder to avoid this as you move up the ranks, but right now, you are basically who you want to be, because no one really cares much what sort of "junior" you are.
Hell, if you worked in QA for a few years, you probably actually know how to find and fix bugs, which is more than I can say for most junior programmers.
I started as a mid level developer when I was 19, with no college degree and a GED. How did I do this? I wrote a resume that outlined my personal experience programming (which I'd been doing since I was 12) and just kept applying until I was able to get into an interview. Once there I wowed them with my obvious programming knowledge and desire to be a professional programmer and they gave me a shot. Done.
It's all about social engineering. I'm software architect level programmer with no degree, and I could get a job as a senior level QA guy just by rewording my resume and talking the talk in an interview.
Are you sure you got a CS degree? And from an accredited university?
I knew someone who got an MIS degree from Troy State, or whatever they're calling themselves now, and called it a CS degree.
If someone is passing you on the right, you are an asshole for driving in the wrong lane.
1) Simple, get on Dice and post your resume. Do contract to hire work. This way they hire you on contract for a few months and if you are a good enough developer they hire you.
2) Know your stuff. Figure out what you want to program in and just do it. Join an open source project that peaks your interest and uses the language you desire to get a job in. Open Source development experience is still development experience. Companies aren't stupid, they'll hire you in a heartbeat if you ace your tech interview.
3) If a company passes you over because you don't have experience then you don't want to work there. A good company will take an inexperienced programmer with potential and mold him into a great developer.
Your not in college and you've already spent years doing a job you don't like. An internship is not for you. The economy is in the crapper right now, but entry level programming jobs are booming.
If you have an opportunity to get an internship, you should definitely go for that. They usually pay well, and the experience will give you a jump start on your career.
I didn't get an internship, and I had somewhat of a slow start coming out of college. I worked in QA for two companies. Luckily the second company allowed me to work with a lot of automation, and get experience doing some actual coding. I used that as a spring board to get a development role at another company.
While working at that QA job, I realized that the most important thing was to be dedicated to my goal of becoming a programmer. I worked with several other people who claimed that this was their goal, but while I was taking advantage of every opportunity to code (repetitive task? Cool, I'll write a Perl script!), my peers for some reason or another just didn't do that. So I think it's important, if you can't get an internship or a development role, to find a place at a software company and look for opportunities to help out using your programming knowledge. Study programming and work on some projects in your off time and just focus on building your skills. Actions speak louder than words, and if you're able to present a few instances where you were able to contribute something of value, you'll really shine in an interview, and you'll also get good references from the people you worked for.
Most employers consider college degrees as experience (1-2 years). If you see a job opening that requires 2 years, you probably have enough experience to handle the situation. Have you not been sending out any resumes and just sitting in your QA job? The only people that actually use the 'years' requirement literally are recruiters, as they are 'tards. If you can answer the questions in the interview, employers won't care about the years.
Don't feel you have to be a slave to the standard bureaucratic resume template here. Personal projects are just as good to see on a resume as "work experience". Start playing with some big open source project and contribute some features, or start your own project that showcases your hobbies and interests. Some software companies (like the one I work for) actually prefer seeing things like this, because it shows them that you're passionate about software, and you're not just there to work your 8 hours churning out code that merely meets expectations.
I was just in your shoes not too long ago. I graduated with a great gpa in July 04 and couldn't get a programming job until June 06.
The first thing you need to do is make sure you have a decent understanding of programming and are confident in your answers. Dig into Visual Studio and know everything there is about it.
Learn C#. Look up 'Sam's teach yourself C# in 24 hours.' There's an online version that's free and gives you a good baseline.
Learn Asp.net. Head over to the Asp.net website and watch all of their training videos.
Learn Javascript.
Also look into .NET 2.0, 3.0, 3.5 etc and know what the differences are between them.
*Remember, anyone who would hire you knows you are a jr programmer and thus don't know much. What they do expect from you is that you can find out how to things on your own. They want to hear that you know the basics, know how to Google, and take your own time to keep up with the new stuff coming out.
Make a list of every recruiter/contract agency and you can find and call them every day. Call once in the morning and again after lunch. Call all of them.
That's how I got my job. I had a list of about 15 different employment agencies and called them all every day until finally a job opened up.
Get yourself to start learning unit test coding at where you are now. Programmer with QA and/or unit test mind set is valuable asset compare to pure programming but don't unit test his/her code.
I'm always too late for these. And this one actually resembles my story. Pssh.
Anyway, if you do see my reply in the sea of others, I was in QA for some time before making it into development. There were a few dynamics with my moving from QA to dev. Personal projects is one of them. Back when I was trying to get my foot in the door (for real, more on that later) I was spending almost all my free time on personal projects. It was stressful not really having a work-life balance for awhile, and I'll admit that stress did surface a bit at work, but it was necessary. I combined these personal projects into a portfolio on my website.
Now speaking of foot in the door, your foot is not in the door. It's not in the door until you're developing or programming and getting paid to do it. There is a bit of a stigma moving from QA to dev, and if you've been there for a long time you may have been typecast by your co-workers, and won't be able to move up. That was my case, and I eventually parted ways with my QA company and found development work in a start-up. The pay was little more than QA, but that was the true "foot in the door" for me. I kept building up my portfolio while working at this company (though with a better work-life balance) and when that gig ended, I got into an established company with higher hiring standards and significantly higher pay, all thanks to my work experience and my portfolio.
So the short of it is: You can get in, you just really have to want it. (and, of course, you need to display an appropriate level of competence!)
Charisma is the measure of someone's ability to lie with a straight face.
While the pay is well... there is none; it's good experience.
Find a project in an area that interests you, and is in a language you'd like to get experience in, and get to work. Not only is it verifiable work, but your potential employers can actually look at your work. This also shows you are willing to go the extra mile.
Alternatively your university has a whole department dedicated to finding you a job. Even after 20, crap I'm old now, years I have access to all of my colleges job hunting resources. Just don't expect a 6 figure income without a proven track record. This isn't the dumb ass hire anybody at what ever prices 90's.
PLC programming is something of a step down from developing PC apps, but the pay is decent. I got started doing this without any degree at all, just some examples of HTML, Javascript, PHP and C/C++ and a willingness to learn the company's existing codebase and several proprietary development packages.
Chances are that QA could use some code (often in some scripting language) to automate this, verify that, configure something else. Maybe it is performance testing.
So go for it.
If the QA manager doesn't have any obvious coding positions or tasks, find your own. Be successful at it. When it works, show it off.
You may find coding inside QA more rewarding than inside the Dev team. You know the desired result, and don't have to jump through the same hoops. It may even be rewarding. If it isn't, it gives you that experience to jump inside the company or outside it.
Every industry has a niche skill they find it difficult to fill. Take your average mid to large business still in the midst of moving from mainframes to server farms. They're out there.
They need people who know how to read COBOL, how to integrate their current infrastructure with their newer technologies and how to work with their big iron databases (IMS - ick- or DB2) and the newer technology (SQL Server, Cache, DB2 etc).
Yes, I know DB2 is down there twice. You ever seen it on z/OS? You ever seen it on a server? And that's my point.
Good luck.
Have you considered joining a consulting company. Many consulting companies are willing to take on new graduates and/or people with good educational backgrounds but little industry experience. They'll typically provide you with lots of training, and you'll get a LOT of industry experience in a short amount of time?
No, that's not!
I am senior coffee drinker at a major consultancy. I am lucky enough to avoid any "hard work" and work for myself "in my work time."
This is much much better than trying to prove anything to anyone.
I suggest the parent poster find a job without work!
Definitely look into production support development roles. They aren't the most glamorous. You'll probably be added to an on-call rotation. It can get a little stressful, but production support puts you in a role where you need to learn a lot about the systems and quickly.
I'm not sure about other organizations, but production support is more of a grow or go area. If you prove yourself, you are grown as a resource. If you don't shine, you stagnate or get moved elsewhere.
That's where you can best make a name for yourself as a hard worker. Then, with a bit of luck and planning, you can move up the food chain, or get a visa to work in Europe or the U.S.
I have not read the thread, so I am sorry if this is repetitive.
Create a personal project in your spare time that you can show to people. It would be even better if the project was hosted on a server that you set up or at least admin. yourself.
So often, people we interview were right out of college and could answer textbook questions but did not have much to show for it. You would have a leg up on other interviewees of similar experience levels if you can show them something that you have done.
It also shows that you are genuinely interested in programming, which impresses interviewers.
Work for near free (like minimum wage or even less), but not free. You need to get paid. Look on job boards like guru.com and hireageek.com and bid on projects at cheap rates. Then you can put on your resume that you contracted to these companies for the projects. Do as many short ones as you can. Ask permission to use them as references and if you want to use them as a reference, remind them, ask them a second time and warn them that you put their name out there as a reference for you.
This actually will get you experience and paid (some).
Other than that, work for free on an opensource project. Find books/blogs/articles on how to go about that.
How active are you keeping in terms of continuing to flex your development skills? If you haven't been doing any programming in all that time, then most likely you have a lot of catching up to do before you can start to expect to get anywhere with an interview. If you have been letting your practical knowledge of development wane over time, it is going to show through pretty quickly if there are any real developers present during your interview. Therefore it is critical you are keeping your skills polished and reasonably up to date if you really expect to get back into the field. Even if you are only doing development projects on your own, it still means you are practicing your craft and gaining real experience. This should be apparent to a good technical interviewer and you should not be afraid to bring the topic up if they neglect to at first (although I would be surprised).
Another important point to realize is that especially as a new programmer, you are not going to be expected to have a wide breadth of knowledge in the field. But you should be expected to be able to show you can apply knowledge of common techniques and concepts. So being able to say you have done programming in 10 different languages is pretty worthless at the entry level because nobody serious would realistically be expecting that from an entry level developer. At the entry level, it is way more important to be able to show you have good command of fewer areas and are understanding development concepts and techniques. But if you can point to a couple projects where you can show applied knowledge using one specific development environment that is usually enough to get you in the door at many places. Of course, the development environment you choose to practice in is likely to define or limit the initial places you are going to be able to apply for. So don't go for anything too esoteric. One specific recommendation is that since almost all development work needs to be able to store and work with data, it is pretty likely almost any development work is going to require some sort of need to work with data in databases. Most entry level developers have very poor skills with SQL development and if you want to give yourself a way to standout, really working on and nailing down your skills in using SQL can really make you rise to the top of the list when it comes for your interviewers to make a decision.
Unless the organization you would be interviewing with is overly tied down with bureaucratic rules, it is usually pretty easy to get minimum requirements overlooked if you can demonstrate you have the skills for an entry level position.
Why on earth would you want to be a programmer? Can this be the limit of your ambition?
For that matter, why would you even want to work for a living? Why don't you develop something you can sell on the Internet so that you don't need a job?
Your problem is not that you are being held back by others in your current situation. It is that you are holding yourself back by your own lack of vision and imagination.
When you let others define you, they own you. Which makes you a slave. If you want to be a slave, fine, there are lots of people who cannot imagine life without a collar around their necks. But if that is what you have chosen for yourself, consciously our otherwise, don't have the temerity to complain about the chaffing.
I'm a programmer, and I'm way more interested in getting hired as a swimsuit photographer.
Anyone know of any openings?
If you want experience as a programmer I would suggest you start writing programs! You are allow to write programs even if you are not paid to do so. I have employed people for positions which they have no paid experience if they can show they have done that type of work as a hobby and to a suitable level of quality. Pick something simple of interest and start coding for it. When you are comfortable with your skill set write something more significant or join an open source project. When I interview someone I want to see the source code more that the running program and hear from the candidate how they designed and debugged their code.
"What kinds of companies hire programmers with no prior experience?" Generally, companies being started by ambitious programmers with no prior experience, during the 'start-up' process. It worked for Google!
You're not going to get a rewarding "entry-level" programming position anywhere, afaik. You may get a *tolerable* position, but depending on your level of tolerance, you may want to consider a different approach.
I'd continue to work in QA and learn as much as possible, while doing web programming projects on the side. Try Craigslist, perhaps.
By the time you get good enough to walk-in, get hired, and make decent money, you'll have already X years of experience in 'software development', since doing SQA (efficiently) does require knowledge of programming (fundamentals, methods, processes, etc.). Mix that with your contract projects (they are applicable on resumes, you know), you should have more confidence in yourself. =p
the only permanence in existence, is the impermanence of existence.
Since you have a job that will support you my advice would be to not find a job.
As you progress in a programming job particularly in a large corporation you just get less and less involved in coding and more and more involved in stupid politics dominated by those who don't know what they want or what they are doing. Build a product. I recommend system tools programming because they are small projects and business oriented. Facebook apps are another way to get known. It's better to be a vendor than a corporate bitch.
While you were on your way to a CS degree, you should have probably been trying to get your foot in the door as a programmer. Most places love students as developers, you get the crap jobs and they pay you practically nothing, but when you get out you have both a degree and experience which allows you to command either a raise/position change at the place you've already been doing the crap jobs, or you have the resume requirements for the HR goons every where else.
Also, don't NOT apply for a job because you don't meet the requirements. I've >NEVER met all of the requirements in my career as a developer. The idea of those requirements is to weed out the majority of the people who might apply. By applying any way you may find out that even though they list those 'requirements' they really aren't expecting them (most places know they won't get what they want based on the BS requirements anyway), or you may just get lucky and slip by the sleeping HR goon thats supposed to notices those things.
Finally, spend less time reading slashdot, and more time networking with those in your company. Getting a job without meeting the silly requirements becomes a whole lot easier when you have someone on the inside that will recognize your name and what you've done in the past. Those people you work with aren't going to be there forever (well, some of them will, but they don't matter anyway). If someone you know leaves for another company, keep in touch with them, ask them if they know of any other openings at their new place, do they need some help perhaps? Networking with people in the business is the #1 way to get yourself a job somewhere. Most of the time if someone inside the company will vouch for you, you practically get a free pass on the HR crap and get straight to the technical people who actually make the decision in the end, not always, but a lot of the time. My last 2 development jobs have actually been found at the local bar, having some beers with old co-workers, they start talking about someone who has left, or that they'd like to leave and you find that you could replace the person, everyones happy because they already know each other and can obviously stand each other rather than having to hire someone who's personality is an unknown.
Finally, there is the fact that its mostly a numbers game. There are X number of jobs available and Y number of people trying to fill them, only Z number of people are actually qualified for them. If you try to get all X number of jobs, and you aren't part of the Z group, it won't likely matter because somewhere along the line, someone is going to screw up and hire you :) Just don't feed them any BS in the process, don't claim skills you don't have or overvalue the ones you do. You're going to learn a lot over the years, everyone involved knows this, including the person hiring you. You apply to enough places and eventually you are likely to come across someone hiring you that says 'you know what, this guy isn't what I want, but for some reason I like him/her. I'll give him/her a shot anyway and see where it goes.' Sounds like a bad idea from the companies perspective, and it is a gamble, but also many people recognize that lack of experience is easy to solve by hiring you. If you work for him for 2 years then you have met his 2 years experience requirement, and during that 2 years he's molded you into the developer he wants.
Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
In order to get those jobs and get that experience, you need a job that gets you that experience. So you need to get a job that will give you the experience you need to get a job requiring experience. Get it? I will put it to you in programming terms: :NOEXPERIENCE :GOODJOB
IF (!qualified)
JUMP NOEXPERIENCE
ELSE
JUMP GOODJOB
#EXPERIENCE
set qualified=1
done
Its always been this way. You will have to lie about qualifications in some way or other and put up with a crap job that gets your foot in the door (if available). Otherwise, you will spend the next 30 years asking yourself 'why did I go to school if no one will hire me, and their sole requirements are experience, when I have none???'
I hate to say it but all companies are this way. At some point you WILL have to lie to get a job.
The official title for programmers in my company is 'QA/Developer.' We do peer code reviews and our Field Application Engineers also double as bug hunters. On top of that we have a dedicated full time QA department to run regression and unit tests. So we have triple-layer coverage, and people who start in QA can go the route of QA/Developer or FAE depending on whether they like to travel.
The key trick to making the hop from QA tester to Developer is to look for a QA job that allows you to expand your programming abilities -and- when you go for the next job, talk up your scripting abilities rather than the number of bugs you found.
Another thing to consider is try taking side classes in User Interface Design-- because UI design bugs are peskier to report but when fixed enhance the user experience. Screenshot 'before' and 'after' things after a bug you 'found' and add that to your portfolio.
One last suggestion: show some programming moxie by picking up skills in PHP and/or CGI programming. Put your test scripts into a front-end GUI and bring that as part of your programmer-wannabe portfolio.
Bottom line: The best way to jump from QA to programmer is to show your work. If you can't do it on-the-job, do it off the job as best you can.
-Coyotedance
I asked the very same question almost 40 years ago and the answer was the same then as now - take a job related to the field, do it well, and keep working toward something better. I worked for over 3 years as a (GASP!) computer operator while working toward a programming position. Ambition is a good thing - unreasonable expectations are something else. Grow up and deal with it....a lot of the rest of us have paved the way by doing crap you seem to think is beneath your capabilities.
I went through the same thing in my own field of study from college... I got my degree just a couple months after the optics market crashed, everybody wanted experience. All these people have good ideas, and maybe they're more practical in programming, but the fact of the matter is that in a bad economy there really are a lot of experienced people out of work and willing to take what would normally be entry level jobs, and you're competing against them. Graduate school is an option, waiting is an option, trying a different field is an option. I waited for years for the optics market to turn around and ended up in a career I love that had absolutely nothing to do with what I went to college for. Best of luck in whatever path you choose.
I have been interviewing a lot of programmers over the last year.
I compiled a list of DOs and DONTs for getting an interview/job.
I hope you find it interesting:
http://chrismay.org/2008/07/28/DOs+And+DONTs+Of+Getting+A+Development+Job.aspx
You need to actually write software.
Find a free software project or concept you like and contribute. It'll be the worst software you write in your career but you'll learn about what makes software more or less maintainable without doing that on an employer's dime.
Take project classes from a local university. I've interviewed a lot of candidates who graduated with high grade point averages and an ocassional master's degree but limited problem solving and programming skills, but few of them had any project classes like compiler construction where you build a toy 'C' or whatever compiler (a lot of these are group projects, so at least one member of the team can get away with slacking).
Write automated tests. Getting testing right can be more complicated than the code.
Volunteer to write tools at your current job. There are always more things that need doing than people to do them, especially now that hiring has been cut back.
Why don't all you fsckers just learn how to code?!? We are in need of decend coders and nothing good seems to come out of Universities.
I presume from your question that you already know how to program, you are just looking for a way to get more experience where people actually pay you for it.
My advice is for you to redefine your job. It is no longer to test software but to write software that tests software. "Test Engineer" is (I think) a term that is currently popular to describe that job. Hitting web services? That is straightforward enough to test. GUIs? Look into scripting the accessibility harness. Web sites? Google for "Watir".
If you arn't sure where to start write down a list of the more annoying or repetitive QA tasks you did today.
See above..
I killed da wabbit -Elmer Fudd
First off, as said above QA is not a shit job. A good QA person is worth their weight in gold. They have a good overview of the entire system and they enjoy "destroying" which is the opposite mindset from a developer. A QA person also has the disadvantage of being the person to have to block or delay the release and always has to deal with this pressure. If you can do it well, there's no reason that it's a shit job.
Second: If you are still chomping at the bit to go into dev, then start developing stuff at your company. Little tools for testing pieces of the code, dll's etc. Pick a person you work with in dev that's a good person as a mentor and start flying. A good dev person will appreciate the effort and the extra set of eyes. If you can do this well, you can perhaps start fixing some of the problems you find and keep going from there.
My career progression.
#1 research lab dishwasher as undergrad. 2 years
(met people, got into job hiring circles)
#2 summer programming internship-paid (1 summer)
#3 volunteered as a scientific research programmer to get a good project (1 year)
#4 Low level programmer, got a job referral from the group I volunteered in. Pay was extraordinarily crappy but I worked for a very well known research group. Paid my dues there for 2 years. Did java programming along with postgresql. Made sure I learned the 'right' skills. ( 2 years)
#5 Next job was hired by a co-worker that went out on his own. It was a higher level position with much more responsibilities and freedom. Small bump in pay, but it was a higher position
(2 years)
#6 Landed Sr Programmer position at a very large company with my own office, doubled my pay and I get the best and most interesting projects.
Yes, kind of a long road but I learned a lot along the way.
Oh, and I don't have a degree in computer science. But I'll probably get a masters since my company will pay a good chunk of my tuition.
When applying for jobs: :)
-apply for a lot of positions that you think you can do
-don't turn down interviews or phone calls with recruiters
-list a well thought out resume and extremely well written cover letter on Hotjobs, Monster, Career Builder.
-Buy some interview skills books
"programming interviews exposed", get a couple of books on interviewing and resume writing
-If someone offers you a phone interview or in person job interview....take the interview!!....at least you'll get some practice and learn from your mistakes. You never really know what a job is about until you have interviewed for it.
-Practice doing those coding puzzles, do a bunch of those code tests and time yourself...practice on paper and not just in some Applications Development Environment...You shouldn't need help from autocomplete or function building.
-buy some new clothes....nice shoes,pants,belt, shirt tie. That way they know you can be seen in public if they need to send you somewhere on business.
-in an interview be excited, provide solutions to their problems and seem engaged.
-in your resume, if you say you have a certain skill...make sure you know it!...go back and review past projects(languages, databases, scripting). Learn as much jargon/acronyms as possible so you don't miss out on conversations. Wikipedia is a good way to crawl around through a lot of technology terms and learn what they mean and what is behind them.
-be prepared to talk in detail about at least 1 project(start to finish). Be prepared for all those run of the mill interview questions, 'what is your greatest weakness?','What are your strengths?', 'Where do you see yourself in 3 years?' BUY AN INTERVIEW BOOK!
-stick with it and have confidence. there's a job out there somewhere. you might have to lower your salary expectations but DON"T sell yourself short. Your unlikely to get a raise once you take the job.
Also, drop in that you read slashdot....that way they know you are a hardcore nerd that keeps up-to-date.
take up a trade, after two years you can make 200k per year(ie 70h/week Union Ironworking in fort mcmurray /w loa). Work a couple months a year in your trade and program or volunteer the rest of the time.
Better late than never: My friend Sarah runs a blog which focuses on exactly this issue:
http://www.developingprogrammers.com/
The whole bent of Developing Programmers is: "I can write code. What should/can I do to become a professional (or just more 'serious') coder?"
Disclaimer: I host this site.
Apology: I wouldn't post as anonymous if my old login hadn't withered up and died through disuse.
Five easy steps: Step #1: Write software in your spare time (make sure company you work for didn't have you sign a contract saying they own things you do in your own time. If you did sign such a contract then go directly to step #5.) Step #2: Give away software in step #1 to charities, local small businesses, etc. This builds a portfolio. Step #3: Start charging for your services using step #2 for references. Step #4: Build your business up so it supports you. (Cut your expenses to make this easier.) Step #5: Quit your day job. You won't need to work for someone now because you have your own business. It works.
Simple, LIE
That's about as good as it gets.
Most people use ANY type of programming, even if it isn't paid, to bone up their resume.
That means any type of coding, for any type of person, friend, colleague, or whatever.
I don't really see how this is a story... that's kind of a well known "DUH"
I know I used high school and college projects to get my first programming job.
Your work is your resume.
If you want to work as a programmer, then program.
Live, breathe, dream coding.
We make our own luck. I don't have a college education. I just read lots of books and write lots of code.
Starting a study group helped a lot too. Building that social network. Learning new ideas and technologies (e.g. design patterns, functional programming, concurrency).
Happy hunting!
Cheers, Jason Osgood
serve in the military. the military is always looking for in-house programmers for systems integration and such. the experience you'll gain from 2-3 years will be worth twice that in the marketplace
I found that small companies are less hung up about titles or responsibilities. Basically, you will still have your primary QA mission but there will be things that need to be done that will allow you to demonstrate your development skills and gradually take on more of those kinds of responsibilities. Good, healthy small business don't usually care who does what, they only care that the job gets done on time and on spec. By contrast most large companies get caught up on titles, fiefdoms and organization charts.
Internships are indeed an excellent source of experience. Granted they are not viewed as heavily as a full-time job but they are added value to your resume.
Also don't be discouraged by the 2-5 year range. Many employers are open-minded if you have the rough skill and a great attitude. Remember we are the nerdy kids that no one wants to talk to, so when someone is able to handle a conversation well they are taken back.
You never know what a company is looking for unless you find out. They might be interested in an early 2 year developer and at the most a 5yr developer. It is very subjective. Worse thing that happens, is you get nowhere.
I would never say just a degree would fetch you a programmer job. well your internship, projects, knowledge will fetch you a job.
What you need to do is network. Find out which of your friends parent's own or manage a company or department that has programmers. Find out what tech they use that is hot. Go to some dumb-ass tech school and learn that tool. Get them to hire you cheap. After 6 months, you have several years industry experience, plus experience in something hot.
This is what I did nearly 30 years ago. Unfortunately, I did not realize my friend's dad's company was actually one of the best places I would ever work. Over time, I became a hotshot in some stuff, then later a hotshot DBA, then later a burnout old guy who no one would hire, until I lucked into a job that used the great-grandprogeny tool of that first place. And wound up writing virtually the same programs I wrote nearly 30 years ago. But now, I'm paid the big bucks, and don't have to wear a tie.
Good luck, and realize networking=nepotism. And that's really a good thing.
As a recent college graduate in computer science I found the Career Faire that my school put on very helpful. I made several contacts at the job faire, and even landed a few interviews without trying. My gpa is abyssal, but I got a development job anyway because I interviewed well. The key things are your communication skills. The company will train you to code what they want you to code, but if you don't communicate well in the interview, chances are you're not going to get the job. I'd say look on-line for some career faires in your area, make a nice resume, wear a fresh suit, and make a good first impression.
I can't believe how many job listings I see for entry-level programmers. It's insane.
Granted, they don't pay squat. I assume that since you have your degree, you want the big bucks. But either get in where you can and pay your dues, or you're going to be stuck in QA for a looong time.
Oh, you're not stuck, you're just unable to let go of the onion rings.
I would suggest getting involved in some open source projects, its great experience and allows you to find out what kind of programmer you will really be and what interests you!
Quit being a freaking noob. I got an entry level job out of college as a programmer. Just know what you are talking about know at least 3 programming languages (C++, C# or Java, Your choice of scripting language) then apply to every programming job in your area that sounds interesting or at least acceptable. Don't let 2 to 5 years experience scare you from applying some places consider school experience and in a job posting when an employer says necessary requirements they mean wish-list. In case you're curious it took me 2 1/2 months to find my first job as a programmer after college and I live in Portland OR, which if you don't include Intel is not much of a tech hub.
P.S. small companies are more willing to bend on their requirements than a large company becuase they get less applications
A friend of mine is looking for some entry level programmers and he pays a lot! I use to work for him doing contract work. If you're interested e-mail him through his site at www.novaconceptions.com