Diving Into the Deep End
Are graduates ready for the real world? Thoughts on this topic from a recent grad.
Having recently been working on-site on a significant project for one of TTC’s clients, it’s gotten me wondering; are graduates prepared to enter the workforce in software? Throughout university I studied Mechatronics Engineering, which is comparable to building robots. It involves a bit of mechanical, electrical and software engineering. Post university, I began working as a software testing consultant for TTC and was dropped in the deep end with my first client, which saw me automating tests for GIS systems and working in an Agile environment.
Graduate roles in software testing
Going from engineering to software testing was a giant challenge for me. Although I knew how to write code, most of my experience was writing code to control robots, not navigating a web page or software application. Keywords that I would need to know such as Dev, Test and Prod were hardly even a cloud in the horizon of my vocabulary. These are words used literally every day in the world of testing and I had no idea what they were or how to use them! I quickly began to realize that university had over prepared me to derive complex algorithms, but drastically under prepared me for conversations with professionals in the industry I operate.
What university did teach me however, was to push myself beyond what I was capable of. I spent all my time doing what I could and taking note of what I didn’t know. I would study at home to catch up to my colleagues as fast as possible in this rapidly changing industry. Now, I feel more confident and comfortable as ever and am ready for all the challenges that face me in the future.
In my opinion, universities are somewhat out of touch with the modern business landscape - they teach things that we may never use. However, I do understand; it is challenging enough to change students into the people they need to be to venture into uncharted waters in whatever profession they choose.
GIS test automation
Once I had a grasp on how software delivery worked I used my newly attained skills to innovate and create beautiful solutions to the problems I faced day-to-day as a software tester. I take pride in providing solutions for problems and then refining them, like I am creating a piece of artwork with my computer as the canvas and my code as the paint.
Test automation is the process of creating a program that when run, completes a task like logging into an application and verifying that the application is behaving as expected. I was tasked with automating a test for a GIS application. GIS is a way of visualizing spatial data - Google maps is a perfect example of a GIS application. My test needed to verify that the developers had published a layer in GIS that displayed all the assets for the client. For example: finding and clicking all the cars that are tracked by Uber. This proved to be far more challenging than I thought it would be but eventually I got it working. The first version of my solution was chunky and fragile. Any variation in the test would cause it to fail. Over time I would refine the solution to make it faster and more reliable.
The success of getting this working is the kind of project that I think helps young graduates grow the most. If you give them work that is challenging enough, they will feel a sense of achievement and better sense of confidence when they can overcome these obstacles. You feel great because it verifies that you do have the skills to get the job done, and show you’re also providing value to the business you are innovating for.
So, to answer my question, I think that graduates fresh from university likely won’t fit perfectly into a role when they first start out, but we also can’t count them out. If you guide them in the right way and provide the support, material and environment to grow, they will provide the value you need.