How to run a successful software engineering graduate academy

15 December 2022

We have been running graduate academies for 15 years. Here are the secrets to how we make them a success.

By any measure Instil is brilliant at running Graduate Academies! We’ve been reliant on them for over fifteen years, both as an engine of our own success and as a value add for our clients. Here are the key principles we use to make academies work.

Committed

Training is an ongoing partnership at several levels. Between the students and the training team. Between the training team and the project teams the students will graduate into. Between the training organisation and its clients. Building these partnerships takes commitment over multiple iterations.

A company needs to nurture institutional experience relating to what works for them. Only then can they give clear direction to the training team about customisations and bespoke content. Without this growth an organisation can easily end up stuck in a local minima.

Interleaved

Developers learn best from project work. But they can’t work on projects without core skills and project specific expertise. The secret is to interleave the two. Our Instil academy begins with an introduction to Product Management and Design concepts. The team then spends a few days shaping the product that they are going to build.

After the initial design we interleave training in languages and frameworks (such as TypeScript, React and AWS) with project weeks - where the students implement the system from soup to nuts. This means that our teaching is immediately put into practice, giving students the ‘percolation time’ that is vital to progress.

Relevant

Most junior developers are fresh out of academia, where they have been encouraged to repeatedly digest, disgorge and then disregard huge amounts of content. Whilst this may lead to success in exams it is not how you build a career as a software engineer. Instead we stress, from the beginning of every academy, how the skills we teach form the bedrock of the students professional development.

Naturally we reinforce this through project work. If the academy is an internal delivery we stress how Pair Programming and TDD are our bread and butter, and how TypeScript, React and AWS are our preferred platform. When working with clients we identify their technology needs and tailor our offering to match.

Mentored

When it comes to Academies we believe the less we do the better. Despite having our own training team we encourage senior Instil developers to plan and run workshops on internal academies. We believe that the sooner new developers collaborate with future colleagues the deeper the lessons will be embedded and the smoother their transition into project teams.

When delivering for clients we recommend that the students have access to an in-house mentor all the way through their academy. We also recommend that the client specify the academy project, providing both the Product Owner and the coaches to guide the students in their implementation.

Exhaustive

Developers entering the industry are often overwhelmed. They find themselves drowning in acronyms and technology choices, without any guidance on what really matters. We counter this with an academy model that provides everything they need to succeed in their first project. But beyond that we give them the context and confidence necessary to do their own research and independently build out their skill set.

Over the years this has meant that our curriculum has expanded to include DevOps, Security and Cloud Computing. We include all three of these as a matter of routine in our own academies, and strongly evangelise them to our clients.

In addition we try to tailor the project work to orient the students to a Product Management mindset. In this regard we recommend that the internal customer be chosen from the wider business, and that the application being built has real benefit to the organisation.

Friendly

No one learns when they are scared. Starting at a new company is fearful enough, without being plunged into a two month academy that culminates in the delivery of a real system. It is vital that students feel comfortable, supported and emboldened by the training they receive. As such our training team works extremely hard to be as approachable and friendly as possible.

During teaching days we encourage students to collaborate in teams, and to freely share their solutions to exercises. We believe strongly in peer review, and try to avoid critical feedback wherever possible. None of the solutions we provide are prescriptive, and we encourage innovative thinking and creativity.

Trusting

Back in the day developers had to pay for information. It was guarded by vendors and available only via subscription. These days developers are overwhelmed with information, available for free or at a pittance. The problem is how to distinguish the wheat from the chaff. A crucial skill for contemporary developers is learning to discover the right resources and critically contrast opposing sources of advice.

With that in mind we have increasingly introduced an asynchronous aspect to our internal academies. We set developers tasks that require them to perform research and come to conclusions about the merits of competing approaches. They work in isolation or in small groups before bringing their conclusions back to the group. We have found that this is an excellent way to build confidence and professionalism. It’s something we are recommending to all our partners and clients.

Flexible

For internal academies we commit to a two month process of interleaved training and project work, encompassing everything from basic coding skills to cloud deployment and penetration testing. This is also the model we follow with our development partners and long-term training clients. But we realise that one size does not fit all.

Customers come to us with a range of requirements and technology choices, to which we strive to adapt. Examples of this include:

  • Running ‘train the trainer’ sessions for clients building their own expertise.
  • Contributing individual courses and workshops within a client's own academy.
  • Delivering a 2-4 week subsection of a much larger corporate induction program.
  • Running technology awareness sessions for non developer recruitment.

We are as happy to contribute to an existing program as we are to design one from scratch. This is the transition we like to see within our partners, as repeat mentors eventually become in-house trainers and a company builds up its own stock of knowledge and materials.

Iterative

At Instil we have been refining our academy models for over 15 years. We have the model that works best for us, and a range of variations tailored to our clients. But in our industry the only constant is change, so we continually fine tune our pedagogy via retrospectives and feedback.

If you would like to know more about how we can help your organisation run an industry-leading graduate academy for software engineers give us a shout.

Article By
blog author

Garth Gilmour

Head of Learning