{"id":10922,"date":"2026-03-02T15:38:13","date_gmt":"2026-03-02T07:38:13","guid":{"rendered":"https:\/\/engineers.tools\/?p=10922"},"modified":"2026-03-02T15:44:00","modified_gmt":"2026-03-02T07:44:00","slug":"algorithmic-thinking","status":"publish","type":"post","link":"https:\/\/engineers.tools\/articles\/algorithmic-thinking\/","title":{"rendered":"Algorithmic Thinking"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">The &#8220;Spreadsheet of Doom&#8221;<\/h2>\n\n\n\n<p>If you have been working in any engineering field for more than a week, you will recognise this situation. We have all been there at some point. <\/p>\n\n\n\n<p>Sometimes, it starts with you. You did this to yourself. You created it to begin with. It was born as a &#8220;quick&#8221; and &#8220;temporary&#8221; solution to a pressing business problem. One year later, it&#8217;s still here. <\/p>\n\n\n\n<p>Some other times, it starts somewhere else. With a colleague leaving. The smart one. The one with all the ideas and a knack for building &#8220;solutions&#8221;. She has been developing and operating this until the day she left. Now, it&#8217;s yours.<\/p>\n\n\n\n<p>Either way, here you are. You are staring at a 20-tab, 83 MB, formula-rich, monster of an Excel workbook. It has tens of thousands of rows worth of data. Your colleagues know it is critical to perform some business functions and yet they call it, &#8220;the spreadsheet of doom&#8221;. They seem to take issue with the fact that it takes a couple of minutes to load, and then some every time data is refreshed and the calculations have to run.<\/p>\n\n\n\n<p>The cells have colour coding. You&#8217;re not quite sure what each colour means any more. Apparently triggered by some obscure conditional formatting that made sense a few months ago. The tabs and columns have what looks like good names, just not good enough to be obvious. <em>&#8220;What is the &#8216;References&#8217; tab for anyway?&#8221;<\/em> you think to yourself.<\/p>\n\n\n\n<p>In any case, why are you even looking at the spreadsheet now? Easy. You have been asked to change it. You have been asked to: &#8220;make some <em>minor <\/em>modifications&#8221; to accommodate for some new business need that came up last week.<\/p>\n\n\n\n<p>You understand the business need well enough. You also have a rough idea of what the outcome should look like. The question is, can you change the spreadsheet in all the right places? Can you be sure you didn&#8217;t miss anything? Are all the outputs correctly updated? Are you aware of all the dependencies other colleagues might have on this workbook?<\/p>\n\n\n\n<p>The successful answer to these questions heavily depends on how this &#8220;tool&#8221; was born.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The way it starts<\/h3>\n\n\n\n<p>There is nothing wrong with facing a challenge at work and figuring out a solution that serves this need. The faster, the better. The business needs it. Now.<\/p>\n\n\n\n<p>If you implemented it using an architecture that favoured good organisation and discipline, you will probably be able to make the changes in the right spots and be done with it.<\/p>\n\n\n\n<p>If, on the other hand, this spreadsheet grew &#8220;organically&#8221;, if it looks more like spaghetti than a bento box, most likely you are in for a world of pain. You will poke around a little bit, change some known inputs and watch what changes. Essentially, you are using your brain&#8217;s pattern matching and inductive abilities to reconstruct a mental model of how this thing works.<\/p>\n\n\n\n<p>As deadlines approach and frustration grows, you will eventually curse your colleague (or yourself as applicable). Why didn&#8217;t she (you) leave more detailed comments or instructions? If only she (you) had documented things properly, you wouldn&#8217;t be in this predicament right now.<\/p>\n\n\n\n<p>You then think, <em>&#8220;I shouldn&#8217;t blame people, this is about using the wrong tools for this job&#8221;<\/em>. You will then curse Excel. Why do they make it so easy to do the wrong thing? <em>&#8220;Microsoft &#8230; bleh&#8221;.<\/em> Why can&#8217;t I just tell the AI what I want this thing to do and it does all the right changes for me?<\/p>\n\n\n\n<p>The truth is the tools you use, nor the people that use them are the culprits. The issue is also not lack of documentation or better documentation. Yes, documentation is a good practice, but it is not the reason or a substitute for good design.<\/p>\n\n\n\n<p>The problem is one of <strong>structure<\/strong>. It is about the way we think about problems. It is about <strong>how<\/strong> we build things.<\/p>\n\n\n\n<p>Almost any tool, wielded by someone with the right frame of mind, can yield superior results. Even better than the outcomes of other more sophisticated or &#8220;fancier&#8221; alternatives.<\/p>\n\n\n\n<p>The point I will make in this article is this: <em><strong>The way we think about the problem trumps any other limitation of finding a good solution.<\/strong><\/em><\/p>\n\n\n\n<p>To understand this structured way of thinking, we need to look at how we mapped out problems before computers even existed.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Algorithms before Computers<\/h2>\n\n\n\n<p>We tend to think of algorithms as creatures of the digital age. We imagine entities born in server farms and raised on silicon. But if you strip away the syntax and the semicolons, an algorithm is simply a sequence of instructions to solve a problem. Engineers have been writing those for a lot longer than computers have existed.<\/p>\n\n\n\n<p>Consider the mid-nineteenth century. Long before anyone had conceived of a microprocessor, the mathematician <a href=\"https:\/\/en.wikipedia.org\/wiki\/Ada_Lovelace\">Ada Lovelace<\/a> was thinking about how to instruct a machine to perform complex work. She was studying Charles Babbage&#8217;s proposed Analytical Engine, a massive, steam-powered mechanical computer made of brass and gears. Babbage was focused on the hardware. Lovelace, however, focused on the logic.<\/p>\n\n\n\n<p>In 1843, she published a translation of an article about the engine and added her own extensive notes. In what is now famously known as &#8220;Note G&#8221;, she detailed a rigorous, step-by-step method for the mechanical engine to calculate Bernoulli numbers.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"717\" data-attachment-id=\"10948\" data-permalink=\"https:\/\/engineers.tools\/articles\/algorithmic-thinking\/attachment\/diagram_for_the_computation_of_bernoulli_numbers\/\" data-orig-file=\"https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Diagram_for_the_computation_of_Bernoulli_numbers.jpg\" data-orig-size=\"2000,1400\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Diagram_for_the_computation_of_Bernoulli_numbers\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Diagram_for_the_computation_of_Bernoulli_numbers-300x210.jpg\" data-large-file=\"https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Diagram_for_the_computation_of_Bernoulli_numbers-1024x717.jpg\" src=\"https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Diagram_for_the_computation_of_Bernoulli_numbers-1024x717.jpg\" alt=\"\" class=\"wp-image-10948\" srcset=\"https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Diagram_for_the_computation_of_Bernoulli_numbers-1024x717.jpg 1024w, https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Diagram_for_the_computation_of_Bernoulli_numbers-300x210.jpg 300w, https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Diagram_for_the_computation_of_Bernoulli_numbers-768x538.jpg 768w, https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Diagram_for_the_computation_of_Bernoulli_numbers-1536x1075.jpg 1536w, https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Diagram_for_the_computation_of_Bernoulli_numbers-425x298.jpg 425w, https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Diagram_for_the_computation_of_Bernoulli_numbers-600x420.jpg 600w, https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Diagram_for_the_computation_of_Bernoulli_numbers-86x60.jpg 86w, https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Diagram_for_the_computation_of_Bernoulli_numbers-129x90.jpg 129w, https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Diagram_for_the_computation_of_Bernoulli_numbers.jpg 2000w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Ada Lovelace&#8217;s algorithm for the computation of Bernoulli numbers<\/figcaption><\/figure>\n\n\n\n<p>She realised that the machine could manipulate symbols according to rules, not just crunch numbers. This was the first published algorithm explicitly intended for implementation on a machine. It was pure structural thinking applied to physical cogs and levers.<\/p>\n\n\n\n<p>Yet, the visual tools we use today to map out this kind of logic did not come from early mathematicians. They came from the factory floor.<\/p>\n\n\n\n<p>It is 1921. The American Society of Mechanical Engineers (ASME) is holding its annual meeting. Frank and Lillian Gilbreth, a husband-and-wife team of industrial engineers, are presenting a paper titled &#8220;<a href=\"https:\/\/asmedigitalcollection.asme.org\/fluidsengineering\/article-abstract\/doi\/10.1115\/1.4058133\/1171864\/Process-Charts-First-Steps-in-Finding-the-One-Best?redirectedFrom=fulltext\">Process Charts: First Steps in Finding the One Best Way to Do Work<\/a>.&#8221;<\/p>\n\n\n\n<p>The Gilbreths were obsessed with efficiency. They studied bricklayers, surgeons, and factory workers. They broke down every complex human action into 18 fundamental elemental motions they called &#8220;Therbligs&#8221;.<\/p>\n\n\n\n<p>To map these motions, they invented a graphical language. A small circle for an operation, a square for an inspection, a triangle for storage. They linked these symbols with arrows to show the flow of material and information. They were not trying to program a computer. They were trying to debug a process.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"610\" data-attachment-id=\"10933\" data-permalink=\"https:\/\/engineers.tools\/articles\/algorithmic-thinking\/attachment\/example_of_flow_chart\/\" data-orig-file=\"https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Example_of_Flow_Chart.png\" data-orig-size=\"2206,1314\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Example_of_Flow_Chart\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Example_of_Flow_Chart-300x179.png\" data-large-file=\"https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Example_of_Flow_Chart-1024x610.png\" src=\"https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Example_of_Flow_Chart-1024x610.png\" alt=\"\" class=\"wp-image-10933\" srcset=\"https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Example_of_Flow_Chart-1024x610.png 1024w, https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Example_of_Flow_Chart-300x179.png 300w, https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Example_of_Flow_Chart-768x457.png 768w, https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Example_of_Flow_Chart-1536x915.png 1536w, https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Example_of_Flow_Chart-2048x1220.png 2048w, https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Example_of_Flow_Chart-425x253.png 425w, https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Example_of_Flow_Chart-600x357.png 600w, https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Example_of_Flow_Chart-101x60.png 101w, https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Example_of_Flow_Chart-151x90.png 151w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Flow chart example from the Gibreths paper<\/figcaption><\/figure>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"789\" height=\"1024\" data-attachment-id=\"10935\" data-permalink=\"https:\/\/engineers.tools\/articles\/algorithmic-thinking\/attachment\/960px-edvac\/\" data-orig-file=\"https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/960px-Edvac.jpg\" data-orig-size=\"960,1246\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"960px-Edvac\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/960px-Edvac-231x300.jpg\" data-large-file=\"https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/960px-Edvac-789x1024.jpg\" src=\"https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/960px-Edvac-789x1024.jpg\" alt=\"\" class=\"wp-image-10935\" srcset=\"https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/960px-Edvac-789x1024.jpg 789w, https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/960px-Edvac-231x300.jpg 231w, https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/960px-Edvac-768x997.jpg 768w, https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/960px-Edvac-600x779.jpg 600w, https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/960px-Edvac-46x60.jpg 46w, https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/960px-Edvac-69x90.jpg 69w, https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/960px-Edvac.jpg 960w\" sizes=\"auto, (max-width: 789px) 100vw, 789px\" \/><figcaption class=\"wp-element-caption\">EDVAC Computer<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<p>Fast forward to 1947. Herman Goldstine and John von Neumann are working on the EDVAC, one of the earliest electronic computers. They needed a way to map out the decision points before wiring logic into the machine. They looked around for a solution and found the Gilbreths&#8217; process charts. Von Neumann and Goldstine adapted those industrial symbols for their new digital realm.<\/p>\n<\/div>\n<\/div>\n\n\n\n<p>This is a profound realisation for us as engineers. When you sketch a flowchart to plan a Python script, you are using a tool designed to optimise industrial engineering processes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The &#8220;Black Box&#8221; Mental Model<\/h2>\n\n\n\n<p>This industrial heritage highlights a crucial shift in perspective. It moves us away from intuitive, organic problem solving and towards the &#8220;Black Box&#8221; mental model.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"270\" data-attachment-id=\"10938\" data-permalink=\"https:\/\/engineers.tools\/articles\/algorithmic-thinking\/attachment\/black_box_model\/\" data-orig-file=\"https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Black_Box_Model.png\" data-orig-size=\"1946,514\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Black_Box_Model\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Black_Box_Model-300x79.png\" data-large-file=\"https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Black_Box_Model-1024x270.png\" src=\"https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Black_Box_Model-1024x270.png\" alt=\"\" class=\"wp-image-10938\" srcset=\"https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Black_Box_Model-1024x270.png 1024w, https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Black_Box_Model-300x79.png 300w, https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Black_Box_Model-768x203.png 768w, https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Black_Box_Model-1536x406.png 1536w, https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Black_Box_Model-425x112.png 425w, https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Black_Box_Model-600x158.png 600w, https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Black_Box_Model-190x50.png 190w, https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Black_Box_Model-341x90.png 341w, https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/Black_Box_Model.png 1946w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Any part of an algorithm can be reduced to three elements: inputs, a transformation and outputs<\/figcaption><\/figure>\n\n\n\n<p>In traditional engineering, you might look at a complex system and try to understand everything all at once. Algorithmic thinking forces you to be systematic. You define the Inputs, you define the Transformation, and you define the Outputs. The inside of the box does not matter yet.<\/p>\n\n\n\n<p>This approach relies on a few core pillars. First is <strong>Deterministic Logic<\/strong>. If A happens, then B must happen. Always. There is no room for &#8220;maybe&#8221; or &#8220;sometimes&#8221; in a well-designed system.<\/p>\n\n\n\n<p>Second is <strong>Decomposition<\/strong>. You cannot debug an entire car engine at once. You must break it down and debug the fuel injection system separately.<\/p>\n\n\n\n<p>Finally, there is <strong>Abstraction<\/strong>. Knowing that a valve opens is critical for the system logic. Knowing exactly how the solenoid moves the internal pin is an irrelevant detail at the system level. You abstract the detail away to focus on the flow.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Functional Engineering Connection<\/h3>\n\n\n\n<p>When you take this Black Box model to its logical conclusion, you arrive at a concept software developers call <strong><a href=\"https:\/\/en.wikipedia.org\/wiki\/Functional_programming\">Functional Programming<\/a><\/strong>. This paradigm is incredibly useful for engineers to understand because it mirrors the way we design reliable, failsafe physical systems.<\/p>\n\n\n\n<p>Functional programming relies heavily on &#8220;Pure Functions&#8221;. A pure function operates on two strict rules. First, if you give it the same inputs, it must always return the exact same output. Second, it must produce <strong>No Side Effects<\/strong>. It cannot secretly change a variable somewhere else in the program while it runs.<\/p>\n\n\n\n<p>Think about the &#8220;Spreadsheet of Doom&#8221; from earlier. The reason it breaks is almost always because of unintended side effects. You change a cell on Tab 1, and it secretly alters a hidden reference on Tab 14, which consequently breaks a chart on Tab 3. The state of the system is tangled and unpredictable.<\/p>\n\n\n\n<p>A good engineering design, just like a pure function, isolates its logic. If you design a standalone pump skid, its operation should depend only on the fluid coming in and the power supplied to it. It should not accidentally affect the control logic of a completely different system across the plant.<\/p>\n\n\n\n<p>Another core functional programming concept is <strong>Immutability<\/strong>. In functional code, once data is created, it cannot be changed. If you want to update it, you do not overwrite it. You create a brand new copy with the changes applied.<\/p>\n\n\n\n<p>This is exactly how we should treat our engineering data. Your raw survey data or your initial laboratory test results are immutable. You never overwrite the original file. You take the raw data as an input, run it through your &#8220;Black Box&#8221; calculation tool, and generate a new output file.<\/p>\n\n\n\n<p>By applying these functional programming concepts to your general workflow, you stop building fragile spreadsheets and start building predictable, testable, and robust engineering pipelines.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Coding Concepts vs. Engineering Reality<\/h2>\n\n\n\n<p>Learning to write code forces you to exercise this &#8220;Black Box&#8221; muscle in a very specific way. A computer does not understand &#8220;about 50ish&#8221;. It does not possess intuition. This relentless demand for strict logic changes how you approach physical problems.<\/p>\n\n\n\n<p>Let us look at how the three pillars of algorithmic thinking map directly to the engineering challenges we face every day, and how they help cure the &#8220;Spreadsheet of Doom&#8221; syndrome.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Deterministic Logic<\/h3>\n\n\n\n<p>In programming, logic must be deterministic. If you run a script with the exact same inputs, it must yield the exact same outputs. A program does not guess. If a variable is undefined, the code simply stops.<\/p>\n\n\n\n<p>In the physical world, we often rely on implicit knowledge. We have all seen plants where an operator knows to &#8220;turn the valve until the pipe hums a certain way&#8221;. We see spreadsheets where you just have to &#8220;know&#8221; not to sort column C because it breaks the formulas in column D. This is non-deterministic engineering. It relies on hidden human memory and luck.<\/p>\n\n\n\n<p>When you learn to code, you build an intolerance for this ambiguity. You start designing engineering processes that are explicitly defined. You replace the operator&#8217;s &#8220;rule of thumb&#8221; with a strict sensor-driven control loop. You replace the fragile spreadsheet with a script that validates every piece of input data before it runs. You learn to build systems that produce the exact same result regardless of who is sitting at the desk or standing on the factory floor.<\/p>\n\n\n\n<p>I&#8217;m not naive and I know the real world not always lends itself to exact and precise rules. Very early in my career I learned about &#8220;fudge factors&#8221; used by the best engineers I&#8217;ve ever met. However, even in these cases, these factors and tolerances can be quantified, encoded and considered as part of the logic. It&#8217;s not about not having these factors, it&#8217;s about knowing where they go, how big they are, what they affect and how sensitive the final outcomes are to variations in the inputs. The <a href=\"https:\/\/en.wikipedia.org\/wiki\/Six_Sigma\">Six Sigma<\/a> toolbox has a wide range of tools to do precisely this.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Decomposition<\/h3>\n\n\n\n<p>A novice programmer will often try to write a single, massive script that does everything at once. It reads the file, cleans the data, runs the math, and plots the chart all in one giant block. When it breaks, finding the error is nearly impossible. Experienced developers use <a href=\"https:\/\/en.wikipedia.org\/wiki\/Decomposition_(computer_science)\">decomposition<\/a>. They write small, isolated, highly testable functions for each specific task.<\/p>\n\n\n\n<p>This concept of modularity is not alien to us. If you are building a processing plant, you do not design it as one solid, inseparable block of steel and concrete. You break it down into the power supply, the pumping stations, the heat exchangers, and the control systems. You test a pump on a test bench before you ever connect it to the main piping network. You do this so that if a bearing fails later, you only have to fix the pump. You do not have to dismantle the entire facility.<\/p>\n\n\n\n<p>Yet, when we transition from physical hardware to digital tools or workflows, we often abandon this wisdom.<\/p>\n\n\n\n<p>This is exactly why the &#8220;Spreadsheet of Doom&#8221; is so painful. It is a digital monolith. The data entry, the business logic, and the presentation layer are all tangled together in a dense web of cell references. The human brain can only hold a handful of variables in active memory at once. When you intertwine twenty tabs of unstructured calculations, you far exceed that cognitive limit.<\/p>\n\n\n\n<p>Algorithmic thinking trains you to physically decouple these elements in your digital work, just as you would in the physical world. You realise that your raw data should live in a simple CSV file or a database. Your calculations should happen in an isolated script or a dedicated processing tool. Your presentation should be a completely separate dashboard or report.<\/p>\n\n\n\n<p>By decomposing the engineering workflow, you can &#8220;unit test&#8221; your calculations independently of your formatting. You ensure that updating a chart colour will never accidentally break your structural load calculations. You stop building fragile monoliths and start building robust, modular solutions.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Abstraction<\/h3>\n\n\n\n<p>In software, abstraction is how we survive complexity. When a programmer needs to calculate the sine of an angle, they do not write a complex Taylor series expansion from scratch. They import a math library and call a simple function. They trust the interface. They abstract away the internal math so they can focus on the higher-level program.<\/p>\n\n\n\n<p>Engineers already do this with physical hardware. When you specify a gearbox for a conveyor system, you care about the input speed, the output torque, and the mounting footprint. You do not re-calculate the involute profile of every gear tooth inside the casing. You abstract the internal complexity and treat the gearbox as a black box with known inputs and outputs.<\/p>\n\n\n\n<p>However, we often forget this principle when dealing with data or processes. We let irrelevant details clutter our decision-making. We build tools that require the user to understand the entire underlying physics model just to get a simple budget estimate.<\/p>\n\n\n\n<p>Coding trains you to build clean interfaces. You learn to hide the messy calculation logic behind a simple user prompt. You learn to respect the boundary between the inner workings of a tool and the person using it.<\/p>\n\n\n\n<p>Abstraction is sometimes one of the hardest aspects of software design to converge on. Every mind might have a slightly different view and understanding of the problem. This is often enough to end up in completely disconnected territories when it comes to abstracting a concrete concept that needs to be implemented in software. Add to this the various steps of hand-over that ocurr during the normal lifecycle of a project and things can to sideways very quiclky.<\/p>\n\n\n\n<p>If you are interested in the concept of abstraction, I would recommend reading Bret Victor&#8217;s excellent article and watch his YouTube video on &#8220;<a href=\"https:\/\/worrydream.com\/LadderOfAbstraction\/\">The Ladder of Abstraction<\/a>&#8220;.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Closing Thoughts<\/h2>\n\n\n\n<p>The value of learning to program is not that you will become a software developer. You are a mechanical, civil, or electrical engineer. You deal with the physical world.<\/p>\n\n\n\n<p>But when you learn to code, you upgrade your brain&#8217;s operating system. You stop seeing problems as isolated tasks. You start seeing them as systems. You stop solving the same problem twice.<\/p>\n\n\n\n<p>This creates a new kind of professional. The Code-Literate Engineer.<\/p>\n\n\n\n<p>This is the engineer who understands the physical constraints of a bridge but also possesses the algorithmic mindset to automate the design process. In a world that is becoming increasingly digitised, the engineer who can only do the math is at a disadvantage. The engineer who can automate the math, validate the inputs, and handle the exceptions is the one who will lead the project.<\/p>\n\n\n\n<p>So, open that text editor. Write a script. Break a big problem into small functions. You aren&#8217;t just writing code. You are sharpening the oldest tool in the engineer&#8217;s toolbox. You are learning to think.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The &#8220;Spreadsheet of Doom&#8221; If you have been working in any engineering field for more than a week, you will recognise this situation. We have all been there at some point. Sometimes, it starts with you. You did this to yourself. You created it to begin with. It was born<a class=\"more-link\" href=\"https:\/\/engineers.tools\/articles\/algorithmic-thinking\/\">Read More &rarr;<\/a><\/p>\n","protected":false},"author":1,"featured_media":10943,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[29],"tags":[231,232],"class_list":{"0":"entry","1":"post","2":"publish","3":"author-etadmin","4":"post-10922","6":"format-standard","7":"has-post-thumbnail","8":"category-articles","9":"post_tag-algorithmic-thinking","10":"post_tag-systems-thinking"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Algorithmic Thinking - Engineers Tools<\/title>\n<meta name=\"description\" content=\"Discover how algorithmic thinking improves physical engineering. We explore how determinism, decomposition, and abstraction create better structural thinkers.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/engineers.tools\/articles\/algorithmic-thinking\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Algorithmic Thinking - Engineers Tools\" \/>\n<meta property=\"og:description\" content=\"Discover how algorithmic thinking improves physical engineering. We explore how determinism, decomposition, and abstraction create better structural thinkers.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/engineers.tools\/articles\/algorithmic-thinking\/\" \/>\n<meta property=\"og:site_name\" content=\"Engineers Tools\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-02T07:38:13+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-02T07:44:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/image.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"768\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Engineers Tools\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Engineers_Tools\" \/>\n<meta name=\"twitter:site\" content=\"@Engineers_Tools\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Engineers Tools\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/engineers.tools\\\/articles\\\/algorithmic-thinking\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/engineers.tools\\\/articles\\\/algorithmic-thinking\\\/\"},\"author\":{\"name\":\"Engineers Tools\",\"@id\":\"https:\\\/\\\/engineers.tools\\\/#\\\/schema\\\/person\\\/4612fbdf4d305dc52d97582b82b29261\"},\"headline\":\"Algorithmic Thinking\",\"datePublished\":\"2026-03-02T07:38:13+00:00\",\"dateModified\":\"2026-03-02T07:44:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/engineers.tools\\\/articles\\\/algorithmic-thinking\\\/\"},\"wordCount\":2881,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/engineers.tools\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/engineers.tools\\\/articles\\\/algorithmic-thinking\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/engineers.tools\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/image.png\",\"keywords\":[\"algorithmic thinking\",\"systems thinking\"],\"articleSection\":[\"Articles\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/engineers.tools\\\/articles\\\/algorithmic-thinking\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/engineers.tools\\\/articles\\\/algorithmic-thinking\\\/\",\"url\":\"https:\\\/\\\/engineers.tools\\\/articles\\\/algorithmic-thinking\\\/\",\"name\":\"Algorithmic Thinking - Engineers Tools\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/engineers.tools\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/engineers.tools\\\/articles\\\/algorithmic-thinking\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/engineers.tools\\\/articles\\\/algorithmic-thinking\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/engineers.tools\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/image.png\",\"datePublished\":\"2026-03-02T07:38:13+00:00\",\"dateModified\":\"2026-03-02T07:44:00+00:00\",\"description\":\"Discover how algorithmic thinking improves physical engineering. We explore how determinism, decomposition, and abstraction create better structural thinkers.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/engineers.tools\\\/articles\\\/algorithmic-thinking\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/engineers.tools\\\/articles\\\/algorithmic-thinking\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/engineers.tools\\\/articles\\\/algorithmic-thinking\\\/#primaryimage\",\"url\":\"https:\\\/\\\/engineers.tools\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/image.png\",\"contentUrl\":\"https:\\\/\\\/engineers.tools\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/image.png\",\"width\":1024,\"height\":768},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/engineers.tools\\\/articles\\\/algorithmic-thinking\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/engineers.tools\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Algorithmic Thinking\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/engineers.tools\\\/#website\",\"url\":\"https:\\\/\\\/engineers.tools\\\/\",\"name\":\"Engineers Tools\",\"description\":\"For engineers by engineers\",\"publisher\":{\"@id\":\"https:\\\/\\\/engineers.tools\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/engineers.tools\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/engineers.tools\\\/#organization\",\"name\":\"Engineers Tools\",\"url\":\"https:\\\/\\\/engineers.tools\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/engineers.tools\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/engineers.tools\\\/wp-content\\\/uploads\\\/2020\\\/09\\\/cropped-Logo.png\",\"contentUrl\":\"https:\\\/\\\/engineers.tools\\\/wp-content\\\/uploads\\\/2020\\\/09\\\/cropped-Logo.png\",\"width\":268,\"height\":43,\"caption\":\"Engineers Tools\"},\"image\":{\"@id\":\"https:\\\/\\\/engineers.tools\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/Engineers_Tools\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/engineers-tools\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCj8ZsUGWdRgTpVhrhSAQ7_w\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/engineers.tools\\\/#\\\/schema\\\/person\\\/4612fbdf4d305dc52d97582b82b29261\",\"name\":\"Engineers Tools\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5fff71650c341a12c206b788d66e7cad7e42f09efcedaeb181ed6cb878c1aa27?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5fff71650c341a12c206b788d66e7cad7e42f09efcedaeb181ed6cb878c1aa27?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5fff71650c341a12c206b788d66e7cad7e42f09efcedaeb181ed6cb878c1aa27?s=96&d=mm&r=g\",\"caption\":\"Engineers Tools\"},\"url\":\"https:\\\/\\\/engineers.tools\\\/author\\\/etadmin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Algorithmic Thinking - Engineers Tools","description":"Discover how algorithmic thinking improves physical engineering. We explore how determinism, decomposition, and abstraction create better structural thinkers.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/engineers.tools\/articles\/algorithmic-thinking\/","og_locale":"en_US","og_type":"article","og_title":"Algorithmic Thinking - Engineers Tools","og_description":"Discover how algorithmic thinking improves physical engineering. We explore how determinism, decomposition, and abstraction create better structural thinkers.","og_url":"https:\/\/engineers.tools\/articles\/algorithmic-thinking\/","og_site_name":"Engineers Tools","article_published_time":"2026-03-02T07:38:13+00:00","article_modified_time":"2026-03-02T07:44:00+00:00","og_image":[{"width":1024,"height":768,"url":"https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/image.png","type":"image\/png"}],"author":"Engineers Tools","twitter_card":"summary_large_image","twitter_creator":"@Engineers_Tools","twitter_site":"@Engineers_Tools","twitter_misc":{"Written by":"Engineers Tools","Est. reading time":"14 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/engineers.tools\/articles\/algorithmic-thinking\/#article","isPartOf":{"@id":"https:\/\/engineers.tools\/articles\/algorithmic-thinking\/"},"author":{"name":"Engineers Tools","@id":"https:\/\/engineers.tools\/#\/schema\/person\/4612fbdf4d305dc52d97582b82b29261"},"headline":"Algorithmic Thinking","datePublished":"2026-03-02T07:38:13+00:00","dateModified":"2026-03-02T07:44:00+00:00","mainEntityOfPage":{"@id":"https:\/\/engineers.tools\/articles\/algorithmic-thinking\/"},"wordCount":2881,"commentCount":0,"publisher":{"@id":"https:\/\/engineers.tools\/#organization"},"image":{"@id":"https:\/\/engineers.tools\/articles\/algorithmic-thinking\/#primaryimage"},"thumbnailUrl":"https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/image.png","keywords":["algorithmic thinking","systems thinking"],"articleSection":["Articles"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/engineers.tools\/articles\/algorithmic-thinking\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/engineers.tools\/articles\/algorithmic-thinking\/","url":"https:\/\/engineers.tools\/articles\/algorithmic-thinking\/","name":"Algorithmic Thinking - Engineers Tools","isPartOf":{"@id":"https:\/\/engineers.tools\/#website"},"primaryImageOfPage":{"@id":"https:\/\/engineers.tools\/articles\/algorithmic-thinking\/#primaryimage"},"image":{"@id":"https:\/\/engineers.tools\/articles\/algorithmic-thinking\/#primaryimage"},"thumbnailUrl":"https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/image.png","datePublished":"2026-03-02T07:38:13+00:00","dateModified":"2026-03-02T07:44:00+00:00","description":"Discover how algorithmic thinking improves physical engineering. We explore how determinism, decomposition, and abstraction create better structural thinkers.","breadcrumb":{"@id":"https:\/\/engineers.tools\/articles\/algorithmic-thinking\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/engineers.tools\/articles\/algorithmic-thinking\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/engineers.tools\/articles\/algorithmic-thinking\/#primaryimage","url":"https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/image.png","contentUrl":"https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/image.png","width":1024,"height":768},{"@type":"BreadcrumbList","@id":"https:\/\/engineers.tools\/articles\/algorithmic-thinking\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/engineers.tools\/"},{"@type":"ListItem","position":2,"name":"Algorithmic Thinking"}]},{"@type":"WebSite","@id":"https:\/\/engineers.tools\/#website","url":"https:\/\/engineers.tools\/","name":"Engineers Tools","description":"For engineers by engineers","publisher":{"@id":"https:\/\/engineers.tools\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/engineers.tools\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/engineers.tools\/#organization","name":"Engineers Tools","url":"https:\/\/engineers.tools\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/engineers.tools\/#\/schema\/logo\/image\/","url":"https:\/\/engineers.tools\/wp-content\/uploads\/2020\/09\/cropped-Logo.png","contentUrl":"https:\/\/engineers.tools\/wp-content\/uploads\/2020\/09\/cropped-Logo.png","width":268,"height":43,"caption":"Engineers Tools"},"image":{"@id":"https:\/\/engineers.tools\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/Engineers_Tools","https:\/\/www.linkedin.com\/company\/engineers-tools\/","https:\/\/www.youtube.com\/channel\/UCj8ZsUGWdRgTpVhrhSAQ7_w"]},{"@type":"Person","@id":"https:\/\/engineers.tools\/#\/schema\/person\/4612fbdf4d305dc52d97582b82b29261","name":"Engineers Tools","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/5fff71650c341a12c206b788d66e7cad7e42f09efcedaeb181ed6cb878c1aa27?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5fff71650c341a12c206b788d66e7cad7e42f09efcedaeb181ed6cb878c1aa27?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5fff71650c341a12c206b788d66e7cad7e42f09efcedaeb181ed6cb878c1aa27?s=96&d=mm&r=g","caption":"Engineers Tools"},"url":"https:\/\/engineers.tools\/author\/etadmin\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/engineers.tools\/wp-content\/uploads\/2026\/03\/image.png","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pa8Ki2-2Qa","jetpack-related-posts":[{"id":10808,"url":"https:\/\/engineers.tools\/articles\/programming-for-engineers\/","url_meta":{"origin":10922,"position":0},"title":"Programming for Engineers","author":"Engineers Tools","date":"13 January 2026","format":false,"excerpt":"Programming is an essential skill for engineers of any discipline. Whether you work in electrical, mechanical, civil, chemical or any other engineering speciality, you will be a better engineer if you master the skill of computer programming. Not only there is intrinsic value in instructing computers how to perform useful\u2026","rel":"","context":"In &quot;Articles&quot;","block_context":{"text":"Articles","link":"https:\/\/engineers.tools\/category\/articles\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/engineers.tools\/wp-content\/uploads\/2026\/01\/Two_women_operating_ENIAC_full_resolution.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/engineers.tools\/wp-content\/uploads\/2026\/01\/Two_women_operating_ENIAC_full_resolution.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/engineers.tools\/wp-content\/uploads\/2026\/01\/Two_women_operating_ENIAC_full_resolution.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/engineers.tools\/wp-content\/uploads\/2026\/01\/Two_women_operating_ENIAC_full_resolution.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/engineers.tools\/wp-content\/uploads\/2026\/01\/Two_women_operating_ENIAC_full_resolution.jpg?resize=1050%2C600&ssl=1 3x"},"classes":[]},{"id":10499,"url":"https:\/\/engineers.tools\/disciplines\/computer-engineering\/software-engineering\/what-is-myactivo\/","url_meta":{"origin":10922,"position":1},"title":"What is myActivo?","author":"Engineers Tools","date":"27 August 2021","format":false,"excerpt":"myActivo is an open-source software platform that reimagines what the management of physical assets in the digital era can be. Starting with no assumptions about what is possible, myActivo embodies and experiments with the ideas behind the concept of Digital Asset Management. What if instead of progressively adopting digital technologies\u2026","rel":"","context":"In &quot;Software Engineering&quot;","block_context":{"text":"Software Engineering","link":"https:\/\/engineers.tools\/category\/disciplines\/computer-engineering\/software-engineering\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/engineers.tools\/wp-content\/uploads\/2021\/08\/Logo_Icon.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":443,"url":"https:\/\/engineers.tools\/disciplines\/mechanical-engineering\/sketchup\/","url_meta":{"origin":10922,"position":2},"title":"SketchUp","author":"Engineers Tools","date":"5 August 2018","format":false,"excerpt":"SketchUp users are architects, designers, builders, makers and engineers. They are the people who shape the physical world. They are important, and they deserve great tools because great tools produce great work.Great tools are ones you look forward to using. They do one thing (or maybe two) really, really well.\u2026","rel":"","context":"In &quot;Civil Engineering&quot;","block_context":{"text":"Civil Engineering","link":"https:\/\/engineers.tools\/category\/disciplines\/civil-engineering\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/engineers.tools\/wp-content\/uploads\/2018\/08\/SketchUp.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/engineers.tools\/wp-content\/uploads\/2018\/08\/SketchUp.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/engineers.tools\/wp-content\/uploads\/2018\/08\/SketchUp.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/engineers.tools\/wp-content\/uploads\/2018\/08\/SketchUp.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/engineers.tools\/wp-content\/uploads\/2018\/08\/SketchUp.png?resize=1050%2C600&ssl=1 3x"},"classes":[]},{"id":10952,"url":"https:\/\/engineers.tools\/articles\/the-digital-megawatt\/","url_meta":{"origin":10922,"position":3},"title":"The Digital Megawatt: Programming the Grid&#8217;s Future OS","author":"Engineers Tools","date":"5 April 2026","format":false,"excerpt":"We've all inherited a legacy system at some point in our careers, the kind that worked brilliantly for decades until one day it didn't. A few months ago, I stood in front of a room of engineers and energy professionals and made this case: \"We're no longer commanding megawatts. We're\u2026","rel":"","context":"In &quot;Articles&quot;","block_context":{"text":"Articles","link":"https:\/\/engineers.tools\/category\/articles\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/engineers.tools\/wp-content\/uploads\/2026\/04\/TGl94.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/engineers.tools\/wp-content\/uploads\/2026\/04\/TGl94.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/engineers.tools\/wp-content\/uploads\/2026\/04\/TGl94.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/engineers.tools\/wp-content\/uploads\/2026\/04\/TGl94.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/engineers.tools\/wp-content\/uploads\/2026\/04\/TGl94.jpg?resize=1050%2C600&ssl=1 3x"},"classes":[]},{"id":10805,"url":"https:\/\/engineers.tools\/articles\/the-future-of-engineering\/","url_meta":{"origin":10922,"position":4},"title":"The Future of Engineering","author":"Engineers Tools","date":"12 January 2026","format":false,"excerpt":"I don't think anyone could deny that humankind is staring right at the face of incredible challenges in our near to mid-term future. Rising population, changing climate, increasing disparity between rich and poor, growing energy and food demand, longer life expectancy and ultimately, rising standards of living. The convergence of\u2026","rel":"","context":"In &quot;Articles&quot;","block_context":{"text":"Articles","link":"https:\/\/engineers.tools\/category\/articles\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/engineers.tools\/wp-content\/uploads\/2026\/01\/Earth_Eastern_Hemisphere.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":566,"url":"https:\/\/engineers.tools\/articles\/our-story\/","url_meta":{"origin":10922,"position":5},"title":"Our Story","author":"Engineers Tools","date":"20 October 2018","format":false,"excerpt":"As an Mechanical and Electrical Engineer by profession and Computer Programmer by passion I've been building my own software tools for over 29 years. My career has taken me across multiple engineering areas including Design, Manufacturing, Field Operations, Maintenance, Refurbishment, Product Development, Asset Management, Customer Service, Process Improvement, Consulting and\u2026","rel":"","context":"In &quot;Articles&quot;","block_context":{"text":"Articles","link":"https:\/\/engineers.tools\/category\/articles\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/engineers.tools\/wp-json\/wp\/v2\/posts\/10922","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/engineers.tools\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/engineers.tools\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/engineers.tools\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/engineers.tools\/wp-json\/wp\/v2\/comments?post=10922"}],"version-history":[{"count":20,"href":"https:\/\/engineers.tools\/wp-json\/wp\/v2\/posts\/10922\/revisions"}],"predecessor-version":[{"id":10951,"href":"https:\/\/engineers.tools\/wp-json\/wp\/v2\/posts\/10922\/revisions\/10951"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/engineers.tools\/wp-json\/wp\/v2\/media\/10943"}],"wp:attachment":[{"href":"https:\/\/engineers.tools\/wp-json\/wp\/v2\/media?parent=10922"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/engineers.tools\/wp-json\/wp\/v2\/categories?post=10922"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/engineers.tools\/wp-json\/wp\/v2\/tags?post=10922"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}