Tom’s Story: Keeping Development Simple
July 27th, 2021
At MyPass we love the opportunity to bring people into our team and then watch them grow and develop into their roles over time. That’s certainly been the case with Junior Developer Tom, who joined us in October 2020 with no previous experience in software development. We knew early on that Tom was the kind of person to learn fast and take on more challenging tasks over time, which nearly a year down the track has proven to be correct. Aside from becoming a great Developer, Tom’s also a lover of sashimi, soccer, combat sports and… Kanye West?
What are the three biggest learnings you’ve had since starting as a developer?
- Developing with other developers in mind. Making it clear to a future reader what your code is meant to do and avoiding them having to figure it out for themselves.
- The importance of keeping it simple. Programming is a really complex field, but the nicest solution is generally the simplest.
- The amount of choice you have to solve problems. For pretty much everything, there are so many possible ways you can approach it.
What attracted you to Software Development in the first place?
It’s a very deep field, with so much to learn and so many pathways to go down. You’re never finished learning and improving. It’s a craft that you can work on at any time if you have a computer with you, so it’s up to you how much effort you put into improving. You have so much agency over how good of a developer you are. There are also such great prospects for you as a developer. You can be at the core of building some really exciting and innovative things and there’s also a lot of potential for entrepreneurship.
What’s the coolest thing you’ve worked on? / What’s been the most challenging?
Event sourcing for both questions. The event-sourcing solution was a new concept to me when I started, and it gave me a new way of thinking about backend development. With event sourcing, data is stored as an ordered log of state-changing events. By replaying these events we can derive the current application state, or the state at any point in the past. It’s a really interesting alternative to the traditional method of just overwriting data, and it’s been a blast to learn about it.
Advice you’d give to other developers looking to start their careers?
I’d say get used to working with large code bases that have been written by others and try to have a good grasp on the general workflow of software development. Open source projects are great for this. Also read documentation where possible by going to the source of what you’re learning rather than tutorials or blogs. Finally, don’t be intimidated by complicated software, it was all written by other people like you which can be easy to forget.
What’s your experience been like at MyPass so far?
Extremely positive in terms of social, learning, and working experiences. It’s a great environment for learning and asking questions, there’s always someone willing to help, and you’re surrounded by some really great developers. The team is full of great people who all create a friendly and easy-going atmosphere for everyone to be a part of.
Where would you like to see yourself going from here?
I’m really interested in the high-level design of software. It’s a long pathway but I’d love to have the knowledge to make important technical decisions as an architect. Eventually I’d love to have my own vision for a product and enough knowledge to make technical decisions about it. In the short term I’d like to continue gaining expertise in backend development, and work towards mastering a specific domain.