In this thesis, I describe my journey during a nine-month internship at xgeeks. The
dynamic nature of modern software development has elevated the role of a Fullstack web
developer to a pivotal position. As I embarked on this internship, I faced the challenge of
transitioning from a newcomer to a proficient web developer. Motivated by the realization
of web development's critical role in modern businesses, I eagerly embraced the opportunity.
The internship took place in an environment where the role of a Fullstack developer was
central, acting as a bridge between frontend and backend expertise, crucial for the seamless
functioning of modern applications. By having good communication skills as one of my
strengths, it allowed me to integrate seamlessly into their work ethic and diverse
development teams. Throughout the internship, I contributed to three distinct projects. The
first was SPLIT, an open source retrospective tool, where I was a Fullstack developer. The
second project was Command Center, an application that served as a hub for various internal
applications, where I worked as a Fullstack developer, but with more focus on the frontend
of the application. The third and final project was a website for xgeeks’ yearly event called
Geekathon, where I worked solely in the frontend of the application. All projects followed
Agile development frameworks, such as Scrum, Kanban and Scrumban. In hindsight, the
internship was a success because all objectives were accomplished.
I transitioned from a novice to a proficient web developer by acquiring proficiency in a
range of technologies and frameworks such as HTML, CSS, JavaScript, TypeScript, React,
Next.js, and NestJS. The application of Agile methodologies in real-world development
scenarios provided a tangible realization of my theoretical knowledge. Across all projects, I
actively participated in idea generation, wrote clean and maintainable code, resolved bugs,
and maintained effective communication within the teams.
My internship experience at xgeeks not only solidified my career aspirations but also
emphasized the significance of adaptability, continuous learning, and effective
communication in the realm of modern software development