You have 4 – 8 weeks, the Fall Career Fair is coming. It’s a chance to connect with companies you generally don’t have face to face access to. For those graduating in Winter, it’s the time to land that first full time job. If you still have time left in school, it’s the chance to land FAANG level interviews for that sweet summer internship you dreamed of. At the very least, it allows you to start building your network and growing in the industry. Just show up, at least, but you should add some polish if possible.
Showing up
If you’ve never been to one of these, now is the best time to do so. It knocks off the rust of having some social interactions outside of the nerdy group we call CompSci and Engineering. It’s a chance for you to present yourself with what you have been able to do during your time in school and show off anything you have created. It’s also a time to see what the market wants and what you may need to adjust to get into the market. This moment could be when you decide you don’t want to play in their game and make your own company or startup. Remember, there’s not just one path once you get outside college, boot camp, or Stackoverflow.
How to Show Up
Be presentable. I shouldn’t have to cover basic hygiene, but brush your teeth, chew gum, spit it out, and brush your hair. Dress in some slacks and a button down or blouse, go to Kohl’s if you have to, or borrow from a buddy. We know you aren’t going to wear this for longer than you have to. If you can’t find a button down, some Khakis and a polo will do. If you don’t have a polo find a frat friend; they always have access to a polo shirt.
If you are showing a demo to the recruiter, clean off your keyboard and screen, this follows with basic hygiene. No one wants to see past a dirty screen or cheetoh stained keyboard unless you somehow built out AGI and it’s running on it. If that’s the case, start talking to some VCs because all those GPUs are expensive.
There’s usually a list of companies attending the career fair. See which ones you want to meet with. Line up at those first. Also, look at local companies too, sometimes they are an excellent fit for you too. At the smaller companies, you get to be more hands on. If you can find an agency or consulting job to start with, that would be even better. There’s no easier way to get exposed to so much industry than the trial by fire experience working inside an agency.
The Week of the Career Fair
Companies usually sponsor events. Go to these. They are great for networking, and you never know where you might try to hop down the line. I went to one of these meetings when I was a junior, and then two years after I graduated, I talked with the recruiter I met to get into the interview pipeline there. I joined that company and got to work with the best team I have ever worked with.
Sometimes, you hear some exciting talks during career fair week. One of the talks I attended covered the history of Chaos Engineering and the creation of Chaos Monkey at Netflix. You’ll also hear if any on campus interviews happen after the career fair. These on campus interviews generally occur for some of the larger companies. When I was going through this, the larger companies did this. I had some for Microsoft and Facebook there. They’ll usually have these in interview or study rooms at the career center.
Prepping for interviews
You talked and applied, somehow caught the recruiter’s eye, and they want to interview you. But what the hell does a tech interview look like? Do you sit down, give them a firm handshake, and review your resume? Nope, silly goose. These are tech interviews, not you applying for a marketing job in the 80s.
The tech interview process has this general breakdown. Each company’s process is slightly different, but these are the main types.
Technical Coding or White Board Questions
You will be asked something that either fell out of Leet Code or is Leet Code adjacent. You’ll have about 45 minutes to solve one or two of these kinds of questions. You’ll need to say which approaches you would want to take and should ask questions to help you get a better understanding of the problem. Ensure you are trying to answer the given problem, not just one you have seen before. This test is to see if you can ask good clarifying questions and try to get inside your head to see how you think through problems. You will need to present your solution to the problem and the time and space complexity that your solution takes as well. Now is an excellent time to start if you haven’t studied any of that.
The problems you would probably be asked about would be on the “easier” scale, where you would go over strings, lists, linked lists, trees, or basic trees and graphs. Look up these kinds of questions on hacker rank or leet code to get accustomed to them. These are generally different from the day to day work that you will do, but it’s the IQ test that our industry presents to see if you can problem solve and grind through learning esoteric things. Yes, these do form the basis of the libraries that we use day to day. These libraries have been hyper optimized, though, and unless you are building something from scratch, then you will most likely never have to implement these algorithms from scratch.
Technical Overview
In these kinds of questions, you will be asked something about how a piece of tech works. These questions are either super in the weeds on a specific tool or can be higher level ones that you then start getting deeper into.
One famous one is, can you walk me through what happens when I type in a URL to the search bar in a browser? These questions are helpful because they can be used to see the depth of your knowledge and how fast you go into a specific portion of a question. Do you get lost in the first portion of your answer and not finish the whole question? Can you gauge yourself and go from a high level overview to a deep dive? Two main things to ask here are how deep they want you to go into it and if they have any specifics that they want to be covered.
Architecture/System Design
You are here to design a system. You are given some kind of product or service they want to be created or a new version of a product that they want to release. Some common ones that are asked are how would you create these kinds of services: TODO lists, blogs, url shorteners or scrapers.
Take a similar approach to these that you did with the previous types of interview questions. Ask clarifying questions about the service that they want created and any specific components that they are looking for. Ask about the current ways they are deploying or any architectural style they might want to conform to. Ask about the number of users they think they are going to support as well and latency times. Start with some simple solutions: FrontEnd(FE), Backend(BE), and some simple DB. The usual things are then added: FE(CDN), caching of common requests, multiple BE nodes and load balancing, and DB read only and write only nodes.
These are things that you learn more about as you are in the industry, and this is a bit of a screen to see the size of the systems you worked on, how much you know about systems you have operated, and if you know how to design as projects get a larger user base. If you are interested in these things, reading some prominent company engineering blogs can be super helpful. Also, check out hacker news since they get posted there frequently. Overall, the best way to get this exposure is to be at companies that build these kinds of services out at scale or create a project you do. You will always learn more from hands on experience than from papers alone.
Behavioral
You’ll be asked behavioral or “cultural” questions. These are sometimes early in the recruiting pipeline when you get filtered via the hiring manager, or a panel could ask them once you finish the technical portions. I’ve seen these more commonly asked when you are deeper in the pipeline for interview cycles that I have gone through. Here are some common questions:
- What was a time you learned something new
- Tell me about a time you explained a technical topic to a non technical person.
- Tell me about a time you did something hard or had to tackle a problem you weren’t immediately comfortable with
- Tell me about a group project you were a part of. What went well, what did not, and how did you overcome disagreements?
The short of it is that the interviewer is trying to get a signal that you aren’t crazy and you aren’t an asshole. These are also considered cultural interviews to see if you would fit in with the current team at the company or if you would add a dynamic that is seen as needed for the team.
The Interview Wrap Up: Do You Have Any Questions About the Company?
Generally, you will be asked this question at the end of your interview, and they will turn over the last 5 – 10 minutes of the interview so that you can ask some questions. You should have some questions ready for them. This time is not just for you to ask questions but for the interviewer to gauge your interest in the company. Ask them about services or products that they work on in particular. Ask them what they wish they knew earlier in their career. Ask about how to be a successful engineer at the company or their favorite thing about the company. Don’t be the candidate who awkwardly has no questions and drops off the call. This is your last time to add some shine to the interview and a time to ask questions to someone you wouldn’t usually have access to.
Post Interview
If you got through the interview, send a follow-up note saying thank you for the time. It’s an excellent time to connect with the person on LinkedIn, but just be courteous. They took time out of their day working to give you a chance to be on their team. These interviews take time away from the day-to-day work but are necessary. Usually, a context switch like this eats up part of the typical working day. So, if some of the interviewers are grumpy, this could be the case and not your fault. But also try to be friendly to them and appreciative of any time that they have given you. Also, if they are a grump, sometimes there are just bad interviewing days, and you get back luck. It sucks, but it happens. Don’t let it set you back, and keep pushing forward.
Wait to hear back from the recruiter. If you don’t hear anything in 48-72 hours, weekends excluded, email the recruiter you are working with to determine the next steps.
If the interviews went well, research how to negotiate the offer if you are in the position to do so. If you have multiple offers, figure out how to juggle them and pick the best for your future.
If you didn’t make it in the interview, take any feedback you get and try to incorporate it. Start studying and grinding Leet Code. Start reading white papers on service architecture. Realize that you can get better at these. Interviewing is a specific skill set that is sadly different from our day job, but it is part of the game we play to work in this industry.
Decide if this is what you want to do. If you don’t want to go through the interview process and find that it sucks. Start building your own thing. Hopefully, you don’t have as much responsibility or overhead at this point, so it’s easier to launch your own company.
The interview process isn’t necessarily fun, but the rewards can be massive.
Have fun at the Fall Career Fair. It’s a change to daily life; you never know who you might meet or what you can learn. And that uncertainty of who you might meet or what you might learn or get to build is what makes this industry awesome!
If you want to debrief some interviews or go over interview questions, go to the Discord channel. If you are looking to pick up some real world tech skills that will help you with that first job as a software engineer, go through the After CompSci course.
Leave a comment