My Journey as a HNG 11 Intern: The Good, The Frustration and The Victory
This is my recap of the last 8 weeks as a HNG intern. From stage 0 to finalist
What is HNG?
HNG internship is a fast-paced bootcamp program that targets individuals with at least 6 months experience in their respective technical skill. The tracks available in HNG11 were:
Front-end web development
Back-end development
Mobile development
Project Managers
Data Analysts
Video and Marketing
Product Design
Product Testing
You can learn more about HNG by visiting their website.
My history with HNG
I found out about HNG last year in August and I registered for HNGX. I did the front-end and back-end tracks but I ended up being deactivated in stage 3. At the moment I was very overwhelmed and I realized that I did not have enough soft skills to survive in the program.
Applying for HNG 11
Early this year, I saw a HNG post on X where they were opening applications for HNG11. I applied for the front-end and back-end tracks(again) then I started preparing myself for the program.(my preparation did not actually prepare me😂)
The last weekend of June I got an email with a slack invitation and it was time. I was ready for it and my past experience gave me confidence that I would be able to hack it.
But things don't stay the same so I was in for a rude awakening.
The Journey
The Beginning
I joined the workspace that weekend and we had a stage 0 task which was writing articles. And I was confident that I got this.
I was promoted to stage 1 later that weekend. You can check out my stage 0 articles here and here.
The front-end task was to create a simple page with our details and goals for the next two years. You can check it out here. (Warning: it's not aesthetically pleasing).
While the back-end task was to create an endpoint that returns the user's IP address, location and the temperature in their city. This was tricky at first because I couldn't access the IP address (it was working but I was overthinking😂) but I managed to make it work.
The Beginning of the End (or so I thought)
This is when the intensity suddenly went from 0 to 100. Front-end developers were expected to collaborate with designers to create an e-commerce website. We were expected to bid to get a designer with a limit of 3 bids🥲.
I wasn't ready to give up despite my limited bidding skills. I created a simple bid template with the various projects I have developed and started my bidding spree. Selling myself was definitely cringe but it was necessary. Luckily for me I got a designer in less than an hour.
After going through the hustle and finally getting a design to work on, my laptop decided to give up on me the evening before the deadline. I was so stressed at this point because my designer was also dependent on me. If I don't deliver, we both get deactivated.
I had like 75% of the project done but the styling didn't really match the design completely. So I tried making the changes on my phone and I submitted what I could. Looking back at it, it's not terrible for the circumstances. The hero section tho😂. You can check it out here. (I'll be improving it tho)
Before my laptop predicament, I had completed my back-end task which was to create endpoints for users and organizations and write tests for the logic. This was easy in my head till I got started with it. The tests were my main issue because I had never done test-driven development in JavaScript. I got this done while I was waiting for my designer to complete the design.
I got promoted in the back-end track but I dropped the front-end track because I didn't pass.
In stage 3, we were to work in teams of 5 to document the design of the API and database for the boilerplate project. This task gave me time to get my laptop fixed in preparation for the next stage.
We were able to deliver the task and get promoted to stage 4. This was another turning point in the internship where it got really intense. Node developers were expected to learn a new framework, NestJS.
Joining teams
In stage 4, we were to collaborate with back-end developers from different stacks, Python, Laravel, C#, Golang and Java, to create tickets and deliver them across our different stack repositories.
I found a team of 3 developers and we created this ticket but we couldn't deliver it because our dependencies(authentication and creating comments) were not implemented. This is when I discovered that I didn't like collaboration especially in such a fast-paced environment.
I was so sure that I wouldn't make it to stage 5 but I did. I realized in this stage that it is so important to communicate what you did and how you contributed. I had written the logic for my ticket but I couldn't create a PR for it. So we got another submission form and I linked my branch here. And I made it through.
In stage 5 and 6, we worked on the boilerplate project by making pull requests for the issues that were not implemented. I was mainly stuck in merge conflict hell in these stages.
But we made it through to stage 7
Working on my Team's Product - Remote Bingo
In stage 7, we started working on the team's core product which was Remote Bingo, a real-time bingo game, We were divided into mini-teams comprising of 1 project manager, 1 front-end developer and 1 back-end developer and we were to work on one feature in the product.
My mini-team was working on implementing alphabet mode in the game. Everything was going great till the front-end developer in my team decided to leave the workspace. Then later, our feature was completely removed from the app. So I just started packing my bags, ready for deactivation.
I submitted my PRs and hoped for the best.
Luckily, I made it through to stage 8 where we were expected to fix bugs and deliver 20 1-point tickets that were created by the project managers. The huddle in this stage was that the project managers, who had moderate to no technical experience, were supposed to create technical tickets. We made it through to stage 9 and I was so close to being a finalist I could smell it.
In stage 9, the task was to make the app completely functional. Our team was majorly facing difficulties with making the app real-time. This was everyone's main concern but we were able to make it work with the help of our mentors.
The Victory
After a lot of uncertainty, we were able to showcase our app and all the features we were able to deliver. We passed the MVP test and became finalists.
Conclusion
This was an exhausting experience(mentally and emotionally) but I am so happy I was resilient enough to make it through to the end.
I am grateful to my team, my team leads, the mentors and everyone who was a part of this journey with me.
My Takeaways
I applied to HNG11 knowing I will do whatever it takes to make it as a finalist. That meant I was ready to step out of my comfort zone. And I did just that and I am so happy that I took advantage of this opportunity.
Here are a few things I have learnt these 8-weeks that I will be implementing for the rest of my tech journey:
Writing quality GitHub issues and PRs
Writing tests for my logic
Writing documentation for my endpoints
Improving my communication skills
Is HNG for you?
I'm don't know. If you read through this article and you're ready for the emotional turmoil then you should definitely register for HNG12 which will be starting in January 2025.
Personally, I 100% recommend it and I think it's a great opportunity for anyone starting their tech journey.
You can register here.
Products from HNG11
In HNG11, the interns delivered 6 products namely;
Remote Bingo - a digital bingo game for teams
AI for Homework - an AI tool that assist students with their homework. They can upload or scan their homework and the AI can help them through it. Teachers can also use the tool to grade their student's homework
Telex - A real-time notification system that allows teams to get alerts and notifications from multiple applications in one place
Delve - A language-learning AI 3D game that helps users learn languages by completing quests
Tifi - A content-creator toolbox that generate quality videos from scripts or summarize YouTube videos, podcasts and PDFs.