Senior software engineer with 9+ years of experience. Eschew hype; focus on delivery and performance.

Living in Switzerland 🇨🇭 since 2017.

Learnings from Gadget Software

Sanath (my ex business partner) and I have decided to part ways. We worked together for 2 years and a bit running a bespoke software agency, where I did the development work and he did marketing & sales.

In honor of our partnership, I decided to write down my main learnings from this adventure.

One use case to lead to immediate ROI

Sanath taught me how to have level of focus that is unnerving to our customers, with regards to delivering ONE use case that provides the immediate ROI to the customer, and turning down customer demands for other things until that is achieved.

Yes the customer might need 10 different flows, but we can only prove ROI on one of them at a time.

They're spending their time and resources on us, the least we can do is get them ROI ASAP.

This is essentially a Customer First approach. And often protects the client from himself, as clients very often are not very familiar with software development in general.

Python/Django

Early on Sanath made the executive decision that I will be using Django. At the time I was most familiar with C# and Angular, with old familiarity for Node.js.

Him forcing me to use Django actually forced me to learn Python. My third back end language. For which I am very grateful.

Python has been very useful in other areas for quick scripting and pseudo-code.

In addition Django taught me that a framework can be very full featured, but still get out of your way by default. It is very much my default now if I need to just get something running quickly.

Patience

Working with Sanath helped me wrap my mind around long term thinking. He always had a very clear vision for the long term future.

He also taught me patience around financial goals. I have a perhaps bad habit of wanting things NOW, or within 3-6 months. When in a realistic timeline they might take longer. Sanath taught me to think around those longer timelines.

Arrogance

He recommended a particular book that has been pivotal in my mindset since I read it.

Linchpin: Are You Indispensable, by Seth Godin.

Totally turned my mind around and addressed some arrogance and impatience issues I was having professionally.

LLMs and RAG

We were using GPT text models since they came out.

But it wasn't until he insisted, that I actually learnt how LLMs work and how RAG works.

Now I have a rather complete understanding of RAG which probably not very many people have. For which I hope to soon publish a general guide BTW.

Senior software engineer

Thanks to the opportunities at Gadget Software I could actually graduate into seniorhood as a software engineer. The ability to be given a problem statement, wrap your head around it, experiment and prototype, communicate with the customer about it, perhaps challenge the proposed problem and desired solution, then provide a high quality working solution, independently, was something that I learnt at Gadget Software.

Project manager

I was actually given direct communication channels with the customers, allowing him to step back and focus on other things, and mentor me in the meanwhile.

That communication with the customer gave me insights into how users think, and how to communicate with them challenges and sell them on solutions.

That gave me some serious headway into the concept of project management. Organizing work for a project and leading the project to success while balancing development team and customer needs and desires.

In summary

I learnt a lot, and I owe a lot to Sanath. I am very grateful to him for his patience, his mentorship and guidance, and his willingness to take a risk on me.

The lessons learnt I will carry for a lifetime, and will serve me well in my career going forward.