According to conventional job-placement wisdom, high-tech professionals average seven job changes over the course of their careers. As with writing code, a successful job search requires planning, organization, innovation, and built-in flexibility.
For instance, to make a wise career decision, you need to be aware of growth areas in the industry. What markets in high tech show stability and growth? What geographic locations have a concentration of opportunities? What tools and platforms are likely to remain popular or increase in popularity? The answers to these questions change with time and vary depending upon your area of expertise. (A few years ago, I could not give away RF design engineers. Now that so many designs are wireless, demand for their skills exceeds supply.)
How can you stay on top of the trends? One good way is to do exactly what you are doing right nowread the better trade publications. Another tactic is to surf the Internet. You should also read the business section of newspapers for high-tech areas. Don't underestimate your personal network, either. Talk to your friends, to people in the industry whom you respect, and to professional recruiters (like me). Trade shows and seminars are also good places to learn about what is happening and to get ideas for what should come. Professional organizations like the ACM and IEEE are other great sources of information.
To find a good job, you have to know yourself and your ambitions. Ask yourself questions such as: How willing are you to take risk? Do you prefer to work alone or as part of a team? What kind of commitment are you prepared to make to your job? (Keep in mind that, realistically, most developers work anywhere from 45 to 60 hours per week.) What do you want out of a job? What direction do you want your career to take? What benefits do you need and how important are they to you?
Once you have an idea about your priorities and expectations, you will be better prepared to consider which companies and jobs may be good for you. A good, general question to ask your prospective employer is, "What would you want me to accomplish in the first six months to a year?" This sort of open-ended question usually will provide you with more than just the scope of the position.
You want to ensure that the work environment and corporate culture are to your liking. After all, you will be spending most of your waking hours at work. It is important that you like what you are doing as well as the people with whom you are working. I recently had a candidate turn down a job with very good developers at a well-respected company. He decided that he did not want to work there because the human-resources person was very aggressive and rude to him during the interview. Although he would not have been working with the HR person, he questioned the logic of a company that would place such an antagonistic individual in a position to introduce developers to the firm. Weigh these comfort factors appropriately, recognizing that situations can change rapidly either for the better or for the worse.
Another question that may help you understand the growth path and reward system of the company is, "If I meet or exceed expectations, how will my efforts be recognized?" This question touches the fringes of financial issues. It is a good idea to know the finances of the company. You can easily determine this unless the company is privately held. If the company is a start-up backed by venture capital, who are its backers? How long have your interviewers been with the company? What do they like about the company and their jobs? What do they dislike? Research the competitors of the company, but also ask the interviewer about the competition. By asking, you at least learn something about the knowledge and perceptions of the company's staff, and you may even gain a new insight into the market. At a minimum, this question will give you a chance to demonstrate that you did your homework.
Job-search methods include the standard search through the want ads in newspapers, trade publications, and Internet sites. More importantly, you should network with colleagues, alumni from your school, and recruiters. Most people hear about job opportunities through word of mouth.
Many employers post job openings online, but according to a survey conducted by Pencom Systems, managers find working with recruiters to be the most effective staffing method.
There are different types of recruiters. Most recruiters in high tech are corporate fee based. That means that you as the job seeker do not pay for their services. The recruiters work either on commission, salary, or retainer with companies that have staffing needs. Nevertheless, it is a good idea to find out up front whether the recruiter you are talking to is a candidate-fee-based recruiter or a corporate-fee-based recruiter.
As in any business, there are good and bad recruiters. Carefully select the recruiter or recruiters with whom you will work. Find someone who is knowledgeable, reputable, and with whom you are comfortable. You should consider the recruiter's qualifications. There is a professional certification process for recruiters. The Certified Personnel Consultant (CPC) is the recruiting industry's highest professional certification.
Good recruiters have industry knowledge, contacts, and access to decision makers and hiring authorities. They can save you time and protect your confidentiality. A good recruiter will prepare you for success and tailor a search to your requirements, giving you career counseling and advice.
My favorite developers are committed, curious, and love what they do. Because they know the fundamentals very well, they surprise even themselves by how quickly they can learn and how much they actually know. Elegant solutions often spring from a focused but open mind.
If you are planning your undergraduate, graduate, or post-graduate course work, make sure you have good exposure to structured development and design skills. Build upon these basics so that you have a solid understanding of communications, operating systems, and compilers. Some schools do a good job of introducing leading-edge technology while teaching the basics. Many offer courses specifically designed to teach new methodologies and give students experience with new platforms, environments, and tools. You can supplement your school's curriculum through internships or jobs that can give you practical experience with current technology.
Hands-on experience is important at every level of the corporate ladder. I rarely conduct a search (even for a VP-level position) that does not stress pertinent hands-on experience. Students can outwit the Catch-22 of needing experience to attain their first full-time jobs with carefully selected internships, part-time jobs, and summer jobs. Marianne Wisheart, associate director of the MIT Office of Career Services, suggests, "Beyond your résumé and how you present yourself when you walk into the interview, a portfolio of work or an example of a project are useful ways to show your accomplishments."
Developers already in the work force should be careful that their career path does not distance them from the technology, even if their desire is to become full-time managers. More people can manage than can code. If you really want to manage, you can set yourself apart from the average manager by keeping your technical skills current. Otherwise, in the face of shrinking management ranks, you may be ill-prepared if forced to find other work.
Last but not least, U.S. companies prefer to hire individuals who have the right to work anywhere in the United States. Talented developers all over the world approach me to find them jobs. I rarely (if ever) can help those without right-to-work status because I am able to find citizens or permanent residents with the skill set my clients desire. Most immigration attorneys can inform you regarding the various procedures required to secure sponsorship.
Your résumé is important in that it must briefly capture what you know, what you are capable of, and a bit of your personality. In the world of high-tech business, your résumé must show that you are a good investment.
Many people place too much emphasis on the physical qualities of their résumés. In the modern world of e-mail and faxes, the weight of the résumé paper or its rag content really does not matter. Your résumé should be easy to read, orderly, and technically and grammatically accurate. As a developer, you will set yourself apart from the crowd if you quantify how you made your company money, saved it money, or saved it time.
What really matters is your most current experience and level of ability. Unless you are applying for a highly specialized position, only list tools and language skills you have that will be recognizable in the general high-tech community. (A mistake many developers make is listing products, programs, or tools by names that only had meaning within their corporations.)
I like to see name, address, phone numbers, and e-mail address on the top of the résumé. If there is room, put your skill summary section at the top. I am not a proponent of the "Objective" section in most résumés. It takes up space and (at best) states the obvious. I make an exception to this guideline for people who are intending to make a career change or have a very diverse career.
Place your educational credentials at the beginning or the end of the résumé, depending upon their quality and pertinence. List your work experience chronologically, most recent first. Give the dates of duration of each job and a brief description of your contribution. At the end of the résumé, list your accomplishmentsawards, publications, patents, and the like. I prefer to see only professional accomplishments, but certain lifetime achievements that reflect well on your character are acceptable.
Keep your résumé succinct. Stay away from covers; that format is pretentious. Gimmicks with résumés rarely work. Given the volume of résumés we see in our office, I've seen quite a few efforts that go well beyond colored paper. Not long ago, we received a velvet-lined wooden box containing a résumé and a boomerang. I felt compelled to return it to the sender. Another résumé was in the form of a Monopoly-like game entitled "Bobopoly." It charted the candidate's job search process. (Bob did not pass Go or collect $200.)
Last year, our office received an 11-page résumé from a junior developer that included his picture, photos of his parents and his daughter, as well as the logo of every company with which he had had professional contact. This résumé left me with the impression that the developer needed help and liked graphics.
Whatever stage you're at in your career, I am always interested in knowing if you are an Eagle Scout or have a Girl Scout Gold Award, for example. I generally don't care a whit about your SAT scores. The scouting achievement defines character, the scores only demonstrate a past glory.
Prepare yourself for a variety of interview questions, including why you are looking for a new job. You want to be able to answer this and all other questions in a positive manner. For example, perhaps you want a new job because your boss is an ogre. In that case, you should say that you are looking for an opportunity where your contributions will be recognized and where you will be encouraged to grow. Never be negative. It is unattractive and can give the wrong impression about your general outlook and loyalty.
If anything in your background requires explanation, you should prepare that explanation. Refresh your memory regarding the details of your projects. Even reacquaint yourself with the brands and versions of tools you are using. Your answers should be short but will convey a greater command of technical material and detail if you site such specifics.
Always be completely honest. Something people try to fib about most often in the job search process is their last salary. Many companies have taken to requesting that new hires supply their W-2s or paycheck stubs from their previous employer. Embellishing compensation information is an easy way to get fired from your new job.
Be prepared to accurately provide your current salary information along with a list of references with contact information. You should make your references aware that they may be contacted. Usually, you will need three referencesreferences from someone you worked for, someone you worked with, and someone who worked for you. If you are just entering the job market, you will need to use professors and others who know your work and work ethic.
What you know is very important, but (just as your mother told you) how you behave is just as important. One of my colleagues referred an excellent engineer to a company he knew very well. After the interview, the hiring manager called my colleague to tell him how technically qualified the engineer was for the position. He enumerated and praised the skills of the gentleman, but concluded by saying that he was not going to hire him. It seems that at the end of the interview, when they were shaking hands, the manager had indicated to the engineer how pleased he was with his skill set, and how well it matched what the company wanted. The engineer was so thrilled that he hugged the manager.
Once a manager has seen your résumé, if you are appropriate for the team, the first step is typically a telephone interview (a "phone screen"). (If you are working through a recruiter, he or she will handle the scheduling for you.) This step gives both you and the company an opportunity to learn more about each other before committing time to a full-fledged interview. Telephone interviewing is a skill unto itself, but a good recruiter can coach you about how to do your best. (A few companies are beginning to use video conferencing for this step of the process.)
Use the phone interview as your own screening process to decide if you are interested in the job and the company. If there's a mutual interest, the next step is an interview, lasting anywhere from several hours to all day. Some companies will invite you for subsequent interviews, but this is becoming less common. Remember to send thank you notes to the people you met at the interviews. The notes should be short and each should be different, tailored to the conversation you had with the recipient.
Typically, a company can make a hiring decision within a day to two weeks after you have interviewed. Some companies will make an offer on the spot, but most will contact you by phone (or through your recruiter) after you have visited. Their offer is followed up in writing, usually after your verbal acceptance. Typically, companies give a day or two for you to make a decision.
The industry hiring process can differ significantly from the on-campus process. There is more variety in the job levels and job quality off-campus. Many career-services departments screen the companies who participate in the on-campus process. Off campus, the screening is ultimately up to you. Off campus, a company will also typically expect a quicker response to its offer. Some schools enforce guidelines for the companies to follow so that students can collect offers and then choose among them. Off campus, companies rarely will wait for you to collect and compare offers. They typically interview a number of candidates for a position and need to extend an offer quickly to someone else if you turn down yours. Also, they are probably in a hurry to fill the position. Likewise, they typically want to avoid entering a bidding war for your talents with other corporations.
Every year, Microsoft visits college campuses all over the United States looking to hire students. DDJ recently spoke with Susan Stoltman-Decroix, Microsoft's Campus Recruiting Manager, about the hiring process at Microsoft.
DDJ: How do students looking for a job get an interview with Microsoft?
SSD: There are two different ways. First, we encourage them to do a student internship. Those who have interned with us before considering full-time positions go through a slightly different process. They don't go through the on-campus interview process again. Sometimes, if they're interested in a position in the group they interned with, we can just extend an offer.
For those who haven't interned with us, we do a half-hour on-campus interview at X number of schools. Students at schools we don't go to can send us résumés, and if we're interested, we'll do a technical phone screen. If they do well, we fly them out to Microsoft. Within two weeks, we get back to them.
The big decision happens at the on-site interview. Did the candidate make a good impression? Did he or she show a general interest? Would the candidate be a good fit in our company?
DDJ: If you attend a university that Microsoft doesn't visit, or if you're not a student, how do you find out about opportunities at Microsoft?
SSD: We do many on-campus company presentations, we show up at career fairs. We also have a web site [http://www.microsoft.com/jobs/] where we've put a lot of information, profiles of some of our employees, and a lot of information for intern candidates, too. Also, if there are interns on campus, we encourage you to talk to them and find out more about us. In fact, that's one of the best ways to find out what it's like to work here...to talk to friends who might have worked here. As for the Web, we really did try to come up with a web site that's comprehensive and useful.
DDJ: What sort of things are you looking for at the first stage, either in the on-campus interview or the phone screen?
SSD: That the candidates know a little about Microsoft and the positions they're interested in. That they're open to questions and eagerly puzzle through the technical questions we ask and think aloud. We want to hear them think aloud so we can follow their thinking processes.
DDJ: What kinds of technical questions do you ask?
SSD: What we ask depends on the position. The question may be more design oriented, or we may ask coding problems. We try to ask relatively complex problems with nonobvious solutions.
DDJ: How important are grades? What do you look for in a candidate?
SSD: Microsoft doesn't decide whether to hire on GPA. We look more at things the students have done, past internships, projects they've worked on, any shareware or freeware they've written. We also look at the platforms and languages they're familiar with.
At Microsoft, for full-time positions, some require that kind of experience. Other jobs may not require that kind of experience, but candidates need to have good problem-solving skills. If they've done some tutoring or some lab work, those are good. You know, some students took a lot of math and physics classes and don't have a lot of intern experience, but they have good problem-solving skills and may have some lab experience or experience working with teams.
The résumé has to show an interest and passion for technology. If your résumé shows a computer science student who hasn't done anything, we're not interested.
DDJ: Half an hour isn't a lot of time for the first interview. What sort of things are you looking for during the interviews? How important are first impressions?
SSD: There's not a lot of first impressions going on. We look at thinking, the process for problem solving, and the candidate's energy and enthusiasm in approaching a problem. We're really looking at intensity.
Can the candidate talk in-depth about the things on his or her résumé? We want to see how involved they were with the activities they worked on, and whether the things on their résumés are true. We want to see how curious they are and how deep they did things. We really look for passion and a strong interest in technology in the résumés. We also like to see experience working with teams. Here at Microsoft, you're going to be working with a team, so we want to know whether you work well with teams.
I don't want to sound too parental, but the student should have a genuine interest in working for Microsoft. These students are all highly sought after. There are a lot of jobs out there for them; students applying here should really be interested in working here.
DDJ: How many people are you looking to hire every year?
SSD: We approach things person-by-person. We have enough positions available to bring as many talented people as we can find, but sometimes people aren't looking for quite the job we have available.
DDJ: Do you ask candidates for an expected salary?
SSD: In the application, there's a box that asks how much you expect to be paid. Our compensation plan isn't that straightforward. We have a stock option plan and a bonus plan.
The question gives us a sense of what they think they're worth. If we hire them, we try to match that number roughly or exceed it if we can.
DDJ: How much can new hires expect to get paid?
SSD: There's a wide range of salaries, so I wouldn't want to quote a number. For instance, former interns may have a higher range than those who have not interned for us in the past. We also distinguish between those with undergraduate and graduate degrees. Even with those with graduate degrees, if they've worked a few years before going to graduate school, we'll consider them differently as well. So I really can't state a straightforward range.
DDJ: Microsoft is a very large company, and it seems like new hires can't expect a lot of responsibility. Realistically, what is it like as a starting employee?
SSD: They will have more responsibility than they ever thought they could have. We have a lot of pretty small teams shipping products, and we have a lot of products. It's really a small company atmosphere. The size of our teams varies; for example, if you wanted to work in our interactive media department, you might be on a team of five to eight people. If you were on a systems team, you may be on a larger team, although there might be several smaller subgroups within that team. For example, you may work with a few people on testing the operating system.
When new hires come on board, we try to give them lots of responsibility. We might put them in charge of a feature, for example, and that feature is their own. They're responsible for working with the program manager from the basic algorithms to making it faster, and so on.
Microsoft has historically hired lots of people. We believe students come in with lots of energy and ideas, and that's why we hire them. We absolutely want to hear their ideas. A lot of our people in our Internet department are young and have lots of ideas, and they've really helped us out.
DDJ: You said earlier that candidates should have an idea about what they want to do at Microsoft. Should an employee change his or her mind while working there, what sort of flexibility is there for changing positions and doing different things?
SSD: One of the best parts of Microsoft is that we have all these different projects. If you manage to get through a product cycle, and you want to try something different, then more power to you. In fact, we have a team of recruiters that focus solely on moving you from one part of the company to another; they don't recruit outside of the company at all.
DDJ: Any final advice for potential candidates?
SSD: The internship experience is important. It's a smart way to learn about companies--their cultures, environments, resources. One thing about Microsoft is that we provide our employees with lots of resources. They have access to world-class talent, we provide classes to hone their skills. We give each employee an office. We believe that people need their own space to be creative, so we give them that space.