This review was submitted over 4 years ago, so some of the information it contains may no longer be relevant.
As a first year student on a four year course, I was lucky to get an internship anywhere - never mind a chance to work somewhere as excellent as Red Gate. There were too many enjoyable aspects to list, but here a couple of my favourite: The Code Katas were a fortnightly opportunity to pair program with someone completely new in a different department, focusing on a small computer science challenge (of a similar style to Project Euler). In terms of new skills learnt per hour, this was definitely the most efficient way to learn. You quickly pickup new techniques working together with an experienced engineer, and it's a good opportunity to try test driven development or other paradigms new to you. You're free to pick a language and I found it greatly amusing when my 5 lines of C# turned into about 50 of Haskell (now that I think about it I probably should of researched built in time functions before jumping into it - look I'm still learning from the Kata even now!). Down Tools week occurs each year at Red Gate, fortunately for us during the internship season. Throughout this period every software engineer at Red Gate is free to choose any project, new or old, to work on. Therefore for a week of the placement a few of the interns banded together and hacked, prototyped and generally mashed code into a working extension for one of Red Gate's tools. While a rigid style of software development backed up by tests certainly provides the most durable code, this week was a fun chance to throw testing into the wind and see what we could create.
The team were generally friendly and welcoming, as standard at Red Gate the whole team gets up to have lunch together (at the excellent free cantine) which helps co-workers make friends. As a highlight, due to taking a holiday in the middle of my internship, I had the opportunity to welcome the new graduates joining the company in September. Nothing reinforces your membership in a team like someone even newer than you joining!
While Red Gate has a great culture, great benefits (the coffee machines - wow) and a great building, what really made the internship for me was my mentor. Sitting immediately next to me, I was encouraged to bombard him with questions and accordingly I learnt a great deal. As a further example he provided me with software books from the company library, these I studied in work hours before tackling a new type of problem. Instead of solving problems for me, I was shown where I could find the answer - this built a new level of independence into my software development skill set. Finally, there were weekly one-to-one meetings in which my progress (and his) was assessed - providing constant feedback.
The workload was pretty balanced during the main chunk of the placement, however it was slightly sporadic during the beginning and end.
For all intents and purposes I was treated as part of the team. There were no special restrictions placed on me for being an intern, in fact in the first week I was pushing security updates I'd coded to live (after thorough code reviews, of course). All of the problems I tackled were real-world issues not just ones dreamed up for an internship - had I not been there another team member would have tackled them.
During the placement I developed a range of software engineering principles and skills. Although I primarily worked with C# and Red Gate's own tools, many of the techniques I've learnt are independent of platform. As an example I find myself spotting and utilizing software design patterns much more fluently, solving new issues by breaking them down into already solved components. I have no doubt that the programming advances I have made at Red Gate will help my degree - although if you took ReSharper away from me I might panic!
Generally the office was calm which made it easy to focus on working. Occasionally this would be interrupted by a nerf gun battle across the desks. If you're lucky enough to get a placement, buy a nerf gun.
The application process was very simple, send a CV and covering letter, pass an interview and start the job - far from the nightmarish forms some companies make you fill out. The structure of the internship was not set in stone, we solved live issues as they occurred. When systems weren't failing I had a list of new features the team would like to release and I worked my way through this. The odd Code Kata and build failure helped mix up the schedule and keep things interesting.
I was frequently encouraged to read books from the library, research new topics online and pickup new techniques from my colleagues. If I was struggling with a particular software library, I was referred to experts in the various departments of Red Gate. There were also weekly lightning talks: a few Red Gate employees would speak for 5 minutes on any technical topic they wished. This allowed different departments to communicate new solutions and interesting problems. Anyone could signup to give a talk, including interns.
Sports and Social Club
Red Gate is an excellent employer of interns and new graduates. All software engineers are treated equally - but this is a double edged sword. While being treated equally is great for postgraduates, more experienced engineers will find the artificial ranks provided by the likes of Microsoft more in their favor. Red Gate is currently trying to resolve this situation, but it's not there yet.
Outside of the first week, Red Gate rarely encouraged the interns to work together. Each intern joined a different department and were treated like new members of the team. This provides a more realistic reflection of life at work and helps you integrate with the company, not other interns. Don't be discouraged by this, if you want to work amongst students - stay at university. During the weekends the interns regularly met up to enjoy Cambridge, such as eating at local pubs and going punting. However these events were organised by us, not Red Gate. During Down Tools week we were free to choose to work with whomever we wanted, some interns sticking together and others joining separate teams. The intern social scene is basically what you make of it.
Cambridge is expensive. However, since I came down from London it's not so bad by comparison.
Cambridge is a very student orientated town, so if you want a nightlife you can find it.
There was a big summer event with games, live music and competitions hosted by Red Gate at the beginning of the internship. Additionally, my team occasionally visited the pub at lunch time and frequently after work.
Internship (1-4 Months)
Computer and Systems Engineering, Computer Science
6th September 2013