What I Learned from My Internship

Every step of this captivating experience has impacted both my professional and personal development.

What I Learned from My Internship
Software Engineering Intern, Peace Amichoh

I've always believed that the expression "knowledge is power" is true, and I've always admired its relevance. The pursuit of knowledge has been a driving force, as I knew it held the potential to empower me.

Related Posts: Meet More Interns

However, it wasn't until my time as a Software Engineering Intern at BigCommerce that I truly comprehended the profound truth behind these words.

This transformative experience has solidified the deep meaning of that saying in my mind. This amazing chance to develop and pave my way to a bright future has left me dumbfounded and fueled a strong sense of appreciation and resolve in me. Every step of this captivating experience has impacted both my professional and personal development, leaving behind memories that I will always treasure.

The chance to work alongside talented individuals and immerse myself in the world of software engineering has been nothing short of exhilarating. My interest in Computer Science has been further sparked by this internship's eye-opening experience. Even though I already knew I wanted to major in Computer Science in college, this life-changing event helped me see how this subject is actually used in real-world situations, specifically in software development and engineering communication. My love for computers has grown as a result of being exposed to these aspects, and I am now more certain than ever that I want to work in this dynamic and always changing industry.

Before My Internship

In preparation for my internship, I received a preview of the programming language I would be focusing on this summer, and I couldn't contain my excitement upon discovering that I'd be immersing myself in a new programming language. This aspect has always been a  motivating factor behind my passion for Computer Science as I find tremendous joy in learning and exploring new computer languages. The internship presented a golden opportunity to apply and expand my knowledge in a practical setting.

I had the chance to work with React, a widely used framework that incorporates JSX, an extension to JavaScript. This powerful combination is essential for building interactive user interfaces and web applications. The prospect of working with JSX and creating dynamic interfaces ignited my enthusiasm and deepened my interest in web development. It was a thrilling experience that fueled my eagerness to embrace this aspect of programming.Throughout my journey, I have nurtured a mindset focused on continual growth, acquiring fresh knowledge, and striving to be the best version of myself.

During My Internship

Although learning new languages presented its fair share of challenges, the rewards have been plentiful, particularly when successfully coding the assigned tasks. During this summer, I worked on a project aimed at creating a feature that enables merchants to manage their user profiles in the Accounts Center. Initially, our focus was primarily on the user interface aspect of the project, enabling me to witness the visible changes. This involved creating the page layout, designing how it should look, and implementing essential elements such as the cancel and save buttons.

As I progressed and tackled more tickets, my exploration extended to the backend. I delved into the process of fetching user information from the database. Understanding this backend flow added depth to my comprehension of the entire project. I learned about the way APIs work and the services at BigCommerce that were involved with the relevant data for our project. I had the opportunity to learn from Software Engineer II Michael Lopez and my mentor Sarvesh Pandit, Software Engineer II, about how user information moves from the database all the way to the interface where it is displayed graphically. They educated me on the precise data flow. This allowed me to understand and code the behind-the-scenes functionalities that might not be immediately visible but play a crucial role in the overall system.

The experience of working on both frontend and understanding the backend aspects has provided me with a comprehensive understanding of the project and has been a valuable learning journey.

From the very first day, the Identity and Access Management (IAM) team welcomed me with open arms. They showed me the great value of having a team that is not only skilled but also embracing of others. It ignited a desire within me to be part of such a collaborative and supportive environment in my future endeavors. Witnessing how everyone interacted on a day-to-day basis was truly inspiring, and it reinforced the importance of asking questions to ensure a clear understanding of tasks and expectations.

Open Roles: Explore Your Next Engineering Opportunity

For example, I remember when I received a ticket that was more challenging than simply creating the page layout. It involved implementing validations, which required a thorough understanding of the steps and the necessary imports to trigger them. As I was still in the early stages of learning React, the previous ticket for the page layout had been straightforward since I could visualize the changes and quickly find similar code to guide me.

However, I found myself facing more complexity beyond just designing layouts with this ticket.

Despite attempting online research, I still felt unsure of where to begin. Seeking guidance, I reached out to my mentor via Slack, and together, we broke down the task into manageable parts. I started by coding just a quarter of the ticket and gradually built upon that foundation. Our sessions and communication were instrumental in my successful completion of the ticket. My mentor's explanations, code reviews, and answers to my questions helped me gain a deeper understanding of the code and the logical steps leading to the solution.  

Additionally, I learned firsthand how open communication improves productivity. The IAM team's frequent meetings, such as standups where we addressed blockers (when engineers have a problem or difficulty understanding their code) and code-related queries were instrumental in our field, recognizing that seeking support and collaborating with others are essential for success. Another meeting I found valuable was the refinement session, where we thoroughly discussed tasks and tickets, clarifying doubts and voting on their complexities.

This process allowed me to approach my tasks with greater comprehension, and I felt empowered to seek clarifications and guidance from my fellow engineer, Caitlin Stewart, who displayed remarkable patience and an open mind. Through countless sessions and code explanations, I learned the importance of research and seeking advice when faced with challenging tickets. Having one-on-one meetings with Caitlin was not solely focused on code-related matters, which is something I truly appreciated. We had the opportunity to discuss general questions, get to know each other better, and explore various methods of coding. These conversations added a personal touch to our collaboration and enriched my learning experience during the internship.

Closing Reflections

As this internship draws to a close, I am astounded by the wealth of knowledge I have gained, extending beyond coding itself. This experience has not only honed my coding skills in React, with its integration of JavaScript and HTML elements, but it has also paved the way for an easier transition when I fully master JavaScript. The significance lies in the fact that I can apply my newfound React knowledge to simplify coding further.

However, the most impactful aspect of this journey has been the invaluable input I received. I’ve received feedback on my code about how to make it simpler and more readable to understand. My mentor, Sarvesh, emphasized the importance of coding in a way that ensures the code functions as intended during testing. Structuring the code in a clear and understandable manner for others to read is crucial. Adding small comments to explain the code is essential for clarity, and optimizing the code to make it cleaner and more concise, such as reducing four lines to two, is highly beneficial. I also received valuable guidance  from my fellow engineer, Caitlin, which proved instrumental in my learning journey. I gained insights into effective ways to test my code before pushing it on GitHub for review and learned about code formatting best practices. All of this guidance served as a turning point during my internship, providing me with insightful lessons on streamlining code, introducing new syntax, and stressing the significance of thorough coding tests. Embracing this input has been an enriching and transformative experience throughout my learning process.

Collaborating with a team has been an immensely rewarding experience. In particular, my partnership with a fellow intern, Sailekha Sivasamy, has significantly enriched my communication skills. Throughout the internship, our consistent and open communication fostered a supportive environment, enabling us to guide and lift each other up, ultimately culminating in our team's resounding success.

I would like to express my heartfelt gratitude to my manager, Kristof Redei, for his exceptional leadership and effective communication throughout the entire internship. Kristof’s responsiveness to my inquiries, and the opportunities he provided to enhance my internship experience are truly appreciated. I greatly admired how he led meetings, exemplifying strong leadership qualities.

As I reflect on this transformative experience, I am grateful for the well-rounded growth it has afforded me, not only as a coder but as a team player and a receptive learner. I eagerly look forward to carrying this newfound knowledge and these priceless lessons into my future endeavors.

About Code2College

Code2College is driving transformational change by placing historically underestimated high school students into paid, technical summer internships. Through a volunteer-based program model, we deliver after-school coding education and workforce development training to thousands of students across the country. Born and scaled in Austin, TX, we have been changing lives and creating a more equitable future since 2016.

BigCommerce has partnered with Code2College since 2022 to place high school students into paid technical summer internships.