Many times I get the question- “Hey Angelo, how are you able to have good lines of communication with the college recruiting pipeline henceforth allowing you a reasonably good chance to get an interview?” or more commonly “I don’t know how to get one of those newfangled tech internships?”
Okay, maybe not in that format but I do get questions about that subject. Or, I hear that people need help and I can’t just help it.
Luckily for you, you get to do what makes AI and most chess masters great. Learning from other people’s mistakes, notably mine. I have many a lesson to be learned from when I was an over eager freshman looking to make a mark on this large baseball field called tech. I made too many where it might make more sense to follow the career path to be a technical recruiter rather than a software engineer. Mind you, I am still debating whether to be a Janitor or not.
If you can forgive the digression, I will now instantiate a Person object with attribute Student and name it: Alex. Alex unlike most people, doesn’t have hopes and dreams because, in reality, it is just reserved space in memory. But possibly like you, Alex has a below par resume and freezes up during most interview situations. Today, (or any day really is a good day for professional development) we will talk about improving yours and Alex’s resume, being able to network at recruiting events and conferences, and going through the interview process. In this post I will be discussing ways on how to satiate that initial question and all the problems that our reserved space in memory is having too.
Step 0: Opening Up Career One
Before we even begin to start — a foreword by the author: Angelo Saraceno. Keep in mind this advice isn’t concrete and there are a million and one ways to get an internship/job. Literally you can drop on your knees in front of a recruiter and start to cry to win their sympathy and that might work, you can also ask a friend for openings and roles. Consider this article without warranty and consider edge cases not to be accounted for. This will be a long one too.
Before we start, some planning and some pep talk is in order.
Advice to Sophomores: If you are like me and go to a Top 50+n where n = 0 and n increments to the upper bound of the amount of institutions that possibly exist, then you might want to start on a side project or two while you continue to wander aimlessly between the vast amount of specialties that computer science offers to you. If the initial condition applies to you as well, chances are your school might teach Data Structures a little later like at the start of your Junior year or second semester Sophomore. If you read the beginning parts of Cracking the Coding Interview you should have a good grasp of the concept of a technical interview and the questions. (And if not we will review a few. Continue to chase what sounds interesting to you, I hear there is a JS framework going through a legal debate you might want to familiarize yourself with. The best advice I can give to people at this stage is start doing some HackerRank and apply to fellowships like KPCB, Code2040 and put yourself out there at career fairs. Keep your mind open to opportunities like conference scholarships too!
Advice to Juniors/Seniors: So what I just said before but now with a little more polish. If you are like many college students and you woke up to the student involvement fair at the speed of the smell of pizza you will pleased to know that wonderful opportunities knock on your door as well. Many internships are usually strongly recommended/reserved for students at these levels. By the end of this article, hopefully we would all have some pointers to get your ish together, hopefully for me too.
If you ever feel like you can’t do it, well Henry Ford and I agree on thing. You are right. But the good thing is if you believe you can, you are correct as well. Luckily for you I believe in reusable story components so I wrote something for that as well.
Now before you open up your favorite resume editor one last thing. Survey the companies you want to apply to, get a LinkedIn, add your friends, make it the new thing because believe me, it is really useful once you keep your rolodex on there. You are welcome LinkedIn CEO Jeff Weiner.
Step 1: Cracking The Resume
Having a good resume is a lot like having a nice car. Sure you can drive any car to work and yeah the car might be falling apart. Wait — scratch that, I have a better analogy.
A good resume is like having a good skirt… Wait, no, too sexist.
A good resume is like a movie trailer, short enough to be interesting yet gets someone excited for the full feature. If you are anything like a great script combined with an ensemble cast ready for a summer release then it should be fitting that the trailer serves judicially to your experience and your character. With that being said, the font Times New Roman says nothing good about your character.
Now usually in “live” workshops, okay who am I kidding, long rambling tirades of regurgitating knowledge to seem I am superior than my peers. I go from start to finish on what makes a good resume, but here in this article I will get into common areas on what you can improve your one page document full of summarizations of year long stints at retail and development jobs. In reality I can spend hours upon hours on this subject. I will just touch on common mistakes that happen and give you some points on where to go incase your gut check fails you. I will start from head to toe, or rather header to footer. I’m sorry.
If you need inspiration, you can visit my favorite abandonware — creddle.io for inspiration. Or checkout the Hackathon Hackers Resume group, I tend to be active there giving feedback. For this example we will try to keep everything to a one page easy to read resume.
A good resume header has no address and has your name in 36 to 48 pt font. If I am going to be a recruiter I am going to want to know who am I dealing with. Consider this user story, you are at a conference and you just made a great impression and after the fact the recruiter is trying to match that face to a name and because your name is in 8pt font they forget and move on to Impressive Candidate #2.
I tend to shy away from putting a photo in a resume, the many recruiters I have talked to tend to feel uncomfortable about any possible subconscious biases that may come up whenever they see a photo on a resume. Especially if they haven’t met you before. There are people who who do argue that your face is already all over the internet so why not on your resume. I recommend Not To, it takes up valuable space that can be used to improve readability.
Have your linkedin profile url, your github username and any relevant social media on your resume (like a professional twitter) somewhere along on the corner. (Maybe even sprinkle in some icons if you can) If you don’t have a github, make one. You are welcome Joe Nash.
In your header you have the option to put a title that best explains who you are like “Student Developer” or “Elixir Alchemist”, usually these become more helpful once you specialize in your career later on.
One thing to keep in mind with our resume is that there are two types of audiences that will be seeing your resume when it’s time to submit it online. (We will get into that later.) Now if you guys understand irony enjoy this meme.
So I am going to be quick about this. You should have 4 sections with this.
Education, Work Experience, Projects, and Skills
You education should be one line, and the only time it shouldn’t is when you are adding in any relevant research or any honors. Add your GPA if it is above 3.4, and keep your GPA on the resume if you are submitting it online (Especially for Google . A good education line is.
B.Sc. Computer Science, Florida State Penitentiary — Class of 2050, 3.8/4.0
Your work experience should have bullets with a technical overview what you have been working along with any interesting statistics or roles within the time you were therefor.
Your skills should be tiered and remember.
Don’t ever rate yourself as an expert.
Don’t ever rate yourself as beginner
No progress bars.
Unless you lack formal work experience your projects should be ternary to your work experience. Like so.
If you are going to be showcasing those projects, then follow the same guidelines above.
Now, just be able to space out everything and keep everything clean. Larger and kerned font is the way to go to help increase readability. Be sure to give enough space between titles and those bullet points. Also, your resume isn’t a paint canvas- keep flashy logos under check and if there is color keep it subtle.
Step 2: Demolishing The Application
I am going to give you guys an open secret. Online applications are a giant black hole to where your application and input goes into a machine where you are last in the queue. The reality is, you have a better chance landing an interview at Google flying over to THE PLEX and then screaming at whatever flavor of Android statue there is. Now here comes the other open secret. Recruiters like hearing from potential applicants, if you do their job for them and walk in on their inbox like you own the place (just be kind and respectful in your correspondence) then you will more likely get a response rather than being carried away to Alphabet Holdings Penitentiary for verbally defacing a corporate monument.
Here should be your workflow.
1. Go to conferences/recruiting events at school with at least 30 resumes printed. Hackathons and developer conferences may have developer evangelists that can point you in the right direction to apply.
(If Step 2, sub instruction 1. can’t be achieved, then it is fair game to look up recruiters on LinkedIn and then proceed to email them about opportunities if they are availible. Avoid cold contacting software engineers that you don’t know very well.)
2. Say hello to recruiters, and introduce yourself. You should read up on conversation basics. Dont worry I got you here. The goal after the introduction is to keep the conversation going be sure to ask for really important conversational details like their social security number and their email.
3. Follow up- email them up to a day or two after the initial contact indicating that you are willing to apply for any roles once/if they have opened.
4. Go through their pipeline.
This is just one little algorithm you can follow, in many other spaces as you have been involved on campus you might have friends and people you might meet from your adventures that might make it so that you can get a referral at a company. The best way in is to have someone bring up your name in a recruiting system. Remember when we brought up the two audiences example, it is your goal to try to get your resume seen by an actual person most of the time.
Now if all else fails and you do have to apply online, make sure that you do let the relevant people know you did apply. On LinkedIn you have this nifty feature where you can see the person who posted the job on behalf of their company. It also isn’t a bad idea to activate that Premium membership trial while you are in the heat of that search. (Apparently they cut you forward in the line and you get unlimited searches.*) *Maybe
If there are any creative answers on these applications hopefully your reasons are better than “I just want a job.” You will need to show some aspiration and desire to be at TechCompany.xyz In these online applications, they will be screening your resume and checking for those keywords so be sure that any relevant skills and frameworks that might be relevant to the resume are on there.
Keep in mind, rejections will happen, even if you haven’t even interviewed. There is one thing you can take solace in, you can get hundreds of rejections, you just need one yes.
Step 3: Obliterating The (Human) Parts Of The Interview
Because Alex, our variable isn’t a person and wasn’t able to follow any of the suggestions given before it has amounted to nothing. Luckily for you, you are living and breathing and you have contributed more by breathing than our stupid little stub of a joke this writer decided to try out. Remind me to never do that again.
You made it this far, now I will go on to help you pass/gracefully fail during your interviewing process. No pressure, but this is kind of important. Because just like it is a major red flag to say you are a psycho killer on the first date, it is a major red flag to a company if you don’t respond to a recruiter’s email in a timely fashion.
Now most of the time with friends, I am able to make up for the fact that I was never able to go to acting school and pretend to act that I am from a company of their choice and pelt them interview questions. Nothing says like scaling human support by now referring everyone back to a medium article you wrote. I will now go on and support you through this trying time of you trying to get an [insert_season_here] internship.
Now here is another hot take, we all think technical interviews are terrible and don’t make much sense. They are trivia like and test the wrong knowledge. The good news is that you can practice your way to seeming like you are a Div 3 competitive programmer on your interviews. If I can make up for the fact I wasn’t able to become a writer on popular American single camera comedy “30 Rock” then you can do the same to make yourself approach a technical problem and not panic.
The first part of most interviews is a phone screen, usually you might have questions like, “Why do you want to work at TechCompany.xyz?”, “What projects have you worked on?”, and if you are a cybersecurity student… “Do you implement your own cryptography?” (The answer is always no to the last one.) Usually other folks say practice in front of a mirror, I say practice in front of fast food service workers- if you can handle the awkwardness of you saying the reason why Apple is a good fit for you in front of the public stage that is the average food service worker than you have enough confidence to satiate the person on the other side of the phone. Results may vary.
Keep in mind, no AI system is advanced enough to interview you over the phone- that means there's a dog or a human behind the phone. Assume the interviewer is human and makes as much mistakes as you do. Now if this is your first time interacting with a technical question, technical interview questions are mostly data structure questions that ask you about runtime complexity in terms of O, usually called Big O notation.
Let us forget that I mentioned anything about that O stuff.
I, the interviewer, give you a question like- let us write some code in any language that detects whether a word is a palindrome. Don’t worry I too had to Google what that means.
So at this point, you must be panicking like crazy. Don’t worry, at least you can take solace in the fact that you shouldn’t start writing code immediately. Take some time to understand the question, many times these questions are open ended and require some thought. Good examples taken from Wikipedia tell me that example of palindromes are “racecar” and “nurses run”. It would be a good idea to start asking for edge cases. “Would we want to ignore spaces?” “Do we want to take into account numbers?” In this example I can’t do all the thinking for you but realize that the interview question is open ended and tests your thought process rather than your ability to know the Java Standard Library. Approach your interview like a conversation, and adopt the stance of being “the learned one” where your affirmations of knowledge are in the form of a question. End of the day the interviewer can be your guide.
Now don’t ever assume the question’s difficulty. Especially over the phone the interviewer has one point of data to work with, how frantically you are declaring your variables, give them two and talk about everything you are doing and describe your thought process. Maybe ask for sample input. It’s a good idea to repeat the question just so you have the prompt rightly stuck in your head and attack the most obvious solution first.
Now here is where I quote Jamie Talbot- Software Engineer at Medium- “DON’T SAY YOU ARE DONE UNTIL YOU CHECKED YOUR WORK!” At least I can blame him for all caps.
You should be the one to find the mistakes and remember to go back to basics and run your attempted solution line by line in your head.
So at this point you might open up a unregistered Coderpad session and they declare the time it takes before the trial runs out- 29 minutes to solve this problem.
If that timer incurs a kernel panic in your brain, just keep in mind. You probably know the answer, and if not you can ask for a hint, and if not try and try again. The key is not to give up.
Your interviewer might talk about about runtime complexity, but that is another long winded Medium post later. I will be honest I am in no way qualified to teach you everything about about this so this is where I drop some links. This is where that Big O stuff and paying attention in your Data Structures class really helps. Of course, you should read this thing called Cracking the Coding Interview and brush up on your coding teaser questions on HackerRank. Jamie, beautiful man who I had the chance to witness also has extensive writings on the interview process. Also here is a open courseware book on Data Structures if you need a reference. My Rival Bernard Marger also wrote some helping words.
Some closing thoughts
If you read every single bad joke made thus far, then my door is open to you within reason. Feel free to drop me a line on the DMs over at the twitter (at)ndneighbor. This is a huge and very impactful field and it is very dangerous to go at it alone. I hope this article was fun to read as much as it was fun to write.
Now keep in mind, you will get rejected. I am not trying to scare you I am trying to make you okay with that fact. You might get accepted and not get a return offer. You might win the lotto and consider not working. Just keep these things in mind.
- There’s more roles than you think.
- It’s not fun, but it’s okay.
- You still belong in tech, their loss.
- The writer of this article is probably more unqualified than you. I am not being humble this is the truth please convince me to unpublish this por favor
I love Medium’s new applause feature because I get to pretend to be Jeb Bush. If you you enjoyed this then…
About The Author
FIU student Angelo Saraceno hates writing in the third person. Ex-Adobe intern and founded this weird thing called DIID that is now existing in Canada. Angelo enjoys putting words together where sometimes it makes no sense. Taco rotella racetrack bathroom car. Catch him at a hackathon near you.
He also wouldn’t be a real academic if he didn’t list some references and influences.
https://medium.freecodecamp.org/how-to-write-a-good-resume-in-2017-b8ea9dfdd3b9#.jakxy7hvq — By Toby CEO Artur Camara
Jamie Talbot’s Wonderful Code2040 TechTrek Talk @ PayPal
https://www.fastcompany.com/3062713/i-hire-engineers-at-google-heres-what-i-look-for-and-why — You should read this
The Code2040 Family and my Florida Hackers Family