3 ms·
On the contrary I don't think you can plan architectural perfection from the beginning. IMO you have to throw it in a prod-like environment early (preferably as
by ben_jones 10y ago
On the contrary I don't think you can plan architectural perfection from the beginning. IMO you have to throw it in a prod-like environment early (preferably as an internal app with a minimal SLO) so that you can iterate early and often.
- dunkelheit 10y agoThat's what I talked about in the last sentence of my post. It is important to do this, but it is not the whole story. How do you decide in which direction to iterate?
- mk89 10y agoI think it takes experience. That's why I still believe that sw architects are really essential.
- ben_jones 10y agoSimilar to my sibling comment I think the value in sw architects isn't the ability to predict the future from experience, rather they should build systems that can accept reasonable change. Some practical examples would be to implement build systems into their stack that accept database migrations and rollbacks easily. Or realizing they are in a fast-paced team that could benefit from specific frameworks and languages (experience would play a big role here).
- ben_jones 10y agoMake it feature-driven. When Facebook came out they didn't know photo sharing would be a definitive feature. When they put it out there they took a slug to the shoulder for not realizing it sooner and then implemented relevant features (like tagging). Similarly when Redis came out I doubt the creator realized everybody and their grandmother would use lists as a defacto message queue but now look at all the commands list has that facilitate just that. Key point is to accept and welcome that slug to the shoulder that pushes you in the right direction, to abuse the metaphor.
- wand3r 10y agoIirc Zuckerberg allowed profile pics but realized people kept changing them all the time so they implemented photos