5 ms·
As someone leading a team that does releases to clients, this is a pretty naive take. As you scale you get quite a few constraints that require additional manp
by horsawlarway 7y ago
As someone leading a team that does releases to clients, this is a pretty naive take.
As you scale you get quite a few constraints that require additional manpower
1. Scaling generally means revenue, which means more internal teams pumping out more business products/features.
Those features often need some sort of mobile integration. So you not only have your planned features, you have the features other teams would like you to work on.
The larger the company, the more requests like this you get. Feature velocity MATTERS.
2. As you scale you almost always have to rework your backend to some extent to keep up with load/feature growth. This means existing features are at risk of using deprecated & older APIs/Tools and need attention in order to keep working and allow scaling.
3. By the time you're scaling into the millions, you're almost certainly acquiring enterprise users. You can skate by in the individual/small/medium business with some pretty glaring bugs (things like 2% of all android users see crashes at startup). This wiggle rooms goes away when you start working with enterprise customers (or at least gets considerably tighter). It's an inconvenience when your 15 person org has that one phone that doesn't work right. It's a showstopper when the 10,000 seat org has 600+ users who can't use the product.
Those are just a few of the differences that happen at scale.
----
Long story short, you're not really wrong from a technical side - A small dev team can absolutely make a small & focused app and manage to scale.
You're just glossing over the politics of working in an org that's successfully scaling.
It turns out being able to get additional employees that don't need extensive mobile experience and can just crank out features is a huge pressure release. It lets that original tiny dev team (the folks who could write a fine native app without any issue) focus on bigger/harder problems.
- wvenable 7y agoYou have what I'm saying backwards. I'm not talking about a small dev team. My whole point is that when you have a large dev team, that you don't need that platform abstraction because you have the manpower to handle multiple platforms natively. Especially if you are a software company and not just a widget company that also has an app. > It turns out being able to get additional employees that don't need extensive mobile experience and can just crank out features is a huge pressure release. The idea that because you're using React Native you can throw developers with no mobile experience at problems seems naive to me. I also don't believe feature velocity scales with the number of developers. This is the whole 9 women making a baby in a month thing. This especially true on a mobile app which is constrained by the interface and user expectations. You're not going to have hundreds of developers working on a far flung features away from everything else because the apps are small and tight even if complex. There are exceptions but most mobile apps are focused on a small critical path. It seems to me that all these companies with hundreds of mobile developers aren't producing better results than those with dozens. In fact, it usually seems the opposite. There are exceptions but when was the last time a giant company made such extensive changes to their app that justified that number of developers? A justified use of developers is native versions for each platform.
- true_religion 7y agoFrom what I see, anytime you have separate iOS and Android apps, they will rapidly diverge on features and UX to the point where it feels like different programs working with the same data set. RN lets you have 1 team working on the same app, so the features are the same. In theory, you could enforce that all features must be present in all apps, but in practice it never seems to happen.
- wvenable 7y agoThat's still a management problem, not a technological one. Many of cross platform apps seem just slightly off compared to native ones. There are exceptions but those exceptions but they have a lot of work put into them to make them seem native -- something you get for free when you actually are native.