Programming Interviews For Dummies, 1st Edition by John Sonmez, Eric Butow

Title Page

Programming Interviews For Dummies®

To view this book's Cheat Sheet, simply go to www.dummies.com and search for “Programming Interviews For Dummies Cheat Sheet” in the Search box.

Introduction

Kudos to you for entering the programming job market. Maybe you’re a newly minted programmer looking for your first job, or you’re an experienced programmer who wants (or needs) to find a new job. No matter your situation, this book is here to help you do one thing — find the job where you can work happily ever after … or at least reasonably so.

Having a résumé and cover letter is just the start of your journey. You need to know what kind of job you want, what kind of company you want to work for, and where you want to work. What’s more, these days you may be able to work at home at least part of the time, and you have to take that into consideration, too.

When you’ve finished writing down (or typing) your list of potential companies you hope to work for, you have to tailor your résumé and cover letter to each one. Then, if you’re patient, your journey will start in earnest and the company will ask you for an interview. Though it’s impossible to know your chances for success, you’re reading this book because you want to succeed.

About This Book

The purpose of Programming Interviews For Dummies is straightforward: give you all the information you need so you have the best chance at landing a new programming job. But as you can see from the size of the book, getting your new job is easier said than done.

We help you every step of the way, starting with how to create a résumé and cover letter that stand out, how to network with others, how to ace your tests and interviews, and then how to negotiate effectively so that the company will give you the pay and benefits package you deserve.

This book isn’t about how to pass your coding tests, so you’ll find only a few brief coding examples in this book. Instead, we recommend several books and websites that give you all the coding examples and practice you need to ace that part of your interview. We also provide programming concept examples that you can apply in any programming language, so you don’t have to worry about having to learn a new language to understand what we’re talking about.

You’ll find a couple of conventions in this book that you should be aware of:

  • Bold text means that you’re meant to type the text just as it appears in the book. The exception is when you’re working through a steps list: Because each step is bold, the text to type is not bold.
  • Web addresses and programming code appear in monofont. If you're reading a digital version of this book on a device connected to the Internet, note that you can click the web address to visit that website, like this: www.dummies.com.

How This Book Is Organized

We’ve organized chapters in this book into five parts, and each chapter is arranged into sections that talk about different aspects of the chapter’s main subject. Though this book is written sequentially so you can read it all the way through if you want, you don’t have to. You can flip to the appropriate chapter or section and read what you want to learn.

Here’s what’s in each of the five parts:

Part 1: Finding and Hooking Your Next Employer

This part tells you about how to prepare to interview with employers and also understand what employers are doing to prepare for you. You also learn how being prepared will pay off during your job search. What’s more, we show that how you provide value to a company is key to not only getting an interview but also one or (hopefully) more job offers.

Part 2: Preparing for Your Interview

In this part, we help you perform some introspection and decide where you want to work, the size and type of company you want to work for, and most important, what type of programming job you want. Then you learn how to find out what’s available and where the jobs are so you can shine up your résumé, the accompanying cover letter, and your social networking profiles, as companies look at all of these items closely.

If a company likes what it sees, you’ll get a phone call or an email asking you to answer some questions over the phone. We tell you how to pass this phone screen so you can go to the next level: the in-person interview with one or more company representatives.

Part 3: Everyone’s Testing Time

The chapters in this part discuss not just the interview itself but also the kinds of tests you’ll be asked to perform to show off your programming prowess. If you don’t feel like you’re fully up to speed with answering programming and personal questions, you learn how to level up your skills so that you’ll ace the interview. You also learn about the types of tests you’ll encounter, including data structures, detecting design patterns, sorting algorithms, and solving puzzles.

Part 4: Sealing the Deal

After you’ve had a successful interview, it’s time to play the waiting game. You may or may not get a job offer, and this part tells you how to respond in either case. If you get one or more job offers, you learn how to bring your cards to the table, deal with the company, and negotiate the best deal for you — or walk away if you don’t like your offer.

Part 5: The Part of Tens

This wouldn’t be a For Dummies book if it didn’t include the Part of Tens. The chapters in this part contain a number of interesting and useful snippets to help you land your next job (and avoid losing an opportunity): Ten Ways to Stand Out, Ten Non-Technical Questions You May Be Asked, Ten Reasons Your Résumé Will End Up in the Round File, and Ten Resources for Information and More.

Foolish Assumptions

When we wrote this book, it was easy for us to assume that you’re looking for a job. Beyond that, we assumed the following:

  • You have at least some programming experience in one or more languages such as C++, Python, or JavaScript.
  • You’re looking for a new programming job with a company and you don’t want to work as a freelancer or start your own business.
  • You’ll do whatever it takes to get the skills you need both in programming and human interaction to get the job you want.
  • Even if you don’t get the job you want, you’ll keep at it until you succeed.

If our assumptions are correct, then this is the book for you. We’re confident that the concepts and tactics used in this book will help you achieve your goals.

Icons Used in This Book

This book is stippled with paragraphs that contain various icons so you know these paragraphs need your attention. Here are what the different icons look like and mean.

Tip The Tip icon marks a small piece of expert advice and/or important details you shouldn’t miss.

Remember Remember icons mark the information that’s especially important for you to know. If you need a refresher about all the good stuff that’s in the chapter, just read through all the Remember paragraphs.

Technical Stuff This is a programming book, so you’ll see some paragraphs that contain technical information (without overwhelming you) and come complete with the Technical Stuff icon.

Warning This book does have some warnings for you. When you see the Warning icon, read the warning text carefully so you understand the effect of what we’re saying. The goal of a warning is to save your head from aching.

Beyond the Book

In addition to what you’re reading right now, this book also comes with a free, access-anywhere Cheat Sheet that has all the best tips for getting the interview, acing your phone screen and the interview itself, and what you need to know about data types, design patterns, and sorting algorithms. To get this Cheat Sheet, simply go to www.dummies.com and type Programming Interviews For Dummies in the Search box.

Where to Go from Here

The first few chapters give you a good overview of what to expect from companies as they look for one or more new programmers to join their teams. We also tell you what to do to make your all-important résumé and cover letter stand out, and also to shape up your social networking profiles to help them shine because interviewers will be looking at them, too.

If the company has contacted you and wants to talk more about the open position over the phone, turn to Chapter 7 to learn what to expect from your phone screen and how to answer questions from the interviewers so they’ll want you to come back in person. After you’ve scheduled your interview, check out Chapter 8 to get ideas about what company interviewers will ask you and how to brush up on your programming and people skills.

Chapters 9 through 12 tell you about the types of problems interviewers ask and how to solve them, but if you’re confident in your abilities then you can skim or even skip these chapters. When you shine so brightly to the interview committee that all its members are wearing shades, you can read Chapter 13 to learn what to expect and do if the company offers you the job … or not.

Once the company offers you a job, and you haven’t negotiated with a company in a long time (or never), read Chapter 14 carefully so you can enter the negotiation meeting at the company with confidence. If you find yourself so popular that you get multiple offers, this chapter tells you how to manage that situation, too.

If you need a checklist of everything you need to have, as well as what you should and shouldn’t do, read Chapters 15 through 19. They tell you everything you must do to give yourself the best chance of receiving a job offer from one or (even better) several companies.

Part 1

Finding and Hooking Your Next Employer

IN THIS PART …

Find companies that are hiring programmers and learn how to show your value to a company.

Know how companies are preparing to hire their new programmers so you can tell the interview team how you’re the right fit.

Understand how to show interviewers that hiring you will make the company more successful.