auctions.csnglobal.net — The Creation

Stephanie McDonald
carsales-dev
Published in
6 min readFeb 26, 2020

--

Day to day I’m a technology graduate sitting in the data collection team here at carsales; what this actually means changes day to day. Some days I’ll be helping to build python ETL (Extract, Transform, Load) scripts to create complex data pipelines. Others I’ll spend reading and responding to, and sometimes fixing, the myriad of questions and bugs reported to our team in relation to our tracking data, “where is it?”, “what does it mean?” and “is this definitely accurate?” are the most common. Although there is always at least one request to extend our tracking to encompass some new feature or include a little more detail about something. Some days I’ll even find myself helping to create the infrastructure required to run, maintain and monitor these pipelines or taking part in discussions around who should have access to what. In all of these tasks and tools I use along the way, my favourite part is and always has been the challenge. So when the opportunity came up to help build a website with the Women in Tech group here at carsales I was very eager to be involved.

Prior to this opportunity I would have said I had little to no in depth experience in web development apart from a subject in university. This is why my expectations about how much I would be able to assist and contribute to the site were low. I thought I might be able to contribute to the planning and maybe one little piece of functionality here or there but I knew that looking around at the talented women surrounding me we would get the job done, even though I didn’t really know what needed to be done! My main goal was to learn something new and to say yes to any challenge directed my way.

The site itself was to be an internal auction site for our colleagues to buy and bid on items to raise money for The carsales Foundation. It started off with a few mock designs and discussions about what was involved. We split off into groups and I put my hand up to help with the backend and the frontend. Backend I felt more comfortable with, or at least I thought I did, I had worked with API’s before. It didn’t take me long to learn that building something from scratch is entirely different to extending or adding a new feature to an already functioning API.

Thankfully, with a brilliant frontend dev in the group, I was able to get a lot of guidance around the world of Angular, how it worked, the main concepts and most importantly how to debug it. I started with nothing more than raw HTML, I knew I could do that part. I slowly started to convert it to Angular components with a lot of guidance. After the first couple of weeks my confidence began to grow, I found myself volunteering to add functionality that I had no clue how to implement. I started to get used to not knowing. I was Googling, trying and failing and, if both of these options failed, asking questions of the people around me. As time passed and other people became busy with other projects in the company, I began to take more and more responsibility of the frontend work. Each week I was doing things I initially thought I could never understand and implement. In the end I became responsible for one of the two main pages in the site.

One of the many errors picked up by our QAs

Once we had the bare bones of the site up and running, it was time for testing. I now completely understand the response “it’s not a bug, it’s a feature”, as the list of bugs and UI (User Interface) queries began to grow. Having had little to no encounters with building from the ground up this was definitely a new experience for myself. The frustration of having things returned due to lack of clarity around initial requirements definitely taught me the importance of getting those requirements early. Of course there was shame involved as well, when you knew the bug was there, you just prayed no one would find it before you found time to fix it. They always inevitably did and from this I’m slowly picking up that software development has no place for shame. If you don’t know how to do or fix something, ask. Be upfront and it makes the process a whole lot faster and encourages others to do the same. We worked through all the bugs raised and the many things I expected to see crash and burn, for example the pagination I had attempted to implement with virtually no self testing done, worked without a hitch.

After the initial development hump, a couple of things happened all at once. We tested altogether, like crazy, our primary backend developer went on well deserved leave and we set a date for code freeze and release. It was during this time that this important website breaking question was asked, “What happens when an auction ends?”. This test case added another two days to our project road map. We hadn’t accounted for it so we frantically aimed to complete development as soon as possible, whilst still having confidence in our solution . It was important to us to know how the system would behave at the end of the auction because it impacted data, sales and the general user experience. This is where I discovered that I can function well under pressure, I extended the API to cover what would occur when the auction ended, adding items to the sold table, associating them with the highest bidder, sending out emails to the winners and to the people who would be responsible for organising the payments, and with just enough time to test this before the code freeze.

The site went live and although I’m not quite sure I remembered to breathe the whole time it was live, it ended perfectly. Of course we had unforeseen hiccups while it was live but we managed them. Overall the auction was hugely successful in boosting our tech know-how and raised more than $500 for the carsales Foundation.

On Reflection..

This project has given me far greater opportunity for growth than I could have initially predicted, the biggest part for me has been to see how much I can achieve when I give myself the chance to step outside my comfort zone. My skills and confidence have grown immensely through this project and it has not only given me a better understanding of web development but has made my day to day job far easier and more effective. It has helped me in being able to communicate with the other web development teams, helped me to better understand our tracking from all angles, taught me new things to consider and questions to ask when implementing a new data pipeline or extending the tracking. It has fueled my passion for all things data and tech and shown me the benefit of taking on projects that sit outside my day to day work.

Celebrating the success of the auction site at lawn bowls!

Of course none of this would have been possible without the brilliant and talented Women in Tech group here at carsales. A huge thank you to all of the people that let me learn from them and supported me; this is what allowed me to gain so much from the experience.

At carsales we are always looking for fun and talented people to work with. If you liked what you read and are interested in joining, please check out what positions we have available in our careers section.

Other articles

Want to read more about this incredible project? Head on over and have a read of auctions.csnglobal.net —An Initiative by Leila Creagh. Check out Leila’s profile here.

Coming Soon…

  • auctions.csnglobal.net — At the End by Jigyasa Sharma. Check out Jig’s profile here

--

--