Chapter 15
In This Chapter
Getting the interview
Surviving the interview
Becoming a star employee
So you attained enough education and have built a portfolio site. You’ve had a few jobs — or you’re working on getting your first job. Coworkers (or fellow students) say good things about you. And you’re starting to get some interest for an upcoming job in web development. How do you nail it down? I describe the process in this chapter.
Then comes a time when you get the job — or you want to think a bit about the job you’re already in. How do you do the job well enough to be seen as a star, one of those 10x employees who can make or save a project? This chapter answers those questions from a web-development point of view, telling you what’s special about this process for graphics-based, coding-based, and mixed roles. With this information in hand, you’ll be ready to boost your career, in the short term and permanently.
One of the hardest and most important journeys you’ll ever undertake is the journey from sitting at your computer, looking at a job listing, to sitting in a potential employer’s office, undergoing an interview.
For coders, this journey is easier than it is for many other people. Coders continue to be in strong demand. And the use of many different, specific technologies in the field means that your chances of getting a given job can be pretty good if you have experience with the right technologies and a solid overall background
Most people are generally familiar with the process of applying for a job. Here are a few highlights of the process, specifically for web developers:
The resume: You should have a somewhat generic resume saved on your hard drive or in the cloud. For a specific job, take your generic resume and customize it to fit the position. For instance, if specific technologies or tools are required, identify the jobs where you used each one, and make sure that the technology or tool name is mentioned, with appropriate prominence, in the description for each job where you used it.
Get and keep the reviewer’s attention by rearranging the sections in your resume so your strongest qualifications or accomplishments related to the job are listed first.
If you follow these suggestions, your chances of getting an interview will improve.
The trend of companies using narrow search criteria and requiring many years of experience is part of the reason why networking is so powerful; when someone is a trusted friend and former colleague, the strict requirements of the job posting are often relaxed.
Job interviews can be stressful. Your performance has a large influence on whether you get the job — assuming, that is, that the company is truly ready to hire. If they aren’t, the job interview won’t help much.
This section shares some coding-specific tips on the interview process.
A phone screen is a usually brief phone call between you and someone representing the company doing the hiring. This representative can be the hiring manager, an internal or external recruiter, or anyone else involved in the process.
The key word to remember in the term phone screen is screen, They’re really trying to weed out candidates. If you’re interested in the job, try to get screened in, not screened out.
The person doing the phone screen is often a lower-level employee or contractor with only modest understanding of what’s needed for the position he or she is asking after. The interview’s lack of context can be a big problem for coding jobs; despite your knowledge of technical tools and programming languages, the interviewer might be looking for candidates with experience using a specific technical tool and could screen you out if you don’t have that experience. By contrast, your manager may be comfortable with your experience using similar tools and could be more than willing to give you time to train yourself for a specific tool.
Unfortunately, the one thing phone screeners don’t want to hear is a manager telling them, “You sent through people who don’t fit the job requisition.” The response means they’ve missed the point of the exercise. Coding uses many similar languages, frameworks, and tools, and it’s easy to screen out capable people by using overly specific criteria.
So be brief and positive when talking to a phone screener. If you don’t have a given requirement, give a similar alternative. “No, I don’t have a bachelor’s degree, but I do have an associate’s degree and five years of experience.” Or, “No, I have two years of Python experience, not three, but I do have Python experience and I also know SQL and Hadoop.” The screeners will usually pass on such comments to their bosses, if the comment is clear and simple enough to write down easily.
It’s good practice to follow up after a phone screen by calling the next day to ask if you’re still in the pool. You might well rise to the top of the pile as a result. You might also be given the chance to correct any negative information, an opportunity that can be invaluable.
Live interviews are fraught with potential pitfalls. You should do some research first. Here are a few coding-specific tips:
Find out if there are any “famous” interview techniques: Some tech companies are famous for posing complex problems, using a fixed set of questions, asking a particular unusual question, planting a hostile interviewer, and so on. Using a search engine enter the company’s name and the word interviews, and use the other approaches mentioned here to find out if there are any such tricks up this company’s sleeve.
Some tech companies are famous for giving hostile, lengthy, or tricky interviews. You need to find out if this is true before you interview — not only to be sure you can handle the tricky part, but also because the people interviewing you will think you didn’t do your homework if you didn’t find this out in advance. Be prepared.
Check out Glassdoor: Glassdoor (www.glassdoor.com
) has a lot of good company-specific information, especially for big, technology-oriented companies. Use this information to learn about the place you’re considering working, such as typical salaries and employee satisfaction (or dissatisfaction). Glassdoor can help prepare you for what your interviewers will think that you might think of their company, which is confusing but an important for navigating the interview successfully.
When you use Glassdoor, you may find that a few horror stories or snarky comments about the CEO stick in your mind. Do not go into the interview ready to challenge your interviewers about this. Use the negative information when choosing whether to accept a job offer, not to make yourself a hostile witness during the interview.
news.ycombinator.com
) or Quora (www.quora.com
) for your area and see what you can learn. Asking for information in an open message board can be a bit dicey, but a message like, “Hey, a friend” — you’re a friend of yourself, right? — “is thinking of taking a job at Company X. Does anyone have any info” can be productive.When it’s time to go to the actual, live interview — probably several interviews with different people — it’s easy to be nervous.
Don’t be. Interviews are first and foremost about showing your interpersonal skills. For web development jobs, interpersonal skills are considered less important than for many other jobs. Yes, they matter, but they’re not the single most important factor as they are, for instance, in a sales or customer support role. So relax.
Technical people pride themselves on dealing with things logically and rationally, and even on being able to handle a fairly high amount of conflict in support of doing the best possible job on a project. The focus on technical problem solving means that interpersonal skills are not likely to be put under the same scrutiny as technical skills.
Your technical skills will largely be assessed from your resume and any work samples you’ve shared. You may be asked technical questions during your interview, but all you can do is answer those honestly and hope your experience meets the needs of the company.
It’s also important to realize that many decisions about whether you’re going to get a job have little to do with how well you interview. Many interviews are a waste of time; the company knows that you’re not quite what it wants, and uses the interview to confirm it. Or it knows that it wants you, and uses the interview to confirm that instead. Sometimes, the company isn’t even sure if it has an opening, or the opening disappears after the interviews but before the time to make an offer.
Figure 15-2 shows an interview with an IT specialist who works for the Library of Congress. The questions and answers are a good proxy for a low-key job interview. Use this interview to practice for job interviewing. You can find it at blogs.loc.gov/law/2012/06/an-interview-with-patrick-ouellette-information-technology-specialist/
.
There are only a limited number of times when an interview makes a “yes or no” difference as to whether you get a job, and rarely does the evaluation of an interview hinge on a single question. As long as you’re friendly, positive, and honest, you’re likely to do well in an interview.
Here are a few coding-specific tips:
People in all fields often look at a new job as a kind of silver bullet. A new opportunity will make them more money, introduce them to better coworkers, let them work on the latest technologies, and on and on.
However, a new job can sometimes be like that line in the song from the famous rock group The Who: “Here comes the new boss, same as the old boss.”
The main influence on whether you are happy in any given situation is you. You’ll find lots of actual and potential difficulties at work, but over time, you have the biggest say in how things work for you.
Your attitude is especially important when it comes to becoming a 10xer — a star employee, as previously mentioned. Star employees aren’t people who will become a star in their job — they are people who are already a star in their current job.
So when you get a new job, set out to become a star employee. And if you’ve been in your current job for a while, figure out how to become a star employee there, as much as possible.
Figure 15-3 shows testimonials from customers of 10x Management, a firm that acts as a talent agency for top web development and other technical talent. You want to hear these kinds of testimonials with regards to your own work.
The three keys to becoming a star employee as a coder are be stellar at your core skill; get more technical; and learn to communicate better and earlier.
College admission to a top school is one of the most competitive arenas on Earth. In this competition, you can divide applicants into two groups: all-rounders and angular students.
All-rounders are omnicompetent, good at a whole bunch of things, such as math, English, sports, and student government. Top colleges are full of all-rounders, but here’s the secret: A lot of all-rounders get told “no” by top colleges.
Angular students, on the other hand, are good at one thing. An angular student is one of the best in the entire applicant pool at, say, chess, or calculus, or lacrosse, or writing short stories. Top colleges are also — and, perhaps, increasingly — full of angular students as well. But perhaps fewer angular students who truly excel in a niche, no matter how small it is, get told “no” by top colleges.
Just like in college admissions, all-rounders and angular applicants are going for the top coding jobs. Lots of people are good at core coding skills such as web development using HTML5, CSS, and JavaScript, or data analysis using Python, R, and SQL. Being one of these people is lucrative.
But if you’re truly expert — widely recognized or visibly outstanding — in some specific programming aspect (say, you give lectures on how to structure stylesheets in a hierarchy, or you teach introductory Python), you’re going to stand out further. You will find fewer jobs that are a good fit, but you’ll get a high percentage of the jobs for which you apply.
So, for the highest rewards, become stellar at the aspect of your work that you love most. You’ll have more fun and be more likely to have top pay and respect as well.
Most coders know a few programming languages for performing bread-and-butter tasks. But top coders stay up-to-date by learning the latest languages. Those who don’t keep learning the latest techniques and languages find themselves left behind eventually, whether after six month or sixteen years.
No matter the job, you’ll have a lot of opportunity to keep learning. For instance, JavaScript is the core skill for most graphics-based web developers. If you can be strong in basic JavaScript, which still usually requires only revising scripts you get elsewhere, you can be a threat out there in the web development job market. Going beyond basic JavaScript, it can be useful to know some of the latest JavaScript frameworks such as Angular, Ember, or React. These frameworks make it possible to create even more complex web pages and experiences and are in demand by certain companies.
Going beyond JavaScript, knowing Python or SQL, among others, can be useful. These languages get you thinking about how your website interacts with the databases that drive more and more of what happens on the web and in mobile apps as well.
After you gain technical skills, find ways to get recognition for them. Courses, certificate programs, and projects where you’re the lead for coding work are all ways to get this recognition.
Then assess where you want to grow. You may want to be the best front-end developer you know who also knows how to handle database access — or the best Python programmer you know who’s also skilled at graphics.
The biggest single frustration that managers at all levels have with coders is that managers don’t know most of what they need to know. They don’t know what a website is going to look like when the project is signed off. They don’t know whether all the promised features will be there. They don’t know whether the schedule will be met or how big the schedule overshoot will be. And they don’t know whether the site will be relatively bug-free, especially in the vital area of data security.
The odd thing is, if developers on a project felt that they could be honest, they could probably answer many of these questions much earlier in the game. Management might not like the answer, but everyone would benefit from the information getting out there sooner rather than later.
So perhaps the biggest skill in development has nothing directly to do with development. It has to do with communication — understanding the scope of a project or part of a project; assessing progress toward goals; calculating realistic finish dates, likely feature sets, and so on; and then communicating the information to others, especially management.
The main difficulties with communication have to do with having the courage to be the bearer of bad news and earning the respect of others so that they’ll accept it from you. If you’re highly skilled and willing and able to work hard, you can sometimes single-handedly make the news less bad by filling gaps in the project yourself. But it’s more important to assess, and communicate about, the gaps in a project than to try to fill them all yourself.
As you work on your projects, don’t just think of technical and artistic challenges. Think of business goals and where the technical and artistic challenges stack up against those. Assess where your project is against those goals, and start sharing your opinion with others.
3.129.39.252