DEV Community

Yari Antonieta
Yari Antonieta

Posted on

Industrial Engineering and Web Development

Originally posted on ctrl-y blog, April 07, 2019.

Mental Change: From Industrial Engineering to Web Development

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?

Problem Solving

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.

Ability to detail step procedures

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.

Design for Users

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.

Lean manufacturing, my soul-friend

Does Toyota sound familiar? One of their directors after the Second World War, Taiichi Ohno, created the lean manufacturing principles. The principles seek to eliminate waste, or Muda, that do not aggregate value to the final product. The seven (7) wastes are:

  1. Overproduction
  2. Wait time
  3. Transportation
  4. Movement
  5. Over-processing
  6. Defects
  7. Inventory

I will not go into detail on the definition of each of the previously mentioned wastes, but here 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.

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

Physical and digital product development

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.

Top comments (1)

Collapse
 
priyadarshu profile image
Priyadarshini Chettiar

Amazing article!