Each summer we welcome a couple of interns to join the team here at Administrate, usually as part of the development team. They typically arrive in June and work until September when they have to head back to university to continue their studies. They get paid a salary, and are treated as full team members with real responsibility for real projects - no tea making and photocopying here!
Thankfully I have had the opportunity to intern at Administrate for two summers now. Last year was my first experience outside of university and I enjoyed it so much that I had to throw my name back in the hat for the chance to come back. Luckily I was picked again and given the opportunity to build on my experience for a second time. From these two internships I have seen how Administrate has changed over the past year, not only from the engineering aspect but the company as a whole.
Within the Engineering department I have had multiple experiences, with last year was mainly focussing on an independent project to reduce a specific engineering chore through automating that process. This year however, I was placed into a relatively new team in the department, named Cobalt, with a team goal of delivering a new feature while maintaining the existing systems. This has given me insights into how to work effectively when in different team formats and the pros and cons of both.
As well as the change to the team, there has been a change in what I have been writing. My automation project was focused in the PHP codebase, which is the oldest part of the system. This allowed me to take my existing knowledge of the language and really put it to test. By the end of my placement I was relatively fluent in the specifics of the language, and could see myself writing code with ease.
While this was great, there was so much that I missed out on. That’s where this year has stood out. The most recent system was written in Python and AngularJS, and the system currently under construction is being written with a combination of React, ES6, GraphQL, and Java. While there isn't a direct focus on learning one language in and out, having to learn multiple languages to a quality level and being able to switch between the systems has been very beneficial. Personally I can say that my time this year on team Cobalt has been far better in terms of gaining experience. Having a group of people who are working on the same project as you has offered multiple mentoring opportunities, and given me knowledge I wouldn't have gained elsewhere.
One of the main things that has stood out during both times at Administrate is how much I was treated as a regular member of the team. There wasn't a moment where I was given a 'intern' level task. All the problems I had to tackle were real, challenging, and were heading for customer's hands. If I didn't pick them up then it would have been another member of my team. This responsibility was the best motivator as an intern, as I constantly felt the need to be producing the best quality work to improve the product and the customer experience.
Focusing less on engineering, the company shines through as one that cares. This is shown by the overall friendly attitude of everyone in the office, Pizza Wednesdays, the weekly meeting keeping the departments updated, the company values and training, and the shorter work week to prevent burnout. All of these combined give you the valued feeling and this shows in the work carried out day-to-day.
Another value that is more specific to the Engineering department is the constant push of team learning. Each week there is a roughly two hours of time set out for learning as a team. This comes in the form of book clubs, lightning talks, and workshops hosted by team members. This time that is invested into the team gives great benefits when learning a new technology or striving for better quality. It also helps with getting to know the rest of the team and how they might have different approaches to problems.
I’m heading back to university for my masters degree and taking many lessons and lots of knowledge back with me. While university is a great kick-start into this profession, there is so much more to learn and so much that isn’t taught. Internship programs like Administrate’s really prepare inexperienced developers like I was a year ago, and gives them the needed experience of a working company with real problems to tackle.
Finally, a big shout out to everyone who has helped me learn over my time at Administrate. The experience will play a part in my future and has made me better as an employee and as a developer.