Shikhil Saxena

Nov 06, 2025 • 1 min read

Software can be finished

Software that is feature-complete, stable, secure, and has no runtime dependencies — is not only possible, but worth striving for in certain contexts.

🔍 What “Finished” Means

According to Ross, finished software:

  • Is feature complete — it does what it needs to do, nothing more.

  • Works reliably and securely.

  • Has no runtime dependencies (except maybe an interpreter).

  • Doesn’t require future updates unless the environment changes.

He acknowledges this isn’t always practical or desirable — especially in commercial software — but argues it’s a useful mental model.

🕹️ Real-World Examples

  1. Nintendo Gameboy: Its OS and games haven’t changed in 35 years — and they still work.

  2. Job Sheet Manager: A Pascal app Ross built for his parents’ business that ran for 17 years without updates.

  3. Embedded Systems: Appliances like microwaves and thermostats run software that never gets updated.

  4. Small Web Apps: Ross’s own projects like a Scrabble clone and chatbot library are intentionally “finished.”

🛠️ Lessons for Developers

  • Keep scope small and fixed: Simplicity leads to durability.

  • Reduce dependencies: Fewer moving parts = fewer failure points.

  • Produce static output: Avoid reliance on external services.

  • Invest in quality upfront: Linting, testing, and clear requirements reduce bugs.

  • Design for longevity: Think about how your software might survive without you.

💡 Final Thought

Ross isn’t saying all software should be finished — just that thinking about what “finished” looks like can lead to better design, fewer bugs, and more resilient systems.

Join Shikhil on Peerlist!

Join amazing folks like Shikhil and thousands of other builders on Peerlist.

peerlist.io/

It’s available... this username is available! 😃

Claim your username before it's too late!

This username is already taken, you’re a little late.😐

0

2

1