It happens to be National Apprentice Week right now which according to the Government website is aimed at:
- getting more small businesses to take on apprentices
- promoting the range and breadth of apprenticeships on offer, including those at Higher level and within blue chip companies
- celebrating apprenticeships and the level of success that learners can achieve
I thought it would be useful to explain in detail how our experience went and the value we all gained.
In order to help prospective employers and apprentices it is important to share all aspects and thoughts regarding our experience - good and bad. It is worth noting that our overall experience has been very positive.
1. Why we took on an apprentice
We heard about the Microsoft Apprentice scheme from both Microsoft and other Partners. At the time the scheme was quite new and there was not as much information available as there is now. But the idea intrigued us and from what we'd heard the placements had been very successful.
In essence we wanted to (a) fulfill an immediate need and (b) branch out into new areas of business.
At the time we had two requirements, firstly we needed help on a migration project and secondly we wanted to branch out into software development. For the migration project we needed someone to get their hands dirty on a large Office 365 migration - someone who was willing to learn on the job and be flexible. We could have employed someone via usual channels but this seemed like the perfect opportunity for a young person.
In regards to development whilst a few of us could develop decent scripts in VB and PowerShell we wanted to get into software and "real" .NET development. So we had two challenges here - (1) a fully experienced developer was cost prohibitive (2) none of us had run a development shop before so we knew nothing about how to manage a development team and product development process. Therefore we needed to be able to take on a junior developer and at the same time we needed to learn how to setup a software business.
Looking back this seems sort of a crazy plan but it worked.
2. The employment Process
Hearing from other partners or Microsoft was not enough, as taking on a young person is a commitment and the process needed to work for both parties.
Hence we spoke with the training provider (QA) and they explained the process, I recall also speaking with other people at the time. What we gained from the initial discussions was how the process worked, explanation of the Microsoft developer training the apprentice would undertake and documentation. Thus reassuring us in regards to the overall approach and that we would get a developer, of sorts, by the end of the process.
After agreeing to interview some potential apprentices the aspect that stood out to me the most regarding the employment was the candidate profiles we received. Effectively QA interview a batch of young people and send profiles of each to you, providing some detail on each person. I didn't always see this level of detail when taking on experienced workers so I found this very helpful.
We selected the people to interview and following this the normal employment process kicked-in.
It is worth noting that the person we selected (Alex) came prepared with a folder of his example work of some basic website work he had done for a friend and some example HTML code.
3. What about the overheads / resource requirement?
As we had selected someone over 19 on the developer track there was a setup fee and of course there would be his wages.
But the main concerns was regarding the time and effort we would need to put in to support the new apprentice. I think it is normal having not employed an apprentice before to be concerned that we may not have been able to provide enough support.
We were open with the end-client, informing them that we were going to bring on an apprentice which we charged fairly for. The Microsoft "brand" helped justify this new member of the team. Alex soon became liked by by our own team and the customer themselves. With most clients he worked with we charged and made it clear he was a Microsoft apprenctice. We did not charge when working with technology that was new to him.
We had a team drink to allow Alex to meet the whole team the following week he started his apprenticeship immediately on a client site to join our team.
To use an old cliche he hit the ground running - being both within a corporate environment and customer facing from day one. This was under the wing of the existing team members who helped Alex develop until he could visit end-users on his own.
The initial support job gave Alex an insight of migration projects which provided a good foundation for any of the software products and solutions we craft to this day.
In the beginning we also made a point of not helping Alex very much - working on the basis that if he could learn to research independently it would benefit him in the long run. Which was tough to watch at the beginning but has paid dividends now.
Later, the move from support to become a software developer required mentoring which continues to this day. At the beginning this was breaking-up software development into managable chunks and then working together on the results and how to improve them. SQL database structures and how to make databases more efficient was necessary and key to our software. He was also teamed-up with a more demanding team member whose expectations were production-ready solutions which helped push quality and delivery. More recently mentoring centers around presentations, sales and end-customer and partner meetings (which all feed back into the product and services). This all takes time but is worth the investment.
Alex was pushed to provide end-user support in person, begin to code small solutions to help our projects and write a blog all whilst having to attend his Microsoft developer training. He ended up working on site at four corporations on Office 365 and Widows migration projects with the remaining in our office to develop.
- Learning object oriented development is a challenge and it we learnt early on that Alex was struggling the courses. If you met him now you would not believe this - he is architecting software independently and writes C#, HTML, CSS and SQL fluently.
- As the employer I felt some guilt as Alex didn't often get to code very much in the first six months and I had little time to spend with him. He was spending more time performing support which was not what he signed up for and did not help him practice during his developer courses His fellow team members were the only people to bring this up as a concern.
- The sheer volume of work, course work, and project work was an obvious challenge.
- As Alex became more valuable in regards to the team and projects pulling him away from the customer projects to allow the time to go to QA became more difficult.
- We did not have any other apprentices on the team and most of the people Alex was working with were middle-aged.
- No other .NET developers on the team at the time to learn from.
- For the best results daily mentoring is recommended. In the beginning I dd not mentor as much as I could have.
7. Business benefits
We added a valuable, creative and talented person to the team and managed to venture into "proper" .NET development. Our consulting experience combined with the software we jointly developed helped us secure a corporate divestment project (the biggest project we've had so far) and work on a Windows 7 migration project.
To be frank about this - after we won both projects it did not become "easy" for us. Some of our ideas had to change and the software too, so there has been a continous cycle of change and workload and dependency and communication between services and software staff.
These slight adjustments came from user feedback or problems when using the software against different enviroments,changes a known as "pivoting" which were our education on how to operate our software development process.
The profits generated allowed us to take time out and develop the software products and company we envisaged.
Overall we also managed to take the risk and learn how to begin to setup a software practice. Getting into Lean development, moving from on-premise to Azure based cloud development and using tools like kanban and the business model canvas. Personally with many years under my belt in the industry I didn't expect to learn so much again - and enjoy it.
For more details on how employers (including us) have benefited please watch this video developed by Microsoft:
But most of all the main benefit has been watching someone develop so quickly.
8. Apprentice benefits
But surely you've been lucky!
But now, to quote Alex I ought to stop "banging on" about this subject (demonstrating he's half my age).
If you want to learn more from an employer's point of view please do get in touch.