With an optimistic economy and increasing job opportunities, companies no longer have the pick of the litter when it comes to finding talent. Job seekers and employees have more job prospects and opportunities for growth and leadership than in years past. Thus, corporations and startups alike are fighting for the best candidates and bending over backwards to keep the ones they have. How are companies finding and keeping their best employees? Here are a few things that seem to work.

Look in the right places. Don't blast out the job posting to every talent agency, career network, job site and university. But don't keep it a secret either. You'll need to look beyond your circle of friends and colleagues, but keep the posting on sites and in networks that fit the company, its values and the position qualifications.

Look beyond the resume. Experiences is incredibly important, but so is personality, goals and capacity for growth. Certainly scan and dump resumes that have errors, don't fit the job at all or look sloppy, but consider candidates with backgrounds different than yours and others on your team. They could bring incredible insight to the company that wouldn't come from someone with X degree and Y years of experience in Z industry. Some companies use personality tests, several rounds of interviews, job shadowing and more to find the right person.

Offer more than free coffee and snacks. Those perks seem great at first and certainly attract people but serious candidates are looking for more. They want professional development opportunities, honesty about traveling opportunities and flexible schedules when it's needed. Don't simply offer the opportunity to work from home; give the team tools that make working remotely more effective and create an office space that collaborative but productive for those who do not want or need to work from outside of the office.

David Green, Founder of Sanford House, mentions "You can read all the management 'How To' books in the world but retaining people and growing your business will happen if you follow a simple idea: treat your employees the way you would want to be treated. Be a teacher; be a mentor.Bring your staff into your problem-solving, entrepreneurial world and respect their opinion. Invest in their professional growth, validate their work and take an interest in their life. Let them share in your success."

Reward great work. Give credit where credit is due and acknowledge the hard work of your team. Even if you have the smartest, most productive employees, they won't keep working for someone who doesn't openly appreciate those traits. Not every reward needs to be monetary; a genuine 'thank you' works wonders as does a public congratulations for a big milestone or successful project.

Let them learn what they want to learn. Took keep your employees from moving to another company, give them the opportunities they want within your company. If a person wants to get client relations experience, learn a new coding language or lead a project, give them the chance to do so on your team. Introduce them to people in that field; give them learning opportunities. Even if you don't offer in-office opportunities, encourage and support learning efforts outside of the office. If an employee is furthering their education or completing a certificate, allow them to leave on time for classes or meetings and ask about their progress or things they've learned and want to try in their current role.

The right people are out there and you can build a strong team quickly. It starts with honing in on what kinds of people you need on your team and then giving them the right tools to grow into those roles.