2 ms·
Well said. This is exactly the crux of the problem. Sometimes it's appropriate to build in-house, and sometimes it's appropriate to glue together existing compo
by fractionalhare 6y ago
Well said. This is exactly the crux of the problem. Sometimes it's appropriate to build in-house, and sometimes it's appropriate to glue together existing components. It really depends, and it's unproductive to pontificate about one being better than the other.
I think the OP has a fair point about one mode of development being substantially different than the other, but I don't think it's appropriate to partition them into separate roles. Part of engineering is knowing which path forward is most appropriate under uncertainty, given information about the team's skillset composition, available resources and time constraints.
A good software engineer is capable of holistically considering the options. If your third party library is considered like a paved road, this involves knowing when your vehicle can tolerate veering off the paved road, and knowing when you need to build a new road yourself.