Student Placement

The phone rang and on the other end was a student from a UK University called Molly. She spoke to Jeremy (CEO) at Magma Digital with an air of determination in her voice to explain that she was looking for a student placement during August 2018 and would love to come and spend some time with the team here at Magma.

As the phone call continued she explained that she was just finishing her first year on a Computer Science degree course at University and was looking to get work experience as a student placement within a development team, to increase her practical skills alongside the more theoretical knowledge she had learnt this year in her lectures. Molly described how her course was fairly general in many respects and so her goal was to gain some specific experience in web development over the summer.

Impressed by her tenacity and determination to approach an employer and spend a portion of her free time working towards this goal, Jeremy agreed to a six-week placement here at Magma with the software engineering team.

When Molly arrived at Magma we quickly identified with her that she had basically no experience of PHP and so we planned a layered integration into the workplace by first filling that knowledge gap. Her first week or so, involved listening to and watching some PHP tutorials as well as shadowing and receiving mentoring from one of our Software Engineers.

Very quickly, Molly grasped the fundamentals and we moved her onto learning about databases which she continued to develop her knowledge and practical skills in throughout the six-week placement. As time moved on she started to work with frameworks. Molly had some knowledge of the concept of frameworks but had not worked with them in the way we do at Magma. She spent considerable time learning and practising in this area and has left Magma with significantly more knowledge and practical application skills in frameworks – specifically Laravel, which also introduced her to ORM’s (Object Relational Mapping) which allows code to more cleanly interact with a database.

During her placement, Molly took part in shadowing sessions with her mentor, 1:1 tutorial sessions, stand up meetings and sitting in on client meetings/calls. She learnt some Laravel, and used tools such as editors/programs, PHPstorm, Git and MySql workbench. She completed an introduction to Bootstrap and improved her skills in database design and learnt about PHP and a variety of software engineering concepts.

She learned the importance of how breaking code, is just as important as writing code in terms of learning as a developer and she said that she particularly benefited from having two mentors as she could see how individual developers approach coding in different ways and this was a helpful insight for her.

Having two mentors, meant that one of them could focus on integrating the basics for her whilst the second mentor concentrated more on getting her knowledge and skills to the next level in a wider set of developer tools as the placement progressed.

During her student placement, Molly worked on an internal software project and built a prototype for the team to test and pilot. She completed her task and the team were able to trial the prototype successfully before she finished her placement much to her relief. She fitted well into the Magma team and it was an absolute pleasure to have her working with us for the summer.

Why a student placement is important for your team?

Firstly, it is part of our ongoing commitment back to the developer community to support learning and best practice in our industry. Molly became part of the team for six weeks and got to experience the realities of a live agency work environment, something University cannot easily provide other than through supporting placements. She attended meetings, stand-ups, listened to client calls and meetings. She came go-karting with us and joined in our monthly pizza lunch feasts and saw just how much cake and chocolate an office team can consume given half the chance!

Internally for our team, there are huge benefits from having a student. The engineers develop their own skills in coaching and mentoring. They report that it helps them in many ways such as having to revert back to how they did things and explain basic concepts. One said it forced him to go back a bit and think of how he would explain the basics and then build on top of this. He found this quite difficult at first but soon found that it felt really good to be rehearsing those concepts and not just relying on shorthand explanations. It reminded him of how far he had come and how much we can take for granted as understood concepts and knowledge.

Another mentor said that it reminded him of the pitfalls that he went through when he was learning and what it felt like at that early stage of learning. The victories and wins came quickly in those early days as there was so much room for improvement and this was satisfying as a learner.

The engineers recalled how so much learning in development, comes from falling into the rabbit holes; and that having confident mentors that let you make those mistakes is one of the best ways to learn and remember for later on in your career. They assured Molly that they had all been there and this was just part of the journey to becoming a competent Software Engineer.

From a team development perspective, having a student placement (Molly), with us for six weeks has been a pleasure. She has fitted really well into the team and we will miss not having her around as she returns back to University for year two. We believe that having a student is really healthy for a team. Students ask fundamental questions that make your engineers clarify and justify their decisions. It helps them to adjust their communication style so that they explain concepts clearly and at the right level, avoiding short-hand which is a useful skill to use with clients who may not have much technical knowledge.

Finally, mentors of students get the opportunity to practice their supervisory skills and input into the next generation giving something back into the wider developer community.