Learning frameworks isn’t a replacement for learning to code

Photo by Nick Morrison on Unsplash

Customer use cases

The way a customer uses and interacts with software can be vastly different from how an engineer uses software. Different customers can have unique requirements or expectations on how software should run or perform. To fulfill those expectations, two skills are required. The first is communication. A developer needs to be able to understand the inner workings of an architecture to properly explain to a customer or other stakeholders how the software either currently does or doesn’t meet those expectations.

Quality and Assurance

Perhaps one of the most important aspects of commercial software development is quality assurance. It’s so important, that in specific cases such as airplane computer systems, it can be the difference between life and death. Quality assurance (QA) is the confidence a developer has that their code works as intended and does not malfunction, or even worse, crash. Web development frameworks, mostly do not even include QA tools or components in them. QA is usually implemented through third custom-built test libraries, third party libraries, or libraries built in to a programming language itself. Robust applications require a mix of unit, functional and regression tests to insure a high quality product. Additionally, there usually needs to be an automation infrastructure in place to run these tests periodically throughout development. Frameworks are almost entirely development focused, they do cannot give insight into the layout and structure of test automation needed to achieve superb, commercial grade quality.

Performance

A fundamental part of programming is how efficiently software performs. Not all software can be considered performance-critical. However, nearly any production grade software in the modern era needs to be able to scale. Software or code that cannot scale will quickly cause problems with decently sized customer bases. A big issue with a lot of web development frameworks is they play down or abstract the concept of scalability away, leaving only API development and object relationship modeling left. This is not bad in and of itself. Having a way to quickly develop a backend server is great. But it’s even more important to understand the bottle necks and optimizations at hand when you are running it in a commercial setting.

Programmer, Artist, Published Author. I’m an engineer on a mission to write the fastest software in the world.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store