3 ms·
What if I told you the fundamentals to building a website, a mobile app, and a desktop app were all the same? Because frankly, from my perspective, there's not
by Volundr 11y ago
What if I told you the fundamentals to building a website, a mobile app, and a desktop app were all the same? Because frankly, from my perspective, there's not much that's different. The same general techniques that work in any of the above will help you in any other.
I'd hate to see a class like "MVC Frameworks" replace Databases or Operating Systems. I've never had anyone struggle to pick up MVC design in less than a few weeks, but writing an effective non-trivial database query? Definitely. Especially if it involves designing indexes to support it. A class like databases that covers the internals of how a database does it's job goes a long way in this regard. Classes like Distributed Systems and Parallel Programming give you the fundamentals on how to build a scalable system, be it a website or a large scale physics simulation. Frankly, the main piece I think they fall down on, testing, isn't even on your list, and some universities are working on that.
I'm certainly not saying that a CS degree is the only path to being a developer. Heck, one of our devs is an Economics major hired as an analyst who just too sufficient interest in what we do to join the team. It seems like so many of the "fundamentals" being brought up here are "how to solve computing problems that are essentially the same as mine" instead of "how to solve computing problems".
Maybe I'm just spoiled by the local university, but I've never had even an intern unable to make a meaningful contribution to our iOS app in the first couple weeks, having never seen Objective-C or iOS development before, so I don't think their lack of exposure is hurting them.