Strategize Your Career

Strategize Your Career

Don’t Start Coding Yet: Here’s What Great Engineers Do First

Before jumping into coding, top software engineers make a plan. By reducing scope creep, managing dependencies, and setting clear milestones, engineers can deliver better results on time

Fran Soto's avatar
Fran Soto
Oct 20, 2024
∙ Paid

Get the free AI Agent Building Blocks ebook when you subscribe:


Sometimes, in a corporate job, it feels like you spend more time talking about coding than actually writing code.

Surprisingly, these discussions are very necessary.

It’s not about pushing engineers to meet deadlines earlier.

It’s about managing complexities when multiple teams are working in parallel.

In this article, we’ll explore tactics to make software development more efficient.

👉 If this sounds valuable, subscribe so you don’t miss the next article

Paid subscibers get access to full history of articles, one exclusive article per month, and all the templates shared through 50+ articles


Open-Ended Work in Software Development

Software engineering isn’t like assembly line work, where tasks are repetitive and predictable. Instead, it’s a process of continuous problem-solving that often requires experimentation.

This means that, without a clear timeline, engineers would over-analyze problems, resulting in delays. For example, tasks like refactoring or optimizing code can easily spiral out of control because, in theory, "it could always be better."

Without a structured approach, these open-ended projects can drag on indefinitely, making it difficult to deliver timely results.


Parkinson’s Law as the disease

One key concept that affects all projects is Parkinson’s Law, which states that “work expands to fill the time available for its completion.”

Without a deadline or estimation as reference, all tasks would expand unnecessarily

For project managers, this lack of structure makes it hard to plan effectively because they have no sense of when a task will actually be completed.


Artificial Deadlines as the cure

Artificial deadlines are self-imposed or team-imposed deadlines to create urgency and structure.

They counter Parkinson’s Law by setting a time constraint, forcing engineers to focus on delivering a functional product within a specific period.

These deadlines:

  • Drives productivity: With limited time, engineers are pushed to prioritize the most critical tasks.

  • Prevents scope creep: Deadlines keep projects from expanding uncontrollably, ensuring tasks don’t linger.

  • Encourages incremental development: Rather than aiming for perfection, the teams focuses on delivering a minimum viable product (MVP), which allows for future iterations.

This structure ensures that progress is made in incremental steps.

In large-scale software projects, different teams often depend on each other’s. For example, the frontend team may need the backend to complete an API. Any delay can create a cascading effect, slowing down the entire project.

With artificial deadlines, teams can synchronize their work better. This synchronization ensures that all teams are working in parallel, hitting their intermediate milestones.


Working Backwards Planning as the methodology

This post is for paid subscribers

Already a paid subscriber? Sign in
© 2026 Strategize Your Career · Privacy ∙ Terms ∙ Collection notice
Start your SubstackGet the app
Substack is the home for great culture