100X Productivity Gains For Software Engineers : A Brief Sketch Of My Approach

1ooX Productivity Gains For Software Engineers: A brief sketch of my approach

Here is a sketch of “Software Development Process” that would bring about massive Productivity gains for Programmers.

Current approach:

Only “Infrastructure” Code is reusable across applications. The Programmer has to write the “Domain Specific” Code from scratch.

I will define specifications (Example: JavaEE specifications) so that programmers can write “Domain Specific” reusable (and modifiable) Components and others can glue those components together into Software.

Example:

Hadoop (Infrastructure Code) and Spring (Infrastructure Code) are reusable. But, In case of Hadoop, the programmer has to write the “Map” and “Reduce” functions (“Domain Specific Code”) from scratch.

I will write specifications – so that people can write “Domain Specific Reusable Open Source Components” and later reuse those Components to build Software.

In today’s terms, it means not having to write “Map” and “Reduce” (of Hadoop) from scratch, but reusing pre-written Components and gluing them together.

“Domain Specific Reusable Code” will be modifiable (to suit your need) by changing values in a separate file, just like today you can modify Hadoop through its Configuration files.

You will join those pieces (or Components) of “Domain Specific Code” together through a OSGi-like module layer.

One important perspective: In the above mentioned approach, do not think in terms of “Code”, rather think, as you would if you were playing with a LEGO set (modular pieces):

what “Modules” you have in your “Code” toolbox

how you would join those “Modules” or “Pieces” together.

I am expecting 100X or more productivity gains.

Other Articles related to Productivity gains for Programmers:

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s