I can’t believe one year has passed since I joined the REA Grad program. I still remember the early days during the application process and how happy I was when I got the good news. I couldn't believe it to be honest, but I knew this was a once-in-a-life opportunity.
One of the things that excited me the most was the fact I was going to do a few squad rotations, first giving me the chance to explore different areas of tech, but also allowing me to meet a wide range of amazing people. I knew it was going to be awesome, that being said, I had no idea the amount of cool tech I was going to learn.
This is a brief summary of my learning journey for each one of my rotations. I’m sure not everything is covered here, but if you are interested in the REA grad program, I believe you will find this insightful.
So, it came time to pick my first rotation. The first of many hard decisions. For a bit of context, I did have some experience before joining the program, mostly developing front-end applications, Alexa Skills and Google Assistant Actions. There were some back-end systems involved during the development of these projects but being frank they were fairly simple.
I have always been fascinated by the planning and problem-solving skills required to develop back-end systems. I also was feeling adventurous, so for my first rotation I decided to join one of the main back-end teams in REA. During my time with the team, I learned how to follow great software engineering practices, but I think one of the most valuable skills I picked up in this rotation was the ability to break down complex problems in small digestible pieces.
The simple AWS lambdas I had experience with were nothing compared to the systems I was now working with, all of which are required to support millions of users daily. I also learned a lot about the microservices architecture and how it is applied solve real business problems. Likewise, I learned important principles to successfully design and develop robust and scalable systems.
On the coding side of things, an invaluable experience was the exposure I had to functional programming, even getting the chance to contribute to a few small cards. Finally, I also got the chance to practice my cloud computer skills. I already had some experience with AWS and GCS, but never had worked before with services like AWS Kinesis Data Streams.
By the end of my rotation, I was so grateful for both the squad and the grad program as I was just starting to understand what it takes to develop and support products used by millions of users. Time for my second rotation!
My experience in the back-end team made me realise the scale of the projects at REA, and now I was really curious to see what it takes to develop a front-end project of that magnitude. Lucky enough, I joined an amazing Front-End team.
The team was formed by highly skilled front-end engineers and they were just starting to upgrade an existing UI experience. I think it was the perfect time to join, as I got to work on the project from planning to shipping to production. During my time on the team, I learned more about the microservices architecture, and how it can be applied to front-end projects. I also got a chance to practice my Typescript and React skills.
At the end of my rotation, I was amazed by the deep UI knowledge the team had, and how interesting the problems we had to solve were. Performance is a big deal for products of this scale, and it was awesome to see how we were delivering beautiful yet very performant UI experiences. It was super satisfying to see my work out there and be proud to show my family and friends what I contributed to build. I still get goosebumps when I see people using my experience on the train.
For my last rotation, I decided to give mobile development a try. I always have been interested in Android development but never had the chance to work on an industry-grade project. Picking a team was again a very hard decision, but with the help of my mentor I was able to narrow down the options. I decided to join a mobile chapter, which was really appealing to me as the team supports and maintains a wide range of game-changing initiatives.
During my time in the team, I was able to get my hands dirty on both Android and iOS platforms. Considering my little previous knowledge on these platforms, I’m so amazed and grateful with the support provided by the team. One of my favourite things about the chapter was the fact I was not only encouraged to develop cool features but also present to a wider audience our progress.
By the end of my last rotation, I realised how much I enjoyed my time as a mobile developer, so I decided to become one! It was now time to pick my permanent placement. I had a few interesting choices, and once again it was such a hard decision to make. After having a good think and considering my long term goals I finally decided to stay in the mobile chapter. I just enjoyed the team culture so much, the initiatives we were working on and how much the team encouraged me to grow.
As I complete the grad program, I feel super lucky and grateful for all the opportunities I was provided. Looking back, I wouldn't do anything different, I truly believe each one of the rotations helped me become a better software engineer. I’m so grateful with REA in general for providing such an inclusive and supportive environment.
I can’t wait to see what the future holds for me in REA!