Building a Solid Foundation : Engineering Basics are key to creating masterpieces
The Taj Mahal, Agra (Pic Courtesy : Wikimapia Commons)

Building a Solid Foundation : Engineering Basics are key to creating masterpieces

In today's digital era which is heavily driven by technology, software powers the backbone of businesses and has been instrumental in fueling innovation across a variety of industries. Technology itself has evolved so rapidly in the last couple of years with Cloud, Automation and now AI being leading this new wave of innovation. While we embrace the "what's hot" or the "what's cool" of the technology world, in my opinion the core architecture and engineering basics have never been more vital. From large enterprises to the lean startups, how well the "software" is engineered can make or break any organisation's leap into the digital landscape. This blog is a small attempt to re-emphasise the significance of engineering basics through some real life examples and some basic rules, which I tried to come up with for my team.

Recently, while watching a webseries called "Taj : Divided by Blood" as I usually do, I tried to explore some historic facts about key events, rulers and their lives. There is so much to learn (and a lot more not to learn as well) from the rich Mughal history. I also happened to dig in some more unknown facts about the Taj Mahal itself and what I found didn't surprise me at all. It is one of the most admired masterpieces that human race has ever created. Tagged as the symbol of love, the Taj Mahal stands tall for nearly 400 years and has left every visitor from all over the world in awe of its beauty and magnanimity. What we know is how Emperor Shah Jahan hired Ustad-Ahmad Lahori?as the main architect and promoted the use of white marble inlaid with semi-precious stones from all over the world. But what we don't know or perhaps never talk about is what lies beneath this beauty and how the structure of the foundation, is so very well designed to last for ages to come.

As per a case study published on "thecontructor.org", the Taj is around 74.4 m tall above the ground (garden) level and weights approx. 12000 tons. The inner dome has a diameter of 17.6 m and creates a pressure intensity due to the dome is ~ 218KPa (evenly dispersed load) & 397KPa (concentrated load). The pressure intensity due to its walls is said to be around 766KPa. I am amazed how the architects and engineers behind this massive structure, were not only aware of this scale but also knew how to built a structure so huge to withstand floods, earthquakes, heavy winds and possibly all natural calamities known during that time. Just like many modern day masterpieces, the answer to this lies in the "Design". Having a deep understanding of the overall building design, meticulous study of property of materials along with its availability as well as transportability and simple basics of engineering proved to be the mantra in building the "Foundation of the Taj Mahal".

No alt text provided for this image
Foundation of Taj Mahal prepared by Handa (Pic Courtesy : The Constructor)

It is said that an excavation as deep as 17.5m was dug out. 1. At the bottom, a well like structure was constructed filled with stone debris filled with a strong masonary work. 2. A structural system was built on top of the wells with piers and arches connected with each other for load distribution. 3. A big sandstone base was created on top of this structure system. Each layer had a specific purpose and complimented the overall strength of the structure (Principle of separation of responsibilities). While this arrangement may not look unusual to many, the magic lies in the choice of materials. Bricks: Carefully sized bricks made up of clay and sand were used for domes and arches. The size was reduced to make the bricks lighter and brick laying faster (Design for Ops. Light weight, portable design). Mortar: Remember, the Taj is situated at the banks of Yamuna. So a specially designed water resistant mortar called "Sarooj" made up of lime, clay, sand, ash from wood, animal dung and even materials like jaggery, gram flour, jute and gum. The choice of materials acted as a strong bonding agent and proved critical for long life (Stability & Resilience Design). Iron : The use of iron was apparently limited to only external walls and irons nails to secure the stones to vertical arches (Architectural Constraints). Wood: Sagwan (Teak) and Bamboo was extensively used in circular braces of the walls and exterior riverside walls to reduce river's scouring. Sagwan wood contains natural oils and resins that make it?highly resistant to water damage, making it suitable for both indoor and outdoor applications (Secure by Design). Clearly, the designers struck a perfect balance between the functional and aesthetic requirements on one side, and the "Non Functional Requirements" (as we call it today) on the other side. While I chose to look at the Taj, I'm sure we can draw inspiration from so many wonders round the world.

It is clear, that "What gets Planned, gets Designed" and "What gets Designed, gets Built". Like the Taj, every product, every api, every piece of software we create today can surely be regarded as a masterpiece if we ensure we follow the basics. Over so many years, fundamentals haven't changed much. They may have evolved slightly on how we do things, but software engineering principles have always remained the same. To further establish the need to software engineering and architecture fundamentals in today's fast pace agile world, I have tried to come up with 10 Rules, which has helped me and my teams to focus back on basics, while we continue to explore the newer ways of working.

  1. Rule #1 : KYA - Know Your Architecture (Unless you KNOW it, you can’t FIX it !!!)
  2. Rule #2 : Design for Operations (Ops is not a LUXURY, it is a NECESSITY !!!)
  3. Rule #3 : Test for Operations (Preparedness for Disasters often rely on how well the recoveries are drilled !!!)
  4. Rule #4 : Make sure your Apps communicate with you (Investments in good LOGGING, yield magical returns in Production !!!)
  5. Rule #5 : Avoid Software getting Brittle (Changes of poor quality, make software BRITTLE & UNSTABLE over time !!!)
  6. Rule #6 : Catch it Early, Fix it Fast (Quality is COSTLY but still much CHEAPER than Unavailability !!!)
  7. Rule #7 : If anything can FAIL, MONITOR it (Be AWARE before your Customer says it !!!)
  8. Rule #8 : Regularly speak to your users (Your most unhappy customers, are your greatest source of learning !!! – Bill Gates)
  9. Rule #9 : Collaborate & Break Silos?(Blame Less, Thank More !!!)
  10. Rule #10 : Never Settle. Keep Excelling. (Perfect Software is a big MYTH. Continuous Improvement is the way of Life !!!)

I am aware that these rule look very elementary and probably we all know them already. But the point is, in the age of doing cooler things and finding newer ways of working, do we really give these basics the same amount of importance it deserves, is worth pondering. The fact that these concepts are so fundamental, people often take them for granted and skip them.

Thanks for your time in reading through. Hope you founding it useful. Let me know your views and if you echo similar thoughts. I'll also be happy if you can contribute by adding a rule or two, to the above list of fundamentals.

#EngineeringBasics #SoftwareEngineering #TechTips #ProgrammingBasics #SoftwareQuality #DeveloperCommunity #TechBytes

Ajay Singh Chouhan

Delivery Partner | Agilist | Transformation Consultant | Design Thinker | Program Manager | Database Architect at Tata Consultancy Services

1 年

Good one Sujan, fundamentals need to be reiterated with relative thoughts for easy consumption!

Harsh Mishra

Business Analyst at Zomato

1 年

A very well researched piece, thanks for this share!

Atul Kale

CTO / Fractional CTO, Client Partner, Tech Evangelist | Ex-Microsoft | Ex-HP | Building Innovative technology businesses

1 年

Congratulations Sujan! Liked the parallels that you drew across two completely different domains. I agree that, the Fundamentals are ever so important today. While we are making our Copilots available to the world today, taking productivity to the next levels, nothing can replace our knowledge.

Manali Golatkar Rikame

Cluster Head - Finance - Digital Enablement (Corporate IT)

1 年

Great analogy...... Yes, these concepts are very basic and may possibly sound "cliche"; but they are often perceived as "overheads". A good investment in these "basics" is the key to building a resilient product. Thanks for this Sujan Narvekar.

Nidhi Badani

AI/ML Product Specialist| Building Chatbots | Program Manager | Agile Ninja Coach

1 年

The research done.. makes me speechless. Superb!!

要查看或添加评论,请登录

社区洞察

其他会员也浏览了