The Work Experience of Joe Banford-Jones
Joe joined us from Poole High School for 5 days of Work Experience as a Software Developer and was tasked to improve the File Importer MultiPlug Extension used by our Customers.
Seven tasks were assigned to him on GitHub which he completed during the week and we based ourselves at the Bournemouth University Library so I could provide constant coaching.
The following is his account of the week.David Graham, Product Manager
Company and Product Induction
I met my Supervisor for the first time the week before and we agreed to work from the Bournemouth University Library as he is a BU alumnus so is given the option to use the facility.
We met at the Library during Monday morning and he introduced the software tasks that I would be completing across the week as well as a demonstration of the SMEMA Hermes Adaptor which is one of the Raspberry Pi based products that the company produces. The software that I would be improving over the week would run on the Adaptor.
I was given a large amount of support on my first day, mostly due to not being very familiar with HTML, as I have never been required to use it in any of my courses. Regardless of the fact that I study C# at A-Level, I still found it extremely difficult to understand, mainly due to the amount of programming vocabulary that I didn't yet know, as well as the formatting of the code.
However, I did also learn a lot of valuable transferable skills including:
- How to use templates to write in HTML and the developer tools to aid HTML writing.
- How to operate the MultiPlug Edge Computing Platform software (The software platform that runs on the SMEMA Hermes Adaptor)
- ASP.NET Razor Markup language to inject live data into the HTML.
- The MVC (Model View Controller) coding design pattern where the Model is a C# class/object of data, the View is the HTML and the Controller is the C# code in the Get or Post functions.
Regardless of the struggle, I believe that I learned a large amount and believe that I will find the work from Tuesday-onwards to be much easier.
Today I had a much smaller time frame for my programming. Nevertheless, I found that Tuesday was much smoother than Monday. I mainly believe this was down to the fact that I felt more familiar with the Multiplug Software, whereas on Monday it felt very intense to take it all in at once. Continuing on, I felt like I had a much greater understanding of the very-basics of HTML.
At CT Production they have many automated machines such as Screen Printers and Pick & Place Machines that populate with components the bespoke Circuit Boards for their Customers. This helped me build my knowledge across the electrical industry, where I was able to see how the circuit boards were created, but also allowed me to hear from a Company point of view on what changes they would want to make in the future to boost their growth. On the back of this, I have now added a project idea around manufacturing and shipping goods, to my list of potential A-Level Computer Science NEA’s (Non-Exam Assessment), where I will be able to use the information I was told to create a NEA with a real purpose.
Most of the day was spent visiting businesses in the electronics manufacturing Industry.
Firstly in the morning, we visited Yunex Traffic and was given a tour by Thea Watts. Yunex Traffic is a Company which mainly specialises in creating electrical components that are used in their traffic lights. As well as this, Yunex also offers contract manufacturing, where other businesses will ask Yunex to do manufacturing for them. Therefore, we were able to see the actual manufacturing production lines, alongside the assembly of their own products.
Later on in the day, we visited Pulse-Eight where Kate Reece gave us a tour of their factory. Pulse-Eight uses a similar manufacturing process as Yunex Traffic and CT Production, however we were able to get much closer to the actual manufacturing as they create their own products that transmit Video Signals over networks, used in Pubs with multiple television screens or high-end homes. We were also able to see some of the test procedures that were used on each of their products. I was also advised on what career paths in the industry are highly rewarding, such as the test engineers, if I ever wanted to apply for a job in the field later on in my career.
It was much easier to understand the processes going on in these businesses due to the visit to CT Production the previous day, and I felt like I could be more involved with the questions on each tour. Following this I went home and read through my issues for the following day, in order to give me a broad idea of how I was going to approach the next day.
Completing the GitHub tasks
Most of the day was spent Programming as I began nearing the end of my week. On this day I found myself having many issues with the actual knowledge of the programming, as I had to convert the File columns to the Multiplug Event Subjects (#4). I found this part particularly difficult as I still wasn't familiar with the MultiPlug software yet, and this task required me to have a good understanding of the functions. As well as this, I was not aware of what C# Events were and the task needed me to call an event inside a function.
However, by the end of the day I was able to complete both of the issues regarding the File Columns, with some guidance from my Supervisor. One problem that I had was that the HTML output was not aesthetically pleasing and I noted this down to be resolved on the final day.
My New Knowledge of C# Events:
An event is called when there is an update to a part of a program. An event is similar to a function call but allows backwards communication between a Child to a Parent object. For example a Child maybe monitoring the Keyboard input. When the Child reads a keystroke, it can tell the Parent what Key was pressed.
Social Media Content
I came in early on Friday in order to fix the browser output caused by my HTML. However, I accidentally deleted a line of code. This took roughly an hour to fix, and was an extremely sour start to the day, which meant that my morning was completely counter-productive.
During the day we focused on creating social media content to capture what had happened during the week. This included a video where we spoke about the week and I was tested on my new-found understanding of the MultiPlug and the complex electronics used in the Industry. You can watch the video here.
After this, we attempted the last two issues (#6 #8). Due to my slip-up early, I had to ensure that I was extremely concentrated on completing the last 2 issues in a limited time frame. Thankfully, they were by far the two most un-problematic issues I attempted over the week, this may have mainly been due to the fact that the two problems were very similar to the problems that I approach in my A-Level Computer Science Lessons, as there is a greater amount of logic required, opposed to actually understanding the ins and outs of the File Importer Extension.
After these were finished, we had our debrief for the week which felt extremely rewarding after the intense but enriching week.
If there was any feedback I could give for the week, it would most likely be to teach for the first day, and then follow up with attempting the software tasks. This may seem like a waste of the day but it would speed up the amount of time to complete each issue, compensating for the first day. Furthermore, it can be extremely stress-inducing to be chucked into the deep-end in a new software environment you are unfamiliar with.
Overall, I can say that the week has definitely offered me a new perspective on worklife and has motivated me even more to attend University at either Exeter or Southampton and then become a Software Engineer. You can connect with me on LinkedIn.
With only 3.5 days of real Software Development time when the time to conduct the Tours were removed, it was difficult to take the time to teach Joe the theory of what he was doing. It was a case of Sink or Swim.
I struggled with for many years reading other people's Code as there is multiple ways and styles of doing the same thing so I empathise with Joe's struggles at the start of the week but this reduced towards the end.
That said, in the workplace there will be many times when a Software Developer will have to learn from code samples of others and Joe has the opportunity to learn from the code of other projects found on GitHub and Stack Exchange for example, which I never had when starting out in the Industry. I encourage him to contribute to a Open Source project on GitHub or even create his own MultiPlug Extension.
Joe doesn't realise it yet, but over the week he has learnt lots of transferable skills as many websites use the same technologies and techniques. There are many Creative and Digital agencies in the BCP Dorset area that require the skillset he has learnt.
Thanks goes to Sean, Thea and Kate who all gave us way more of their time than we expected.David Graham, Product Manager