Key Lesson I’ve Learned from My Software Engineering Internship

Damian Dzik
2 min readJun 8, 2023
Photo by National Cancer Institute on Unsplash

During my college’s final year, I faced the choice of undertaking a 3 to 7-month work placement or enrolling in an AWS course. Recognizing the importance of practical experience over theoretical knowledge that might remain unapplied, I opted for the work placement. Luckily, I secured an internship at a thriving small company specializing in accountant courses, despite initial doubts about its profitability.

One of the most significant takeaways from my internship was learning how to effectively structure my GitHub repository. Surprisingly, this vital skill was absent from my college education, which lacked practical insights. Hence, the opportunity to learn such essential skills during my internship was invaluable.

To ensure an organized and efficient development process, I discovered a simple GitHub branching structure. The approach involved creating a main branch and branching off a development (dev) branch. From the dev branch, we could create additional branches for specific implementations, as shown in the diagram below:

cool diagram of GitHub structure!

This branching structure enabled us to focus on individual implementations without the need to handle everything within a single branch. Consequently, it minimized the chances of introducing bugs, errors, or crashes into the main branch, contributing to a clean and well-organized application. This approach allowed us to avoid spaghetti code that could potentially break the application or website at any moment.

Although my college offered a module on GitHub, it proved largely ineffective as it did not provide comprehensive instruction. Its sole focus was on creating releases, leaving many crucial aspects unaddressed. In contrast, my internship provided a wealth of knowledge about development, the development environment, and various technologies. It even helped me discover my career path.

I highly recommend pursuing an internship, as it offers numerous benefits. The experience gained during an internship is extremely valuable since employers nowadays prefer hiring developers with practical experience. By undertaking an internship, you not only acquire essential skills but also gain exposure to real-world scenarios, enhancing your employability.

--

--

Damian Dzik

Software Engineer and a passionate gamer. I am very passionate about all kinds of technology, from phones to computers and many others.