Table of contents
Welcome to the demanding but rewarding, tense yet fascinating world of high-tech. Whether you're a recent graduate, a career changer ready to embrace a new challenge, or someone with an unwavering passion for the tech field, this guide is crafted just for you.
For those wishing to take their initial step into the high-tech industry, the hassle of looking for a job can be extremely draining and tiresome. If you're involved in this world in any way, you've probably encountered the chicken-and-egg paradox: every job requires at least five years of experience (even if the programming language the applicant must be familiar with has only been around for three years), but no one is willing to hire juniors for entry-level positions so they can gain this experience.
You've probably also come across an annoying amount of the same message in various forms. It goes something like this:
Thank you for your interest in the position at [Random Company], and thank you for taking the time to apply.
While your skills and background are impressive, we have decided not to move forward at this time.
I know, right? Ugh...
I also ran into the same walls. The worst part is that there is no way to figure out what went wrong with the CV you submitted. Are there not enough impressive projects on my GitHub? Is my LinkedIn profile too bland? What am I doing wrong?
Nevertheless, I would like to provide you with several tools and perspectives of my own, which I learned throughout the process I went through, to avoid such messages (or at least reduce them significantly) and to give you a bit more insight into what they mean.
My Tech Journey Today 👋🏼
So hey folks, my name is Ozz Shafriri and I live in Tel Aviv, Israel.
As of the date of writing this article, I am in my final year of study for a degree in computer science and I have been working as a Backend Developer for the past six months.
I began looking for a development role with no experience or knowledge of the industry as early as my second year of education. I've been stuck in this loop for almost a year, during which time I also worked at a nearby neighborhood cafe, went to school, and worked on personal projects. The pressure to find a job rose as I neared graduation until eventually I struck it lucky and was hired for the position I had been looking for in the middle of my third and final year.
Needless to say, I quit my job at the cafe as soon as they told me they were interested in hiring me for the position I had applied for. After that, it was quite difficult to balance work and school, especially when exam periods came around once in a while, and also because I was an inexperienced junior at a small startup where I had to do and learn many things myself.
However, it all paid off because, at the end of the road, I'd end up with a prestigious degree and professional experience in the industry. Two birds, one stone.
But (!) I can't deny that there were challenges and hiccups along the way up until then; after all, as I already mentioned, it took me almost a year to find a job.
Let's start from the beginning, then...
Learning from Mistakes: The Cost of Inadequate Research
I think the main issue I had in the beginning, which is also one of the main reasons it took me so long to get a job, is that I wasted my time on idle pursuits. I made the wrong assumptions about the industry, focused on the wrong things and as a result - completely wasted my time when it came to job hunting.
I was confident that I would get employed immediately after graduation because there was such a high demand for computer science students. Who would turn down someone who has devoted three years of his life to earning a degree?
So I signed up for LinkedIn, created a GitHub account, got a CV template that I thought was appropriate, and started sending. and sending. and sending.
At the time, I didn't know what I was doing wrong. After many conversations with friends who have been in the industry for a long time, in-depth research I did on the internet and some additional consultations, I understood the flaws in my approach and started making changes.
Full disclosure - when I first started sending out my CV, I kept a table of all the companies I applied to, and when the table grew to a size of more than 3 pages and the only entries for the Response column in it were either Pending or Rejected, I realized that the table served no use other than to stifle me.
Someone once told me:
"You can, and you will get many "no's" in life, but you only need one "yes"
So as you would have guessed, I stopped keeping track of the places I sent my CV.
Crafting a Standout Tech Profile
I chose to divide this section into three parts.
I'm sure there are other ways to accomplish your goals, but I decided to focus on the strategies that were most helpful to me and the things that recruiters value the most and give more weight to in applications.
Crafting a Stellar CV: Presenting Your Best Self
Much has been said and much will be said about how to construct a good CV, so I can give you another viewpoint and some food for thought.
Always remember that the first thing recruiters see, even before they've even met you or had the chance to speak with you, is your CV. This is how their first impression of you is determined. Having said that, invest in your resume! The initial screening stage is the most inconvenient one; wouldn't you like to know that your resume looks good and gets the attention of the hiring manager?
Pay attention to subtleties - even before anyone starts reading the resume, the general form of the document creates a crucial impression of you. Something I've noticed people doing is opening a Word document and simply writing down all kinds of information they believe is important to know about themselves. It just looks bad.
When creating my resume, I drew inspiration from various templates I found on the internet that resonated with me. Although I designed the entire resume using PowerPoint, I ultimately submitted it as a PDF when applying for jobs.
I would recommend dividing your document into sections, following a format similar to this (which, by the way, is one of the examples I took inspiration from):
Try to be accurate to the right degree - not to multiply words where there is no need, but to condense what is relevant. As someone without experience, this task can be somewhat challenging. My suggestion is to include significant projects you have worked on independently, which can be showcased in a sentence or two. Moreover, if you are interested in becoming an Embedded Software Engineer, the fact that you were a shift manager at McDonald's is probably a minor detail that will just take up space in a document that should be mostly concise anyway.
Include links to GitHub, your LinkedIn profile, contact details, and so on. Additionally, it is customary to provide a brief description of yourself and what you are seeking (although it may not hold significant weight, it is a common convention followed by many).
And one last piece of advice - ask to see and read other people's CVs and take inspiration from them as well. If you come across something that you like and can fit with your qualifications, the people who will receive your resume may very well like it too!
Networking for Success: Maximizing Your LinkedIn Profile
Ah yes, the tricky part. What should you write on a work and business-oriented social network if you lack industry experience or personal insights?
So first of all, keep in mind that everyone has to start somewhere, and anyone who has a bit of experience has most likely been in your shoes at some point; this is a hurdle that needs to be overcome and is an essential part of the journey.
Begin by completing your profile with relevant details so that visitors have something to explore when they come across your profile. Opt for a professional-looking profile picture; one suggestion is a white background with you in a dark polo shirt, folding your hands, and wearing a subtle half-smile. Nevertheless, feel free to experiment and choose an image that aligns with your desired professional image. I would also propose paying a professional photo shop a few bucks to do it. Then, select an eye-catching background picture to complement your profile picture. Avoid leaving this section blank.
Looking for a job? Utilize the #OpenToWork feature to let recruiters know your current status without requiring them to log into your profile.
Add sections that can best reflect your abilities, such as a projects section where you can provide details about the projects you have worked on, including the duration of your involvement in them and relevant links. Furthermore, consider linking specific skills, such as programming languages, to each project to highlight your proficiency in those areas.
How many languages do you speak? Make a note of this as well; many organizations collaborate with clients from different countries. Being proficient in multiple languages can give you a significant advantage in such scenarios.
Just as mentioned earlier regarding your resume, avoid including irrelevant information under the Experience section simply to fill the space. However, as an Israeli citizen myself, I am aware that it is customary to mention my military service, even if it is not directly related to the high-tech industry. Take some time to reflect on your experiences and determine what is worth including in this section. Focus on highlighting relevant skills, responsibilities, and achievements that can showcase your abilities and transferable qualities.
Lastly, and perhaps most importantly, begin actively engaging on the platform! Here are some key actions to take:
Follow companies and individuals who align with your interests.
Like, repost, and comment on other people's posts to demonstrate your engagement and contribute to discussions.
Very important - expand your network by connecting with as many people as possible, even those you may not know personally. Through random connections on this platform, I have received about three job interviews. A recruiter took notice of my profile and promptly reached out.
Even after securing a job, I highly recommend keeping your LinkedIn page updated and maintained. The high-tech industry can experience unforeseen crises, and having a well-maintained profile with an impressive background can be valuable during such times.
Showcasing Skills: Powering Up Your GitHub Profile
Before you begin posting and showing off your projects, there are a few important considerations that I believe you should be aware of and take into account.
I'd like to start with a common mistake that I've seen a lot of people do - if you're a student, it's best to refrain from sharing your homework. GitHub is a platform intended for uploading and sharing projects, whether it's a small project like a 'to-do list' that you've completed within a week or a compiler you've developed over several months. In my opinion, and as echoed by people who research candidates for different positions, filling your GitHub with all the assignments you received during your studies does not present you in the best light and provides no significant advantage. I would even go further and say that it can give off an impression of amateurism.
Disclaimer - if during your degree, you have worked on a substantial and impressive graduation project or participated in a seminar where you built something that can be considered a project, you can market it as your own personal project, which is quite true when you think about it. Just make sure the repository's name isn't something like "Homework2_FinalVersion".
Another important thing to note - always consider how potential recruiters perceive you. While not everyone will make their way to your GitHub page, for those who do, it's essential to make a strong impression. How can you achieve this? The solution is simple - by creating a compelling README file.
A well-crafted README file can serve as a powerful tool to showcase your project, providing an overview, instructions, and any relevant details. It allows recruiters to quickly understand the purpose, features, and value of your project, which can help capture their attention and generate interest.
As an additional piece of advice, don't hesitate to introduce yourself and share your hobbies on your profile's README. This is the perfect opportunity to provide a glimpse into your personality and interests.
Feel free to check out my GitHub profile as an example. I've put effort into designing an engaging profile by incorporating captivating animations and emphasizing my interests in a nerdy and geeky manner 🤓
However, the work on READMEs does not stop with the profile. While you may have successfully captured the recruiter's attention, now you have to prove your worth. Then again, keep in mind that the person who's visiting your GitHub likely has a tight schedule and numerous applications to review for the same position you're being considered for. Your aim should be to encourage them to explore the code you have written and make a positive impression. To achieve this, you need to create a README for each of your projects, adhering to similar principles as the README for your profile.
Here are some key points on how I present my projects:
When building projects, I'm trying to choose catchy names for them, that give a product-like feel (see one of my projects - MonoBox).
Once I settle on a name, I enjoy using brandmark.io to create a logo that adds a visual element to the project.
By GitHub's unwritten convention, I ensure that repository names are written in lowercase letters and words are separated by hyphens.
I highly recommend adding descriptive text and relevant tags to projects, as it adds valuable context and helps with discoverability.
I prefer making the README within the repository more focused on the technical aspects and professionalism compared to the README on my profile. However, this approach is entirely flexible and can be tailored to your preferences. It's your project - go wild with it!
You can find a wealth of inspiration for special profiles and designed repositories in these links, which compile a wide range of examples that you can leverage:
Taking Action After Self-Promotion
Once you feel ready to dive back into the water, just do it!
After implementing and applying the strategies we previously discussed by myself, I experienced a noticeable increase in referrals from recruiters.
So I would like to present some ideas to help you take what you've done a step further (It's important to note that these suggestions are meant to complement the steps you have already taken. Moreover, implementing these suggestions can provide a significant advantage over your competitors for the job).
From Code to Spotlight: Leveraging GitHub for Projects and Articles
Who doesn't appreciate some positive feedback for their hard work, right?
Therefore, I strongly recommend that you start publishing your projects. After all, you have already put in the effort to create dedicated README files, so why not share your work with others and receive recognition for your achievements?
When publishing your projects (and as a personal example I take MonoBox, which I mentioned before), I recommend writing blog articles (just like this one) that capture the entire journey you experienced while building and working on the project. You may be pleasantly surprised to discover that people will take the time to read your articles and show genuine interest by asking questions. Engaging writing can create a captivating experience for readers and foster meaningful interactions around your projects.
In order to gain exposure for your project, I suggest sharing it on various platforms such as Reddit (while adhering to subreddit rules), relevant Facebook groups, Hacker News, LinkedIn, and any other platforms that come to mind. This multi-channel approach will help you reach a wider audience and increase the visibility of your project.
If you do it right, you will start to see a surge of activity in your repository. People may offer code optimization suggestions, open Pull Requests, leave stars (which, once the project accumulates a significant number of stars, can be highlighted on your resume), reach out to you, and engage in various forms of interaction.
The Power of Persistence: Casting a Wide CV Net
For both myself and friends from home and school, the strategy of sending resumes to multiple places proved to be fruitful.
A critical note - many job requirements advertised may not accurately reflect the actual requirements for the position. As an example, I personally began working in a role that supposedly required 2+ years of experience. The key takeaway is to filter opportunities wisely and not rely solely on automated processes.
Since I noticed that many companies were not interested in hiring people for student positions (at least during the time that I was looking for a job), I made the decision to omit any mention of my ongoing degree pursuit in my resume. However, it's crucial to note that I did not conceal any information. Instead, I listed the anticipated graduation year on my resume, allowing attentive readers to deduce my student status. Additionally, I refrained from explicitly stating that I am a student on LinkedIn and GitHub. Only in the late stages of the job interviews did I bring this up and clarified that the fact that I am a student would not interfere with my ability to perform the job effectively.
And one more thing under the same topic - don't get your hopes up. Keep sending out resumes until you secure an interview, and even after you've had an interview, continue sending out more resumes. The goal is to create momentum and keep multiple opportunities in progress. It's only when you find yourself in the later stages of the employment process with several different companies or on the verge of signing an employment contract that you can be confident you are on the right path and one step away from securing your first job.
Navigating Tech Job Interviews with Confidence
This is the part where I have limited insights to share since I haven't been to enough job interviews yet.
Nevertheless, what I can say, regarding this topic, is that I consistently made a point to inquire during each job interview (with humility, of course) whether the interviewers or recruiters had reviewed my LinkedIn profile or GitHub.
In one of the interviews, I had the opportunity to go over some of my projects on GitHub with the interviewer. Since I had included GIFs that demonstrated the functionality of the projects, there was no need to run the code live in front of him. The interviewer's reaction clearly showed their impression and positive response to my work.
In another interview, I was told that not only did the interviewers themselves check out my resume and GitHub, but it turned out that four different people in their company had to go through them before they decided to call me back. This showed that they took a thorough and careful approach in evaluating my profile, and it made me realize the importance they placed on the information I had presented in my resume and GitHub.
Lastly, in my current job, I was told that my GitHub profile played a significant role in helping the hiring team quickly recognize my suitability for the position they were seeking to fill. While it wasn't the sole reason for their decision to hire me, it did capture their attention and generate interest, leading to an invitation for an interview and subsequent progression in the hiring process.
Reflecting on the Journey: Key Takeaways
And... that's it, I think.
I believe I've covered most of what I wanted to share.
I would like to thank you and extend my sincere gratitude if you took the time to read everything. I know it was quite a lot, so I just wanted to express my appreciation.
Remember that everything described in this post should be taken with a grain of salt, as everything you read is true to the process I went through and experienced personally. However, as you can tell, the information is backed by people who have been in the industry for a long time, as well as a lot of research and validations I've done on my part.
So maybe not so little salt... 😉