A Frontend Intern's Diary: First 9 Months in Tech
Tags: career, webdev, frontend, intern
Published: 2023-12-31 22:25:31

As 2023 came to an end, I took a moment to reflect on the most significant change in my life this year: starting my career as a Frontend Developer. Landing what I consider the coolest job has been an adventure, complete with rays of imposter syndrome—a common experience as we all strive to learn quickly and prove ourselves. Whether you're in the midst of your first job hunt, eyeing an internship, or just starting out and struggling with the new challenges, you're in the right place!

I hope this blog will guide you through a possible path in this field and help alleviate some of the anxiety by sharing the lessons I've learned. Let's dive in!

## My situation
The term intern means someone in the industry who is still in his university / college studies, but wants to step into the market. Despite how things go in other countries, in Hungary there are no 3-6-12 months long internships, most jobs have indefinite time-frames, although usually there is a trial period.

One pivotal step in my job search was joining my university's student cooperative. They were instrumental in crafting my CV and connecting me with companies offering exciting job opportunities. The major advantage of these cooperatives is their extensive network with companies, enabling them to match your skills and aspirations with the right employers. If you have the chance to join one, don’t hesitate – it’s a decision you won’t regret.

## It's okay to get rejected
In my job hunt, I applied to around 20 positions, receiving responses from only nine. Out of these, I faced five rejections, and four progressed to interviews, with only one leading to an offer.

The key lesson? Don't get overly excited or disheartened by non-responses or rejections. It's a natural part of the journey. Each application is a learning opportunity – refine your CV, enhance your LinkedIn presence, and work on projects that can boost your resume. With your new experiences you will have a better chance. Repeat these things and you will land your first job.

Remember, as a student, your experience may be limited. Employers take a risk in hiring you, but they also invest in your potential. Stand out by showcasing unique skills. In my case, it was a keen interest in UI design. I've had only one website in my portfolio (if I can even call it a portfolio😅), but I worked on many designs and got really familiar with Figma and design principles. Don't get me wrong, you don't have to be a good designer, you can have a thinking of a Business Analyst or have amazing coding knowledge, maybe you understand databases better than others. Find your thing and highlight it.

## The interview process
Most interviews begin with a brief 15-20 minute phone call with an HR representative, screening for basic fit. Be prepared to discuss your interests, academic program, career aspirations, and your journey into IT. Just be honest, and I promise nothing will go wrong.

After this initial call, you'll likely schedule a more in-depth interview with a team member, often a technical lead or potential supervisor. This is your chance to shine, discussing university and personal projects. Be ready to address questions on your communication skills and problem-solving abilities.

The following interview stages vary by company. You might engage in language tests or problem-solving exercises. Remember, interviewers are not your enemies; they're assessing your potential as a team member. One unique technical assessment I faced involved a take-home task in React. My advice: Don’t hesitate to request more time if needed, especially for challenging tasks. It’s about accuracy in estimation and delivering the best solution. Approach the task as if you were already part of the team – ask questions, use Git, and write clean, well-documented code.

## First Few Weeks as a Developer
On my first week on the job, I was immediately involved in a Daily Standup Meeting. It was a whirlwind of new information and concepts to grasp. Terms like Redis, Migration, Microservices, PoC (Proof of Concept), and Sprint Planning were all new to me, and I focused on absorbing as much as I could.

The initial days were spent setting up my development environment and understanding how task management and development operate on a larger scale. I learned a great deal about Agile methodology, a stark contrast to my university classes. It was an eye-opening experience to interact with databases and development processes in a real-world setting. I was overwhelmed and wasn't sure if I belong here. I just felt dumb.

To help you out, here is a little vocabulary related to how developer teams work, so you won't struggle as much as I did:

1. Agile Methodology: A project management and software development approach based on iterative development, where requirements and solutions evolve through collaborative effort.

2. Scrum: A framework within Agile that involves short sprints of work to achieve a defined goal, with frequent reassessments and adaptations of plans.

3. Sprint: A time-boxed period, usually 2-4 weeks, during which a specific set of work must be completed and made ready for review.

4. Standup Meeting: A daily brief meeting in Agile teams to discuss progress, upcoming work, and potential obstacles.

5. User Stories: Simple descriptions of a feature told from the perspective of the user or customer.

6. Backlog: A list of features, changes, fixes, and more that serve as the team's to-do list.

7. Iteration: A short time frame where Agile teams complete work from the backlog.

8. Continuous Integration (CI): A software development practice where developers frequently merge their code changes into a central repository, followed by automated builds and tests.

9. Retrospective: A meeting held at the end of a sprint where the team reflects on the past sprint and identifies improvements for the next sprint.

These terms are just a few you'll likely encounter in the beginning of your developer journey. While I couldn't include everything, here's a crucial piece of advice: there are no stupid questions. Asking questions is the quickest path to learning, and rest assured, you won't be annoying to anyone. Your primary role is to learn, and it's in the team's interest to help you grow. I am lucky that my direct supervisor became my mentor and he took me under his wings. Having a mentor in your team will not only boost your learning, but will help you through the hardest parts. I can't stress enough how important this part is.

## Navigating the Codebase and fighting the Imposter Syndrome
The following weeks were dedicated to familiarizing myself with the codebase. It was daunting at first, encountering something so vast and complex, with millions of lines of code. This experience brought back feelings of imposter syndrome. But I reminded myself to stay calm, approach the code methodically, and understand it bit by bit. The process was truly fascinating – seeing how a project is structured and learning about best practices opened my eyes to the intricacies of large-scale software development.

As each day passed, my confidence steadily grew. I engaged in numerous conversations with my colleagues, gradually getting to know them better. It's no exaggeration to say that I've found the best team in the world. We operate not just with remarkable efficiency, but also share a familial bond. My hope is for everyone to find a team where they experience this same sense of belonging and support.

## Months of steady improvement
Gradually, I've been assigned more complex tasks, marking a significant transition in my journey. Initially, these challenges seemed daunting, pushing me out of my comfort zone. But, with the support and guidance of my team, I tackled each task with increasing confidence. It’s a rewarding experience to see how my contributions now play a pivotal role in our projects.

Additionally, I consider myself fortunate to be involved in a diverse array of projects, which has significantly accelerated my learning curve. My work spans from AI-related projects to tasks where I assume the role of a Business Analyst. This variety not only enriches my skill set but also provides a broader perspective on how technology can be applied in different scenarios.

I began my journey as a newcomer to React, armed with a solid foundation in CSS and JavaScript. Since then, my toolkit has expanded significantly, now including TypeScript, Next.js, Webpack, Azure AI, Tailwind CSS, Framer Motion, among other technologies. These past nine months have been an incredible ride, full of learning and development. As I look forward, I'm filled with anticipation for the opportunities,projects and challenges that 2024 will bring.

The essence of being a developer is embodied in daily learning and adaptability. It's not just my personal experience; it's a fundamental aspect of the job. We're constantly solving problems and crafting new solutions, which keeps the work both challenging and deeply rewarding.

## Call to action
Hi, I am Gergo, but everybody calls me StariGeri — I am a Frontend Developer Intern as well as a Computer Science student and I am sharing many things around these topics.

If any of this sounds interesting to you subscribe to my newsletter, so you won't miss anything in the future. Also if you have some thoughts you’d like to share, a topic suggestion or you found a mistake, do not hesitate to reach out to me via [LinkedIn](https://www.linkedin.com/in/gergo-starosta) or [Instagram](https://www.instagram.com/starigeri?igsh=ZGNjOWZkYTE3MQ==).