email: me@rod.codes | tel: +27.82.551.2067 | linkedin: https://www.linkedin.com/in/rodneyhawkins/ | https://rod.codes
Software Engineering Technical Lead with 12+ years of experience building scalable web applications and APIs focusing on e-commerce and analytics.
Rodney is always available and willing to help, even with projects outside his team. He has a deep understanding of his domain. Even over video calls, his can do and positive attitude shines through.
I was recruited to lead the Bash.com Web Frontend team and joined during the startup phase of the project, helping to guide and deliver the launch of Bash.com
Due to the urgent nature of the project, I was both leading the team and also contributing significant amount of code - especially where the e-commerce platform chosen could not deliver what we were looking for.
A notable highlight was building the Staff Discount mechanism using Cloudflare Workers intercepting the GraphQL calls, and modifying them based on the Customer Profile.
Helped with the DevOps team workload, especially in the Kubernetes and Ingress space.
After launch, was promoted to Principal Engineer where I helped build the OTP Service and Messaging Service internally, while helping guide other projects inside the organisation.
A highlight was developing a Vercel deployed NextJS application that snapshotted a subroute and created a PDF Invoice on demand. This reduced significant load on internal infrastructure while also giving a lot more flexibility to modifying the Invoice template, as and when needed by Marketing or Legal.
Python, Golang, Typescript were the primary languages used. Terraform and Helm Charts for the DevOps related tasks.
During this period, I travelled to Turkey and Georgia to make up for the COVID lockdowns and enjoy my leave payout of 30 days.
I consulted on various projects (both frontend and backend) and trialled many modern toolsets.
The technologies used included Typescript, React, NextJS and used industry tools such as Vercel, Github Actions, BigQuery, Google Analytics (migration to GA4), Google Tag Manager and Google Server Side Tagging. I also discovered that my muscle memory for piste skiing still existed after a 16-year absence.
I returned, or as it's known, boomeranged back to Takealot as a Senior Software Engineer focused on the Backend. On arriving, I was seconded to the Javascript Frontend React Team to work on a time-constrained project - to migrate from a PHP driven React layout to an API-driven redesigned page in 4 months for Season.
During my secondment to this team, I developed the Frontend build and deployment package to prevent deployment errors. The pattern is still used to this day - and involves using Cache-Control headers to allow us to roll back the customer-facing UI within a few minutes.
We completed the project on time for the Season, which enabled us to stay up during that year's Black Friday midnight peak.
I became the Team Lead of the Discovery Backend team in March / April 2020 after my manager recommended I apply. At this point, there were three people in the group. When I left, there was a healthy complement of seven and had grown to cover the Daily Deals and Promotions, CMS, Ads, Search Page (not ranking) and Product Details Page.
I worked closely with the Advertising and Marketing teams and am well versed in Google Analytics (Legacy, GA4), Enhanced Ecommerce, BigQuery, Google Tag Manager and Google Ad Manager.
Internally, I steered the Cloudflare SIG (Special Interest Group) to liaise with our Enterprise Account Manager. In this aspect, I have experience with modern Edge Engineering.
I also became intimately involved in the media serving (product and CMS image serving). I maintained and devised a move from fixed EC2 to auto-scaling, which was deployed the day before Black Friday 2021, which saved ~70% of that particular cost centre in AWS. In Cloudflare, the images had a 99.67% hit rate serving over 170TB a month when I left.
I am also proud of being recognised for my actions by my peers. I won the Quarterly Engineering Award consecutively in the 2019 & 2020 years.
I worked closely with the Frontend and Mobile App Teams (Android & iOS) to design, document and deliver APIs against product specifications and OKRs.
I did prototyping for an emerging startup in the waste management field using Typescript React and Django. The prototype Django application also made outgoing calls to APIs that dealt with recurring payments (Stripe) and route scheduling.
I was working on the Core Platform team. Some of the successful projects I've worked on include the new React UI Interface, integrating Magento 2 with the platform and helping with analysis queries required in a logistics provider.
Scurri were already halfway through a Frontend React UI redesign when I arrived at the company. It had slowed and stalled, so I assisted in refactoring and simplifying the Beta implementation to make it easier to read.
I learnt a lot about working in the European Union, the shipping and logistics industry, how startups seek funding and how to put out fires - in a metaphorical sense.
Management and support called on me to perform SQL queries on the Django dataset for stakeholder presentations from time to time. One fond memory was using the Django shell to reissue customs documentation for 2000 parcels stuck in a customer's warehouse while the logistic provider waited for us to re-manifest the shipment.
I joined Takealot for what would be a short stint - but during this time, I got to work with the same Manager I would return to work with after Ireland.
In 2016, the Engineering teams were undergoing rapid growth, and during the six months I was there, they passed 50 Engineers. I joined the eCommerce team (PHP, Javascript) as they were adopting React for the UI.
The three projects I was most proud of working on and contributing to were disconnecting the navigation menu from the departments to allow marketing to define a hierarchy that makes sense for customers or campaigns, redirect tool and the liquor rollout project. The liquor rollout involved me rewriting the rules engine during the checkout process.