During my early years in the computer software industry, I worked in a number of jobs in both the US and abroad. Some of the groups I worked in were more successful than others. So when I was put in a position to build a software group of my own, I had already formed opinions about what made engineering groups successful. Since that first time I built a software group, I have had hire/fire/review responsibilities in a number of jobs in computer companies. I also ran a small computer software business for 14 years and occasionally hired help.
The two things that I looked for when hiring employees were:
- Intelligent people who could learn new things as required.
- People who fit well with the rest of the group.
- Intelligent people who had experience in the area they were going to work in.
- People who fit well with the rest of the group.
Hiring Intelligent People
You'll note that the only difference in my hiring was that for an employee, who would presumably be with me for years, I was willing to let the person spend a few weeks learning the particular skills necessary to do the job whereas for a consultant, who would presumably be with me for a short time, I didn't want to pay for the learning curve.
I am a strong believer that having the ability to learn quickly is much more important than knowing a particular programming language, development environment or application area. Each of those things will change over time so the ability to learn quickly is vital in the software business. But there's also a funny thing about new technologies that come along. They almost always have a lot of similarities with earlier technologies. I believe that is because good engineering principles tend to be rediscovered and reproduced in new environments. So if someone understands engineering, they will usually be able to learn new technologies quickly.
People Who Fit with the Rest of the Group
I once worked for a manager who rarely spoke with candidates about technical topics for more than a few minutes. The exception was if he was concerned about their abilities. After he got a sense of their technical savvy, he talked to them about other things. There was one person he hired who was from Oregon. The hiring manager had never been to Oregon but thought it sounded like an interesting place. He talked with someone else about cheese. This manager had the most productive section I have ever worked in. His groups were very cohesive, had low turnover, high productivity and high product quality.
Cohesive groups have lots of benefits for success and productivity. Cohesive groups are made up of people who: work well together; want to stay together because they enjoy working together and enjoy their mutual success; and, are comfortable admitting that they don't know everything and show it by asking colleagues for help or advice. As a manager, I was always very reluctant to bring someone into the group, even a short-term consultant, who could disrupt group cohesion.
I always told groups I managed that, barring a very unusual circumstance, at least one other person from the group would interview every candidate. In the years that I was a hiring manager, I never encountered a situation in which at least one other person from the group did not interview a candidate.
Hiring Then Conclusion
I don't think my hiring practices were that unusual in "the old days" when it was assumed that a person would quickly learn what they needed to know and that the ability to learn was generally more important that possessing a particular skill.
That seems to have changed today and I'll discuss that in the next section of this article "Hiring Now." Since I believe that hiring practices have gone seriously awry, I'll finish the article in the final part "What I Believe Is Really Happening."
In the mid-90s, I was looking for a senior software architect/lead developer for a group I had just taken over. I spoke with a recruiter from an outside agency and told him that I wanted someone very senior. He said, "You mean someone with 5-7 years?" I answered, "No. Someone with 15-20 years of experience." He was surprised and told me that I was the first hiring manager he had spoken with who would consider someone that senior--by which he meant old.
About a year ago, I spoke with a recruiter who told me the company she was recruiting for was looking for someone who could "hit the ground running." I asked how long they had been looking for that person and she told me about 6 months. I asked her if they wanted this person to stay with the company for a number of years and she said yes. Then I asked if they might consider hiring someone with a good background who might take a few weeks to get up to speed and she repeated that they wanted someone who could "hit the ground running." It makes no sense to me that a company would take an extended period to look for someone when someone with a good background and a reasonable experience level could pick up the necessary skills in short order.
I have been unsuccessfully looking for work for a few years. During that time, I have done a variety of things. At one point, I was doing some recruiting of software people for a friend's recruiting company. I found a client company that was looking for a person to work in their field organization. Their job description had a laundry list of skills. I asked the recruiter which ones were the most important and she told me all of them. I asked if I might speak with the hiring manager to get a better feel for what was important to him in the people he was seeking and was told that I could not bother him. So I sent a batch of resumes of people who met most of their requirements to see what they would say. The feedback on one person was that they didn't have a Unix background. I said that their requirements said that either Windows or Unix would be ok. The response was that Unix was what was important. I asked again about what was more important in some other areas and was again told that everything was important--and that I still couldn't speak with the hiring manager. Eventually, I was able to speak with the hiring manager who told me what was important and what was not--which didn't match the job description I had been given. The internal recruiter was eliminating people based on a invalid position description. Moreover, she didn't understand the words in either the position description or the resumes she was looking at.
One of my sisters has been a software recruiter for 25 years. She sees more and more recruiters who either have no experience in the software industry or have some experience but don't understand what they read in a resume. I believe that the situation is worse than that though. A lot of companies are now screening resumes by having computer programs scan resumes for keywords. So if an applicant uses a different word for something, they are eliminated even if they have the skill box checked.
This is all going on when companies are claiming that they cannot find qualified engineers. I believe that there has become a fundamental error in mistaking skills for qualifications.
Hiring Now Conclusion
As I have indicated, I think that current hiring practices have gone seriously awry. I believe that is bad for companies, employees and the country. It saps companies of skilled and experienced employees. It damages people who are unable to find meaningful work. It also damages the country in many ways including making engineering an unattractive profession for people trying to pick a career path.
Of course I could be wrong, but I believe that the main problems faced by experienced engineers today are: employers mistaking skills for qualifications, companies driving down salaries and age discrimination.
Mistaking Skills for Qualifications
As a hiring manager, I looked for people who had good engineering backgrounds. If I was recruiting for mid- to senior level positions, I looked for experience in more than one technological environment and not necessarily the one we were working in.
It seems to me that hiring has become focused on a particular skill set rather than a solid background. It's kind of like telling a writer that he is not qualified to write because he used WordPerfect rather than Microsoft Word. A writer is a writer because he or she knows how to write, not because of the tool used to do the writing. Similarly, an engineer is qualified because he or she knows how to design and build something, not because of the tool used to do the building--which is only part of the job anyway.
Radio interviewers try to delicately ask out of work engineers with 10 or more years of experience whether their problem might that they're unqualified. I wonder if their radio station changed the kind of recording devices they used (say from tape recorders to CD recorders) if they would consider themselves or their production people to be unqualified. Technology changes, but the underlying skills to do the job don't. Learning new technologies is not that big a deal--especially if someone has already worked in a number of different technological environments.
Driving Down Salaries
A few years ago, I learned that venture firms in the Boston area were refusing to fund companies that did not send their software development offshore. I always wondered, when all of the intellectual capital was overseas, what made the company a Boston-based company. I understand that with the large number of offshore development failures that some venture firms have changed their position on funding start-ups.
Somehow the notion took hold that American software engineers were inferior to foreign software engineers--especially Indian engineers. As experience has shown over time, that is nonsense. The best engineers from overseas are as good as the best American engineers. But the fact of the matter is that most projects are worked on by a more average caliber of engineer-who are no better and may not be as good as an average American engineer. My understanding is that American engineers tend to have a broader background than their counterparts who come from low wage countries.
Age Discrimination
When I was recruiting, one of my colleagues said that "any Java developer who wanted to work could find work." I asked him whether that was really true or if what he really meant was that "any Java developer under 40 who wanted to work could find work." He thought for a minute and then said, "under 30."
During my job hunt, I have run into a few examples of blatant age discrimination. In one case, I was interviewing for a position as a team lead for a C++ development group. In the end, they told me that they wanted someone who would grow into that position rather than someone who had already been in that role. Another time a recruiter actually told me that they wanted someone younger. Of course, this is illegal, but it's neither practical nor desirable to do anything about it.
Sometimes there could be an assumption that a more senior person will be more expensive. But even when a candidate expresses willingness to work for the offered salary, there is often still no offer forthcoming.
I have a friend who won PC Magazine's Technical Excellence Award. His office has shelves and shelves of books on the latest hot button technologies--up to two years ago. He is one of the best engineers I know. He has not been able to find work for a number of years. Two years ago, he quit following the latest technology trends in detail. His comment is, "Nobody wants us. We're dinosaurs."
About a year ago, PBS news brought a number of middle aged, out of work engineers together. The interviewer posed the question about them going back to school because their qualifications were out of date. One of the people said that he had gotten a second master's degree (I believe from MIT) and was still unable to find work. The other engineers had similar stories.
Recently, I met a former software engineer who described himself as a "hard core programmer." He told me that when he turned 60, his department had a little party for him. Unfortunately, 3 months later he became the only member of his department to be laid off. He was unable to find another job and has left the computer business. Needless to say, his income is now a fraction of what it was.
There is a lot of hand-wringing going on about America not producing enough engineers. I can't imagine why someone would want to become an engineer in today's climate. In today's climate, when an engineer reaches a sufficiently senior position, there is a reasonable chance that he will eventually become unemployable.
Before there is any chance at all of making engineering a desirable field again, it is necessary for people to feel that there is a good career path and a good future in it.
There is a lot of talk about requiring people to work more years since we are all living longer. I always wonder when I hear that, "Work at what?" Given the way the world works now, there is no reason to believe that someone working as an engineer would be able to find meaningful work for either the extra work years or even the end of their normal working life.
This is a societal problem that I'm sure is replicated in other industries--both blue and white collar. Unfortunately, none of our political leaders of either party seems to be addressing the issue. This cannot be good for our country.