22 Lessons from 1 year in Data Science and Machine Learning

It’s been a year in data science and machine learning. Okay, I lied. Technically a full year and a few months since I officially splooted (wanted to show off my extensive vocabulary) into the world of data science and machine learning with my master’s program. In late 2023 I started learning data science through a Udemy course and in January of 2024 I gave up. Well, not exactly per say. ...

May 28, 2025 · 52 min · Shivam Chhuneja

Reducing Churn in E-Commerce: My End-to-End Capstone Project in Predictive Modeling

Customer churn isn’t just a marketing problem - it’s a business survival issue. In competitive industries like e-commerce, losing one customer often means losing several revenue streams, especially when one account can represent multiple users. This post is a breakdown of my churn prediction capstone project for the postgraduate data science program at UT Austin - also tied to my master’s in data science at Deakin U. The project was closed-source, so I can’t release the full notebook, but I’ll walk you through everything I did including code snippets, results, charts, what I learned, and where this project fits in my larger journey into machine learning and MLOps. ...

May 27, 2025 · 5 min · Shivam Chhuneja

A Beginner Explains Pointers in Go: The Thing That Made Me Quit Coding (And Why I'm Back Now)

I learned about pointers 10 years ago… and I hated them. I still hate them. But now at least I can explain them, which, by some strange software industry law, qualifies me for a senior dev role. Flashback: Engineering School and Existential Crisis Back in electronics engineering, we were handed C++ for one semester and told, “Here, go build your future.” By Day 2, we were doing pointers - not the helpful kind, but the kind that break your code, your compiler, and your soul. ...

May 22, 2025 · 3 min · Shivam Chhuneja

Day 5–8: Fine-Tuning AI Models, Learning MLOps, and Structuring My Year of Projects

It’s been a few days since I posted an update here. Not because I wasn’t learning - in fact, the opposite. I was working through a mix of things, from structuring my year-long learning roadmap to actually fine-tuning large language models for the first time. Why I Wasn’t Posting Daily Simple: I needed to zoom out a bit. I took a couple of days to sketch out what I want to build in the next few months — not just random toy apps, but meaningful projects that actually challenge me to grow. ...

May 21, 2025 · 3 min · Shivam Chhuneja

Day 4 of Learning: Switching Between Golang and Deep Learning

It’s Day 4, and today was a little different - not heavy on code, but still a strong day of learning. I’m trying to balance two learning paths right now: backend fundamentals with Go and ML + deep learning using PyTorch. Wrapping My Head Around Pointers and Structs in Go Most of today’s Go time was spent clarifying how data is passed and accessed when using pointers and structs. type User struct { FirstName string LastName string BirthDate string createdAt time.Time } func Struct_fn() { FirstName, _ := helpers.StrUserInput("Please enter your first name: ") LastName, _ := helpers.StrUserInput("Please enter your last name: ") BirthDate, _ := helpers.StrUserInput("Please enter your birthdate (MM/DD/YYYY): ") appUser := User{ FirstName: FirstName, LastName: LastName, BirthDate: BirthDate, createdAt: time.Now(), } outputsUserDetails(&appUser) } func outputsUserDetails(u *User) { fmt.Println(u.FirstName, u.LastName, u.BirthDate) } func (u *User) ClearUserName() { u.FirstName = "" u.LastName = "" } Even after completing the basics, I had to go back to ChatGPT, asking follow-up questions like: ...

May 16, 2025 · 4 min · Shivam Chhuneja

Day 3 of Learning Go: Concurrency & Project Structure Refactor

Today wasn’t a big coding day, but it was a good learning day. Why I Picked an Advanced Go Book So here’s the thing - I’ve started reading Concurrency in Go by Catherine Buday. Yup, a pretty advanced book for someone who’s still new to the language. But honestly? It’s working really well for me. If I stuck to just for loops and if statements all day, I’d get bored fast. I’m not a total beginner in tech - I’ve been working with engineers and devs closely for a while - so this stuff doesn’t feel completely alien. ...

May 14, 2025 · 2 min · Shivam Chhuneja

Day 2 of Learning Go: The Pointers I Finally Understood (10 Years Later)

Today was Day 2 of learning Go, and to be honest, I didn’t have much time to dedicate. But I still wanted to make some progress. So I wrapped up the Pointers module from Maximilian Schwarzmüller’s Go: The Complete Guide course — and for the first time in my life, I feel like pointers actually make sense to me. 10 Years Too Late Back in college, I studied C++ as part of my Electronics Engineering degree. And I’ll be real: pointers felt like dark magic. ...

May 13, 2025 · 2 min · Shivam Chhuneja

Learning Golang from Scratch: My Day 1 Log of Backend Development with Golang

I’ve just started my backend development journey - and I’m doing it with Go. Or Golang, if you prefer that name. Why Go? Honestly, it feels solid. It’s clean. It’s simple. And most importantly, for some weird reason I don’t yet understand, it’s fun. I’ve worked with Python before (mostly for data science & ML), but this time, I want to learn something from the ground up that’ll help me build real, scalable projects. ...

May 12, 2025 · 3 min · Shivam Chhuneja

Why I Chose to Learn Coding Properly After the Age of 30

The urge to create software that feels meaningful I didn’t think I’d be learning how to build software at 30. Not while juggling a product marketing career, masters in data science, a family life, and the sinking feeling that I really should have taken coding more seriously 10 years ago. What really sparked my desire was my admiration for high-quality software — whether apps, tools, or platforms — that just work seamlessly and beautifully. I wanted to be someone who creates those things, not just consumes them. ...

April 20, 2025 · 6 min · Shivam Chhuneja