Several engineers, including myself, joined Made Tech via the Academy. It’s a 12-week programme that the company offers to teach passionate learners the best software engineering practices in the industry.
Now we are working on customer deliveries, solving problems and addressing real user needs. I feel comfortable doing it, but, if I look back to when I first graduated, I remember feeling uneasy about leaving structured learning and familiar weekly routines.
This got me thinking about whether my fellow graduates had thought the same. And whether, by speaking to them about their time at the Academy, I could uncover how the programme had helped to prepare us to transition into customer software delivery teams.
But first, why the Made Tech Academy?
A Habitat for Learning and Development
The Academy was attractive because it positioned itself to be an atmosphere of continuous learning and development.
It’s one thing for a company to pander to hopeful candidates in writing, but another thing for the company to be able to demonstrate its ethos sincerely, e.g. when you start working there.
I believe the Made Tech Academy was sincere with its Academy engineers because it made clear what its responsibilities were and delivered on them.
The main ones were:
- to sharpen our programming skills,
- to help us learn how to ship high-quality code in a commercial environment.
I recently ran a survey amongst Academy alumni, asking them to highlight the topics or technologies they felt the Academy helped them increase their knowledge on:
The chart above paints a clear picture of the areas the Academy helped develop. It also confirms the spread of individual skills within each Academy intake. For example, some individuals (e.g. me) might not have been familiar with the fundamentals of databases and SQL before the Academy, while others might have.
From these responses, the Academy provided an environment for us to:
- Improve individual coding capabilities, regardless of previous experience.
- Learn and experiment with the latest technologies.
- Learn and experiment with popular programming languages.
- Learn and practice modern methodologies such as CI/CD, TDD.
- Learn leading software development practices such as User-centred design and Agile.
It was where we developed our good programming habits and skills, but programming-related skills weren’t the only things we learnt.
The Art of Valuable Delivery
In the final weeks of the Academy, we focused on a simulated software delivery.
The goals of each simulated delivery have varied over Academy sessions because not all software delivery teams outside the Academy would deliver the same outcomes. For example, one client delivery might require you to build a prototype application for users, along with formulating a strategy to develop its usability and longevity. In contrast, another delivery might want you to help convert a current legacy system into a modern system.
The Academy simulated delivery taught me that:
- The client’s needs from the delivery are different from their wants and this difference needs to be noticed and considered throughout.
- Frequent and open communication of the delivery’s progress with the client is critical.
- User research is crucial and should be routinely done throughout the delivery.
- User research should always inform the next significant feature within the delivery timeline.
- Production code must be written bearing in mind the users of the service. e.g. Following service accessibility guidelines.
- Agile software techniques facilitate the smooth running of the delivery.
So which delivery-related skills did the Academy help us develop?
As you can see from the chart above, a vast majority of individuals selected Agile software practices and productivity techniques.
So why did these skills have the highest percentages?
Notwithstanding the delivery scenario, every software delivery team benefits from its engineers being able to:
- adapt and respond quickly to changes,
- manage customer expectations and communicate these effectively,
- deliver outcomes frequently and in small slices,
- adhere to and work effectively towards agreed delivery timelines.
Points 1 to 3 involve Agile software practices, and the final point requires effective productivity and time management techniques.
In my opinion, the Academy prioritised fostering these two skills in each of its intakes and these skills are transferable across the types of client engagements that Made Tech specialises in.
The Academy continually improves its curriculum and the structure of these simulated deliveries to give its students the best possible understanding of external customer software deliveries.
For example, my set provided a solution to a fictional company but the subsequent sets have provided solutions that Made Tech currently uses. These include a Slack app that addresses the issue of people not filling their timesheets on time and one that allows people to view and book attendance for upcoming Learn Tech showcases and workshops.
Still, as I’ve mentioned before, every delivery is slightly different.
A Little Different than Expected
It’s worth emphasising that, just because our time in the Academy ended, our learning did not come to a halt. Made Tech’s culture is one of continuous learning and development, and this continued after the Academy.
But how do you prepare for deliveries that could vary in your familiarity with delivering their outcomes?
“Give me six hours to chop down a tree, and I will spend the first four sharpening the axe.“Abraham Lincoln
I understand this quote to mean that preparation isn’t finishing the task but being well equipped to proceed with said task with less resistance and more knowledge.
Some Academy alumni commented on what skills introduced during the Academy were strengthened further during a client delivery:
“Agile methodologies – user stories/needs specifically. AWS (Terraform), Sinatra, etc. Knowing Ruby helped me learn Sinatra quite quickly so this was a good foundation.”
“Working as part of a multidisciplinary team. Pointing work. The Academy exercises on breaking down user stories and on being user focussed did help when working with URs and BAs.”
“Senior/junior pairing. Detailed meanings of scrum, kanban, agile, etc., Had to learn how a team works in general, such as daily events and practices. Academy gave a good base level.”
The above responses recognise the limits of the Academy but also recognise how useful it was for learning leading software practices and adapting to new technologies.
When an Academy graduate moves into a customer delivery, they join an established software delivery team that has more experienced Made Tech engineers on it.
This strategy allows us to learn from our more experienced colleagues continually. It is also clear right away that everyone in the company focuses on continuous development, not just those of us who have gone through the Academy.
From what my fellow graduates told me, it seems the Academy had given them a great starting point for transitioning into customer deliveries:
“It did give me the confidence to air my opinions about how much support is needed by juniors.”
“The Academy gave me a really good overview of all components of a project that I definitely knew nothing of beforehand.”
“The learning curve, with regards to technology, particularly, continued to be very steep after the Academy. However, I found a lot of things more manageable based on the topics I’d learnt in the Academy.”
“As consultants, we are encouraged to share our expertise and transfer knowledge to our clients. We want to be professional and represent Made Tech well. We know how to problem solve from a theoretical perspective rather than how to solve a problem in a specific way and are encouraged to be polyglot software engineers…”
So, how exactly did the Academy prepare us for the world of customer software deliveries?
- It introduced us to a breadth of best software development practices and ways of working that are transferable across different client engagements and technologies.
- It equipped us with the tools to get our foot in the door of software deliveries and cultivated the habit in us to develop our skills continuously.
- It also introduced us to a network of enthusiastic engineers who love to code, enjoy sharing their knowledge with others and are delivering services to users’ with their best interests in mind.
The Academy prepared us for the world beyond by starting us off on the path to becoming tech generalists who can help clients solve their problems, not just write code.
Shout out and a massive thank you to the Academy alumni who contributed to this blog post.
Could this be your Academia?
Would you like to become an Academy Alumni?
As someone who has been through the process, I can assure you it’s a great way to kick-start your career in software development…oh, and there’s an ultra-rare laptop sticker in it for you too.
P.S. At the time of writing this, I have just shy of 2 years experience in the software industry 🙂