Introduction
I recently hit 2 years working at Public Trust, and perhaps it is just a side effect of my ageing but the time has absolutely flown by. Although I don’t want to get into the specifics of my work, I thought the two year mark would be a great time to reflect on the differences that working at a large organisation such as Public Trust brings compared to my previous work experience, and what learnings I have taken so far.
Work Differences
If you are not aware of what Public Trust is, they are “New Zealand’s largest provider of wills and estate administration services” with hundreds of employees nationwide. Of course as a developer I only a work with small fraction of those people, but it is an example of how big the overall company is, and therefore you can imagine how big and important their core services are such as the online platform.
https://www.publictrust.co.nz/about-us/
The size and scale of what I work on have been primarily the biggest difference. I will often work on tickets spanning weeks and projects spanning months. In my previous work, an entire website or app might take a month or two, whereas now we might spend that time refactoring and optimizing code or adding a new feature that helps trustees.
Learnings
Slower work is expected
Our team does work pretty fast for what we do, but it’s definitely a slower environment compared to smashing out websites or apps for clients. For me, this signifies the importance of not only writing good code but also making the best design decisions.
For example, We need to be extra careful in implementing new technology as this will be extra maintenance in the future. Or, maybe it’s worth spending 50% more time on a ticket to ensure the code written is reusable for other components that could use it in the future. These considerations weigh much more heavily on me now.
Collaboration is everything
To make those design decisions, and to write the best code we can, collaboration is everything. I’m incredibly lucky to work with some talented developers and we all take the peer review and investigation process extremely seriously. Even though only one person is working on each ticket, we’re still leveraging everyone’s expertise.
This is also the main source of my developmental growth nowadays. Articles are still interesting but practical suggestions and implementations are what resonates with me the most.
Tests are important
To help our testers and to save time detecting bugs in the future, tests are extremely important. Unit and integration tests can fall under the radar but they help so much with regression when you need it.
We have also recently introduced parallelism with our browser tests which has been mindblowing. Big bugs are still possible, but for any code to get deployed into any environment it must pass hundreds of automated tests, so the main functions must be working.
Old and niche code requires patience
Working on such a big application it’s impossible not to run into old code that doesn’t work as expected or is overly complicated. We have quite a few examples of where previous aritects had inherited technology before it was mainstream, which meant the implementations were niche and were not obvious to work on.
Of course, I have seen old code before, but I have had to practice patience to deal with such large amounts of complex code with less reliance on external docs and more on reading and understanding the code itself.
Less like a Rollercoaster, more like a Train
This could be purely subjective but the development process feels much less like a dopamine rush and more of a consistent, expected result. Don’t get me wrong, there are still smaller tickets and still exciting work to spend time on. But even with that exciting work, it’s more of a planned attack rather than just putting on the gloves and throwing punches.
This can be nice in some ways as you don’t have the down after finishing a site/project, there’s much more stability, but some days I do reminisce about moving fast and breaking stuff.
I think other co-workers scratch this itch with their own personal projects, something I need to get back into doing!
Conclusion
I’m proud of working for Public Trust, and it has been a great experience so far. It has been another great step in my career with lots of learning about the state of large-scale applications.
Thanks for reading!