My first six months as an apprentice software engineer at endjin
I've just completed my first six months working full time for endjin after I joined as an Apprentice Engineer in October 2021. In just this short space of time, I've gained so many new skills and made a huge amount of progress. I've been busy expanding my technical knowledge through training, one-to-one sessions and blogging and I've also been involved in some really exciting client projects. This blog post explores some of the key aspects of my apprenticeship so far, and delves into what I have learnt from these experiences as well as what I plan to achieve next!
In order to be more actively involved in client projects, I focused some of my training on learning the fundamentals of DAX. DAX is the query language behind Power BI and is used for creating calculated columns, measures, and custom tables. I have seen how measures in DAX can be used to enrich the dataset and provide powerful insights. It is important to mention here that Power BI is so much broader than just DAX. Data preparation, data modelling, deployment, security and report visualisations are all important components of Power BI. During the development of Power BI reports in the client projects I have been involved in, the importance of UI / UK became apparent. It was clear that layout, visualisations and interactivity were just as important as the functionality unlocked by DAX measures and calculated columns. A well thought-out design with clear and accessible visualisations ensured that the report was user-friendly and the end-user could therefore obtain value from the report. During this project, we liaised with our designer Paul to establish brand guidelines and produce reports where the UX showcased the data analysis.
On top of my training, I have also been curating endjin's Power BI Weekly newsletter. Reading and reviewing content from the Power BI community has really helped diversify and expand my Power BI knowledge.
As mentioned previously, as part of my apprenticeship, I have participated in client projects. Here, I had the opportunity to build upon my technical skills as well as learn about project delivery. One thing that has really stood out to me when carrying out project work is the importance of communication and developing relationships with clients. This is because, successful communication is fundamental to the agile processes we utilise at endjin. Agile processes involve the delivery of a project in multiple iterations where constant communication and feedback loops are essential to delivering a high quality solution. Through being involved in client projects, I have also really seen the value of Behaviour Driven Development (BDD), which is an approach that consists of defining the requirements of a solution for different end-users through 'user-stories'. I have seen how this approach has successfully been used in client projects in order to develop a tailor-made solution that meets all of the needs of the end-user.
Another client project I have been involved in is the delivery of discovery workshops for a new data platform. Through engaging in these workshops I have been able to learn about how other organisations operate and how they are structured. The project has involved discussions with different teams within a business in order to outline the different use-cases for their new data platform and to identify the pain points related to the current system. Obtaining this birds-eye view of the business has been insightful in understanding how different parts of the business integrate and how this can then be used to develop an optimal solution.
Outside of the more technical aspects client projects, I have found it extremely rewarding to receive positive end-user feedback from the solutions we have delivered. Through this, the huge value in the work we are doing really became apparent.
Blogging and presenting
As an apprentice at endjin, we are encouraged to produce output in the forms of blogs and short presentations during weekly "Show and Tell" sessions. As I have learnt about various concepts throughout my training, I have been able to consolidate the knowledge I've gained into a number of blog posts. I have also been able to relay this knowledge back to the team in the end of week "Show and Tell" sessions. At first, I was admittedly extremely nervous at the prospect of having to explain to the entire team the concepts I have been learning, but over time, I have built more confidence in presenting. Recently, I gave a whole-company lightning talk at the endjin meet-up, which is something I would have been daunting to me only six months ago. I feel that getting into the habit of presenting every week has really allowed be to develop my skills in this area and I envision that in the next six months, public speaking will come (almost) naturally.
One aspect of content creation I have particularly enjoyed is producing the end of week update videos for clients. This involves putting together a slide deck with an accompanying voice narration to generate a round-up summary of the work we have achieved in that week along with our goals for following week of development. This is a useful retrospective tool which allows both ourselves and the client to be informed and up to date with the progress of the project.
Apprentices at endjin also have mentoring sessions with different members of the team throughout the week. As mentioned previously in this blog post, one-to-one sync up's with Ian Griffiths involve more technical support and these sessions are largely focused around what I have been learning in my training. On the other hand, one-to-one mentoring sessions with James Broome are more focused on personal development. Here, we have not only delved into what my personal goals are for the apprenticeship, but also more general support on how to approach the apprenticeship. This could involve topics such as time management techniques, to estimation and planning. Having such support in my apprenticeship really makes me feel like a valued member of the team and it is rewarding to know that everyone at endjin is invested in the growth and success of each of their apprentices.
Endjin is a remote company, but the environment is entirely collaborative. The team is always in conversation with each other, whether that be within the three team sync ups during the week or daily pairing sessions. When working at endjin, you are rarely working in isolation. Collaborating with the team on projects makes work really enjoyable and has allowed me to build strong relationships with my colleagues. On the same note, the return of the endjin team meet-ups has been a particular highlight this year. It has been lovely to see everyone in person and catch-up both in what they've been up to at work, and socially (we usually go out for a team meal and a few drinks whilst we're all together).
The next six months
So overall, the last six months have been a complete whirlwind of learning and interesting experiences. My goals for the next part of my apprenticeship are to continue to develop my technical skills further through training, blogging and presenting and to continue to immerse myself in client projects, putting my technical skills into practice. I'm proud of the progress I've made so far and I'm really looking forward to what the next six months have in store.