Experience Working at DSTIL
Hi, my name is Richard Alysandratos, and over the last year I’ve been doing a 12-month work placement as part of my Software Engineering degree at Swinburne University. Throughout my time here, I’ve had a lot of opportunities to learn new things and expand my skill set, be pushed outside of my comfort zone, and to reflect on how my degree prepared me for work in industry. In this post, I’ll go into detail about my experiences here at DSTIL.
What Brought me to DSTIL
Going into my work placement, I was aiming to accelerate the development of my skills and knowledge through practical application, but it was also very important that I enjoyed the work and the culture of where I did my placement. One of the things that attracted me to DSTIL was the focus on Artificial Intelligence, so I was excited to get some first-hand experience and exposure to some AI projects. The lab also works on a variety of different projects, so I was looking forward to working on lots of different things to help build my skills.
Applying Theory in Practice and Skill Development
Working with DSTIL has been my first opportunity to apply what I learned at university in practice. My studies at university covered the fundamentals of many topics; as Swinburne is a highly practical university, there was a focus on programming, teamwork, and communication. When I began working at DSTIL I very quickly found myself learning technologies, practices, and collaboration tools that I hadn’t previously been exposed to working as a front-end developer on my first couple of projects. I was already familiar with the programming languages used at DSTIL (mostly Java and Python), but to start actively contributing to projects I had to rapidly upskill in web and front-end technologies, such as Spring, Thymeleaf, JavaScript, React, and CSS. University taught me how to learn, which was one of the most useful skills I gained. With this, I could see how closely programming languages relate in syntax, what purpose they were created for, and how they handle features differently.
On my first project, I was working in a team with other experienced developers, which required me to quickly upskill in the principles of version control and using git. DSTIL had a well-defined workflow and conventions for collaborating with git, and I was able to see right away how important this was to the process of collaboration. My studies had covered the basics of version control, but it was only through seeing how it functioned in a real team on real projects that I understood the true value of having a proper workflow. Over time, I have greatly improved my use of git and even managed to develop my own workflow that’s effective and allows me to deal with many situations. This has definitely been one of the more apparent advancements in my skill set during the placement.
In the software industry, there are many ways to tackle problems. Organisations generally have different ways to approach solutions and workflows depending on the nature of the project. I learned that to properly apply what is taught at university, you must apply skills to an out of the classroom environment as university is a simulated environment. The most important of these translated from university to work experience was collaboration and communication. These skills were a consistent requirement for every project I was contributing to and I frequently had discussions with my team members through routine stand-ups and other meetings.
Collaboration and communication need to be cultivated early and take practice. I believe they are best developed through constant use in real situations; whereas, with programming skills, I found that they can be learned and practised at any time. Understanding and practising the basics of collaboration and communication skills in university were greatly beneficial and gave me a headstart in dealing with team dynamics in the workplace.
Work Outside My Comfort Zone
I found that the front-end programming languages were a bit out of my comfort zone as my only prior experience was from my own experimentation in my spare time. However, with the help of others, I found myself being able to contribute effectively to the front-end elements of projects and I eventually became comfortable with front-end development.
My writing skills were put to the test when I was required to write a report on distributed file systems (and this blog post!). This documentation work was outside of my comfort zone and therefore difficult to approach. Over the course of the review process, I was able to ease the work into my comfort zone, and I found it put less pressure on me when I got feedback that my work was of high quality.
The code review process used in the workplace was also relatively new to me coming from a university environment. I found it highly beneficial to look through other people’s code/documentation and vice versa. It allowed me to discover new tools and methods to approach problems while also enforcing good practice and habits.
How Universities Could Better Prepare You
As it happens, my uni course did quite a good job at giving me the technical foundations to feel confident both coming in and contributing to projects, as well as learning new things on-the-fly. Where I think universities could do to better prepare their students working in the industry, is to focus more on the non-technical, transferable skills of the workplace, such as communication, collaboration, and management. It’s seldom that you’ll find yourself working alone in the software industry, so a big part of successful software projects is teamwork, managing resources well, and transparent communication with both the internal team and the client. With these factors in mind, I’ve come to realise that attitude towards the work, an ability to be accountable and reliable, and having an ethical mindset and position are important to how the aforementioned transferable skills translate when working in teams. Universities should really emphasise the importance of placements, as that’s where I believe most of the development of these skills can occur. It’s quite difficult to emulate industry level communication and teamwork at university between students; in my opinion, it would be more beneficial to teach the theory behind communication and teamwork and explain what can be expected in industry standards instead.
Preparing for Internship Students
One of the things I believe was key to making a smooth transition from university to the workplace was an effective onboarding process that helped me get familiar and comfortable right away. What also helped was having a welcoming environment to allow me to get up to speed with projects quickly, and to feel comfortable asking for help and guidance when I needed it. Centralising key information on an internal wiki or another content resource is also greatly beneficial, as it provides a singular point of reference to allow new employees and interns to, at a glance, see what they need to get started.
Conclusion
my work placement so far has been an invaluable experience and greatly beneficial to my development as a software engineer. DSTIL does an amazing job of introducing many technologies and providing a variety of projects to work on, which I believe has been a big factor in my growth. Over the course of the placement, I’ve had the opportunity to apply what I’ve learned to real situations, while also developing a variety of newly learned skills and knowledge. I’ve also been given the opportunity to push myself and do work outside of my comfort zone, allowing me to further expand my skill set and tackle new problems. I’ve learned a lot from my experience here, and I hope this post is useful to the students and organisations that are reading.
Thanks to Allan Jones, Andrew Vouliotis, Tanya Frank, Josh Asbury and Dave Willie for proofreading and providing suggestions.