This summer I interned for Speak Creative, a web-first marketing company. I worked on the product team where I helped fix bugs and build features for SiteWrench, Speak's custom content management system. The internship was super productive and extremely informative for me as a young software developer. Here are three things I learned from my first internship in the industry.
Learning is more important than experience
One thing I was worried about coming into the internship was my lack of experience with the tech stack - namely, React. I've used both Vue and Svelte successfully, but all of my previous attempts to work with React had failed. JSX had always seemed completely unintuitive and unnecessary when compared to more standard templating systems like those used in Vue and Svelte.
On the first day, though, there were no expectations that I should know React. The only thing that was asked of me was to be willing to learn. I spent the first day of my internship learning how React is designed, and guess what? Now it makes sense. I still don't prefer React over Vue, but I understand its methodologies and the ways it's meant to be used. My lack of experience with a specific technology wasn't the priority - my willingness to learn is what mattered.
Slow and steady wins the race
There were several times I pushed a commit to the internal Git system only for my supervisor to review it and find a typo, an unnecessary
console.log, or something else that I should have caught. I was prioritizing the speed of fixing bugs and adding features over the accuracy and format of my commits, and it was actually slowing down the development process. This taught me that it's better to slow down and review my own code before pushing rather than be too hasty and push something that could bring down production.
Get used to working on older code
Not every project runs on the absolute latest version of all the hottest technologies! Most of the codebases I worked on were React apps bundled with ancient versions of Webpack and Babel. I hadn't worked with either technology in-depth, mostly because the much faster and simpler Vite bundler has existed for much of my time as a developer. I had the opportunity to convert a few of these legacy apps from Webpack to Vite, but that wasn't the case for all of them.
I learned a lot about Webpack, but I also grew to appreciate that older codebases aren't always bad. There can be solid applications that don't run on brand-new technologies and are still maintainable.
Talking to coworkers does help
Interning at Speak brought me a lot of challenging structural and logical problems. At first, I attempted to solve these problems on my own, which I usually do since I'm used to a single-developer environment. However, I eventually learned to use the benefit of being in an office with other devs to my advantage, and my supervisor and I talked out any complex (or simple!) problems I encountered. Even asking questions over the company Slack was way more helpful than pushing myself to figure out the problem on my own.
My time at Speak was extremely useful (not to mention fun) and I'm grateful to have spent my summer there. I will remember the lessons it taught me for years to come.