Engineer in training: Benefits of working in a digital agency

Lil Corris is our latest Software Engineer in Training, and as she goes on her apprenticeship journey, she will be sharing monthly updates on what it’s like to retrain for a career in development.



Choosing the right working environment as a beginner in tech seemed like an incredibly important decision that I didn’t yet feel equipped to make. However, as I looked into the options of starting my training as an in-house developer, or at a digital agency, I weighed up the pros and concluded that agency was the path for me.

Since working within a digital agency, I can outline the vast benefits I have personally experienced as part of a tech team working on multiple projects with various deadlines.




The first thing I noticed was the pace of the business. The speed at which projects come in the door, and back out again, can be slightly overwhelming to begin with, but is something you very quickly become accustomed to. The deadlines come thick and fast. We follow a practice where the developers estimate the time in which it will take for them to build the project, that time is then quoted and contracted before landing back with the developers to carry out the build once we’ve had the designs. Obviously, there are a lot more stages to the project life cycle, however, as a dev, these are the parts of the journey we are heavily involved in.




Having to quote for every project enables us developers to have a very good understanding of how long it will take us to produce the end result. Whether that be a single function, an individual piece of code, or a full project. We can accurately break down the process and estimate the dev time needed to deliver the final project.

This is great for time management and has got me into the habit of being able to judge a task and its complexity, thinking the code through before starting it, and keeping track of how long a task actually takes me to make my future time estimates more accurate.




The opportunity to expand your skill set and step out of your comfort zone surrounds you. No two builds are the same. Of course, we have similar projects, but as we are working with a variety of clients with completely different businesses, even the projects that seem similar will differ in some way, whether that be the language it is being built in, using a different framework or library, or the way it is being integrated.




Although we do have departments, as any other company does, the cross-department collaboration is a lot more fluid. The specific team needed for each project will differ based on the project, what it needs to do, and the language & packages being used in the build. This has given me great exposure to other departments, and allowed me to collaborate with people I may not necessarily work with on a day to day in my role.




As I am a Software Developer apprentice, I have certain criteria to tick off by the end of my course to pass and also have to cover a range of modules. Although my role is a FrontEnd Developer, I have found that I have had a natural exposure to many different departments, and have been able to get an authentic view into other teams and roles. Down the line, I will be working with these teams more closely, and shadowing within different departments to support my learning in specific modules, so it has been comforting to know I have already had an insight into their work and am familiar with the team.


Staying up-to-date


With us getting such a wide range of projects through the door, it is a great opportunity to stay up to date with the latest tech & trends. We use a variety of languages which means our team is either always refreshing their knowledge and putting it to good use, or learning new skills. These projects enable us to have the freedom to use more modern technologies that suit the project and its needs, while the team has the chance to learn new skills along with implementing these approaches.


We of course have a lot of legacy projects to maintain, and have website rebuilds come to us with legacy code that needs rejuvenating. In these circumstances, we get the chance to reaffirm what we already know and can take on the task of modernising the code to future-proof the projects.


Client interaction


As a digital agency, the opportunity to see the project life cycle from end to end, and have an input on various stages, is a lot more frequent. I felt that as an in-house developer working on internal projects, the exposure to clients and project meetings may have been few and far between. Therefore, to support my goals and apprenticeship requirements, for example, being able to speak to technical and non-technical stakeholders, I concluded an agency was the best place for me to be. The amount of projects running at the same time, and the ability to participate in client meetings and see the way the relationship is handled first-hand, are invaluable experiences. 




In-house software developer roles seem to offer an in-depth understanding of one language, or one project and give the reassurance of job stability and familiarity. Overall, it seems there is more opportunity to learn and get the most out of training for a full career in tech, not just software development.


Don’t forget to keep an eye out for my next blog as I continue to share advice about retraining as a Software Engineer and the latest updates on my apprenticeship journey.