Advice for Job Seekers (New Grads)
October 24, 2019
Author: Bianca Yang
Last updated: November 23, 2019
All advice is autobiographical.
If you want an interesting job in Secops, look no further: https://latacora.com. If you want an interesting job doing good ol’ systems building work among a team that genuinely cares about each other’s personal development and the company’s success, look no further than ThoughtSpot. [-.- shameless plug for my own company]
Table of Contents:
- GPA doesn’t matter
- Skill meters are useless for your resume
- Getting a job is about networking
- What do you want to get out of your job
- Take your interviews seriously
- I don’t care what you wear (to a point)
- Industry != school, except in school (In theory there is no difference between theory and practice. In practice there is.)
- Learn to negotiate
- Hard questions you may want to ask your potential future employer
- GPA is a weak signal. Don’t waste space putting it on your resume.
- Those trendy skill meters people put on their resumes? Meaningless. I know DE Shaw asks something similar, but they make the ranking slightly more meaningful by asking for lines of code written in each language you claim proficiency in.
- The best way to get a job you want is to reach out to relevant people at
the company you’re interested in on LinkedIn. Reach out to an engineering
manager or design lead or whoever could potentially be your manager and ask
for an informational interview. If you are already certain you want the job,
send them a portfolio for review. If you send code, SEND F-ING INSTRUCTIONS
ON HOW TO BUILD AND RUN YOUR CODE SO THEY CAN SEE THE RESULTS!! Shocking,
but it’s hard to review code and probably all the hiring manger will care to see on
the initial evaluation is some impressive results (increased profits x%, reduced
memory consumption x%, has x% accuracy which is y% greater than current benchmark,
pretty colors on a screen, I’m sure you can figure out the rest).
There are plenty of people out there who would
be interested in investing a little time to get to know you and help you
fill in gaps of your understanding about their company. If who you reached
out to is not willing to help, ask them to introduce you to someone who can
- Don’t mistake this strategy as an excuse to let your technical skills drop. You have to prove either that you really know your shit in some area (databases, for example) or that you have really good generic coding / algorithms / data structures skills. The company is trying to see how you can help them get things done. Make sure you can prove your worth in the interview.
- Always try to think of how you can help the company and how they can
help you. The relationship must be mutually beneficial. Typically, young
people don’t have much clarity on where you can have the most impact or what
makes them happy at work. At the risk of falling into a trap of optionality,
you should try to find a place that will give you a good balance between
flexibility and structure. You want structure so you get good at what you’re
assigned. You want flexibility to explore within the company and learn about
different functions in the business and potentially in the industry.
- If you are not working on projects that excite you and make you want to come to work every morning, ask for another project. Talk to people on other teams to see how else you could contribute. As a junior employee, your responsibilities are to get good at what you do and to figure out what’s important. You don’t want to be stuck doing something unimpressive, especially if you’re in an internship (think about limited time and how much internship results matter to future employers), so it’s important to assess the skills you will be developing on a project and speak up as soon as you feel like you’re not going to get something meaningful back for your time. Watch out for dead-end projects in internships, because they will hurt your performance in future interviews.
- Take the interviews seriously.
- Make sure you prepare. Do not waste anybody’s time. It is expensive to have engineers interview you and it is expensive to bring you out for an onsite. If you don’t want to interview, decline the opportunity. It’s better for everybody when you are actually enthusiastic about potentially working for a company.
- Show up rested and full of energy. People aren’t stupid. They can tell when you’re hungover or under rested or low energy. Whatever is going on, remember that your interviewer’s are excited to see you succeed and that you should try to match that energy. Do NOT be cavalier in the interview.
- Brush up on your story telling and social skills. If you want the job, make sure you show it! Your interviewers are also human…ahem, meaning that emotions and presentation matters. It’s not a big deal if you’re a bit awkward, but remember that the company is also assessing whether you’d fit into the culture. They want to make sure that current employees would be comfortable seeing you as a fellow coworker. So try to fit in during lunch or other events they may have you participate in.
- Recognize that most questions these interviewers as you are total BS.
- I don’t care what you dress in at a career fair, as long as it’s clean and doesn’t have holes. This is a perk of the tech industry. You should dress up for an interview with a consulting or finance firm. That’s just how business gets done.
- Industry work is not school work. School work is interesting for its own
sake. That’s pretty much what researchers (should) be doing: working on
problems they find interesting because they find it interesting. If you’ve
developed a taste for working on those kinds of problems, you should consider
going to grad school. Industry work is about infrastructure, about designing
systems that perform in a certain way because we made them behave that way.
Industry problems are focused on customers (at least at small companies) and
relationships and partnerships and doing things that are useful (or at
least can be sold as such). If you like engineering, working through bugs
in complex systems, thinking about how to design data ingestion pipelines,
thinking about system architecture or optimizations (as you eventually need
to do), then industry is likely for you.
- The more critical misperception I wanted to drive out of readers is around AI. Everybody these days wants to do AI. But the AI they’ve been exposed to in school is nowhere near the kind of AI that industry throws at its problems. Most companies are not using AI in production. This is because AI is expensive to get right and hard to get a meaningful ROI on. If you want to do AI, you should go where you intuition says you should go: Amazon, Google, Salesforce Research, Microsoft Research, Nvidia, grad school, etc. That’s where you will get to work on intellectually stimulating AI and math problems. Most companies have fallen in love with xgboost and only let a few random people spend their time “researching” AI applications. My company is 7 years old and has developed “AI” using smart systems and heuristics. The results you get with and without these “AI” features is night and day, so I’d say we’ve done a pretty good job so far, without using deep learning or parameterized models or anything fancy. Keep it simple, stupid.
- Remember that people pay for results. They don’t care how you get those results. They may not really even care when you produce results. (When was the last time you cared when FB or Uber or Google pushed a new update? Probably not in a long time. Even if you did care, it probably was a weak sense of caring because nothing you did would accelerate the process.) They do care when you let them down. Just remember that industry work is not school work.
- Learn to negotiate. I’m not very good at this, but
this is a good resource. (I read
all the sections regarding negotiating for a new job.)
- I’m conflicted on whether salaries should be flat across levels. On the one hand, it balances the playing field and means there’s less politics and sneaky talk about salaries. On the other hand, we may want to reward candidates for negotiation and soft skills. Basecamp does flat salaries, but they’re a small anomaly…
- Anyways, know what is a fair offer and fight for it. Bring data in, bring other offers in, use your advisor as the scapegoat (well he said I should be getting $1m a year so…). If the company does not fight back fairly, you can scratch them off your list (this previously said “life”…wtf was I thinking). Their unwillingness to offer you fair compensation implies they will not be fair in future dealings with you as an employee.
- Ask critical questions. You should never be afraid to ask hard questions.
Worst case, the company will tell you information is confidential. If they get
defensive or attack you for asking a tough question, you can immediately drop
any further conversation with them.
- Figure out whether your living situation will be acceptable to you. This includes commute, your future roommates, your ability to maintain your current social connections, cost of living, weather, liveliness of the city you will be living in, etc. Make sure it is not something you will gripe about a month after you join.
- What is the business model? How do they make money? Are they making money? What is the path to profitability? What is the roadmap for growth? Is there money in the bank? What have they used previous funding rounds for? How has that turned out?
- Do you care about the work? Ask about the roadmap and what things you could be working on. What is the mission; what is the current set of milestones they’ve set out; do you feel like your work will contribute towards the mission? Do you feel like you will care if the company achieves its mission or any of the milestones?
- What is the technical culture like? For this, Joel’s Test is pretty comprehensive. But also set your own objectives. What kind of stack or technologies will you prefer to work on (web tech, CRUD, databases, systems building, AI/machine learning applications)? What areas do you want to learn about? Do you like lots of context switching, with very short sprints, or do you prefer longer x-month cycles? How much customer interaction do you want?
- Do you think the people are high quality? Do you like the people? Do you like your future manager and future coworkers? You should come away from interviews feeling like you have things to learn from your coworkers and that they will invest in mentorship. Ask to talk to more people, including people outside of your discipline if that will help you make a better decision.
- Will you have access to learning resources you want? This could be access to people (most important item in this list), tuition reimbursement, opportunities to go to interesting conferences, budget for tools you think will help you do better work.
- Do you trust the management? Do you think the vision for the company makes sense? Do you feel like you will be working on meaningful projects? Do you feel like you will be given the autonomy to figure out what projects are meaningful and to work on them? Will your ideas be listened to and implemented?
- What is the turnover? This is especially important to ask if the company is small because long tenures from early employees shows that the company has been treating them well and that they believe in the company. It also shows that the team gels well and that they like the quality of work they have been producing.
- What is the path to yes? I am pulling this from Bob Baxley, ThoughtSpot’s new SVP of design and experience. This question is getting at operations and internal process. How easy is it to push new initiatives
- Is there clear direction in the company? Is it clear where the company is going and why? Does that high level vision translate cleanly into work for individual engineers? from bottom up?
- Tell me about your worst day at this company. It’s a more straightforward way to understand what there could be to not like about the job.
- Are the salary and benefits acceptable?
- More smart questions