Background
As a company, ITDev invests in the future of engineering by, amongst other things, offering summer internships to undergraduates. Over the summer of 2018 we had three interns including Matthew. Having enjoyed his time with ITDev, Matthew wanted to share some advice to other undergraduates considering an internship.
Team working
I’m Matthew and I’m a second year Computer Science undergraduate. I worked at ITDev for ten weeks over the summer with two other interns. Below I have some advice for undergraduates who are interested in doing an internship.
While I was at ITDev, working in different teams was one of the most important aspects to the internship. It allowed for an efficient work flow; my colleagues were always happy to help whenever I got stuck and we could also brainstorm ideas, coming up with good solutions to various problems we faced. During the first three weeks or so of the internship, I was working on a project with the other two interns, and since we sat near each other, we could collaborate effectively.
I think if you are considering embarking on an internship, it is very important to be prepared to work in a team environment and ask questions when you need help. However, I think you should also try to solve problems yourself first before immediately asking a colleague to help who might be busy with another project!
Agile project teams
During the internship, I was given the opportunity to work in an Agile project team. Specifically, we used the Scrum framework when carrying out an internal project during the beginning of the placement. I found this very useful, since it allowed for efficient planning and collaboration within the team.
Some advice I would give to new interns would be to always have an idea of what you’re going to say during the daily meetings, since this is the best time to identify how well the project is progressing, and whether more time needs to be spent on certain things compared to others. Also, providing realistic time estimates of how long different pieces of work may take will help with making sure the process runs smoothly and will help to identify what the smaller and bigger tasks are. For Scrum development, at the end of a sprint, planning what you are going to say in the retrospective meeting is important. Providing constructive feedback in this meeting will help future sprints go more smoothly.
Learning new languages / technologies
As part of the internship, I needed to pick up new programming languages and technologies relatively quickly in order to complete tasks. This was useful for me since I gained experience in other areas of software development that I hadn’t come across before. For example, I enhanced my knowledge of languages such as Java, PHP, Python, SQL, HTML, CSS, and JavaScript, as well as learning about technologies such as Jenkins (including plugin development), Subversion, Git and Drupal.
If you are embarking on an internship, I would say a good way of learning new things is to have a certain goal in mind and try to work towards that goal and if you get stuck, ask others to help until you can piece together a solution to the problem. In particular, when picking up a new programming language or technology, I find it is very useful to use online documentation and example code snippets, as well as advice from colleagues, for help.
Conclusion
Overall, I thoroughly enjoyed my time at ITDev and would highly recommend it if you are looking for an internship option and have an interest in software or electronics development. The staff are very friendly and there is a welcoming atmosphere to new employees in the office.
The placement allowed me to learn a lot of new things about how software is developed within a work environment and I have a much better idea of how a small business operates in the technology sector.
Internship Opportunities
If an internship with a growing technology design business interests you or you would like to find out more about our internship opportunities, visit our Careers Page and contact our recruitment team.