Backround: I am currently a Junior in college working towards a degree in MIS. I've been interning with a compnay for a 3 summers and a winter break in there. With only 11 months to go before I start marketing myself to potential employers I've decided to teach myself as much as possible about languages and platforms that are currently in high demand.

My school offers job placement, but I've heard stories where it doesn't work out so well for applicants. Its this reason I've started doing searches for jobs online - Dice, Monster, CareerBuilder, etc. It seems that the only jobs I can find reequire at least up to 5 years experience. I also know not every requirement needs to be exact.

Situation: Although I've not been in the field for 5 years, I would like to assure employers that I'd be able to keep up with someone who was. Experience is critical to self-development but I need somewhere to gain that experience. If you were an employer looking for someone with 5+ years experience, what would you expect them to know? How can you tell a 2 year from a 5 year besides a resume?

I know this question is very general and it could apply to many different levels. I'm mainly concerned with programming languages such as C#, Java, etc. I won't be an expert on either but I want to know what I can at least set as a goal?

EDIT: I found this website that explains the progression of skills that I though gave me an idea of where I stand. I know it doesn't specify years like I asked but it was helpful nonetheless.


Usually if someone says 5+ years of experience, they actually mean it.

It takes time to get the experience necessary make some decisions with a level of confidence. 5 years is a mid level to senior position and should not be considered entry level (unless the job poster has no idea about job requirements of programmers, which definitely happens - like "5 years experience developing for iOS devices"). If you're to show them that you can keep up with the 5+ year people with having the equivalent of 2 years, then I would suggest showing adequate side projects and community activity (user groups, giving talks, etc), that can hopefully compensate for the difference.

Here's a couple of things that will help you:

  • Find and join your local user group (if there's not one, start one!) - User groups are a great way to meet other developers and better your craft. Most of all, you can network with potential employers and will gain connections to the teams you will potentially work with someday. Many local consulting firms and IT departments (including me) will search for new candidates at the user group first. Anyone who takes their time to come to these monthly obviously cares about what they do and will likely produce quality work.
  • Do freelance work on the side - Find family members and friends who have businesses or a local charity organization that doesn't have an IT budget or a website (trust me, there are a TON). Build software for them, or a website at a reduced rate or even free for charities. What you want to focus on here is not necessarily making money, but creating a project that is visible to the public and that you can point to on a resume. This self-starter experience is huge early on and will give you an edge.
|improve this answer|||||
  • 2
    Valid perspective, so no downvote. I disagree. User groups help certainly, but companies need to develop a good interview process. Have developers write code, ask good non-trivia questions related to their background and expected job functions. Just see if the developers can communicate with one another on the same level. There's no shortcuts to getting a good feel for a person through the interview process. – P.Brian.Mackey Jul 22 '11 at 18:15
  • I agree with you more, actually. I think my suggestions are more geared toward getting the interview, and not necessarily getting through the interview. Usually if you don't have the number necessary, you don't get an interview at all, and user groups get your foot in the door. To your point, though, that doesn't get them past the same interview anyone else would hit, though, they just get first dibs if equal to someone else or get an opportunity to interview even if they don't have the year numbers yet. – Ryan Hayes Jul 22 '11 at 18:19
  • May I ask what is a local user group? What kind of websites/webapps do their members use? Any guide on how to create one? – vemv Jul 25 '11 at 14:35
  • 1
    @vemv: It's a monthly meetup/gathering of people who are interested in the same topic, like programming. About 20 other developers and I meet once per month at a local restaurant's meeting room and eat pizza and listen to one of us or an outside speaker give a presentation on a topic, like design patterns. I go to a couple user groups. One uses meetup.com. The other uses a simple wordpress site. communitymegaphone.com is another site that has a big list of user groups and events that are searchable by location. – Ryan Hayes Jul 25 '11 at 17:44
  • The groups you can find on Meetup look really cool and make me wish to live in a bigger city haha. Thanks for the answer! – vemv Jul 25 '11 at 19:06

I would expect someone with 5yrs of experience to have experienced many different problems, solutions, design patterns, architectures, technologies, etc. There really is no substitute for experience. It's not something you can learn from a book or online.

Programming is too broad of a concept to know everything. The best you can do is experience as much as possible and do your best to understand what you come across.

That's not to say you can't apply for these positions. Just make it clear that you don't have the requested experience, but you DO understand the technology they are looking to hire you for. Show previous work in these technologies, and demonstrate that you understand the technology and the major design patterns that are used with it.

I've heard it before and I'll say it again, X years means nothing if it's just 1 yr repeated X times.

|improve this answer|||||
  • The last statement is especially true. I have been in web development for 5 years, but I have been stuck in a rut doing what I feel is "second year work" for one company for two and a half years. Going through the motions is not how you move ahead. – Chris C Nov 7 '11 at 21:18

Although I've not been in the field for 5 years, I would like to assure employers that I'd be able to keep up with someone who was. Experience is critical to self-development but I need somewhere to gain that experience. If you were an employer looking for someone with 5+ years experience, what would you expect them to know? How can you tell a 2 year from a 5 year besides a resume?

While I could appreciate the attitude, understand that you may be going at this in the wrong way. Some companies may want to find developers with little experience but not do a lot of work to find them. Thus, they may recruit from local post-secondary institutions or use professional organizations to find people more easily than going to Dice or Monster. Consider building your network and knowing your niche. What are the kinds of things you do well? Where are your strengths?

The jobs wanting 5 years experience are likely those where the company doesn't want to have to deal with those formative years where one may have more than a few baptism by fire situations that help mold someone into the person they are. There may be more than a few jobs out there that require little experience but you may not find them publicly broadcast where a company is paying big bucks to job board sites. Ask the Headhunter would be my suggestion for where to go to get ideas though JobHuntersBible.com also has various ideas and resources.

|improve this answer|||||

First of all, don't let it keep you from applying. Our department was looking to hire experienced engineers and ended up hiring two new grads, because we couldn't find anyone. They are working out very well so far.

That being said, experience is a very different thing from knowledge or aptitude. There are a lot of mistakes you don't make after 5 years, because you've made them all before. There are problems you will solve a lot faster and with less assistance, because you've seen similar ones before. That's not to say a new grad is incapable of solving the same problems, it's just that your experience level determines how much effort it will take from other people to get you up to speed.

It's also a measure of the amount of risk a company takes on that you won't work out. It's a lot easier to tell in an interview if someone with alleged 5 years of experience is bluffing about technical expertise, whereas with a new grad, we mostly are looking for aptitude and potential, and expecting to expend effort to increase your technical expertise as needed.

|improve this answer|||||

Unfortunately a lot of times when people put 5+ years experience, they don't really need someone with that much experience. But because of that 5 years experience they will just toss/filter your resume out. For example if someone is just building .NET web forms application 1 year is more than enough to learn how to do it. But 5 seems the magic number to just put down. I want a Java developer...5 years java. Also a lot of them tend to put 5 years on every technology touched. Mostly a java role, but there might be one or two python scripts in use...5 years java, 5 years python.

My first employer when I left (I was hired just out of college) put 5 years experience on every technology I touched while there. Some stuff we used once and were probably never going to use again and that even had a 5 years experience thrown on it....

On the other side, colleges generally do not teach object oriented design, design patterns, software architecture, concerns about making programs maintainable. At best there might be an elective, but in many cases there is nothing. Also the wrong job doesn't teach these skills either. Colleges will teach about polymorphism, encapsulation, etc. (not guaranteed though) but not how you apply that to get clean software designs (even books disagree ranging from use the nouns/verbs in problem descriptions, model objects based on behavior, model the domain with a domain model.....). In my graduate school they had one class on software design but the material is super outdated.

One thing you can do is to read about Design Patterns (see Head First Design Patterns to start), Object Oriented Design (see Head First Object Oriented Design, Object Thinking by David West, and Domain Driven Design by Eric Evans). But still someone with work experience applying these things will be way ahead of you. Fortunately many employers are behind the times.....

|improve this answer|||||

In my experience its Recruiters that specify X years experience and give it significant weight in regards to your overall skillet. I know developers with 20+ years experience who program .NET and don't know the first thing about object oriented development. What is important is to know what you are comfortable performing and how that relates to the position in question.

If you are confident that you can do the job, then show it. Prove that you deserve the job. Don't worry how many years they put on the job description.

|improve this answer|||||

Not the answer you're looking for? Browse other questions tagged or ask your own question.