From my little experience I can say that when there are many engineers to build a solution, from application to system, many are the ways to approach each of the layers. You need an architect that knows how the system and application need to work together to ensure best end result. You also need an architect to design your software in the best way possible. Building an app that uses a sensor could be difficult if there are many user interactions where the sensor needs to do different things. An engineer would build workaround to his code, an architect would prevent workarounds by designing a good FSM framework. Both of approaches work and reach end result, but what's then easier to maintain? Small companies usually struggle to find this valuable, because of the need to get stuff done.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.