When I was recruiting juniors for entry level job in one of my previous companies, I gradually began to be more and more astounded by how little they could had done before interview to immediately stand out from other applicants. Knowledge is easily accessible nowadays and there were many young programmers, who presented very similar technical expertise. So why did I choose one over another? I'll share it with you! Here are some tips that you can implement in about an hour to be noticed.
1. Add .gitignore.
Git is a great version control system, that tracks all files in your working directory. But do you really need all of them in the GitHub repo? 90% of junior codebases I examined had garbage in them (operating system files, IDE and framework logs) or, even worse, credentials (google-services.json, API keys, secrets). Just use .gitignore generator, like this one, and push it to your repository to put a smile on recruiter's face.
2. Create few unit tests (just few!).
The percent of junior repositories, which lack any kind of tests is so high, that adding even 4 or 5 of them will put you in front. Each technology has its own testing framework, but it's generally easy to grasp using a 15-minute tutorial on YouTube. After understanding the basics look at your codebase and search for logic. Take especially closer look at functions that return a value, if statements and for loops. Then try to extract this logic to separate method or class and apply test framework to it. Don't feel bad if test cases you come up with are not particularly clever - later in your career you'll learn about importance of testing even the simplest portions of code in order to e. g. avoid regression during refactoring.
3. Choose your hero.
Do you know who Jake Wharton is? If you’re Android developer, then you probably saw his talk, read his blog or used his library. The guy is treated like a God in the Android community! Frontend, backend, iOS, machine learning...each technology has few of these “Gods” - extremely active and productive people, who many coders aspire to be like, talk about daily and respect. And in the same way as having mutual friends breaks the ice faster, you can leverage the power of having mutual God. Go on Twitter, Medium, LinkedIn or Youtube and find people similar to Jake Wharton in your respective tech stack. Read few tweets, posts or watch a talk by one of them and then try to “smuggle” that into job interview. Usually the last segment, questions to recruiters, is the best time to do that. If you come up with some other clever way be sure to share it with others in the comments!
4. Grab attention using README.
Recruiters do not have time to browse each class and examine each function in your repository. They usually have in mind few typical places to check for certain things specific to given technology. There is however one file, that every reviewer will take a peak at - README. This is a great opportunity to grab attention, sell yourself a bit or even take somebody by hand and guide them throughout repo. See if you can apply any of these tips in your README file:
- Shortly summarize what your codebase is all about.
- Use pictures, gifs and emojis; convey your personality and passion.
- Link to resources, that helped you (books, talks, blogs posts, docs).
- Write about problems and challenges you encountered. What brought you the most joy? What was the hardest?
- List some libraries and design patterns, that you’ve used, and briefly explain why you chose them.
5. Prepare two genuine questions.
If you were to sit and talk with a magician after his show, which you immensely enjoyed, what would you ask him? Well, probably you would pick few of his tricks and try to convince the illusionist to share some secrets: “How did you do that?”, “What gimmicks did you use?”, “How long did it take you to learn it and what was the hardest part of it?”. While preparing for job interview and looking at amazing digital products that people built, feel just like at the magic show! Download the company’s app or create some trial account and see the magic for yourself - you’ll talk with illusionists responsible for tricks you witnessed soon and you’ll be able to ask them anything. Show curiosity about how the product was built: “How did you design the architecture of that feature?”, “What tools and libraries did you use?”, “How long did it take you to implement it and what was the hardest part of it?”. Remember to never skip the “questions to recruiting team” part of the interview as these could be vital few minutes, which swing chances in your favor.
Good luck! Send me a note via this contact form and let me know how your job interview went or share your own tips in the comments.