Mastering the Coder’s Job Interview

Programmers need to code with an audience.

Silicon Valley coders need more than great tech skills to succeed in the job search. They need to be able to perform their programming—to create code in an interview setting, often on a white board with an audience of several people watching their every move.

“Being able to do programming on the computer is one thing,” says Juan C. Gomez, a UCSC Extension instructor and chair of the popular UCSC Silicon Valley Extension Information Technology certificate program. “They need the skill to actually build the code in the presence of other people.”

For software engineers and programmers who need to brush up on their skills, get over their performance anxiety, and ace their interviews, Gomez has designed a new course: Mastering Data Structures and Algorithms: A Practical Approach. A 10-week, Thursday evening class that starts June 28.

“The goal of this class is to push students to do a full review of the things they need to know for their next interview,” Gomez says.

Silicon Valley interviewees are often invited to day-long interviews where they talk to small groups of people throughout the day and over lunch.

“We will go over the pre-canned solutions so they know those and have the skills to do it under pressure,” Gomez says.

Using high-level languages like Python, C, C++, or Java, students will practice building data structures—arrays, strings, linked lists, stacks, queues, and priority queues—and progress to more complex tasks involving hashes, trees, and graphs. They will practice showing how they represent data problems in the computer and review basic algorithms.

“Students will get to practice defensive coding, to write solid code from the beginning,” says Gomez. “That’s what these employers are looking for.”

Interviewing Tips for Programmers

  • Have some ready solutions.
  • Know the programming languages they use at the company.
  • Be clear about what they’re asking for and how much time you have to accomplish the task.
  • Practice defensive coding—write solid code from the beginning.
  • Know how to explain your logic.
  • Show off your problem-solving skills. Don’t say: “I’ll Google it!”
  • A lot.
  • Let them know you remember the end-user.
  • Share your passion for programming.
  • Ask yourself: Do I want to work with this team?
  • Check out this article on technical interviews by interviewing.io and freeCodeCamp.
Gomez, Ph.D., is a principal engineer at F5 Networks, a networking security company. He has been teaching in Silicon Valley for 15 years. He worked on the development of several popular products at IBM and Juniper and holds seven U.S. patents in the field of distributed computing and storage systems. He has extensive experience in computer networking, computer security, design, distributed systems, self-healing/self-monitoring systems, software life cycle, and storage systems. He also teaches System Virtualization Fundamentals, enjoys hiking and loves Pomeranian dogs.

Leave a Reply