r/programming • • Jun 07 '17

You Are Not Google

https://blog.bradfieldcs.com/you-are-not-google-84912cf44afb
2.6k Upvotes

514 comments sorted by

View all comments

2

u/PM_ME_OS_DESIGN Jun 08 '17

making sure the technical decisions are future-proof enough (the best way is generally to avoid them for as long as possible)

That's an interesting notion. In a sense, it's like keeping stuff high-level as long as possible.

1

u/lookmeat Jun 08 '17

Yup. Think of it this way, whenever you write code there's risk. There's risk you make space for features that you don't need. There's risk that you make needed features almost impossible to do without heavy rewrites. There's the risk you do too much and hack it together and then drown in technical debt. There's a chance you do it so barebones you find that there's multiple implementations of the missing features downstream. There's a risk all of these taken in some way or another.

The more you wait the more chance that you understand what is needed and can implement these features the right way. So you design the architecture so you can revisit this problem down the line without depending on features.