Cadetship

Pau's Internship Journey

Sharing with you the wonderful developer experience I had with Goodfrontend.
  • LinkedIn
  • YouTube

Have you ever wondered what it's like to be in a developer boot camp? Well, I was one of the few lucky ones to be part of Goodfrontend.dev’s internship program. I still remember the excitement I had on my first day, being able to be trained by experienced developers and to do what I love is one of life’s most precious gifts – “Choose a job you love and you'll never have to work a day in your life” - Confucius - David Forman.



Let me start with the first objective or task they handed out on my first day, it’s a Movie List Test where we have a RESTful API made with swagger, documentation that provides all client’s user story requirements, and guidelines for the website. As a beginner JavaScript developer, this is the perfect time to get out of my tutorial hell and test my learnings throughout the years.



The Movie List Test was a challenge at first, but I managed to finish it within 5 days. Now looking back, maybe I can finish that task in a day or two! The first problem I encountered is my use of Redux in a simple application, as I thought that it was the industry standard in developing applications and I want to show it to my employer. The next part of the sprint (a short, time-boxed period when a scrum team works to complete a set amount of work) is to refactor my code into a simpler one, so from Redux to a simple useState is what I came up with. Over-engineering is the number one enemy in software development, the simplest solutions win! We have this goal to make the code as short as possible.



For our second task, we are assigned to build a website from scratch with a provided design and to utilize the company’s technology stack such as NextJS, Storybook, React Testing Library, Styled Components, and TypeScript. This is my first experience using NextJS and the power it has with server-side rendering and SEO, pair it with Vercel and GitHub, your developer experience will expand tenfold, 11/10 for this technology stack. The application extracts data from an API and the main highlight for this is implementing a Dark Mode feature.



So the first and second task is for the instructor to gauge the level of knowledge each of the interns has. Some are placed in CSS fundamentals or JavaScript fundamentals, but for my third objective, I am paired with a colleague to swap each Where in the World code and refactor his code to a simpler one, and the purpose of this task is to enhance the skill of reading others' code and using GitHub. I can say that I learned a lot on this sprint specifically collaborating with other developers, and the ability to refactor and simplify the logic.



My fourth objective is to implement a filter feature in the Movie List Test, this is not a simple task, for a beginner, of course, think about Netflix and IMDb, every Movie has different kinds of properties, and those properties are separated with different RESTful endpoints, so I have to extract those properties and make them work in harmony. At first, I failed to implement this feature because of the lack of knowledge regards to object manipulation, so I came back to the drawing board and did my research on what’s the best and simplest way to achieve the said feature.



So for my second attempt, it’s to utilize the power of ES6’s array filter method, usage of for of loop with a switch inside the loop, and it took me some trial and error to finally make it work right, and I must say, once you solve the desired outcome, it’s one of the best feelings in the world! That’s exactly the developer high we all love, the reward for being resilient, and the tenacity within us.



For our last and final objective, we are tasked to build Goodfrontend’s website. We are a team of three people, and I’m lucky enough to be part of it, we are called Team Cerberus, a single body with three heads, perfect enough to describe our goal and vision; move forward with unity and the same vision in mind with the benefits of having three brains to steer the path in providing great results.



Our software engineering skills are put to test here, to start, we created our own Slack group with GitHub and Jira integration, so our notification to every pull request and ticket creation is automated. We have our own Jira Agile board for proper delegation of features and tasks. We made sure to be on the same page when it comes to the naming convention, file structure, and every aspect of the software development lifecycle. I’m proud to say that we built the website from the ground up and that itself gave a huge boost in our confidence in being a developer, not just a developer, perhaps a software engineer.



So this part is my take on the technical learnings given to us by Goodfrontend.dev. To start, I will never go back to developing applications with JavaScript ever again – all thanks to TypeScript. It also taught me to collaborate with other developers remotely and with the use of GitHub. This boot camp educated me more than my college days because it handed us real job scenarios and tools.



Like what I’ve said, I consider myself the few of the lucky ones to be part of this internship, why? Because for about a year and a half or even more so, I’ve been self-learning and consistently praying to God to open the door for my passion and career, His love and grace manifested with our founder selecting me to be part of their internship program; that is absolutely God’s work right there.



In terms of personal growth, it taught me to collaborate with other developers, how to politely ask a certain task or refactor this and that. We even have our monthly spiritual and mental health meeting to make sure we are a well-oiled machine – our founder considers us like athletes, and that’s for sure is a fact. He made sure everything is in proper order internally so the external results and outcome is guaranteed.



Now, I have enough knowledge and experience to know what are the next steps to excel in my career – thanks to this wonderful internship experience. Lastly, I would like to say that I appreciate each and everyone that I get to know in this company, and I’m forever grateful for the opportunity and wisdom which I will definitely bring forth to my career.

“No matter what you do, give it everything you have, be the best, not the second-best.” -Michael Jackson

About the Contributor

Discuss this topic with an expert.