Behind the Screens: Solution Street’s First All-Remote Internship 2020

August 27th, 2020

It is now a four-year tradition at Solution Street to invite the young and brightest to join us for a summer of hands-on web development and consulting experience. Our interns have released a variety of applications for different businesses from basketball training and timesheets to content management and catering. We pride ourselves on helping them grow from rookies to budding full-stack developers following industry standards not only as coders, but also as team members and consultants. 

Historically, this has all been incredibly hands-on and in person, with intern supervisors and team leads as well as Solution Street employees popping in and out of conference rooms, conducting whiteboard sessions, mock interviews, and even occasional philosophical conversations over a game of foosball. The 2020 quarantine caught us off guard. As the internship was approaching and interviewees were getting approved, the big question was looming more and more: do we cancel and cut our losses or step into this new world of teleconferencing? After several weeks of deliberation and planning, we reached the decision: Game on! 

The first challenge we had to conquer was making sure everyone had Solution Street laptops for their development purposes. While easy in theory, this becomes quite a task when the laptop has to be shipped out of state and during unsettling times. We had to face mail delays, and even a return before the laptop finally reached its destination. In the meantime, as the internship was already underway, we made an exception for that intern to use their personal machine to conduct regression tests only. It is one of Solution Street rules that client code should not be on any user’s personal computer, so finding more tasks that would buy some time and prevent that from happening in case of delays, would be key. Some of the things I thought of after the internship include: creating/updating documentation, working on wireframes, conducting research on a particular library or tool and presenting it to the rest of the team, etc.

Ultimately, we all had to remember that every intern’s downtime is on us for not providing them with an appropriate task to complete, so while organization had to suffer a bit in the first two weeks of us trying to get everyone on the same level, a lot of work got done and a lot of questions were answered on the way there. 

There were also a few adjustments that we made to make this experience easier on the interns as well as ourselves – since supervision and communication is key in learning new concepts, we had to shorten the interns’ day to half in order to allow the team lead, a year-round intern at Solution Street, as well as myself to get our work done while still being available during the proposed four-hour time frame. This was a good call because as we learned more from this experience, it becomes fairly tedious to maintain a teleconference connection all day just to signal others you’re still working and available; there is indeed something odd about seeing people’s faces occasionally looking at you from your own screen. 

There is no absolute way to follow an agile process and every team follows its own flavor, so it is a heavy recommendation to our future selves as well as anyone else organizing a remote internship to optimize their favorite approach specifically for someone brand new in engineering with plenty of structure, extra standups, required peer reviews … and group code reviews.

We also did not go straight to the main internship objective as we did the years before. Since no one actually knew how development while learning would work out purely on a remote basis, we agreed to give ourselves a bit of padding – the interns would start by getting themselves acquainted with some intern-written applications by conducting regression tests, and then – if a bug was discovered, proceed to follow the protocol of reporting it, assigning it to themselves or a teammate, and attempting a fix. Since we had three applications to cycle through, we were quickly running out of time and losing track of our sprint goals, so a remote internship like this would require a lot more explicit organization to keep up with milestones and sprints. There is no absolute way to follow an agile process and every team follows its own flavor, so it is a heavy recommendation to our future selves as well as anyone else organizing a remote internship to optimize their favorite approach specifically for someone brand new in engineering with plenty of structure, extra standups, required peer reviews (we made those optional, with required reviews from team lead and me to save time), and group code reviews. The latter is a bit time consuming due to our love of philosophizing over code, so it is a tough choice to make between that and the planned learning path, but if we budget more time for another internship like this, it’s definitely an exercise I’d want to attempt.

Over the years, we have developed a “loud coding” approach where interns would sit in the conference room and project their code to others while trying to talk them through a bug or a solution. I was initially excited to observe that translating straight into the video chat, but to my surprise, the safety of being remote actually played against us! Who would have thought that people would mute themselves and refuse to voluntarily present if given the opportunity (hint, the entirety of the Internet)? As we noticed this pattern, we actually had to start “picking” on them to share their work and opinions on camera. While certainly having a classroom feel to it, this approach actually resulted in interns absorbing a lot more information and getting a lot more experience with putting that information to words. Of course, it was a huge merit of their own, our group was smart and inquisitive; we couldn’t have picked a better team to share quarantine challenges with.

Nothing can replace the bustling of the office in the morning, the collective groan when the lights go on as someone decides to break the morning darkness, the smell of coffee or Earl Grey from the kitchen, and the friendly banter near the water cooler. Our “skinny latte” of it all was cheering with coffee mugs and scribbling on Google Jamboards when enthusiastic gesturing to answer the question just didn’t cut it. We still enjoyed our fantastic Solution Street employee speakers with their tech talks and intern lectures on video chat – and the team still found a moment to have some fun with skribbl.io and drawing all over the jamboard when the mod (me) was not looking. And of course, no internship is complete without the last presentation of the product prototype to our client (Joel), mock interviews and resume analysis to wrap up our remote adventure. Needless to say, the interns aced it!

This is the absolute spirit of Solution Street – finding enjoyment and inspiration in our work, rain or shine – and I like to think our team got to be a part of it, even behind their screens.