DEV Community

Hari R
Hari R

Posted on

My First AWS Lambda Initializer – A Trial by Fire 🔥 Part 1

I just built my first Lambda initializer from scratch. Simple requirement (or so I thought):

  • Read a folder name from a Step Function.
  • Go to an S3 bucket and retrieve a list of IDs from that folder.
  • Use those IDs to fetch details from a different API.
  • All within one sprint (10 business days).
  • Oh, and I needed 85% unit test coverage too.

Day 0 – Overconfidence is a Trap

I walked into this like a newborn deer—wide-eyed, full of energy, ready to code. But my past debugging and LeetCode grind had taught me one thing: coding is just thinking.

So, I took a step back and just stared—at my screen, my ceiling, my fate. This was something my manager drilled into me:

Look at the problem in real-world terms before diving into code.

After contemplating life and software, I wrote my first line of code.

Day 5 – Unplanned Chaos

Before I could start on my task, a completely unrelated, impossible problem landed on my plate. I took it anyway. Why? No clue. But I did it in 5 days, which meant working weekends, evenings, and probably in my sleep.

That feeling of pulling off the impossible? Incredible.
But also stupid and counterproductive (more on that later).

Now, I had only 6 days left to actually build the Lambda initializer. Cool.

Breaking Down the Task
To stay sane, I broke my task into four parts:

Configure environment variables.
Connect to the S3 bucket.
Read & list the IDs.
Call the API, retrieve details, and return output.
Time for a Proof of Concept (POC). Did I ask for help? Nope. Why? Because sometimes, you need to walk into the fire to know how fireproof you are.

Maybe there’s a peaceful way. But me? I like to die first.

Day 6 – The Illusion of Progress

I configured the S3 settings using Dependency Injection.
Did I fully understand how or why it worked? Nope.
Did it work? Yes.
Did I celebrate? Absolutely.

Configured the Terraform file to set environment variables → Read them in my main program → Printed them → LFG.

Next step: Read the bucket, grab the folder list (IDs), store them in a list.

Boom. Done. Feeling good.

Day 7 – API Configuration Purgatory

The entire day was lost trying to configure the API URL and inject it into the main program.

For some reason, Dependency Injection hated me.
Or maybe I just sucked.

Days left - 2 entire nights, 3 early mornings, 3 business days.

At one point, I genuinely thought about quitting tech and becoming a farmer. Just me, some cows, and a simpler life.

But that’s for another day.

To Be Continued…
Coming up in Part 2:

  • The API Saga.
  • Unit tests and regret.
  • Lessons learned (probably). Until then, let me know if you’ve ever wanted to throw your laptop out the window. 🚀

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs