My week at Nexer, by Ben
2 minute read
A blog post by student Ben, sharing what he got up to spending a week interning with our front end development team and attending Camp Digital 2023
Last week, I had the pleasure of working as a front end developer at Nexer Digital, under the supervision of senior developers Rachel Breeze and Mel Ashby.
Here's what I got up to!
I started off the week by meeting the team at the office, learning about company values and what I’d be doing throughout the week. I then met IT Officer Tom, who got me set up with a company laptop, which I spent the morning customising and setting up for development. I installed an integrated development environment (IDE), got signed into Office 365 and had a whistle-stop tour of the company Teams setup.
After that I set up WSL (Windows Subsystem for Linux), which I had never done before, before meeting the other front end developers I would be working with, Mel and James. They guided me through the project structure, explaining the tech stack and tooling they use, and asking me about my experience with web technologies. We then covered what I’d be working on for the week; setting up Cypress – a testing framework for web apps.
Cypress is a tool used to simulate users’ actions on a website, and I began by reading the documentation and setting up the basic configuration, installing the library and running the server. I wrote a basic test to automatically load the website and accept the cookies, which I extracted into a separate module so that it could be run repeatedly on each test.
On day 2, I met with Matt Wise, a senior developer, who gave me a presentation on hosting, CI/CD and the company DevOps. This involved a walkthrough of the hosting platform dashboard – Azure – and an explanation of how the different stages of development went from code to a testing server, to quality assurance, and finally going live, onto the public internet. I learned about how .NET is compiled and hosted in Azure WebApps, and how the slots system allows the company to change their website to a newer version with 0 downtime.
Later that day, I continued with work on Cypress tests and managed to get some tests working, which verified all the links on the website, checking the various buttons, text and images linked to a different URL. Mel then gave me the task of testing the login functionality and how it would change the user experience.
The task required the automated test to log in to the site – which is on an external site – and to bring that authenticated state back to the site. This was a tricky task because the test framework doesn’t work well on external sites, and wasn’t able to authenticate properly. After a bit of pondering, I came up with the solution to make a REST API request instead, which would allow me to pass the credentials to the site, without moving to the external address. Through trying this, I learnt a lot about REST APIs, and how information is transferred on the internet, especially using cookies.
On day 3, I met a few more of the team and had a meeting with accessibility lead Danny, who taught me about accessibility and usability. I learned about how people with visual and auditory impairments can use the same websites as unimpaired folk, and how designers must consider and implement certain features to facilitate this, as well as making the navigation more accessible by allowing keyboard navigation through the site.
I then attended the quarterly team meeting, with pitch-ins from various employees about current projects, the plans for the year, and a segment on Camp Digital – Nexer’s flagship annual event.
On day 4, I attended Camp Digital in Manchester where I got to hear talks from lots of prolific speakers on topics such as data visualisation, inclusivity, data collection and more. The event was inspiring and made me think about issues I had never even considered.
My favourite talk was the one on data visualisation presented by Nadieh Bremer, AKA Visual Cinnamon, who amazed me with how she managed to transform a set of data points into a glorious web of connections, or a circular tree of process hierarchy. I loved how she also highlighted the failures in her development, showing the often-comedic results of the first iterations.
On the final day, I commented and refactored my Cypress code, as well as adding accessibility auditing, using the popular Axe framework. I then ran the tests a few times, as well as added functionality to communicate with an API being used to get results about articles/publications from the back-end system – Contentful. I queried the API and verified that the number of available articles matched the number on the website, by getting the text field, and using some code the extract the number from it.
By the end of the week, I feel I have learned a huge amount about the intricacies of a professional company developing and deploying apps at scale, and have gained lots of skills in both development and accessibility. I loved hearing about the backend services that power the apps as well as the design considerations – being part of a user research study myself – that allow websites and apps to be more accessible and user friendly. I also loved feeling like I made an impact, setting up the basics of testing, which the team can then use to further develop and expand into a full test suite in the future.
A big thank you to Ben for his fantastic work and participation this week. We've really enjoyed having you join our team. :-)