A Day in the Life: Peter
I joined Corefiling as a software-engineer intern last summer. I was placed within one of the four development teams to work on Yeti, the online taxonomy viewer. My typical working day went something like this:
The company operates a flexible hours working policy, which means that I don't have to be at my desk until ten am. This leaves me plenty of time to cycle into work. The first thing I do when I arrive is grab a coffee and check my emails to see if I have been notified of any breakages in the code overnight. I then report to my team leader, make him aware of any issues that have developed, and discuss the work I carried out the previous day.
I join the Product Development department for their 'stand-up' meeting, where I listen to each team leader discuss their work and its progress. All interns are expected to participate in the same activities as permanent employees, which is why I'm required to be present at these meetings; it's a really good way of ensuring that I keep track of all developments in the software.
Interns aren't expected to work entirely independently. After attending the meeting, I spend the rest of the morning pairing with one of the permanent developers. We spend time working together on one of the products they have been assigned to.
I always make sure to break for lunch. As it's a friendly company, interns are treated the same as any other employee. I'm included in all the team activities, be that mid-week curry on a Wednesday or a traditional pub lunch on a Friday.
After completing the pairing work in the morning, I spend the rest of the day focusing on my project. All interns are assigned their own projects to work on, designed to be finished within the eight weeks of the internship. The projects have significance as, once completed, they are incorporated into the company's official product range. Working on the project exposes me to a variety of new languages, paradigms and tools.
During the development process, the product is subject to the same practices used by the Product Development team, such as formulating test driven development, documented code, following company code styles, and having the project wired into the build system. The internship aims to provide the candidates with a deeper understanding of programming languages and 'agile' software engineering practices, achieved through creating and testing code in a team setting.
When it gets to six, I start to pack up for the day. If it's a Friday, everybody heads to the pub for some well-earned drinks. One of the best things about being an intern at CoreFiling is that as soon as you leave the office doors, the concept of hierarchy effectively vanishes. Everyone is really friendly, and even interns can joke around with superiors in the pub after work.