i am matty
I'm a recent graduate from the University of Sydney.
I studied a double degree in Computer Science and Data Science.
In my honours year I explored the application of LLMs to Bug Localisation (given a bug report, can we automatically find the responsible source code).
More details about my education are probably on my LinkedIn.
I've worked as a software developer in a few companies alongside my university studies, both part-time work and full-time internships.
I think I learned more during my first software job out of high school than my entire degree, at least regarding the skills for practical software development.
Here I did some frontend work (where I learned React and the Node ecosystem) and some backend database work (where I learned SQL and how to maintain a DBMS).
This was also my first exposure to using Git, Jira and other professional software management tools. I was also persuaded by my coworkers to start use riced-up Linux - a rabbithole which I have now escaped.
React, Node, SQL, .NET, using APIs
In my second job I was one of the developers responsible for creating and managing software for a lab in the university.
The role of a lab is arguably to produce papers, and it turns out that such a job requires the management of a number of different objects (grants, papers, people, collaborations, expenses). Not to mention any industry-specific software at each stage of the data pipelines.
My job primarily revolved around connecting data sources like spreadsheets (Google Sheets) and DBMSs which held these objects, and then building interfaces so that lab members could interact with the data in useful ways.
Django, ORMs, SQL, Web Dev, Google Sheets (API), etc.
This was my first internship and work experience at a large (>1k employees) company. This was notable for me as the first role where I was responsible for a small portion of a huge system, rather than a large portion of a small system.
By this point I had work experience as both a frontend and backend developer, so I decided to apply for infrastructure engineer in order to broaden my knowledge and try something new. In the end I was placed on the Cloud Security team, which additionally allowed me to dip into the area of cybersecurity.
In the internship I worked on improving Canva's internally used secrets manager, and also performed some day-to-day maintenance of other Cloud Security software used by Canva.
Golang, AWS, Secrets Managers (Vault by Hashicorp)
This is my second internship. After working at Canva I thought I would try out a smaller company (~100 employees) where I would have more responsibility and get to work on more areas of the codebase.
I doubt Tim (the CEO who sat right across from me 😬) would approve of this framing, but when people ask I basically describe it as PowerPoint niched down to people who do lots of statistical data analysis, particularly of survey data.
The work I did was a mixture of frontend (TypeScript) and backend (C#). Some bug fixes, some features.
One thing I have enjoyed is gaining experience navigating a large codebase to make changes or fix bugs. Essentially lots of "go to definition" and "find all references". This kind of software development feels more "real" than only working on code in your little corner, so I have been motivated to learn better practices (e.g. IDE tooling).
This has been different from Canva where there is less emphasis on an "intern project" and I have instead been able to commit and push changes regularly to production rather than working off to the side. Definitely much higher trust and responsibility placed on the interns, which is honestly refreshing.
TypeScript, C#
My last job during uni was at the Australian startup Relevance AI. We built AI agents to automate workflows, especially BDR email comms.
I joined as a full-stack web dev, but moved into the RAG team that provided AI agents with access to company knowledge.
Vue, TypeScript, MongoDB, Vector DBs
I'm now betting pretty heavily on myself.
I won't include details because it changes often enough that anything I write would quickly become outdated.
Once I stop failing learning and settle on a particular direction, I will write about it here.
More details are probably on my LinkedIn.
Like most humans, I enjoy many things.
But I especially like things which are both novel and useful.
I also enjoy building stuff.