About Spresso.AI
Spresso.AI, formerly part of Boxed, builds technology that helps retailers operate and optimise their e-commerce businesses. Its platform supports everything from product catalogues and checkout to payments, fulfilment, loyalty programmes, and integrations with third-party systems.
My Time at Spresso.AI
I joined Spresso.AI as a backend engineer and eventually grew into a Senior Backend Developer role. The company was headquartered in New York, US. So I was working remotely together with a small team in Singpore. Over the years, I worked primarily with TypeScript and Node.js, building and maintaining e-commerce platforms used by major retailers such as AEON Malaysia and AEON Vietnam.
My work covered a wide range of areas, from integrating payment, loyalty, and logistics providers to designing new services and APIs. One of the larger projects I worked on was a headless fulfilment platform that allowed external partners to integrate their own fulfilment systems through APIs and webhooks.
I also had the opportunity to step outside of my comfort zone quite often. I took ownership of parts of a legacy Golang codebase despite having little prior experience with the language, worked on frontend and internal tools when needed, and gradually became more involved in technical scoping, architecture discussions, code reviews, and planning new features with product and frontend engineers.
My Takeaways
When I first joined, I was still relatively early in my career and was mostly focused on becoming a better developer. Over time, I was entrusted with more responsibility and decision making. I would soon take ownership of projects, create design documents, propose solutions, and be responsible for seeing those decisions through from planning to production. Through that process, I learnt quickly that good engineering was about much more than just writing good code.
Working on a live e-commerce platform meant that any changes made had a direct impact on real customers and clients. It taught me to think more carefully about reliability and maintainability, especially when even a seemingly small change could affect important parts of the customer journey. Features were not just one-off pieces of work; I had to think about the different ways they could be extended in the future by anticipating client needs and goals.
Observability and proper logging were also at the forefront of a good design, since they could be life-savers for any on-call engineer (myself included). Building a feature was only one part of the job. I also had to think about how we would know when something went wrong, whether we had enough information to diagnose the problem quickly, and how easily another engineer could understand what had happened without already being familiar with the implementation.
I was also fortunate to work with a distributed team where a lot of trust was placed in individual engineers. Part of that benefit was learning from working alongside engineers with different backgrounds and perspectives. Technical discussions and code reviews often exposed me to different ways of approaching the same problem, and taught me to be more confident in defending my own ideas while being willing to change my mind for a better solution.