views:

2147

answers:

21

So I'm looking for a new job.

I've noticed that the vast majority of companies are trying to hire

A) Fresh out of college (or university) grads, and/or
B) Senior-level developers who have a million (or two) years of experience.

This leaves out the vast majority of programmers who would classify themselves as "intermediate", myself included.

If I apply for an entry-level position without short-changing my CV/resume, the company will wonder why I've applied when I clearly have more experience than what's required, plus I will want more $ for my value. Which, on both accounts, is completely true.

If I apply for the senior position, there's a good chance they will classify me as underqualified more or less immediately.

Now, that being said, I already do some of the things in my current job that a senior-level developer does, such as code review, mentoring, and even a small bit of team management (I am interested in management). For some of the senior-level positions, it wouldn't be a huuuge stretch, but I think I'm missing what to do or say that would get me in the door for that kind of position.

What is the best way to get a job when the applicant falls into neither category?
Assume that "starting from the bottom" is not a desirable option.

+4  A: 

I think if you're applying for the entry level or senior jobs, just explain yourself clearly in your cover letter in terms of why you think you might qualify for the job. For the senior role, establish that you meet many of their job requirements from an experience standpoint even though you might not have the X number of years they've listed. I know from writing job descriptions myself, that the number I pick is just a rough guideline, I look much more closely at real world experience in the areas I need more.

If you're applying for an entry level position, just sell the value the organization will receive when they hire you and explain that you feel you can bring alot to the table and hopefully can contribute more than they expect out of the position. I agree that salary might be ab issue here as typically, they have a budget for the position and can't be overly flexible upwards on the salary for these entry level jobs.

Overall though, the best way to get those intermediate jobs is through contacts mostly. Again, from experience, those middle level jobs at large companies, we usually ask around employees if they know anyone first before even posting. Networking and making it known you are looking may present these kinds of opportunities for you.

Wil
+1  A: 

Your best advertisement is a job well done at your current employent. If developers o teamleads in the new company of your choice would learn of your accomplishments that could result in an invitation for discussion when they are hiring. It also won't hurt if you already know (some of) your future collegues.

rsp
I think most companies won't share feedback on you with prospective employers. How you do at your current job won't directly affect your prospects elsewhere.However, the more engaged you are the more you'll learn, which makes you better at your job.Also, people you impress now may hire you when they're at their next job.
Jay Bazuzi
+31  A: 

Apply for everything.

If you apply for an entry-level position which pays less than you want they will either make you a better offer than advertised, or when they don't, you make them a counter offer. If they can see you are worth it they will shell out the extra $5000, companies are happy to pay for the staff they need.

If you apply for the senior position what's the worse that can happen? You don't get to the interview? Ah well worth a shot. Maybe you will get to the interview and get offered a less senior role for a bit less money. Maybe you don't get past the interview.

Put yourself out there, don't big yourself up a dishonest amount, don't talk yourself down. State your case and don't be afraid of saying "My experience would be worth more than you are offering me.", again they'll either meet you half way or they won't in which case you are still free to walk away and they won't be upset if you do.

If you are currently working then you have a lot of leeway to be picky and haggle.

EDIT:

Just to clarify, don't carpet bomb application on unsuspecting employers. Apply for everything you like the look of, let them know what you think you're worth and why, and if they agree, ace!

(thanks to hpmark and tom)

runrunraygun
Au contraire, apply only for jobs you want to get. Your lack of enthusiasm for, say, yet another entry-level position, will communicate itself on your CV, in your covering letter and at interview. You will be asked 'Why do you want this job ?' and, unless you do want the job, be faced either with lying or giving the honest answer 'I don't'. Neither is appealing either to you or to the interviewer. Don't waste your own time, don't waste mine (I mean, whoever it is is interviewing you).
High Performance Mark
@High-Performance Mark: I think runrunraygun does want to say, apply for positions at every experience level, IF you like the job description. Of course you only want to apply to a job that you really want, but one shouldn't be held back by the fact he/she sits inbetween starter and experienced positions.'No' you have, 'yes' you can get.
tomlog
As tomlog says, I don't mean literately apply for every job going. Apply for everything/to every company you like the look of, don't be put off by the fear it might be too junior or too senior a job.
runrunraygun
Now I agree with you.
High Performance Mark
+10  A: 

Go for the senior developer position. Fake it 'til you make it.

We've hired a bunch of "senior" developers and they all have wildly different skill sets. I'm in the same boat as you though. I've got about 5 years of professional experience, but I'm still pretty young compared to most senior developers. I'm definitely way better off now than when I first got out of college skill-wise, and I'd argue that I can code circles around some of the old dudes we have on our team.

Some companies however are looking for junior developers, which is apparently different than entry-level. So in your job search you could look for the "junior" keyword. But really, you're gonna be in that job for about 2 months before you want to be bumped up to senior (pay included).

Jacob Ewald
It sounds crazy, but a certain amount of fakery can go along way. I wouldn't condone lying but some days i talk to my manager for 10 minutes, agree with everything he says, and then go look up what he's asked my about on stackoverflow ;)
runrunraygun
If the position is a 'junior' position, I don't know that there would be a bump to 'senior' in two months time if they weren't planning on hiring a senior in the first place.
Brad Mellen-Crandell
+1 @runrunraygun - it's often more important to know how to find information than it is to know it.
Seth
I wish I could employ people (seth, logtom) to condense what I'm thinking into things which people understand.
runrunraygun
@Brad Mellen-Crandell, I agree. They're likely looking for a junior level developer so they don't have to pay for a senior level developer. But *he* would want to be a senior, especially since he's already considering looking at senior level positions.
Jacob Ewald
+2  A: 

Look local. There tends to be less spam from recruiters on local job boards. Most of those jobs that have ridiculous requirements are just spam. You'll probably find much more realistic listings on local boards even if there are fewer of them.

Most of those senior level positions are entered by recruiters or by HR people who have no idea what the real requirements are. It never hurts to send resumes to those if you have more than half the skills on their list. The worst that happens is they don't call you. The best is that an actual IT person realizes you have value and you get a job.

Cfreak
+3  A: 

One piece of advice, "Get in the door"

Do what it takes to talk to a living breathing person at a company that is hiring programmers. If you are active on SO and have real-world job experience, just let that come through in the interview. You may be supprised at what some companies consider "Senior" positions, usually they want a proven resume, but more often they are looking for bright, motivated programmers to help them get a job done. If you can pass muster on their technical interview and be enthusiastic you have a good shot at either position.

This only works if you have some confidence in your skills, love to code, and can communicate that to the person doing the interview.

Tj Kellie
+8  A: 

Hi

So you're looking for a new job -- but are you looking for a new employer ? I suspect that many many people find it much easier to take a step up from entry-level within an organisation than by changing organisations. After all, all those qualities you identify that you have which fit you for the more senior level positions will be much more evident to your current employers than to a potential new employer. New employers will probably only believe that you have, for example, small-team leading capabilities if your current role is called 'small-team leader' or if you have other documented-on-your-resume evidence that you have experience as a small-team leader.

If you feel you must change employers then I think you have to start applying for the jobs you want and for which you know you have the skills and aptitude if not (yet) the experience. You say that you have experience as a mentor, so you write on your CV (sorry, brit-speak for resume)

'I have experience as a mentor. In summer of 62 I was solely responsible for the activities of our summer intern Young Monty who wrote a Python+Ruby web framework. When he started Young Monty knew only APL and BCPL; when he left he took a job as a Python programmer with The Biggest Company in the World.'

I'm being a little facetious, but what I'm really saying is that if you do have experience as a mentor, even if it's not one of your formal job responsibilities, put it on your resume and support the statement with evidence.

Finally, in your covering letter that you write you include a sentence such as this:

'I am confident that I am now ready to make the step up from dogsbody to Company President. As you will see from my resume I have already spent several months in the last year mentoring new staff in the mysteries of Product X. I have also been responsible for leading a team of 3 people in building an automated test suite for the SuperWeb project that I have been working on.'

(OK, eliminate the facetiousness and use words which are true for you).

Oh, and another thing, I was trained in Project Management before I was ever a Project Manager, so if you have had any training for the next job bang that drum on your resume. I've always been as interested in acquiring these soft, career-building skills as in deepening my technical skills.

Good luck with the job hunt.

Mark

High Performance Mark
Indeed moving within you own company can be a great way to progress along the carrer ladder, get experience of new/different things and looks great on a CV (they liked me soooo much they made me director of IT after 3 months!).It's alot less stressful than finding and moving to a new job, as it reduces the fear that you might leave a job you don't hate and move into one you can't stand for an extra buck an hour.
runrunraygun
It can also freshen up a job which is starting to get a bit stale.
runrunraygun
"summer of 62" ? I didn't know they had Python+Ruby back in the days of steam trains and black and white TV. ;-)
Paul R
+14  A: 

The best jobs come from people you already know. Someone you went to school with, or someone you worked with in the past. They get a job at a growing company. The company is looking for new recruits and they say "hey, I know someone".

Send an email to people you worked with before, when it went well. They may need someone or know someone who does.

It's called "networking", but it doesn't have to be smarmy.

Jay Bazuzi
+1  A: 

It's perfectly normal for an intermediate-level programmer to have worked on several projects, while his first employer figured out how to use him best. So when you apply for your second job, their HR will look for the story your project history tells them. Was your first project an interesting and challenging one, but after two months you got reassigned to a smaller, boring project? Bad sign. Did your work consist of "maintained module X in project Y for two years" without any sign of you doing anything else? Bad, too.

Your CV should tell not just what you did, but what you contributed to the project. "Built a continuous integration server for project X and helped several other projects to use CI-techniques" is good. A decent HR-guy will read that as "this kid got assigned to a project and was unhappy with the way the development cycle was set up. So he found an old computer, installed some CI-framework on it and got it working. Must have been working well, because other projects seem to have liked it, too." That's usually what makes the difference between a rejection letter and an invitation to an interview.

wallenborn
+2  A: 

Be persistent. Don't be discouraged by rejection. You only need one job, so if you get rejected 95% of the time, apply for 20 jobs and you'll get 1. If you get rejected 99% of the time, you have to apply for 100 jobs before you get 1.

These days most employers take job applications by email or a web page, so it's only a modest amount of work and pretty much zero expense to send a resume. If an employer directs me to a web site where I have to fill out a long form, I don't bother unless I have high hopes for this particular job.

As you move up to more senior positions, my experience has been that getting a new job grows more difficult, because the total number of positions is smaller. In a typical company, the ratio of employees at various levels might be somthing like: 1 "head of IT", perhaps 3 or 4 division managers under him, 10 team leaders under them, and 40 front-line programmers under them. (Obviously the exact numbers changes with the total size of the organization, but I'd expect that sort of ratio.) So there are always more junior slots than senior slots. My point being: If you're discouraged now, don't worry, things will get worse!

Jay
+3  A: 

My suggestions:

  1. If you graduated from a university, some will have a section of jobs for alumni which while this does include recent grads, it can also be useful to apply through this channel in some cases. This would be how I got my first job out of university and would be my first suggestion.

  2. Recruiting firms would be another option. Is there a Robert Half International, David Aplin, S.i. Systems, TEKSystems, Inteqna, Metafore, or Sapphire, formerly called CNC Global, near you? There are other firms and sites that can also have opportunities and be a way to find some places to bump you up a notch. If you have your resume up on job sites you may get contacted from these kinds of firms, but if you aren't quite wanting to be that public about your job searching, applying in other ways can work too. Lastly, don't use too many firms and do be aware of where your resume has been sent as sometimes being applied twice can be a problem.

  3. Government job sites are another idea. I do know this is how I got my second programming job as it was on the Washington State site from a recruiting firm that I got my job at drugstore.com.

  4. Local user groups may be another way to find companies or those looking for applicants. In a way this can be like the first one in terms of limiting what you want, but could work out well.

JB King
+2  A: 

I've noticed that the vast majority of companies are trying to hire

A) Fresh out of college (or university) grads, and/or

B) Senior-level developers who have a million (or two) years of experience.

That is certainly not true.

A are those who don't need people to be productive from the beginning. You can imagine there are lots of companies who do want people who already know how to work and don't have to be treated like children.

B are those who have enough work to load seniors and pay them several times more. Not every shop need seniors and has that amount of money in salary fund.

There is a thick layer of middle-tier companies who have need for skilled people but cannot afford or do not need seniors.

If you carefully think about it, software development cannot be done exclusively be seniors and juniors. Otherwise there will be noone to actually do the real work.

So yes, middle level is huge. You'll land a job don't worry about it.

Developer Art
+2  A: 

Excel at your first job.

Alex Feinman
Why start with Office?
Michael Myers
Only by Excelling at your first job can you Access the many opportunities available to an up-and-coming digital Wordsmith.
ElectricDialect
+3  A: 

Two brief pieces of advice that I learned in my job search:

  1. Don't rule out a job because you think you are unqualified. Let the employer make that decision. If you are missing a couple of specific skills they are looking for, but feel your experience will translate well to the job, apply anyway. ( For example, they are looking for Java, but you know C++. If you are a good candidate otherwise, they may feel you can ramp up quickly on the stuff you need.)

  2. Found a good book: Programming Interviews Exposed. Yes, it is the basics, but a good refresher. I was very glad that I worked through the problems in that book. Made some of the info (linked lists, logic) pretty fresh in my mind as well as exercising skills I hadn't used in a while.

mblawrence
A: 
  1. Ace at what you currently do.
  2. Use your network.
  3. Apply for the position you want.

It's quite simple. Really.

larsm
+7  A: 

I've been a developer/independant consultant for about 20 years and have both had many jobs and interviewed many people for their jobs. Here is my 2 cents on what to look for and how to prepare.

  1. Picture what kind of job you want - Many folks don't stop to plan for their career. They just go along with their current job and decide to leave when either the job ends or they decide to move on. Then they're stuck. They need to try to match their current skillset (which probably was a subset of the stuff they were working on before) to anything they happen to see. Instead stop and think about what kind of job you want, what you want to do, what skills are necessary, etc.

  2. Develop your skills - Research/hone/create/use the talents you are targeting for your future job. After you start doing this you'll feel great. Do you want to manage people? Start mentoring coworkers as the opportunity arises. Want to manage projects? Be the guy volunteering to write the specs. Want to be a uber-techie? When the 'we can't do that' kind of things come along volunteer to somehow get it done.

  3. Only apply for jobs you want- Don't settle unless you need to (ie. unless you're out of a job). Remember you're going for that next, greatest thing.

  4. Prepare for the interview - Many folks after looking for a job and landing an interview do nothing to prepare. Look at the company. Do web searches on the company and if possible the departments/projects you'll be on. Try to lookup the folks you're interviewing with through resources like linked-in. Is there something technical that you feel like you need to be stronger in for the interview? Read up on it.

  5. Go into the interview like a doctor - When you're in the interview you'll be asked various questions to see if you're competant or not. After that, think of yourself as a doctor. When you go to the doctor the doctor should be asking you if you have any pains. Describe the pains. Does it hurt when I do this. This is what we can do to help. etc. The reason that you're being interviewed is that there is some kind of pain or opportunity that you can help with. Ask them how things are going. LISTEN. Get a feel for their problems (if any) and talk with them about how you would help or how you've helped others with similar problems in the past. Likewise if the interviewers are excited about their project, be excited with them. The goal here is to get them to talk about what they want and let them picture you helping them get there.

Hope this helps.

SOA Nerd
+1 Great first post.
Jon Seigel
#4 is great advice. I always tell people to do research on the prospective company. It always impresses them when you can mention their projects or their company executives. that always impresses them if you do your homework.
Devtron
+1  A: 

Just keep applying for jobs that look interesting to you that you know you can do. Don't be discouraged by jobs that require more experience than you have my first job out of college asked for 5-7 years of programming experience.

RHicke
+2  A: 

I would say the best way to land your second programming job is to do a hell of a job on your first. This way you'll build contacts within the company you're in and have something to show once you leave. This happened to me, I was an intern and they offered me a full time job once I was done with it.

Money is almost always the issue, but if you ask me I would rather work in a company that has fun projects (with at least a 10/12 on the Joel Test) and pays me enough to survive (this includes: video games, movies, food, rent, 7Mbps Internet Connection, electric bill, water, gas [ordered by priority], new computer when I need one) than to work for a company that pays me a lot (enough to buy a jet maybe) but has the most boring projects ever which don't use any source control, they are still using Windows 3.x as their main OS and NotePad is their weapon of choice. At the end of the day if you're good enough they're not going to let you go without a fight, they'll offer you more stuff, more responsabilities and all that fun stuff you're looking for in a job.

Then again, I'm fresh out of college and you could say I still belive in the perfect software company where programmers run wild, write great software and their commit messages are descriptive.

pgmura
A: 

Build your network on linkedin and get recommendations from colleagues on linkedin. A lot of companies hire from linkedin these days. Also you can have friends provide introductions to companies you want to work at.

Ryan K
A: 

Alot of people don't like them but recruitment agencies can be very helpful.

A: 
Dave