Building Australia's home of real estate as a developer and technical team lead. I've worked on projects including Property Profiles, Appraisal Request Flow, Find An Agent, Domain for Owners, and Agent Admin.
I joined Domain in 2017, originally starting in a front-end developer role. At first I was mainly contributing React code to existing projects, with a focus on building accessible and performant user interface components to a library of shared components used across the Domain websites.
The scope of my work quickly broadened to a more full-stack focus, including development of Node front-end web servers and some REST API work. I was soon involved in the planning for new projects, and the design of new features. I began contributing to technical architecture, planning the technical stack, architectural decisions, and resourcing for new projects including Domain For Owners and a rebuild of Find An Agent.
During this time, I developed an interest in GraphQL, and began to become involved with the uptake of the technology at Domain. This involved a lot of collaboration and discussion with other teams, as we planned how to introduce a graph schema that could be shared across applications. To me, GraphQL solved many of the architectural problems I had struggled with early in my time at Domain - having a discoverable schema, having a single source of data for your application, the ability to compose your data requirements in an easily reproducable format, to name a few. Over the course of a few projects, I gained a lot of experience with schema design principles, as well as architectural paradigms for implementing GraphQL data-fetching within web applications, and generally have a sophisticated understanding of the technology.
In 2019, I moved into a technical team lead role, managing a small team of developers. As a team lead, I began coordinating a team to manage workloads and effectively execute roadmaps of work. This included running team meetings, planning fortnightly sprints of work, and liaising with stakeholders on project progress and milestones. In this role, I began collaborating with a product manager and designers to define project scope and plan work, getting a better understanding of the product development process - how business decisions are made, how product requirements are developed and verified, and then how those requirements are translated into an actionable plan. I really enjoyed the new challenges this role presented, playing the balancing act of ensuring the team is productive and harmonious, individuals are achieving personal growth in their work, maintaining a level of autonomy and creative freddom for the team, all while keeping the business happy and delivering value.
In 2022 I moved over to a technical lead role in another team, the Agent Experience team, with a mandate to contribute to the technical rebuilding of a large legacy project, an administrative application used to manage real estate agencies presence on the Domain ecosystem.
Working at Domain across so many teams and roles, I have a unique perspective on the challenges that face complex medium to large organisations like Domain. Organising such a large and diverse workforce towards common goals and objectives is a massive challenge. I‘ve seen many approaches and methodologies to variations on this problem, and hopefully can say I have a more sophisticated understanding of the pitfalls to be avoided, as well as a few ideas of how to keep people aligned and moving towards goals.