DEV Community

Ben Halpern
Ben Halpern Subscriber

Posted on

How do you take the first steps in a daunting and complicated software project?

How do you break ground and start making progress on a big coding task?

Top comments (6)

Collapse
 
bntstr profile image
Bntstr

It helps when I can see some progress, so early on I try and get to a point where something works and is demonstrably part of the way there.

So basically start with some high-level part that changes, even if the inner-works still have lots of work to do. I find this better than starting with some underlying logic which doesn't feel as close to finish.

Collapse
 
dansilcox profile image
Dan Silcox

I typically try and break it down into smaller chunks wherever possible, first of all in a bullet list and/or diagram. Once I start to see the components involved, I then try and further break each of those down, just to the point where I know enough to start spotting obvious 'gotchas'.

I like to build little POC (proof of concept) versions for the more complex parts as well, since it can really speed things up when you come to do the 'real thing' later on. The danger is of course that the POC ends up in production 😅.

Collapse
 
pengeszikra profile image
Peter Vivo • Edited

In a ideal world, I start writing ::

<!doctype html><html lang="en"><head><script src="https://cdn.tailwindcss.com"><.......
Enter fullscreen mode Exit fullscreen mode

.... until

......></body><script>/* ... bunch of code ... */const qs = q => document.querySelector(p);q('pre').innerText = JSON.stringify(result, null, 2);</script></html>
Enter fullscreen mode Exit fullscreen mode

like this (dev.to/pengeszikra/wannabe-js-fram...)

Collapse
 
pgangwani profile image
pgangwani

Avengers, Assemble!

Collapse
 
jjokah profile image
John Johnson Okah

I have a cold beer 🍻 with an LLM

Collapse
 
tymzap profile image
Tymek Zapała • Edited

If we talk about whole project, tackle the hardest pain point FIRST. Do NOT work on authentication, infra etc until you solve this one problem.