This summer, I had the privilege to take part in an eight-week software development internship in Softwire’s London office. As part of a cohort of 30 interns, I had the opportunity to gain an insight into the world of software engineering, under the guidance of skilled developers. It was an extremely valuable experience, providing not only comprehensive work exposure but also an incredibly enjoyable programme.
Engaging training
The journey began with two weeks of dedicated training. Through a blend of engaging demos and hands-on coding tasks, we were introduced to key coding concepts that would serve as the foundation for our subsequent project. These activities were meticulously designed to equip us with essential programming concepts and tools, all whilst being fun and interactive. Meanwhile, we were getting to know our fellow interns better, through fun team-building activities and socials, evolving into a close-knit team.
Real-world project
The main part of the internship was a six-week project, where each intern group was fully responsible for the development of a commercial-grade application. It was an invaluable experience that provided us with a comprehensive understanding of software development, from design to deployment.
I worked in a team of nine, with six software developers and two designers, led by our team trainer. Our group worked on a train-monitoring application, called ‘Journey Companion’, which allows users to conveniently track both inbound and outbound train services, enhancing their travel experience by providing real-time information.
Our responsibilities encompassed every area of software development, from front-end to back-end, as well as deployment. One thing I particularly liked about the programme was the opportunity it provided to immerse ourselves not only in the coding aspect, but also in the design and planning aspects of software development. We began the project with a research trip to Euston Station, aimed at gathering feedback from the public, a crucial step to better understand the needs of our users. Under the guidance of our trainer, our team played a pivotal role in defining both the strategic vision and functionality of the app, with a primary focus on a user-centric design.
We worked on the back-end using JavaScript/TypeScript and seamlessly integrated with multiple APIs, including several from Transport for London (TfL), enabling us to retrieve live transport data. I thoroughly enjoyed the problem-solving aspect of the project, particularly the challenge of efficient data caching – a crucial aspect for optimising the application’s performance and responsiveness. As for the front-end, we collaborated closely with the two talented designers in our team, allowing us to transform their designs into reality using React. This was a novel experience for me and a practical insight into effective cross-team collaboration in the software development industry.
Another task which I particularly enjoyed was the challenge of handling the app’s automatic deployment. I was responsible for creating a GitLab pipeline stage to ensure automatic deployment of our app to AWS Copilot upon every merge to the main branch, which I did using Docker containers. It was a great opportunity to experience DevOps practices first-hand and to enhance our team’s overall efficiency and productivity.
In addition to the programming skills we learnt, our experience equipped us with a range of essential soft skills. To start with, we experienced the powerful dynamics of working in an Agile team, whether it was pair programming or complex discussions in our weekly sprint planning and retro meetings. We were exposed to Jira for issue tracking and Agile project management, which enabled us to tackle task management and prioritise effectively. Moreover, through the training and active involvement in the project, we gained a deep and thorough understanding of how to use Git for version control.
Helping us all develop professionally
What truly set this experience apart was the exceptional support system that Softwire has put in place. We had weekly one-to-one meetings with our team trainer, where we received continuous guidance and support. Their expertise and personalised attention were instrumental in catalysing our growth and accelerating our learning curve. Additionally, we were assigned a dedicated graduate mentor who supported us throughout our journey. They helped us settle into Softwire, answering our questions, and providing insights into their role in the company. This strong support system was a testament to Softwire’s commitment to encourage personal and professional growth.
Finally, it goes without saying that the company culture at Softwire is outstanding – exuding warmth and inclusivity. Several engaging social events take place after work each week, creating an enjoyable work-life blend. These range from board game evenings to beer-pong (with a Softwire twist), to badminton and martial arts classes and of course the annual company picnic. The company also organised multiple intern events, including my personal favourite, a thrilling darts evening at Flight Club. These socials were a great way to bond with our fellow interns and build lasting friendships. I also took on the responsibility to organise the interns’ pool tournament, which ended up being a super-exciting experience for everyone.
Seize the golden opportunity
I wholeheartedly recommend this summer internship to anyone looking to go into a career in software development – it is a golden opportunity. It offers hands-on learning, exposure to a collaborative Agile work environment, and the chance to expand your understanding of software development – all while having a great time. I’m truly grateful to Softwire for providing such an incredible programme.