Industrial Engineering and Web Development
Tags: webdev, career, beginners
Published: 2019-11-02 20:41:51

<i>Originally posted on <a href="https://ctrly.blog">ctrl-y blog</a>, April 07, 2019.</i>

<h3>Mental Change: From Industrial Engineering to Web Development</h3>

A frequent question I get asked when I talk about my career change from industrial engineering to web development is: “Is your Industrial Engineering knowledge useful for Web Development?”

I also asked myself that question before leaping and switched careers. But the more I learn about programming web-based products, the more I can relate Industrial Engineering with the development of digital products.

It wasn’t until I took a UI/UX Design workshop, that I realized that the UI/UX concepts came from human-centered manufacturing concepts.

So, how do I relate Web Development to Industrial Engineering?


<h3>Problem Solving</h3>

For starters, both professions require the capacity to solve problems. Ok, let me rephrase that. Both require the ability to visualize the problem and solve it. Some people are born with that talent. Others require a bachelor's degree to develop it (here, present  🙋‍♀️). But definitely, you need to train your brain into creating a mental map of the problem, for you to develop a mental map of solutions.


<h3>Ability to detail step procedures</h3>

In the regulated manufacturing world, it is required to document the processes that are performed to deliver a product to its final specifications. These documents may require a lot of detailed instructions, something that trains a person to think and write instructions step by step.

On the other hand, writing programs for web-based products is about detailing step by step the actions that you want the computer to do. The software should be written in a straightforward manner and efficient frameworks so that the software execution runs smoothly.

<h3>Design for Users</h3>

An industrial engineers’ work is to design a process so that the operator, or performer of that process, can execute their tasks seamlessly.

From the web development perspective, UX/UI design is about designing the digital product, so that the user does not have to work when using the product. Both professionals seek to minimize the user’s work.

<h3>Lean manufacturing, my soul-friend</h3>

Does Toyota sound familiar? One of their directors after the Second World War, <a href="https://es.wikipedia.org/wiki/Taiichi_Ohno">Taiichi Ohno</a>, created the lean manufacturing principles. The principles seek to eliminate waste, or <i>Muda</i>, that do not aggregate value to the final product. The seven (7) wastes are:

<ol>
  <li>Overproduction</li>
  <li>Wait time</li>
  <li>Transportation</li>
  <li>Movement</li>
  <li>Over-processing</li>
  <li>Defects</li>
  <li>Inventory</li>
</ol>

I will not go into detail on the definition of each of the previously mentioned wastes, but <a href="https://www.lean.org/lexicon/seven-wastes">here</a> is a link that provides that information.

Even thou waste as a concept was developed based on manufacturing processes, its easy to apply them for the development of digital products.

The following table demonstrates a few examples of waste produced in manufacturing and web development.

<table border = "1">
         <tr>
            <th>Waste</th>
            <th>Manufacturing</th>
            <th>Web Development</th>
         </tr>
         
         <tr>
            <td>Overporduction</td>
            <td>
                1) Make the product before the client orders it.
                <br />
                2) To continue an operation when it should have been 
                stopped.
            </td>
            <td>
                1) Create functions that the client did not require.
                <br />
                2) Create variables that do not save the necessary data. 
                <br />
                3) Make unnecessary continuous requests to the server. 
             </td>
         </tr>
         <tr>
            <td>Wait time</td>
            <td> 
                1) Product waiting to be processed because of the 
                equipment is being maintained.
            </td>
            <td>
                1) The time the server takes to send and receive 
                requests.
                <br />
                2) Wait time until data can be presented to the user. 
            </td>
         </tr>
         <tr>
             <td>Transportation</td>
             <td>
                1) Unnecessarily move product from a work station to 
                another.
             </td>
             <td>
                1) Migrate software from one platform to another because of idesign errors.
             </td>
         </tr>
         <tr>
             <td>Movement</td>
             <td>
                1) Scrap a product because of a sudden stop of the 
                   equipment causes damage to the product.
             </td>
             <td>
                1) Change files that contain variables, components, or 
                   views from their respective directives.
             </td>
         </tr>
         <tr>
             <td>Over-processing</td>
             <td>
               	1) Rework the same part multiple times to reach the 
                   required dimensions.
             </td>
             <td>
                1) Rework code lines because methods used covered a use 
                   case but produced bugs on another.
             </td>
         </tr>
         <tr>
             <td>Defects</td>
             <td>
                1) Assembly error causes that a part of a product does 
                not function appropriately.
             </td>
             <td>
                1) BUGS! The software does not function correctly.
             </td>
         </tr>
         <tr>
             <td>Inventory</td>
             <td>
                1) Save too much raw material in a warehouse.
             </td>
             <td>
                1) Create variables, and functions, just in case, a programmer needs them.
             </td>
         </tr>
</table>

<h3>Physical and digital product development</h3>

It has been exciting to experiment and participate in the process of the development of physical and digital products.

Now, knowing that developing a product on the web is literally in my hands gives me a confidence in myself that was unprecedented.