Featured Post

Game Analytics - Big Data And Business Intelligence(BI)

Games generate more data then an average application because of the game state machine . Terabytes  of data can be accumulated in a short pe...

Tuesday, October 21, 2008

Engineering Managers as Hiring Managers

In these challenging economic times you might be thinking about activities other then hiring. However, in many ways this is the best of times for companies looking for talent. Even if you are downsizing you most likely still need qualified individuals to maintain your operation and to grow the business. Downsizing itself could lead to highly skilled people leaving your company. Engineering managers need to always be on the look out for qualified people and ready to close them when they become available.

Engineering managers face special recruiting challenges. Technical people are usually more interested in managing technology, creating services and products then managing the hiring process. Despite this, all departments need talent. In engineering, the need to identify candidates with very specific skill sets is ever present. Engineering teams always seem to be under extreme pressure to get changes on the site or products out the door. Recruiting and hiring engineering talent is a never ending organizational commitment.

Surprisingly success in hiring engineering talent starts well before a single job description is created or an interviewed scheduled. When crafting an architecture and platform for your product and site the development team should think about how hard or easy will it be to recruit people to work in the environment you are creating. What is the culture of the company and how is that going to impact your ability to attract talent. Where are you located? What is the target audience of your product or service?

Language/Platform/Database/Hardware: The coding language, platform, database, framework, hardware you select will make it easy or hard for you to attract talent to your company.

Be careful about using a language and environment that is dated and has lost ground to newer environments. For instance, you might be inclined to use native C as a coding language because of its performance characteristics. You may use a special messaging system like CORBA because it integrates well with C and you have used it before. You also may want to reconsider this decision and begin exploring the availability of people that understand these environments and if they do are they really interested in working with this code base.

The latest really hot, cool language and environment can also pose its own challenges. Sure Ruby on Rails and Javascript/Python are all the rage. However, if everyone is looking for the same talent then you might have a real problem after you get the first prototype up and running. Before you make the plunge into the latest and greatest do some exploration of the market and see if these people are out there and would they be interested in joining your company.

Company Culture: Companies all have unique cultures born out the the ideals of the founders, the product and service they are developing, the location they are in and the customers that they have or intend to sell their product too. Your culture could be your greatest asset or worse enemy when recruiting. People are very interested and concerned about the environment they are going to spend most of their time in. You need to ask the question how broad based is your company culture? Will it attract people and talent from a number of different backgrounds or is it very narrowly defined limiting you reach and ability to hire. These are very difficult questions to ask of an organization. Companies have a tendency to want to think of themselves as being very unique. That is great if the uniqueness takes into consideration embracing people from a variety backgrounds. It is not so great if your cultural screening process results in a severely limited pool of candidates.

Development Process: The process you employee to develop products is becoming more important for an individuals career advancement. You need to have a good answer for your candidates. Are you Agile, are you a hybrid of RUP. Do you use content management and rapid prototyping for some parts of your system? How does the development process fit the business model? A candidate wants to believe that when he or she puts this on their resume it will be recognized and has career advancement potential.

Location, Location, Location: It is true for real estate and is is true for hiring. Where you are located makes a big difference on who is going to work for you. Sure the Bay Area is a great address. It represents the latest and greatest and the best and the brightest. However, there are lot's of companies looking for talent in the Bay Area. What is different about you? There are great technology centers elsewhere that could also have good talent pools and do not have the extreme competition for talent.

Location becomes very important when gas prices are high and traffic is intense. Are you near any mass transit line such as buses, trains or even the airport? People are starting to realize a location that contributes to lower cost commuting options becomes a benefit similar to health care.

We Only Want Rock Stars: Well the thought is good but practically speaking not achievable. I strongly suggest that you do not predicate the success of your company on the acquisition of all rock star developers. If you think about it, it is unrealistic to assume that everyone you hire is going to be a rock star. There are so many rock stars in the universe. Also, are you sure you want a lot of these in your organization. Rock stars historically are hard to manage. They frequently manage you and dictate the direction of certain aspects of the platform and technology. What you really want is a rock star here and there to drive your architecture and some thorny aspects of your setup and platform. You want the rest of your people to be good talented people that work hard and are good communicators and collaborators. That is what makes a good team. These people are also hard to find but there are more of them.

The Interview Quiz: Many engineers and engineering managers will create a test for new candidates. These questions are usually specific to a programming language, framework or the DB, etc. These are great and will give you a good idea if the candidate can work within your specific development environment. However, if you are looking at a candidate that is transitioning from one environment to another these questions are not going to help you. In these situations you might want to create more general questions focused on object oriented programming, build and deploy strategies and general web programming. What you really want to know is how smart is this person. Given a situation where he or she does not know the environment or has to solve a problem for the first time how will they handle it. In a fast moving start up you are always confronted with problems and technologies you have not experienced. How will this person adapt to these scenarios. Even for the person that answers your platform questions cold should be thrown some curve balls. You want to hire versatile and creative people that can deal with problems as they arise.

Team Dynamics: An engineer may be smart and know your platform well and still fail in the position. Why is that? Every team has a unique dynamic. Is your team highly collaborative? Is it a shop where every developer stays in there cubicle for days on end and then comes up for air after a build? How much interaction occurs between the development team and other department? Does this developer actually have to communicate and collaborate with people from other disciplines? What is the stress level in your group? How does the developer handle stress? What kind of hours do you expect this person to work? How flexible is your organization? How important is face time in the organization? One of the best ways to ferret out some these esoteric issues is to have a group interview with the candidate. Throw them into the group dynamic and see how they react. Also expose them to people from other departments. See what they think about the candidate.

Once you have this establsihed early the ground work for the candidates it is time to go and find them.

Friends and Close Associates: This is old school and a great place to start. The advantage is that these people are know entities, you do not have to pay for them and most likely a cultural fit for you organization. However, this pool of candidates runs out quickly. You only have so many really good friends. The downside is that having friends in your organization can be challenging when the company is facing real issues. What happens if you have to fire your best friend. Not a pleasant experience. Professional distance can sometimes be a good thing.

The Job Boards: Craig's List, Yahoo and others are a great places to get really cheap public exposure for your position. Craig's List in particular targets geographic areas. These are low hanging fruit. The advantage to these online services is that you will not be bombarded by ads to use their services. Tell the candidates how easy it is to get to your company, how great you are and all the fun things you do. Talk about the development process you have. Developers are keen to know what environment they are going to work on. Then give them all the technical requirements. Hopefully, your development platform has a catch or two in it to get the development community excited.

Online Recruiting Sites: I am talking HotJobs, Monster, TheLadder, etc. These companies act like a recruiter without any human contact. They have a large number of people posting their resumes. It takes a lot of work to find the person you want on these sites and it does cost money. I personally have not had great luck with them but this all depends on the talent you are looking for.

Linkedin: This site stands on its own and is the granddaddy of social network meets career contacts and advancement. There is not really anything quite like it. It continues to grow and is now adding other recruiting sites to its job searches. This is is real must because it is a "trusted" location to put professional information, seriously post jobs and look for jobs. You can do all kinds of research on the company and the people connected to the company.

Other Online Postings: Tech Crunch comes to mind but there are other online communication vehicle that also serve to post jobs and information about your company. Do not under estimate the power of distribution and eyeballs. These sites are popping up all the time. They need and want content to legitimize themselves. Your listings are a good source of content.

Conferences and Meetups: Get your company out there and be recognized. It is jungle out there with many companies looking for talent. You need to be visible. In San Francisco and San Jose they have the High Tech Meetups. There are also loads of conferences that would love to have you make a short presentation. Most of these events post you video to the net and create a min web site for you.

The Social Networks: This is a tough one believe it or not because the Facebooks, Bebo's Hi5's MySpace's and Twitter's are not really a place to be presenting your technical professional openings. Often these properties are used to establish one's personal identity and to communicate with people on a personal level. People generally do not like to mix career and personal identities. However, they are places to connect with all of your friends and friends of friends to at least inform then you are personally looking for talent. However, be careful how you pitch it you do not want to alienate anyone.

The Recruiter: Yes in this day and age of online properties and searches you are most likely going to need a real recruiter if your business is growing rapidly. The new age recruiters are using sophisticated online sourcing tools to find candidates, professional online networks, offline local networks and exploiting contacts with existing and preexisting clients. You are not going to compete with this. You need their help. All recruiters are not created equal. There is a wide range of types, specialists, personalities and recruiting organizations. No matter which one type you pick you need to find an individual or firm that is really going to get to know your business, culture, priorities and eccentricities. There is an advantage to actually interacting with a human being as opposed to a machine. There is no substitute for this yet.

I have worked with many recruiters in my time and have my own bias and prejudices. I like recruiters that dig in and really get to know the technical details of the platform, the personalities of the developers and managers and become familiar with the business model and competitors. You want someone that does their homework and is committed to not just showing you resumes. Get some references on your recruiter. They will become a real promoter and champion for you company. Make sure you get along with the recruiter, have a good rapport and good communication. Pick a recruiter that has recruiter for people like the people you are looking for. They will most likely have people in their stable that they can call on immediately. Most recruiters are not techies. So be careful about discounting one because they are not as fluent as you are in tech speak. They are communicators and sales people. If a recruiter believes in you and your team they will go a long way to sell your company. Make sure that get the import details and points. Tell them what companies are most likely to have your candidates. Keep tabs on them and make sure they are focused on your openings.

Good Luck finding talent and growing your company!!! Share your comments, experiences and successes with the rest of us.


armageddonsaviour said...

That was well researched
Nice Experience documented

Kevin Flood said...

I have received some great response from seasoned Engineering Managers. Clearly, the management side of technology has been understated and in some cases not clearly understood as a critical part of the success of technology teams. Managing engineers is a unique challenge.