While working in the software development industry there was one riddle always at the back of my mind,
set by
Grady Booch
Industrial Strength Software of large and complex systems is beyond the intellect of a developer.
It took me five short years to solve it.
Focus on Application Developer and apply framework(s) to the stated requirements . Frameworks evolving incrementally through perseverance by like minded framework developers.
My IT career began in real time mission critical bespoke software and hardware development in the aerospace Industry.
These types of companies are required to follow best practices because buggy software is not an option.
This great work experience was then followed by another equally great exposure of working in a company formed to develop one large application.
The database had 250 tables. This single product company, was a market leader in an open market.
It was a priviledge to see a company succeed, structured on their own work ethics getting the best from their Application Developers.
I have only ever seen one of their practices mentioned in one job description.
Email: zahidr1000@gmail.com
Ground Up
I was looking to transition to a new set of skills as an application developer with a view to building database centric dynamic rather than static web application. During this time I bought a book on Java, in the book the author stated the Java Virtual Machine (JVM) was built from the ground up. That approached appealed to me so I decided to take the same approach to put together a system architecture which would meet my expectations. I could have taken the easy route and just focused on a programming language, however with five years experience and the type of experience I had , I knew I could do it and it was important for me because this approach isn't taken in every project. It was a risky strategy not knowing if my expectations would be met, whether I would find like minded System Developers.
Skill Set
Seeing how technology contributed to the bytel success, Reactjs based NextJs for Front End seems a good fit. The framework for middleware I favour is Openliberty., a Java Based cloud based services, RESTful webservices, microservices.
Reflecting my experience with Real time systems at Smiths Aerospace & Defence I realised the webserver needed to be secure. The technology to secure the webserver and address performance I found at the Apache. website. I was very impressed with the Apache webserver because of its plug-in architecture, the ability to add features.
Reward
The learning curve diagram illustrates how the expert level can be reached. Some people think it take years of commercial experience, but for a transitioning Application Developers, where the concepts remain unchanged the same, the expert level can be achieved in a relatively short amount of time. Frameworks Vendors are relying on Application Developers to approach their products without the fear of the learning curve.
You know when you have reached the expert level when you have an idea and you can't stop yourself from adding more and more code. The reward is having that great feeling which comes with it, feeling that you are playing and not working.
A quote from the React website
This page will give you an introduction to the 80% of React concepts that you will use on a daily basis.
Once you have protoyped! your first application by yourself, you will discover the remaining most frequently used React concepts.
Pitfalls !
Vendor lock-in for the Application Developer. The employer has provided the developers with expensive training on specific commercial application development tools, but has very little share in the Industry. The upside is that when choosing a popular, mature , stable opensource framework for yourself, choose the one which applies the same concepts which created the need for the commercial vendor technology in the first place. If you are not aware the commercial application development technologies' objective is to follow the KISS concept, a practical example of the KISS concept is the defence Industry most only use Ada. However when building dynamic, e-commerce Web Applications it is not always possible to follow the KISS concept.
Ada is a statically typed language invented in the 1970s. Reactjs is a dynamically typed language with typescript for static typing added later, an incremental change to the language. A feature which already existed in the 1970s language Ada for the purpose of reducing software bugs.