Internship Report by Ella Pietraroia

This is the third in a series of reports by AusOcean summer interns.

Now don’t get me wrong, I learnt so many different things this past summer interning with AusOcean, but the biggest lesson I felt personally, was learning not to doubt myself and my technical abilities. At the start of this internship I had just finished my fourth year (of five) of a double degree in Electrical and Electronic Engineering and Computer Science. This was a degree that I almost fell into, just because I did maths at school and it sounded interesting when I applied. I had always been jealous of my peers that always seemed to have some kind of side project going or were tinkering with something. I thought that I didn’t have the time nor brain for those types of things, I could barely keep up with my studies.

When starting at AusOcean as an engineering intern I was again overwhelmed when I saw the repository (where all the code for our software is kept) and thought “I don’t understand any of this”. It was in a language I had never written in (Go) and seemed to be massive in size. Much to my surprise, I was not expected to fully comprehend the entirety of this repository and the language it was written in on the first day. My first task wasn’t even to write code, it was to set up my computer with all the different things I needed and run the program. The next two weeks or so were dedicated to learning the Go language and BitBucket (the place where the repository was kept). I would be assigned a task (known as an Issue) in which I would have to do things such as edit or add a few changes to previously written code. This wasn’t easy and there was definitely a learning curve, my previous coding skills were not in Go. But one of the benefits of coding is that if you learn the fundamentals, then it doesn’t take long for them to translate into other languages. Plus, help from the rest of the engineering team and my fellow intern Scott, meant that I now knew the basics of the language and was familiarised with some key parts of the repository. 

Our first major project was to integrate a place for filtering data into the data processing pipeline (how the code that we use gets the signals and information from our "rigs" or, sea surface monitoring platforms, to the computer screen in our office) specifically, motion detection of video taken on the ocean floor. This was a fantastic task as it gave us the chance to start something new instead of improving on someone else’s previously made code. We didn’t jump in head-first, we brainstormed ideas, came up with a plan, split up tasks and researched them in more depth. Once we had a good idea of what we wanted to do, we presented these ideas to our co-workers who gave us advice and opinions, which we could then use to further refine our plan. Only after we had done all this, did we even start thinking about coding. We had come up with a structure that allowed us both to work independently towards the same goal. I would make a spot in the data processing pipeline where any filter could be selected, known as the filter module. Scott would research and make the first type of filter that actually did some filtering. Then once we were done, I made a different type of filter and Scott worked on our first optimisation. Scott made another filter and I worked on benchmarking (seeing how long our code took to run when different options where put in it), and so on until the module was complete . This is where I became really proud of myself and the code I had written, because although the code was “mine” it was a part of something bigger, the filtering of a much larger process to collect, process and send ocean floor video in real time.

Now that I had one big project under my belt, when I was asked to design some software and hardware to make an underwater speaker that other members of the team were working on, integrate into our rig. I was no longer in my own head, doubting my abilities. I planned, discussed, trialled, sought advice, and worked hard to create some hardware and software that is currently being used to enhance recruitment of native Australian oysters back to damaged reefs! 

Along the way I got to do a bunch of other cool and fun things, such as getting my diving certificate, going on boat trips, and meeting a group of fantastic people. But the major thing I have learnt this summer is that I can use my own unique and individual skills, to make lasting and impactful change to benefit our world and oceans.

By Ella Pietraroia

Follow us on InstagramFacebook or Twitter for more photos, videos and stories.