Skip to content

Still learning a lot – Denis’ Internship Adventures #2


What has been happening the past 3 weeks:


Project work

The last few weeks have been me jumping from one project to another, as we have been waiting for information, communication or people on leave.

We finally received the schema for the towing tank project database, which meant that we can now start developing the back-end. My first task was to research graphing technologies that would allow us to make the needed line graphs and then start coding the API. After 2 days of research and trying stuff, as well as getting David’s input, we decided that a library called ApexCharts, that has a wrapper for Vue, is a very good candidate. I then started building the graph functionality into our already existing project (read tried).  I soon found that dotNet Core and Vuejs, don’t play well, and that its not the easiest thing to integrate them. We decided to add both Vuejs and the wrapper inline, which is enough for our project, as we are only using Vue for the graphs. We now have the graphs done, so the next step is starting the API.

Another problem I faced was – how do we take the averages for the graphs? The problem we faced dealt with how the data was sampled, as entries in the environmental database were only added if there was a recorded change. To get correct reading we need to have more than the data points provided, so we decided to create “mock data” in between database entries, to show more accurate graphs.

A lot of the last 2-3 weeks have also been spent working on QnA and learning Laravel. Working on tidying up code and converting it to be more professional/reusable/maintainable has been incredibly eye opening, as it has made me think deeply about the code that I have written in the past. Most of the work on QnA lately has been reducing the code base by introducing gates and policies, creating factories for all models and changing the existing tests accordingly. If next year’s intern is reading this and is still working on QnA – heed my warning, use the tests (and write your own).

Image result for heed my warning

The latest thing I’ve been working on is migrating a service from the old ECS servers, as well as adding more security to it. It has to do with the occupancy screens that are used by the nanofabrication lab in the Mountbatten Building. It has also been a learning experience, as I’m working with another intern that is doing all of the project management.

Something interesting that happened was that last Wednesday, Pat McSweeney, the internship coordinator, took all of us interns to the UoS data centre which was really interesting.

University vs Industry

Being about a month and a half into my internship, I started to see a great difference between what students are taught and what you need to do well in a professional environment. The biggest and most noticeable difference for me is the nature of the work professional developers do, as opposed to what work students do. At my  course at university, we have strict, well defined problems, the solutions to which can be provided within a short/well-defined time span, with a very specific(known) set of tools.

That however, is never the case in an industrial environment. In my experience, industry problems are quite complex, multifaceted beasts, whose (perhaps contradictory) requirements change over the developmental process. Another thing I experienced was that usually, the problems developers have don’t even have anything to do with programming and developments altogether. Issues like miscommunication and wait times, be it bureaucracy or confirmation from other people, can stall progress, drastically reducing efficiency. Overall, academic and industry experience are completely different.

Next few weeks

In the next few weeks I am aiming to finish the Clean-room Occupancy migration, with some extra security. After that, continuing work on Towing Tank, hopefully finishing all requested functionality within 2 weeks of David coming back.

Thanks for reading!!!

Posted in Uncategorized.

Tagged with , .

0 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

Some HTML is OK

or, reply to this post via trackback.