The Process of Engineering Design and How it Connects to Programming

jerold kim
4 min readMar 29, 2019

--

Above is the Engineering Design Process and there are some similarities with what we learn in bootcamp. As an engineering student, I had to learn this process freshman year and we as a class developed a prototype from this process. As this blog is about how the engineering process is to programming, I will write a little blurb about each step of the engineering design process and about programming.

Define the problem

What is the problem or need? Who has the problem or need? Why is it important to solve? These are the three questions you ask when you need to define what you are creating a prototype for. So our answers for these questions for the engineering design class were we have a lot of overweight children and we need to lower the rate of obesity for a healthier country. As programmers, we do not need to ask these questions because most of the time we will have other people structure the project and ask us to do some things. But it is easier to see what the greater purpose of our project will be so that we will know why we have to do this, and maybe it will give us more motivation.

Do Background Research

If you do this step, you can learn from the mistakes of others so that you do not falter because of these mistakes too. This is truly good for us as programmers. Ask co-workers or your boss about how they solved certain problems, how much time it took, and what problems they would like you to avoid while doing a certain project. This will save you hours in the long run.

Specify Requirements

Design requirements state the most important characteristics that your solution must meet to succeed. One of the best ways to identify the design requirements for your solution is to analyze the concrete example of a similar, existing product, noting each of its key features. This is amazing for your projects as a web developer because you can see which buttons to have in your app, what buttons do what actions in the app, and how long the app’s code is. This is so that you keep your code accountable for how long it should be and how to program those buttons.

Brainstorm Solutions

There are always many good possibilities for solving design problems. If you focus on just one before looking at the alternatives, it is almost certain that you are overlooking a better solution. Good designers try to generate as many possible solutions as they can. I feel like this one is not really a step that web developers have to take, because the user of the app usually states how to make the app better. But even with code, it is still good to brainstorm ideas on how to orient the code to refactor your code.

Choose the Best Solution

Look at whether each possible solution meets your design requirements. Some solutions probably meet more requirements than others. Reject solutions that do not meet the requirements. With the brainstorming of ideas, choose your best solution that will fulfill all the UI/UX designs needed. Then, there will be a clearer understanding of which solution is the best for your app.

Develop the Solution and Build a Prototype

Development involves the refinement and improvement of a solution, and it continues throughout the design process, often even after a product ships to customers. A prototype is an operating version of a solution. Often it is made with different materials than the final version, and generally it is not as polished. Prototypes are a key step in the development of a final solution, allowing the designer to test how the solution will work. When you make your app, you will need to make a minimal viable product (MVP) and you will make modifications along the way. That will be the crux of your position as a web developer.

Test and Redesign

The design process involves multiple iterations and redesigns of your final solution. You will likely test your solution, find new problems, make changes, and test new solutions before settling on a final design. When you find mistakes or problems in your code or users tell you ways that you can better the app, there are the redesigns of your solution.

Communicate Results

To complete your project, communicate your results to others in a final report and/or a display board. Professional engineers always do the same, thoroughly documenting their solutions so that they can be manufactured and supported. Once you complete your project, add a readme and write out the instructions, and send out your github link to the world to see.

Conclusion

This process is vital to all engineers. It can be useful to us as web developers and software engineers. It does not seem that hard to do, but that just shows you how much you have grown from the wee days of learning to code. Go out there and make your apps!

--

--