I've had a nice handful of jobs in my career; eight by my count (not including my consulting business). Of those eight times that I worked for someone else, three of them I obtained without ever submitting a resume.
There was no trickery involved, or somehow bypassing the system, I simply knew someone at the company through my involvement in the local development community. In fact, almost everyone that I ever considered bringing in to a company I worked for was because I knew them through community efforts and events that we attended together.
Whenever I speak to young men and women who are just getting their start in the world of professional software development, the one piece of advice I give them is this: attend events, shake hands with people, and help in any way you can.
In this brave, new world we live in where software pervades so many aspects of our lives (software that we write, by the way), nothing replaces sitting at a table with other people in your field, sharing stories, helping other people, and perhaps sharing a few adult beverages - if you're into that sort of thing.
Not only does interacting with your peers - and being known as someone who is competent, helpful and fun to be around - help you professionally, but it helps personally as well.
Some very dear friends of mine that I've made in my 7 years in Nashville have never been a teammates of mine at a company. Taking time to spend time with men and women that share the same interests as you has a natural side effect of discovering that you want to spend time with those same people outside of a professional setting.
I've read several articles detailing how millennials struggle with social skills, especially the important ones that people building a business are looking for, and it may be hurting their ability to land a job. In my personal experiences, I have noticed that in some cases, but certainly not all, young professionals have challenges with comfortably interacting with teammates and peers.
Of course, that's always been the case. There are always socially awkward people in the world, regardless of age, but the ones who have immersed themselves in their technology seem to suffer the most - and in a slightly different way.
Many young professionals I've met are not socially awkward in the traditional sense. They don't shy away from people, get nervous, or become silent, but it seems that they struggle with how to interact. The basic human cues that people use to establish relationships are completely missed because those mental muscles were never fully developed.
Again, this is easily solved by simply exercising those muscles, and it's never too late. If you find that you're not establishing meaningful relationships with the people you meet, it will hurt your chances when looking for new opportunities, so go to meetups, hack at hackathons, help non-profits at sponsored events, go to socials that are usually sponsored by companies like Vaco.
It's not just skill
When you read articles about hiring practices, or job descriptions, only rarely do you see the hidden requirement that is just as important as having the skills required. That requirement is "we must like you". People like working with people they like. If you're going to spend the majority of your waking hours with a team of people solving hard problems, then it's critical that you all, at the very least, tolerate each other enough to grease the wheels and make the job easier.
"This candidate was uncomfortable to be in the same room with, couldn't make eye contact, and kept interrupting us, but has wicked skills, so let's send out an offer!"
- Noone Ever
So if you think that hacking 'til the wee hours 7 days a week to become a master of HBase, Angular, Pig, Grunt, Python, or Hive will guarantee you landing a job, you might want to consider taking a break, and going out at night once in a while to meet other geeks are using the same tools.
You'll learn who's hiring, who you might want to work for, and maybe make a few friends in the process.