Main image of article Frameworks Fill Language Knowledge Gaps, Which is Great (and Terrible)
Should developers spend time learning frameworks, or focus the bulk of their attention on languages and other, fundamental skills? In a recent blog post, Eduard Sizovs argues developers are spending too much time learning frameworks, and not enough time on core competencies. His argument rings true, to a degree; the adoption of foundational skills and languages can give you the knowledge and flexibility to handle a variety of projects and situations. He points out that, rather than learning Angular, diving deeper into HTTP and REST may serve you better. AppFigures data shows frameworks are possibly seeing their usefulness degrade. In April, a study showed the App Store and Google Play were in decline, an effect of non-native development of mobile apps slowing (and with good reason; in December 2017, Apple officially began targeting ‘templated’ apps or those from an “app generation service”). Apple's aggression toward those template-based apps was ultimately a move against white-label app publishers who flood the App Store with branded apps or turnkey games. Most of those apps were created with non-native frameworks. This lead us to believe Apple’s policy was a shadow-war against React Native, a non-native app development tool. In its way, this underscores Sizovs’ argument that frameworks are less useful than languages. The goal of many white-label app distributors was total cross-platform functionality, which you can’t achieve via native frameworks. Sure, you can create a to-do list with Swift, but you can’t make a web version that updates in real-time like you can with JavaScript frameworks like React. We may be too reliant on frameworks, too. A recent HackerRank study shows students aren’t learning frameworks that employers need, which is an effect of the education system teaching older languages (something Sizovs’ article promotes). Upon graduation, students often need to learn new languages and frameworks to become employable. The ultimate sin is that we’re not taking the time to understand how something works. How often have you used a framework in your own apps or services, even though it wasn’t exactly what you were looking for – but never bothered to use that framework as a jumping-off point to write your own (or form-and-merge it via Github)? Even platform providers such as Apple understand this. Its Xcode IDE has a fairly robust code completion algorithm that makes coding a lot faster and simpler, but also allows us to sidestep much of the nuance and styling. Closing brackets and indentation become secondary to operations, but this also bypasses critical steps that can lead to errors, which is a slippery slope to using frameworks (and ignoring gaps in our knowledge base). The knowledge gap is at least partially why 42 percent of respondents to a Dice survey are terrified of whiteboard interviews. When asked what worries them most about the tech interview process, a further 22 percent said: “Feeling dumb." In context, a full 64 percent of tech pros are concerned about their own knowledge gap more than anything else when it comes to finding a job. Time to learn!