As my two year anniversary at endjin arrives, I wanted to take some time to reflect on my experience so far. Making the switch from full time student to full time professional comes with a lot of changes, and potentially some challenges. This blog post will run through what being an Apprentice Engineer at endjin is like, and will be answering some of the questions I remember having when I applied for the position.
What is the endjin apprenticeship, and what makes it special?
Being an apprentice at endjin is quite a unique position to be in; lasting three years, it combines training and practical experience, allowing you to evolve into an experienced software engineer. One of the particularities of being a software engineer at endjin is that you will not only need to learn technical skills, but you will also need to nurture your softer – although not easier - skills, thus completing your consulting toolkit.
As mentioned, the endjin apprenticeship lasts three years. Most of your first year will be spent completing training courses and being mentored by senior engineers, through one on one or pair programming sessions. You will be encouraged to present your learning by blogging and presenting to the rest of the company, which will teach you how to present technical topics in a clear, confident, and structured manner. After that, the training to project work ratio will start to shift, as you start getting more involved in client facing projects during your second and third years. The training doesn't stop though - it never will! But it will shift to a more "on the job" type of learning, where some of your learning will be dictated by the needs of projects.
Things to consider before becoming an Apprentice
Just like it's apprenticeship program, endjin is a unique company in how we operate. From the outside, it might be difficult to picture what working here is like. For this, I have compiled a number of questions that you might (or should have) when contemplating whether you would be a good fit as an apprentice engineer.
What makes a good "endjineer"?
My first thought when thinking about this question was "a good engineer at endjin is good a everything". And while this is obviously not true (otherwise I wouldn't be one!), working at endjin requires our engineers to have a broad skillset. Roughly, this skillset can be divided into two categories – consulting and technical skills. However, being a technology consultant means that these overlap all the time, as we rarely do just one at a time.
- Consulting skills are what I consider the skills needed to engage with clients. This includes communicating effectively, presentation skills, knowing how to build relationships with clients, and how to manage stakeholders. Under this bucket, I will also include time management and leadership skills. Learning how to manage your own time is a particularly important one, as being able to estimate the effort and time a task is going to take is key when managing expectations regarding the delivery of projects.
- By technical skills, I mean the "hard" skills you need to get the job done. Think programming languages, design patterns, understanding technical documentation, and being able to use and learn how to use different tools and platforms.
You will quickly realise that what I call "consulting skills" represent the largest number of skills you need to master to graduate from the apprenticeship. This is because, often, the hardest and most important part of our jobs is the one that involves people. In order to understand what the technical requirements for a project are, we always start by understanding what needs drove a team to seek help. Technology is only the cherry on top.
How can I make the most out of being an apprentice?
Here are my top tips to make the most out of your years as an apprentice:
- Make the most out of the mentoring available and poke everyone's brain. You will be working with so many talented professionals, so ask as many questions as you can!
- Try new things. I know, during the first few months of your new job, everything will be new. But keep trying new things, even those that are not necessarily deemed as "apprentice tasks". There are so many things you can get involved with at endjin: curating our weekly newsletters (Azure Weekly and Power BI Weekly), writing blog posts, recording end of week update videos for our clients, presenting at our weekly Show & Tell sessions, signing up to be a speaker at a conference, and much more.
- Work on your communication skills. As I mentioned before, working on your soft skills is as important as improving your technical ones. At endjin, you will have many opportunities to do so. Presenting at our weekly show & tell sessions is the easiest way to start getting used to presenting and public speaking in a safe and encouraging environment. You don't need to be an expert in what you talk about, feel free to treat it as a place to share something you have found interesting this week, or something you are working on but is still a work in progress. This will serve as practice for when you need to present in front of clients (or bigger audiences even!).
- Improve you technical skills and get your hands dirty. As an apprentice engineer, one of your main goals is to become as competent an engineer as you can. When I say "become a software engineer" I mean learn the foundations that will allow you to adopt and use new technologies as they come. This is not a sector that stays still, and adapting to new technologies and tools is a necessity. But as most things, this comes with practice. Usually apprentices start by learning a programming language (usually C#), and the basics of .NET. From there, you can choose to learn web development, DevOps practices, data science fundamentals, and more. Make sure you focus on patterns and build up from there. You will find this frustrating at times, since it can feel like a lot of content to digest very quickly, but it should start getting fun quite quickly once you learn the basics.
- Make the most of being a consultant to peak into other industries and companies. Endjin is a small company, but working as a consultant gives you multiple windows into different industries and companies. At endjin, we build solutions to solve our clients needs, but we also need to advise them on the best strategy to go about it. Understanding the sector they operate in, the politics involved, and the different stakeholders is essential for the job, and something I have always enjoyed!
What does a week as an apprentice look like?
Weeks tend to be quite varied, especially when you're involved in a project, as your tasks will change as the project evolves. There are, however, some meetings or tasks that are recurrent week to week.
We have two company-wide sync ups a week, one on Mondays and one on Wednesdays. In these, we run through all active projects and provide an update for each. On Mondays, this is useful to do some high-level planning of the week, and on Wednesdays we asses whether we are on track to meet any end-of-week deadlines. We also run through other internal projects or tasks that are being carried out. After these sync-ups, usually smaller teams working on particular projects will have a more detailed planning session.
We have a third company-wide meeting every week, our Friday Show & Tell sessions. As I've mentioned before, we use these to share interesting things we have done during the week, demo new technologies we have had the chance to try out, and share progress on internal projects.
As an apprentice, you will also have two weekly one-on-one sessions. One with James Broome, to talk about how things are going and career progression. The other is with Ian Griffiths, which is your chance to ask any technical questions you have. In my first few months as an apprentice, most of my questions revolved around C# and .NET, and after that our discussions became more diverse, where we talked about the basics of computer architecure, Reactive Extensions, or how to build a basic GPT from scratch.
Around these recurrent meetings, your time will be spent doing a mix of training, client projects, and blogging. Training involves completing online training courses (usually in Pluralsight or MS Learn). To make sure you have understood these, it's good practice to build a simple demo or to write a blog post explaining some of the concepts you have covered. Client projects involve client meetings to gather requirements and get feedback, internal meetings to do planning and estimation, and working on the necessary tasks.
What are endjin's values?
What if you could make an impact on matters you care about through your job? This is something that I've overlooked in the past, but during my time at endjin, I have been encouraged to think about my values as a means to add value to my work. Although you will find a pre-established set of values at endjin, a conscious effort is made to make sure these evolve and are representative of its employees. For example, there has been a recent push within endjin to take action to track and reduce our carbon footprint, as sustainability is at the core of our goals as a business. As part of this, weekly sessions to discuss ideas was set up. I recently obtained the Green Software for Practitioners certificate by the Linux Foundation to learn how the concept of green software can help with our sustainability goals.
What does career progression at endjin look like?
I have talked a lot about being an apprentice engineer, but you might be asking yourself, what happens after?
Your years as an apprentice are quite structured and progression is steady. Starting out as an Apprentice Engineer I, you will progress to Apprentice Engineer II after a year, and then to Apprentice Engineer III after two years. After three years, you will "graduate" from the apprenticeship and become a Software Engineer. At that point, it's mostly up to you to decide what you want your progression within the company to look like. You will be encouraged to be proactive about your career without the structure and constraints of being an apprentice.
This is done with the help and guidance of the team. Throughout your time at endjin, you will have regular catch-ups with James Broome, our Director of Engineering, who will encourage you to set up goals and help you reach them.
What is working remotely like?
This is a controversial topic nowadays, with research and statistics being published constantly about which work model is more beneficial for employee's mental health, or more prone to boosting productivity. And whilst research provides a way for employers to justify their decision of getting people back to their offices or to get rid of them completely, I have found that it is simply a matter of personal opinion. Some work better around their colleagues, some work better from the comfort of their homes, some work better when they can have a mix of both, and some need flexibility to accommodate certain aspects of their personal lives.
Endjin has been fully remote since 2017, meaning we don't have any offices and we are all scattered all over the UK. I personally find it hard to work from home all the time, so I was offered the opportunity to work from a co-working space. Whilst this has worked well for me, be aware that it's not a perfect replacement for an office. You will still need to make a conscious effort to adapt your communication style with your colleagues. Spontaneous interactions can seem tricky, but they are possible with the right tools and attitude. At endjin, we use Slack for our day-to-day communications, where we have channels set up for pretty much anything (apart from the obvious work-related topics). This way, you are able to share pretty much anything with your colleagues – from interesting articles you've come across, to what music album you've been enjoying recently! Apart from this, we have company-wide sync-ups three times a week, and our cohort of apprentices has set up a weekly catch-up where we have more informal chats. This allows us to discuss each others projects, how our training is going, and generally check up on each other.
There's probably no need to mention all the obvious benefits of remote working, such as not having to commute, being able to work from abroad for a few weeks or months a year (I might or might not be writing this blog post from sunny Spain…), or being able to schedule your time more flexibly.
So, all in all, remote work can be the best benefit your employer offers, or the worst, depending on your preference and how you manage it, and there's a lot to consider. Don't forget your colleagues at endjin are here to help you. You have the right and the power to make your working environment as enjoyable and comfortable as possible. Whatever you need to work comfortably, make sure you communicate it before you feel frustrated.
All in all, being an apprentice at endjin means growing into a software engineer through training and constant mentoring, becoming a consultant who confidently engages with clients, and developing your personal brand by blogging, presenting, and advocating for matters you care about.