3 ms·
An underappreciated aspect of computer programming is that maintaining a program often requires less work than writing it in the first place. Once you finish wr
by csande17 4y ago
An underappreciated aspect of computer programming is that maintaining a program often requires less work than writing it in the first place. Once you finish writing the iPhone app, you've finished writing the iPhone app, and you can get by with a much smaller team--possibly just one person--to handle bugfixes and maintenance.
Unicorn tech companies generally don't realize this, which is why they all redesign their apps over and over and add poorly-thought-out features all the time. They're still paying for a build-an-entire-iPhone-app-from-scratch-sized team, and all those engineers are desperately looking for stuff to do!
- iakh 4y agoYou've never done iPhone development it seems where there's neverending new or deprecated versions of iOS and "kits". I've had clients that try this without a dedicated team, and each time was a nightmare for them(and hence us) where nobody remembered how anything was done
- csande17 4y agoI have done iPhone development, and I can say with confidence that it is less work to take an iOS 17 app and update it to iOS 18 than it is to take nothing and create an iOS 18 app from scratch. You still need a non-zero number of people who know how the iOS app works, but the number you need is smaller.
- SNosTrAnDbLe 4y agoAs long as you have good product requirements, creation is actually very simple. You have freedom to choose the technology and the tools. However, The moment that you discover that your AWS bill exceeds your engineering budget, you will have a different view of maintenance. People will now start calling it resilience, scale, optimization, etc. And then one day, the db will need to be partitioned (almost always, if the product is successful) and then the people who created the mess [almost always using a nosql database as it was available ]will run for the exits. You (or the poor unthanked ‘maintenance’ engineer ) will start learning about why distributed systems are hard to maintain.
- lazide 4y agoOh, they realize it - which is why the managers and execs whose ongoing career trajectories require managing larger and larger orgs spend so much time coming up with more work! Most line engineers often realize it too pretty quickly, which is why we end up with so many new frameworks every time there is a huge boom cycle.