A letter to a younger me
This is a short letter that I would like to send to a younger me, who is frustrated finishing a degree in computer science and trying to land his first job in the IT industry.
I was planning to call this blog post "How to get hired as a Junior/Trainee" but since I am really fed up with those clickbait articles, I decided to take a down-to-earth approach and just turn it into a letter to myself.
How are you doing? before I start sharing things, I would like to tell you that you are doing just fine, don't be so hard on yourself, you are just starting.
Getting your first IT job will be difficult, but there are things that you can do to make this journey more pleasant.
With no juniors, there are no seniors. This is a fact.
Regardless of the reason behind this, being hired as a junior will always be hard. There is no such thing as a handbook for getting hired, but there are some useful tips that I put together based on feedback I have collected regarding this subject, from recruiters to managers, plus all the mistakes I’ve made, that I would like you to avoid.
Let's try to focus on what we can do to attract companies to our profile and let them compete for us.
Just a reminder, and something I learned from others, companies are not doing you a favor by hiring you, they are just paying for your knowledge and way of thinking
Enough introduction, let's go over the tips I got for you:
Set a personal goal
The overload of free available information is a fact, for the good and bad, and the exact reason why setting goals usually helps. Don't bite off more than you can chew. Try to understand that you can't know everything that relates to development. Some topics are ok to read-only in a high-level post. So before you get into something, try to specify in simple words what's the main goal you can get out of it.
Development is a huge topic, try to understand the different roles of the field, learn about the struggles and the challenges of each one, and self-reflect on which area you see yourself in based on your interests and skills.
Careful with the Bootcamps
The IT world is demanding a lot of people nowadays, and companies are promoting boot camps that sometimes trick people with fake hopes, like learning React (to name one technology) in a week. There is a lot of free material online when you’re looking for spending money on courses. Make sure to get feedback and recommendations first.
Avoid trying to know it all
Remove the ambition to know it all from your head. With time you will lose that spark and feel less guilty about not knowing about a subject that is getting some hype. Do not try to be the jack of all trades.
Mind the careers roadmap
Many developers have defined roadmaps that outline which technologies or concepts you might have to study. Well in IMHO there is no such thing as a roadmap for developers. As they are subjective and we all have different objectives professionally. There could be some fundamentals to learn, but in general follow your own personal track, especially the road based on your interests and skills, and focus on the areas that you like and see yourself working in.
Ask for feedback
Ask people about recommendations for different paths. Do you know a friend with the same passion as you? Ask them for advice, and listen to people you care about. Look at areas of improvement but don't forget to enforce your strengths, those are the ones that will take you places. Remember to be honest with yourself at all times!
As trivial as it sounds, a break to refresh your thoughts is always important and I would say mandatory. Don't wait to be calm to take a rest, just at the time you are feeling super busy and stressed, that's the perfect moment to recharge batteries. Don't spend much time during the week studying. There will be people on social media saying that you have to study a lot to keep up with the market, well that is not essentially true.
Something that's for sure nice at any point of a dev career, but even more, in the beginning, helps others to develop new ideas and contribute to the tools that you are using. And as a side effect, it helps to get you into the development world, team dynamics, ways of organizing your work and progress, and setting goals and objectives.
Definitely not mandatory, but it will give you exposure.
Learn about the environment
Development is not only about coding, there are other areas that will help to make your work more interesting. The surroundings, no need to make a special focus but just be aware that there are other areas around development and it is not always coding, even more, related to teamwork. UX/UI, communication skills, and learning English will open up many doors for networking and content.
Share your work
I am not telling you to turn on the spam mode and start sharing your work everywhere. Don't spam, this can cause the opposite effect. Think about this in a more organic way. Be active on social media, and make sure you choose the most accurate social media regarding your content. When sharing about projects, or past experiences, make sure you say something unique, particular, or meaningful. Don’t copy things from the internet.
Make the conclusions as personal as possible. Focus on real work experiences, ask family and friends about how you can help them, and build something for them. And after all, share your learnings and conclusions about the process.
There is a nice episode of my favorite podcast that really goes into the details about self-promotion.
Build a CV that stands out YOUR experience
From every past experience, share your learning and takeaways from every job, not only what was your role. Focus on expectations, roles, and labels meant something different in every place where I worked. Look at the article from Sarah Drasner about how to write a resume https://css-tricks.com/advice-for-writing-a-technical-resume/
Same as having a portfolio, it’s not essential but it can potentially speed up the process. The key point here is No procrastination! Think about feasible things, not things that are way too ambitious that you might abandon. Build something small and then iterate, always write your ideas and thoughts somewhere. Start small, and remember that you can always iterate! otherwise, it’s rather easy to get fed up during the process.
Try not to do only projects that teach you step-by-step what you need to do by copying and pasting, do the ones that make you think, be creative, and learn (e.g. codewars). I took this as a personal project, to learn how to work solo, and then shared my experience about creating that. In the end, I wanted the have a place where I could share articles.
Try not to focus on the money only
Money is important, and most probably the main reason we all get into this, but at the beginning of our career prioritizing getting experience over trying to get into the best-paying company in the market, can be a good exercise.
Empathizing with others can really boost your motivation, and get energy from others that are going through the same. Communities are usually good places for networking, and where you can share your own journey making things smoother. Despite your daily doubts, they will make you feel like you belong here.
Massively apply for jobs
On my last try to get a new job, I applied to over 60 openings. I carefully looked for companies and sent a cover letter briefly explaining why my profile can be a good fit for them. Leave the imposter syndrome aside and let companies compete for having you onboard. Show your ambition!
Last but not least, take this with a pinch of salt! This is just a personal observation based on my experience. Don't let others tell you what to do and what not to do. Following your instincts, asking questions, and learning by doing is more than enough!