If you are young, it doesn't take much at all.I don't mind hiring a mostly inexperienced junior with a drive to succeed if they are young and love to learn. I like these individuals because they can learn the way my team works by following the ropes of my more senior developers. You'll grow in knowledge and skill much faster once you are employed with a team.
To me, the most important thing is to prove your passion and your domain knowledge because of this passion. I want to see that it's more than a hobby and day job. You must stand out from the crowd and a have a unique perspective on the world.
Now what experience must you possess for me to hire you?
1. You must show where you contributed to an existing codebase. Find an exciting project to you on github or somewhere and add to it. Prove that you can read and work with someone else's code.you want to get hired? This showcases that you can work in a managed code base that others contribute to. It also shows that you know how to work with standards, aren't a cowboy developer and don't try to recreate the wheel when it's already done.
2. Contributing to projects is important but it's also cool to see an application you made yourself. This gives an insight into how you would go about building a project. Do you existing resources to be efficient like jquery. Do you try to build it all yourself. Where does it break and what happens when it does. How do you put the pieces together to make a completed puzzle.
Having a nice application to check out really sets a good resume apart for a junior. It doesn't have to be Google. It doesn't have to be pretty. I expect a few things to be broken or not user friendly but I want to see that you know how to make something as a whole and how you did it.
3. Once you get into a interview, it's about how you think and your domain knowledge. Be expected to hear questions that you don't know the answer. We want to see you give it a try and see how you come up with a solution. It is less about having the correct answer but more about having the right way to think.
Anyone can learn to program but you must know how to think logically and solve problems. This is the most important thing. You're brain will be stretched and you will be exhausted after an interview if you did a good job. You may even feel like you completely failed but you probably have a good chance with getting the job because you proved that you are able to think and push through something to solve a problem even if you don't know where to start.
Development is about problem solving not memorizing code.
3. Prove your domain knowledge. I want to see that you study this stuff. I want to see that you are passionate about it. Read books about how to program. Listen to podcasts. Follow blogs and people on twitter. You stand out if you do have an active Twitter account that shows you love this stuff.
I can't stress how important passion is for this job as a junior developer. I want to see that you are willing to push through and stay with the job even when it gets stressful and you are doing boring work. I need to see that it's not a just a hobby or just something to pass the time and earn a paycheck.
I don't want a developer who is just looking for a job. This is especially true for a junior. I want someone whom is passionate about Making awesome applications.
How much experience do I require?
I wish I can give you a list of minimal things to know but I can't. It varies on the individual. I need you to be able to stick you into an fully operational application to maintain it and add enhancements without adding bugs or breaking. Your job is to take work off the higher developers so that they can focus on the larger projects which give you an opportunity to learn what it takes.
Anyway, I hope this overwhelming post helps you. It really is about proving your passion and problem-solving skills. Anyone can learn to program. . But I don't want to hire anyone. I want to hire someone whom is passionate and knows how to think