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!

When I was in my second year of university, I knew I really wanted a summer internship. University taught me a lot, and so did personal projects and hackathons, but it just felt like I was missing something -  like I was always fighting wooden dummies and what professionals did seemed so mysterious. So when I saw Administrate’s internship opportunity on an online job board, I applied immediately. It was especially attractive to me because they promised to let interns work on products like a full-time engineer, and they did not disappoint.

I interned at Administrate for 13 weeks. During my time there, I worked in Team Copper on the backend of Administrate’s training management system and contributed mostly to the GraphQL API and the business logic using Python and SQLAlchemy. It was there that I practised software development processes, design patterns, and learnt about the importance of company values, which were all things I had been missing.

We had daily standups, weekly sprints, and a solid pipeline for tickets. I followed test-driven development (TDD) and pair programmed with other Software Engineers. Every day I was either adding new features to the API, adding security layers, fixing bugs, or refactoring legacy code. It was difficult at first, and I would get lost in the large codebase unsure of where to start. However, my team was very patient and understanding. They would often check in to see how I was doing and if I didn’t understand something, explain it on whiteboards. There were also introductory talks on project architecture for the interns. Over time, I started to see the bigger picture. My coding abilities improved, I could complete some tickets on my own, and find my way in the codebase, which was an important skill.

Coding

Additionally, on Team Copper, I was able to work closely with a Product Manager, which allowed me to see how the tasks we were doing were related to our business projects. It taught me how important it was to prioritise tasks and to get work in progress through the pipeline so that we deliver as much value as we can and as fast as we can. I was involved in planning and retro sessions and one of the demos as well, which made me more integrated with the team.

Outside of Copper, I was able to shadow Team Iron and try out some of their tickets on infrastructure, which was something I was also interested in. Other departments such as Sales and Marketing gave us talks on what kind of work they did every day and I attended a meeting for Senior Engineers. I appreciated all of this as it showed me how different aspects of the business work together to be successful.

It was clear how much Administrate cared about its employees. The most significant evidence of this was the company-wide four-day weeks. I never thought I would ever work four days a week in my life, and there I was, having a good work/life balance in my first internship. Additionally, there were a wellbeing month, pizza Wednesdays, lunchtime learning sessions, and weekly book clubs, which I particularly liked, in which we read and discussed The Clean Coder and The Phoenix Project with an Engineer. We were also given access to Uncle Bob’s videos on writing clean code, which I found really useful, and we even had talks from other companies. Furthermore, another intern and I were allowed to attend an external Docker talk during work hours, and I was able to work remotely for a day with short notice, which shows how flexible the company is. In short, Administrate is a cool place to intern at.

On the flip side, it was sometimes difficult to get help when I was stuck on a problem because of the small team size, which was four for the majority of my internship, especially if it was a team-specific issue. It would also have been great to see a more diverse Engineering department. However, the company had been expanding pretty rapidly, and quite a few female engineers were hired, so this should solve both of those problems.

Overall, I thoroughly enjoyed my internship at Administrate. The experience had been invaluable and far better than I could ever have imagined. Not only did I improve my technical abilities, communication skills, and business sense, I grew as a professional as well, and I want to thank all the wonderful people who gave me the opportunity and helped me with this growth.

You can read all our previous Interns at Work blog posts here.

If you’re interested in an internship position at Administrate, make sure you check in with us in the early part of each year when we’re interviewing candidates for the upcoming summer.