Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I have been seeing opportunities go past me for just 1 reason: not having professional industry experience. I say to many employers that I'm capable of doing the job and show them the work I've done during the academics and also several personal projects which I took extra time and effort to teach myself the new industry standard technologies.

But still, all they want is some 2-3 years experience in an industry. I'm a recent graduate with a Master's Degree in Computer science. I've been applying for quite a few jobs and most of these jobs require 2 years minimum experience.

So, I thought somebody here might give me some realistic ideas about getting some experience which can be considered professional.

Any kind of constructive comments are welcome.

share|improve this question

closed as not constructive by ChrisF Aug 6 '12 at 15:08

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

    
Intern for circus peanuts! You will get experience and if you're lucky, you can use the technology of your choice. –  Rubber Mallet Apr 13 '12 at 1:38
add comment

4 Answers

A lot of employers who advertise for "2-3 years experience" are not necessarily looking for someone who can use a particular technology (You mention Java EE), but for somebody who has acquired the kinds of soft skills which can only really be gained from working on real projects with other engineers, with real pressures, meeting real deadlines.

As cliche as it may sound, you'd probably need a disproportionately higher wealth of technical knowledge in order to offset that. My guess would be that if you knew nothing about Java EE, but had several projects to your name of some other kind (Maybe even non-programming projects), accompanied by all the mistakes and realisations which you get from working on them, you'd have a better chance at those particular jobs because many employers tend to be more interested in taking on somebody who understands the pressures & priorities, and who will be capable of learning specific technologies along the way.

--

As an example, the first project I ever worked on put me in a position where I had to work with another junior engineer with supervision from the project manager; We both developed our respective parts with no problems. Later, we went through an integration stage with the existing system, whereby we had both assumed that everything would "just work" - as it turned out, the integration ended up being extremely painful, tedious, slow, difficult, and resulted in a huge number of defects and regression issues turning up.

We also fell foul of "team process" issues, where particular steps had been overlooked resulting in a breakdown of communication between engineers and other project stakeholders - The QA testers on the project had been out of the loop, and a whole bunch of issues didn't get elevated to the project manager in time for them to be dealt with. Finally, we landed ourselves in a steep learning curve with all of the company's tools and figuring out how the existing large code-base worked.

The end-result was delay to the project, and weeks of frustrating re-work while we trawled through tens-thousands of lines of code to understand where we'd gone wrong, and iron out the unforseen problems. These are the sorts of mistakes which shape you as an engineer, and make you much better at project work. Unfortunately, nobody can really be taught this kind of experience from a book or in a classroom, it can only be learned the hard way; and really the only opportunity to do something like that is to get yourself involved with real projects.

Also, the work involved getting dirty with build scripts, installers, project tracking tools, creating documentation, etc. The whole project probably involved less than 10% time actually "creating code", with the other 90% doing all of the supporting work to make sure everything is right. This is not uncommon, but is something else which most graduates tend not to be prepared for when they first start out (Every junior who walks into their first job expecting to spend 7.5 hours a day programming always has a shock when they're asked to sit down and solve their first "difficult" problem buried somewhere among a million lines of code)

There are certainly plenty of employers out there who will take on graduates/juniors, and those employers understand the necessity of learning through mistakes (they'll likely also be more than happy to take on an engineer at a significantly lower wage than the ones who already have had several years of continued "real world" learning). It's a matter of finding the right job, and getting into the right opportunity to learn all the hard lessons for yourself.

share|improve this answer
    
Thanks and great point Ben! I understand their concern. My question is why are employers not willing to hire more junior level developers when compared to mid-senior level developers. All I'm asking for is a chance to build upon my academic and self-taught experience and to prove myself. –  Deepak Chandrashekar Apr 13 '12 at 6:55
    
@DeepakChandrashekar It's most often a matter of risk and cost for the employer. Put simply, employers expect an engineer with a few years experience to require much less supervision, able to jump in head-first to any new project with minimal support. A junior engineer may take home less money, but will drain the time of existing senior engineers/management at the company with all the extra coaching and supervision needed to get them up to speed (+time taken with mistakes etc). Many companies do take on a few junior engineers at a time, but not all companies are comfortable with high risks. –  Ben C Apr 13 '12 at 7:31
add comment

As a recent graduate, you may have resources at your school. Does your school have a job bank or something similar? Also, my first job after graduation was with one of my instructors, working on a professional research project. Even if none of them is currently employing, they may have contacts in industry who are looking for entry-level graduates.

share|improve this answer
    
Thanks for the input. Currently using university career resource. –  Deepak Chandrashekar Apr 13 '12 at 6:58
add comment

Usually companies have separate positions for New grads which dont require industry experience as such but it helps if you have experience through internships during the course of your study.

I suggest you to consider applying for such new grad positions to get the experience or through internships or doing some freelance work.

share|improve this answer
    
Thanks! Although there are new grad positions, they're few in number when compared to those which ask for experience. –  Deepak Chandrashekar Apr 13 '12 at 7:13
add comment

I'm in the same boat as you are. What I did was to apply to different jobs even though I don't have any years of experience. Most of them I failed but there are some that considered my "programming attitude" (i.e. my aptitude towards learning new things) rather than my "programming experience". I was lucky I got my current job. Then what I did (and still continuously doing) is to immerse myself into "good programming habits" and to surround myself with "good programming resources". I know there is no shortcut to success in this industry but I got to understand complex stuff faster when I "filtered out the noise". As Douglas Crockford said, "Most programming languages contain good parts and bad parts. I discovered that I could be a better programmer by using only the good parts and avoiding the bad parts... You can write better programs by relying exclusively on the good parts." (taken from JavaScript The Good Parts). I took his advice by heart and I think you should too.

Another thing is to join open source projects and programming communities (like stackoverflow). They are the best places to share knowledge and to learn at the same time. Good luck.

share|improve this answer
    
Thanks Anne! By the way, what I believe luck is - a situation when opportunity collides with an ongoing mastery/already mastered skill. Opportunities are what I'm looking for. –  Deepak Chandrashekar Apr 13 '12 at 7:12
add comment

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