DEV Community

PETER ABAH
PETER ABAH

Posted on

⏱️ When “One Month” Means One Month: Lessons I Learned About Engineering Timelines, Pressure, and Professional Growth

Recently, I had an experience that fundamentally changed how I think about engineering timelines, communication, and professional responsibility.

I was tasked with building a web application using Angular and .NET to mimic the process flow of an existing payment collection system.

The expectations were clear:

  • 🧩 Develop the application
  • 🚀 Deploy to UAT
  • 🎤 Conduct stakeholder demo
  • 🌍 Go live

All within one month.

As an engineer with experience in Angular, .NET, IIS deployments, authentication flows, and CI/CD pipelines, I was confident. Challenged—but confident.

But software engineering always has a way of teaching deeper lessons.


🔐 The Unexpected Blocker

After shipping the initial build to the staging environment, I began integrating authentication using MSAL.

That’s when I encountered a blocker:

⚠️ MSAL requires HTTPS in staging environments for security compliance.

The staging environment was not properly configured for HTTPS. This wasn’t a code issue—it was an infrastructure dependency affecting multiple applications.

During stand-up, I communicated the blocker and explained the dependency.

The response I received was simple and direct:

“We shouldn’t be making excuses. This should be done within a month.”

That moment became a turning point for me—not emotionally, but professionally.

It forced me to reflect deeply on what it means to be an effective engineer beyond just writing code.


🧠 Reality Check: Software Development Is More Than Coding

Building production-ready software involves far more than implementing features.

It includes:

  • 📋 Understanding and validating requirements
  • 🏗️ Designing reliable architecture
  • 🔐 Implementing secure authentication
  • 🔄 Integrating frontend and backend systems
  • 🧪 Testing, debugging, and validation
  • 🚀 Deploying across environments
  • 👥 Supporting UAT and production readiness

Each layer introduces dependencies.

Some are code-related. Others are environmental, infrastructural, or organizational.

Experience helps you navigate complexity—but it doesn’t eliminate complexity.


🗣️ The Most Valuable Skill I Strengthened: Communication

This experience taught me that communication is not a soft skill in engineering—it’s a technical survival skill.

I learned to frame updates differently.

Instead of saying:

“I’m blocked by MSAL requiring HTTPS.”

I learned to say:

“Core functionality is complete. Remaining work depends on staging environment HTTPS configuration required for secure authentication. Once resolved, integration can be completed within 2–3 days.”

Same reality. Different framing.

One sounds like a delay.

The other communicates progress, ownership, and clarity.

This small shift makes a massive difference in how engineering work is perceived.


⚖️ The Engineering Triangle: Scope, Timeline, Quality

This experience reinforced a principle every engineer should understand:

You can optimize for:

  • 📦 Scope
  • ⏱️ Timeline
  • ✅ Quality

But not all three at the same time.

If timeline is fixed → scope must be reduced
If scope is fixed → timeline must increase
If both are fixed → quality suffers

This isn’t opinion. It’s physics.

Professional engineers don’t just build systems—they protect system reliability.


🧩 What Separates Mid-Level Engineers from Senior Engineers

I realized that engineering growth isn’t just about writing better code.

It’s about learning to:

  • 🎯 Communicate progress in business terms
  • ⚠️ Identify and communicate risks early
  • 🧠 Think in systems, not just tasks
  • 🤝 Align technical reality with business expectations
  • 🧘 Remain calm and professional under pressure

Senior engineers don’t just solve technical problems.

They reduce uncertainty.


🚀 The Shift in My Mindset

This experience didn’t make me defensive.

It made me more intentional.

I now focus on:

  • Communicating dependencies clearly
  • Framing blockers as risks with timelines
  • Structuring updates around progress and next steps
  • Thinking beyond implementation to delivery and stability

Engineering is not just about getting software to work.

It’s about getting software to work reliably, securely, and sustainably.


💡 Final Thoughts

Every engineer will eventually face:

  • Aggressive timelines ⏱️
  • Infrastructure blockers 🔧
  • High stakeholder expectations 📈

These moments test more than your coding ability.

They test your professionalism, communication, and leadership.

The biggest lesson I learned is this:

👉 Great engineers don’t just write code.

They create clarity.

And clarity is what allows great software—and great teams—to succeed.


If you’ve had similar experiences, I’d love to hear what lessons they taught you.

Top comments (0)