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.

MVC Framework

Model

database logo

View

Controller

IT Specific Education

Education - Computer Science HND [2 year]

Motivation when looking to define a career for myself was to look to the opposite of working on a conveyer belt in a factory. That to me would be a waste fo a life. Something that would be different each day, challenging and creative. Computer programming is one such discipline which met my requirements. I enrolled in a Higher National diploma [HND] course in computing, a two years full time course at my local Technical college, Reading , Berkshire England was enough to get a foot in the door of software development.

The course taught four programming languages, RDBMS ,SQL,report writing skills , project management. It was my third programming language C after Pascal & 68K Assembly when I had an epiphany, programming languages did pretty much the same thing just the syntax kept changing.



Software Development Work Experience

Smiths Aerospace & Defence Division - Basingstoke UK, Junior Software [1 year]

The first week I was sent directly to a one week course to learn Ada, a 3GL programming language for real time mission safety critical systems. I guess there must be a shortage of Ada programmers. Smiths Aerospace is Professional company which follow only the highest standards. The use of Ada is one such indicator of following the highest standards by acknowledging human limitations.

Even before completing unit testing I was moved maintenance. A bug had been identified on an engine monitoring system. The system Architect had moved on. I was given the task of finding the bug. I was given printed pages of the Pascal code. Through a process of code walk through I identified the bug, communicated it to the hardware engineer, who in trun tested it on the testbed rig for verification.

First objective whether I was up to the job of making a living as a professional programmer was achieved.

bytel © - Slough UK Application Developer [2 year]

bytel was a one product company supplying customer care and billing to support the Telecom Industry. A two tier architecture. The database contained 250 tables and the product was a market leader. Project lead in the software development lifecycle was a database expert, a top ten database expert in the world. Some Telecom companies who wanted their own product chose to buy the bytel product,further enhance it to meet their needs rather than build from scratch.

I observed two key practices which I believe were the key to their success, product ownership and a Tool which simplified product development.

At bytel I first came across my first OLAP experience, datawarehousing

I achieved my objective of seeing first hand how successful Commercial Industrial Strength large and complex Applications are built. This was where I learnt about the Role of the Application Developer.

Logsys Solutions - Wokingham UK Software Engineer [2 year]

Logsys hired me because of Oracle Forms skills funded by the previous employer. The first project I was given was migration from earlier version forms to a current version of forms. Following the completion of that project I then became a floating developer helping out with other projects at various stages of the software lifecycle. When ever or where ever the developers become a little stuck. This exposure boosted my confidence knowing I could tackle any kind of technology.

One of many varied duties included pricing a specification which led to Logsy Solutions winning a contract. On another occasion a task I was given amounted resolving a flaw in a framework. This experience taught me to research frameworks and architectures prior to learn to program with them.

Unexpected significant progress had been whist Working at Logsys Solutions , number of career option open up. I could become a Senior IT consultant or even start my own software house with funding from a venture capitalist. I prefer to retain my software development skills having overcome the learning curve of programming. The main issue now with the understanding of Architectures was to find the right framework so I can focus as an Application Developer.

MVC Architectures

Monolith

Level 0 from Professional Java Server Programming by WROX press published in 1999.

Microservices

Microservices is the current approach to assist Application developers to simplify the complexity of programming the stated requirements

Focus

Source Grady Booch

" The United States Department of defence (DOD) is perhaps the largest user of computers in the world. By the mid-1970s, software development for its systems had reached crisis proportions: projects were often late, over budget and they often failed to meet their stated requirements. It was evident that the problems would only worsen as software development costs continued to rise exponentially. To help resolve these problems which were further compounded by the proliferation of hundreds of different languages. The DOD sponsored the development of a single, common high order programming language. The winning design was originally called the Green Language (so called because of its team colour code during the competition), later renamed Ada.

Essential Reference material

Industrial Strength Application prototyped with Microprofile
Analysis and Design of Applications, Always relevant
Microservices Concepts prototyped with spring.io.

Application Developer's Production Rate

How much can a developer's skills be worth if the developer is an application developer using one of the above mentioned application generators ?

Let's take this Shark Tank App as an example. The App is called BricksAndAgent. It is a property maintenance application. The Billionaire's son invested $750,000 in Software development cost. He wants now $250,000 for 10% equity from the sharks, which he gets, thereby making the app a $1 Million dollar app.

With a database design in hand, I would estimate it would take an application developer 3 months (add 20% contingency) to churn out a duplicate application with some enhancements thrown in. ssssh...
project duration 5 months; unemployed looking for another GIG after that.