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!
Towards the end of my second year at the University of Glasgow, I knew I wanted a summer internship. It was time for a new challenge. It was time to get real-world software engineering experience outside of university. Having looked at various internship opportunities, Administrate stood out by far. When I read their values, it was as if I was reading my own; I wanted to give it my all. Thankfully, I was given the opportunity, and I joined Administrate at the beginning of June 2019, as an Intern Software Engineer.
Working as an Intern Software Engineer
My journey began in Team Sodium, who were working on Learning Paths. During my first few weeks, there was a lot to learn, in terms of company onboarding, software technologies, and development processes. Alongside this, I gained priceless experience pair-programming with Software Engineers on my team, learning from their many years of experience. I was also assigned a mentor who ensured my internship experience went smoothly and that I made the best use of my time at Administrate.
Time flew by quickly, and soon, I was contributing to the codebase. Having mainly worked on projects written by myself, I initially found it difficult to work on such a large unfamiliar codebase. However, with the help of my team and over time, I began to see how everything was connected, and soon, I was completing tickets on my own. I worked on the GraphQL API backend in Python and implemented new frontend React components on both Administrate’s learning and training management systems. I worked on bug fixes and implemented support for Learning Paths across existing features. My team was always happy to help when I had questions.
I was treated like a regular Software Engineer and was given all the responsibilities that came with it. Every day was a new challenge and a new experience. I was involved in daily stand-ups, sprint plannings, retrospectives, and I joined in on team demos and engineering strategy meetings. I also got to partake in Administrate’s annual LITE conference.
Additionally, there were weekly lunchtime programming challenges, lightning talks, and discussion groups. Administrate also organized an intern book club where I read and discussed three books with different Software Engineers. Test-Driven Development by Example taught me that I should be writing tests before writing code and that tests are just as important as code. Practical Object-Oriented Design in Ruby showed me techniques to write manageable, reusable, and well-structured code. The Phoneix Project demonstrated what can happen without processes and how to improve your IT operations.
Outside of Team Sodium, I got to meet with Sales, Marketing, Professional Services, Account Management, and Support. I learned how Administrate functions and how crucial it is for all teams to work together to become the Ultimate Human Organisation.
I really enjoyed my internship at Administrate. It was both challenging and rewarding. It was the real-world software engineering experience I was looking for. I have learned so much more than I expected, and I am certain it will contribute to my academic performance as I enter my third year of university this September.
I would like to thank everyone who gave me the opportunity and helped me along the way, especially Team Sodium and my mentor Steve Shanks.
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.