4 min read
Twenty-Third Week in the Office (01/08 - 05/08/22)
Twenty-Third Week in the Office (01/08 - 05/08/22)

This summer has certainly passed quickly! I’ve just entered half a year into my apprenticeship and the time has flown by. Now is a good time to take stock of what I have accomplished so far compared to when I first started back in March of this year.

I’ve been exposed to a production-level codebase which was overwhelming to start with but opened up avenues for further learning in tools and technologies that I probably would not have known if I was working independently. Some of these topics included:

  • SASS and BEM principles
  • Git commands, feature branch technique for source control
  • Tailwind css, twig syntax
  • Site building using a CMS backend admin UI
  • Concept of separate working environments
  • A11y

It was nice to work alongside content creation teams and get a feel of how a website is managed from a technical perspective and from the business end. The structured apprenticeship programme has introduced new concepts like how data structures and algorithms are utilised in code and appreciating how performant they are is a useful skill in improving the quality of your code.

I struggled to get to grips with the command line and git controls because working alone doesn’t expose you to version control and team collaboration in my opinion. I still struggle with it sometimes when the boilerplate commands we use to push changes to the repo don’t work smoothly. I also have problems with the build steps required to run our local environment. I can’t help but imagine other dev teams have a smoother process to follow because the amount of downtime on troubleshooting Docker is massive and shouldn’t be acceptable in most businesses.

Suffice to say, there is a lot more to learn and it’s more like dabbling in a little bit of everything without having strong foundational knowledge in any one topic. This is because, in order to perform my duties at work, it requires cross-discipline of languages and software- at least enough understanding to carry out the task.

I am trying to be more focused on what I want to learn going forward, trying to emphasise key tools or fundamental concepts which are transferable between jobs rather than something new every time. Having said that, I managed to complete a full-stack application for the first time which is a major milestone for me! Previously, all of my personal projects have been small HTML/CSS/JS mini-apps since leaving the boot camp so I was chuffed to be able to follow along with Net Ninja’s MERN CRUD app. It’s basic in its functionality, but I was amazed by how quickly it was to spin up a local NoSQL database that talks with Express and Node.js. It was always the lack of knowledge of how this middleware communicates with the database and the front-end that made me shy away from APIs and the back-end technologies. There was the added benefit of seeing React.js being used to its potential. Once again, I’ve only followed along with React tutorials that practice the syntax with static sites in sandbox environments- I always lost interest as soon as the learning curve ramped up into concepts like props, state and hooks. It has galvanised my interest in React and I will look to revisit this library in the future. The tutorial videos are short but there was a lot of rewinding and note taking and occasionally debugging as the exact steps had deviated from the time the video was made to when I had followed along. All in all, I was happy to invest this time and look forward to delving deeper into these individual languages and technologies.

I have set quarterly SMART goals (this quarter is on software testing) so that I can make clear and achievable learning targets that I hope to leverage for future roles. I made a Miro ‘roadmap’ to track and illustrate my progress, I hope it will keep me accountable and serve as a reminder of what I should be learning and why I have taken that path in the first place.