Christian Sepulveda's Blog Archives

September 23, 2005
Guidelines for Being a Strong Job Candidate

I have interviewed a lot of people over the years. (I've hired over 50 people, interviewed hundreds, phone screened many more and read thousands of resumes.) While I don't claim to be any sort of recruiting expert, there are two things I can intelligently (as much as I can for anything else) speak of: trends in resumes / candidates and guidelines for being stronger on both.

The single most important fact to understand as a job seeker is: A prospective employer has no attention span whatsoever.

Your goal is to get the attention of the person who will actually decide to hire you and make clear why you are different from all the other candidates she comes across. Employers must sift through many resumes (there were times I would look at 100 resumes a day) and frequently cannot afford to spend a lot of time on a resume. Assume you must communicate in 10 seconds a reason that the employer should continue reading. Recruiters, internal or external, are not your target audience. While you may need get past them to reach the actual employer, never forget that your message should be targeting the actual employer.

While this sounds obvious, you are selling yourself to an employer. However, most resumes I see are not selling but reporting. Listing the details of each job, tool, language, API, or activity from your entire experience is not effective.

A general sales adage is a product should be made easy to buy, not simply easy to sell. When faced with buying something that is a "no-brainer", there is no selling. A candidate should always consider the perspective of the employer; what would make it a "no-brainer" to hire me?

There are many different approaches and considerations for how a candidate can position herself as an obvious choice. Ultimately, I think it can be summarized by two questions (from the point of view of the employer): What can this candidate do for me? How does this help me? The first question is about the results the candidate can achieve or deliver. The second is about the match of these skills for the employer's context.

The following are some guidelines for candidates:

Overall

Have a 30 second elevator pitch.
Know what your strengths are. Know what results you have achieved. What makes you special and stand out?
Know your professional goals.
What are your career plans? Where do you want to be in one year? Five years?
Have a career plan.
The goals are a strategic concern; your plan is tactical. You should be able to describe the role you want to perform, with detailed functions and responsibilities. Be able to describe an ideal work day, month, or year.
Know your strengths, weaknesses and what affects them.
More importantly than what you do well or poorly are the factors that enhance your skill set and those that detract from it. These are critical to selecting the right position.

Resume

A resume makes the first impression. It must get someone's attention immediately and should answer the two most important questions above for the employer.

1 page only. No exceptions.
I don't read 7 pages resumes; if the person can't be brief, it implies they are disorganized and cluttered. I will note one caveat to this: your resume should be one page. It is an introduction and summary. If there are details that are important to communicate, include an addendum or appendix (which should be never more than 2-3 pages) and make it clear that this is extra, not part of the resume. You can title it "Project Details" or something, but it should have it's own header and not be confused as part of the resume.
Lead with the elevator pitch.
Your 30 second elevator pitch should be communicated immediately in a "Professional Profile" or similar section.
Focus on results and achievements
When I read that a candidate was on a project that tripled company revenues, I am interested to continue reading.
Highlight technical qualifications
Do not list every three letter acronym you know, even if you are an expert. Focus on your core strengths and the technologies you want to work with or that are relevant to the employer. If you know C++ but are looking for job doing Java, don't mention you know C++.

Almost 100% of the resumes I read look the same. They all share the same subset of technical jargon references and technologies. There are many, many J2EE, .NET, C++, etc. developers. It is almost impossible to differentiate yourself in this category. Though a technical profile is obligatory, as a technical worker, it should be brief and contain highlights. I suggest putting it at the end of the resume.

The technical profile of a resume is the source of the largest mistakes in candidate positioning, so I will babble and rant about this a bit. I think the reason for these mistakes are:

  • technical people focus on technology
  • many recruiters encourage listing all your technical experience
  • employers may screen based on the content of technical profile

The first point is probably pretty obvious and I won't discuss it. The second is also common, though I discourage it. The last reason is the most significant: frequently resumes are so poor (or there are so many) that employers have little choice than to screen based on technical profiles. However, I think there are a few mistakes being made here. First, candidates try to keep as many options open as possible and this actually hurts them. Few people are experts in the large lists of technologies, languages and tools commonly listed on resumes. Even if you are, simplify. For example, if you've worked with many Web Service / SOAP technologies, write in your technical profile something like "SOAP / Web Services expert (worked with Axis, WebMethods, BlueTitan ...) instead of listing the 20 different Web Service related frameworks you know. Alternatively, if your goal is to work on web services, only list the web service frameworks you know and omit the other items such as object relational mappers, databases, etc.

Listing too many elements in a technical profile has the risk of implying indecision and insecurity. Don't list technologies you don't really want to work with. Also, a candidate that doesn't care what technologies they work with (when they are listing many, unrelated technologies) seems to have little career focus. Finally, it may convey insecurity in the candidate; it can make a candidate look desperate and thus undesirable. Less is more.

Phone Screens

In over 90% of the phone screens that I do, I know if I will pursue a candidate in the first two minutes of the phone screen. A phone screen is intended to serve answer one question: Should I invest the time to formally interview this candidate? Formal interviews are generally very expensive to conduct and therefore most organizations don't do them lightly. There are a few things to keep in mind at this point.

Research the company
I hope this is obvious, but it amazes me how many people do not do this. Look at the companies website, competitor websites and industry websites for the employer. Learn as much as you can.
Be prepared
Know your own experience well, such that you can communicate succinctly. Learn how to be brief and focus on highlights. Interviewers will ask follow-up questions when interested and will appreciate brevity. Also, give thought to typical questions and know your answers. Such questions include: Why are you looking for a job? What is the ideal job, role, organization? What is the most important thing I should know about you as a candidate? Tell me about an interesting technical or team challenge and how you resolved it. What was the best project your were on? Worst? Why?
Interview the employer organization
You should look as closely at the employer company as they are looking at you. Good candidates take their professional development very seriously and are engaged in knowing about the company, its culture, its business model, future, history, etc.

If you are looking to work for me...

This entire blog entry is biased about making a candidate attractive to me, as an employer, but there are a few other items of note:

Communication Skills are Key
Being able to communicate clearly, effectively and succinctly is critical. It is vital to working in an agile environment and poor communication is one of the core reasons I don't pursue candidates.
Must be a Team Player
Agile Processes emphasize collaboration. You must thrive in a team environment.
Be Honest
I generally know when a candidate is weak in a particularly area, unsure or blatantly lying. I prefer and respect an honest and direct "I don't know" rather than trying to dance around ignorance.
Be Committed to Projects
I am looking for people who will take ownership of the result and do what they can to achieve it. I want candidates who take the outcome as a personal reflection of their abilities and work ethic. I don't ask for late nights or weekends but respect people who sacrifice when they need to make sure something is done.

Conclusion

Employers hire people, not cogs. A candidate should never forget that an employer is investing in a person and should do everything they can to position their value as an individual to an organization. If you are seen as just a Java developer who knows SOAP, you are easily replaced. Great employees, however, are assets to companies and rare.

Posted by csepulv at 05:53 PM | Comments (6)


September 02, 2005
The Importance of Iterations in Bridging the Market / Application Gap

In a recent blog post I discussed the "Market / Application Gap." In order for a software product to succeed, it must align with the user's needs. The faster an organization can bridge the gap between the market and the actual application, the greater its competitive advantage and its opportunity for success.

At the start of a project, some effort is given to requirements discovery and this effort varies with software methodology. From here requirements are communicated to engineers who in turn produce an application that reflects the requirement. With agile software development there is an emphasis on taking action as early as possible; waterfall tends to focus on a more complete sets of requirements, designs and test plans (read: more time). With my "Market / Application Gap" diagram in mind, the process looks something like this (order of events, with respect to information flow / deliverables, are numbered):

This cycle represents an iteration: from requirements to delivery of an application. While much has been discussed about the iterative nature of agile development, the truth is that every software process uses iterations. The only question is the length of the iteration. An agile project might have an iteration length of weeks to months; waterfall can have iterations that last years. (Remember, I am defining an iteration in this context as the delivery of an application to the end user.)

At the end of an iteration, the overall gap between the market and the application either grows or shrinks. If you have an iteration cycle of a few months (at most), you can recover if you missed the needs of your market. When you have an iteration cycle of years, you may not get a second chance if you missed the mark. This is one of the core reasons why agile development makes more sense than waterfall: from a risk management point of view it is foolish to take a "big bang" approach where you have few opportunities to satisfy your market.

If the goal is to close the gap between the related participants in the "Market / Application Gap", the quicker you can complete an iteration, the quicker you possibly close the gap. Many successful software products simply work the way users expect; unless you're omnipotent, this requires some trial and error and probably some mistakes. Users will tolerate some mistakes, but won't wait around long. Long iterations can result in a lost audience, which spells doom for commercial software. In my years of software development, I've seen a variety of software processes, many of which claim to encourage iterations and quick feedback. Agile Software Development is the only approach I've seen deliver on this promise in actual practice.

Posted by csepulv at 03:26 PM | Comments (0)