Jonathon Thomson embarked on his journey with WiseTech’s Earn & Learn program at the start of 2024, having relocated from the small town of Guyra in New South Wales. A passionate programmer from a young age, Jonathon honed his skills largely through self-teaching before seeking more formal avenues to expand his coding knowledge.
We sat down with Jonathon to discuss what drew him to the Earn & Learn program, his goals for his time in the program, and his practical advice for high school students interested in coding.
What were your first impressions of WiseTech?
I was really impressed with the office, the people, and most of all with the level of support that was offered here to the Earn and Learn students and especially to those of us like myself that moved from outside of Sydney to join the cohort. Some of us have never had a job before this point, and a lot of us most certainly have not ever done anything quite as professional as this program, but it felt really welcoming walking into WiseTech on day one.
When and how did your passion for coding begin?
I’ve always known that I wanted to do tech as a career, as something so heavily ingrained in my childhood and friend group at the time, though it did take me a while to realize coding would be the path I wanted to pursue.
My passion and journey in learning to code began very basic at first – Scratch, basic websites and simple pygame applications among other small projects. It was around high school where I really began to see the creative potential that programming offered me as I began to take on projects of higher complexity and that directly related to hobbies and passions of mine.
I really love a good challenge with a worthwhile reward, so taking on these more complex and personal projects in turn grew my passion for coding and the thrill of bringing an idea or dream to life!
How did you learn to code?
I came with a decent amount of prior programming experience. I've done a lot of stuff before in Java, in Python, namely, but also in C#, so the C# stuff that we've been introduced has been a nice refresher.
I've done a lot of personal projects and have been a self-taught programmer for the most part. I’ve learned a lot of programming in my own time, and in my own way. In school, I also did software design and development, but ultimately, it's been the personal projects for me that have evolved my level of programming, knowledge and skills.
What do you enjoy about coding?
I really like being able to identify a problem or a challenge and being able to use my skills and knowledge and programming to create a solution that will solve the best possible use cases for that challenge. I love seeing the result of my work and identifying both areas I can improve on and parts I really enjoyed and want to explore more in future projects!
What attracted you to the Earn & Learn program?
For me, a big part of what attracted me to the program was the entire prospect of being able to gain workplace experience and practical knowledge of what we would have been otherwise taught in uni. We're learning everything that we would learn in uni, but we’re also learning how to use it in a practical environment.
I'm very excited to gain professional experience in the rotations and in groups and to also be able to build up each other's ideas for projects as well. I think that'll be a really interesting experience. I think the program will also assist me in developing more cooperative, open communication skills in my problem solving and programming discussions.
What are you hoping to achieve by the end of your first year in the program?
I'm hoping to gain a little bit more simplicity in my solutions. While my solutions do usually work, something that I have found is that I think I need a bit more consistency in my solutions as well as a bit more simplicity.
I often tend to jump to the more complicated ways of doing things. My mind skips over the simpler ways, thinking about potential future situations where a more complicated solution would work better or provide more flexibility, and while that can be useful for some scenarios, in many cases it is just much easier to be able to do the simpler solution. So I'd like to get myself out of that habit, to be able to identify that simple solution, and whether it is right for the challenge I'm trying to solve or whether I go for the more complicated solution to best resolve the issue.
I’d also like to improve my confidence in group discussions. As a largely self-taught programmer, I never really needed to communicate to others about my progress and programming knowledge before this opportunity, and it’s kind of translated over to me being very quiet in group discussion even when I have an idea or a solution to the problem being discussed. It’d be great to break this trait and share my knowledge, as well as gain useful feedback from others on my own code.
You’ve been in the Earn & Learn program for 6 months now, what are you enjoying most about the program?
I’ve really enjoyed the difficulty of the work that’s been allocated to us in our first rotation and the support offered to all of us in the program. I’m currently rotating with the Carbon Emissions team, and they have really made me feel welcome as an equal, not hesitating to give me harder work and always willing to lend a hand if I get stuck on a problem. I really appreciate their willingness to let me take on and spend time on difficult work items as it has allowed me to grow my knowledge substantially since day one and feel like each work item is a new challenge.
The support from my mentor, team, peers and E&L affiliated staff members is always helpful and allows me to grow my knowledge as well as understand areas to improve and the practicality of certain coding approaches and styles.
What practical advice would you give to high school students who are keen to advance their coding skills?
The most important thing when it comes to advancing your coding skills is to make it relatable to your other passions, skills or hobbies. Creating that initial connection will give value to any programming projects you create relating to those purposes and cause you to want to seek harder or more rewarding projects, which is the first step in advancing your skills!
You could start by identifying some simple quality of life programs or scripts you could make – something like a chat bot for your friend group’s Discord server, or a script that retrieves the current stock market prices for certain stocks, or even just something fun and wacky. Once you’ve nailed down a few of the simpler projects, set your sights on something bigger – a mod for a game perhaps, such as what I did with Minecraft server plugins, or a simple AI.
Don’t feel bad on relying on tutorials or other support like teachers or AI and treat them as opportunities to learn, and then utilise what you learn by challenging yourself with harder projects!