How did Fortune get his first Full-time Job as a Junior Developer? - Junior Dev Series
April 20th, 2022 | 8 mins read
This post is a summary of our conversation.
My name is Fortune Ikechi. Most friends call me Kay. Currently, I'm a Developer Relations Engineer at Storyblok, where I help manage our community of developers, write documentation and create content around Storyblok and how it works around so many systems, applications, and frameworks. I primarily manage documentation in our team, but I also get to speak, write content and answer questions on our Discord channel around Storyblok.
I love working at Storyblok. Apart from the fact that I get to experiment with many technologies, I talk to a lot of people. The team is fantastic, and I get to learn a lot. For someone like me with many questions, people are always willing to share answers. Also, the synergy between the DevRel and Product team is so beautiful.
I also get to do something I like very well--creating content.
I was a Technical Writer and Contract Software Engineer. I created a lot of applications with the MERN (Mongo, Express, React, Node) stack for clients and friends. And I also wrote a lot of articles for publications like LogRocket, Smashing, OpenReplay, and the rest before getting my first full-time job. My friend referred me.
The thing about contracts is that you work on your timeframe. Sometimes, I try not to be the only one building an entire project. I outsource some parts of it to a friend, which allows me to do other things I want to do, like creating content.
The only issue I had was mixing these things with school.
One thing I did that made all the difference for me was talking to my friends. I told all my friends that I was looking for my first full-time role if they had any MERN stack or front-end engineering roles. It made all the difference for me because that was how I got my first job.
Another thing I did a lot was shooting hardcode emails to recruiters. I get their emails from LinkedIn, and I send them a message: "Hi, I'm so so and so person, look at the projects I've done. I can do this and I can see that you have so so and so roles in your company" and I attach the link to the job. "Anyways this is my portfolio, this is what I can do, here are ways to contact me" and I shoot the mail. I even had a template for sending hardcode emails.
My friends knew I was working, but I often told them I wasn't comfortable working full-time. I wasn't a fan of the end-of-the-month paid thing. I like the fact that I get to work contract with my time. But when I was finally ready, I had to send them messages on WhatsApp and Twitter to let them know I was ready for a full-time role, also explaining the things I could do and my social contacts.
The company was built with Laravel on the backend and React on the front end. One of the things I struggled with was understanding the legacy code. I had to join the company and immediately started delivering new features. I joined on a Wednesday, and on the following Friday, I had a list of features to be implemented in the next two weeks.
But there was another guy who was doing Laravel and React Native, and he was available for the so many questions I had.
One of the things nobody may tell you when you get your first job is how much you need to always say what you're doing at a particular time. I'm working on this feature, but nobody knows. So you need to learn constant communication. I had to learn communication and regular feedback. Nobody told me, so I had to figure that out myself.
When you came, is it that the code was poorly written, or you probably didn't have as much experience required to understand the code?
I did have experience working on the code, but it was different. One thing about React is that it allows you to do whatever works for you. The project had Tailwind and CSS files and also had Bootstrap. Bootstrap could not handle some things, so they had to hardcode the style declarations. So there were many things, and you do not know when you break something or delete a relevant CSS class.
So it was a struggle with the project having so many architectural styles and you not being present when different decisions were made.
At some point, I had to tell my manager that we would not release any feature for the next coming weeks, and we needed to rewrite a lot of the code, and it worked at some point.
The fact that I had experience with the MERN stack was a big deal for them. Because the recruiter was like, "we need someone to understand some part of the backend sometimes because you may need to consume APIs which may be faulty, so we need someone who could easily fix stuff on the backend". He didn't just want someone who was just good at React.
I met all but one. They wanted someone who could write some part of the documentation. I wasn't comfortable with that. I didn't think I could build features, write documentation, and do other things I'm interested in. So during a meeting, I discussed with them that I wasn't sure I'd love to do that. So even if I could actually do it with the bit of experience I had, I told them I wasn't comfortable doing it with the other things I would be doing.
I think not everyone can actually meet the requirements of a job. If you meet a good percentage, shoot your shot. Some recruiters don't expect you to meet every requirement. And, it's easier to prove yourself during the interviews that you have had a good experience.
Back then, I wasn't writing cover letters. I wasn't sure of what to write. But I had some noteworthy projects, so I included them in my resume and sent in my applications.
Like I said earlier, I also shot cold emails letting them know who I was, my stack, projects I've built, and things I can do. I let them know I'm a good fit for the open role on their website. I sent over 50 of such emails, and more than half replied to me. They'd usually reject me because of my location, my expected salary being over their budget, or my years of experience being lower than what they wanted.
Yeah, I did.
I was 19 when I started applying for jobs. Basically, I just cry my heart out, wake up the next day and start applying for more jobs.
For me, back then, I was enthusiastic. I felt I had all I needed to get the jobs, and I also felt that I had to just convince one person to hire me. I was young and uprising in tech, so the bad experiences had not really gotten to me then. I saw the rejections as normal. I also haven't gotten so many rejections, so it was easy for me to move forward.
I first met with the guy, my friend, a Backend Engineer, and he asked me, "You know React, right" and I said, "yes". "Can you do React and some backend on some days" and I said, "yes, sure I can". Then I met the manager. He informed me that he had heard a little about me from my friend, and he asked to see some projects I had done. At first, he asked how much I was expecting, but before I answered, he said, "Oh, don't even bother to answer that. This is what we can do" (laughs). Then he asked if it worked for me, and I agreed.
Next, he informed me that I'd also be doing documentation, and that was where I cut in that I would do the front-end work well and play some part in the backend, but I could not do the documentation. 48hrs after he asked for my resume and portfolio, he reached out and told me he would like me to see the CTO. I did, and I got asked many technical questions about React.
A few days later, I signed the contract and started working.
2. As a front-end developer, the only way to get a job is to know and build full-stack applications, right?
In my case, I did because I wanted to not just get a job fast; I wanted to gather a lot of experience working with those tools.
I had three main projects:
- an eCommerce project with Mongo on the backend, React on the front-end, with authentication, APIs for fetching products, and all that
- a Robot app built with React following a course I purchased then. I added more features to mine, such that you could customize your robot and you could also pay to get more robots
- a Weather app where you could make your designs or format for the display of the weather
And some client projects I was permitted to share.
Mostly React questions. Especially Class-based and Functional Components
For me, what works is belonging to communities. Most of the contract jobs I've gotten are from friends I made in communities. I advise people to always talk about what they do, their projects, and things like that. In such communities, you can share the things you work on.
One thing many of us don't recognize is that it takes more than just experience to apply for remote jobs. You're somewhere in the world where the internet is an issue; light is an issue, and communication, as a result, can be an issue. These are subtle things to fix before applying for remote jobs. Developers have lost job opportunities due to inadequate network connections during interviews.
You can join your school's Google Developer Student Club. That's an excellent way to connect with people and build stuff as a group. You can also join Facebook ALC. There's OSCA. And there are online communities you can join. You can find them through Twitter.
- Cold Email Template
I'm Fortune Ikechi, I am a Frontend Engineer with proficiency in React, React Native and TypeScript. I see you have an opening at SalesTrue. I'd like to apply for a frontend development blogger position at SalesTrue.
Attached to this mail is a copy of my resume and linkedin.
- React Robot Tutorial Course
- Fortune's Portfolio