About
I'm Chris Cross, an Electrical Engineering student at Iowa State University with a minor in Mathematics, graduating in May 2027. The majority of my projects have involved math combined with physical hardware through modeling the system, developing the feedback loop for stability, and then implementing it into physical form.
Iowa State University · Minor in Mathematics
Anticipated
State-space design, PID tuning, real-time control, industrial automation
Linear Systems, Automatic Control Systems, Control System Simulation, Signals & Systems, Embedded Systems
QUARC, Python, C, Studio 5000 ladder logic
Vietnamese Student Association, Asian Student Union, Genre Music Club, Dub H
Career objective
When our balance controller was able to lock onto the rotary pendulum and stabilize it, control engineering ceased being theoretical for me. A pole located in the right half plane is a falling pendulum; moving that pole makes it stay upright. This is what I would like my future career to consist of – stabilizing an inherently unstable object.
My preferred field within engineering is control and automation engineering, including designing, implementing, and tuning feedback systems for motion control systems, robots, aerial platforms and programming PLC's that are running actual production facilities. My work on a GuardLogix cell opened my eyes on how many processes in industry require precise and flawless logic execution every single cycle.
Upon graduating, I would like to become a part of a company where I could continue learning from other professionals, gain experience in dealing with physical hardware and develop further in modeling, estimation and implementation fields. Long-term, I would like to see a project through from initial equations all the way to commissioning and explain its working to the users.
Senior Design
PV-ALPHASync
Intelligent Lab Automation & Analytics for Next-Generation Semiconductors
PV-ALPHASync is a two-semester engineering capstone project conducted by Iowa State University students aimed at development of the hardware-software platform for automated semiconductor devices characterization, laboratory instrumentation, and research analytics.
The project combines automated measurements, Python-controlled instruments, cloud data management, and AI-driven analytics to enhance the efficiency and reproducibility of semiconductors research.
- Description
- An intelligent laboratory automation system which integrates semiconductors characterization, real-time data acquisition, cloud-based data storage, and interactive research analytics. At first, the system will support photovoltaic and perovskite devices characterization.
- Problem
- Characterization of semiconductors requires a variety of measurements and generation of large amounts of experimental data. Manual data acquisition and independent analytical workflows could reduce efficiency and reproducibility and make it difficult to reveal correlations between process conditions and device characteristics.
- Team
- Iowa State University Electrical Engineering Senior Design team, cooperating with the Microelectronics Research Center (MRC).
- My role
- Work on laboratory instrumentation, Python programming and automation, and data processing from experiments. Currently, my tasks involve assisting in the lab, designing automated impedance analyzer measurements, and processing the data on photovoltaics' current-voltage characteristics to calculate their open-circuit voltage (Voc), short-circuit current density (Jsc), fill factor (FF), and power conversion efficiency (PCE).
- Skills gained
- Python Programming · Instrumentation · Laboratory Automation · Semiconductor Characterization · Data Processing · Hardware/Software Integration · Technical Documentation
- Documents
- Project Description · Weekly Progress Reports · System Design Documentation · Testing & Validation Results In progress
- Big picture
- The aim of the project is development of a scalable research platform that unites measurement and analytics and makes it easier for researchers to improve the characteristics of semiconductors.
Projects
Four examples ranging from theory to physical realization: an unstable pendulum stabilized using state feedback, a quadcopter designed to follow a path, a PLC-based assembly line that sorts and assembles components in real time, and a CMOS wafer manufactured in a clean room.
Rotary Inverted Pendulum Control
- Description
-
A three-lab sequence where a Quanser rotary inverted pendulum is taken from a bare model to a fully functional swing-up and balance controller. We obtained a four-state state-space model (arm angle θ, pendulum angle α and derivatives) using physical and actuator parameters. An open-loop pole in the right half-plane proved that the inverted pendulum is an unstable system without control.
After proving controllability (controllability matrix is full rank 4×4), we developed a state feedback gain K by pole placement via companion-form transform. Desired poles were −2.8 ± j2.86, −30 and −40, and we verified against MATLAB
placefunction. We simulated in Simulink, then compiled with QUARC for real-time hardware operation with a switch logic for balance controller to kick in when necessary. The third lab added an energy-based swing-up controller that properly handed off to the balance controller. - My role
-
I was a member of the lab group consisting of Drew Bixler, Alex Kopeny and Alex Hardcopf (for swing-up lab the whole lab had six people). I worked on the modeling, controller design via pole placement, Simulink simulation and hardware tests. I also provided the sign convention validation for the model lab – verifying that the counter-clockwise rotation will have positive values on the encoders, just like the mathematical model.
- Skills gained
-
- State-space modeling of nonlinear electromechanical system; instability from open-loop poles
- Controllability test, companion-form transformation and pole placement
- Model validation against hardware: sign conventions, simulations vs. measurements
- Real-time implementation with Simulink + QUARC and controller switching
- Energy-based swing-up: measured energy 0.4193 J compared to 0.4199 J from calculations
SoftSplitting lab work in a team, iterating over several sessions and documenting results against requirements.
- Resources
-
- Quanser SRV02 rotary servo, rotary pendulum module, power amplifier, encoders
- MATLAB (
setup_rotpen.mand other scripts for pole placement), Simulink, QUARC real-time - Quanser lab manual, course lectures, lab TA
- Documents
- Lab reports 4–6 (PDF) ↗
Quadcopter Stabilization & Navigation
- Description
-
Two labs on a Crazyflie nano-quadcopter. First, parameter estimation: we flew a scripted routine, logged 19 states (position, velocity, Euler angles and rates, accelerations and the four rotor speeds), mapped rotor PWM to angular velocity (ω = 0.04 · PWM) and set up a least-squares estimate in MATLAB for the moments of inertia and the thrust and drag coefficients. A sixth parameter, rotor inertia Ir, came out at about −1.1 × 10⁻⁷, which confirmed it is negligible in the flight model.
Second, navigation: we tuned PID gains on x, y and z to keep step-response overshoot under 10% (z: Kp = 2, Ki = 0.5, Kd = 0), then flew a multi-waypoint trajectory. Raising Kp by one destabilized the quad almost immediately. Raising Kd by 0.3 still tracked, but the flight was choppier. Finally we configured proximity-sensor obstacle avoidance in Python, setting the trigger distance and retreat velocity.
- My role
-
Member of a four-person team with Drew, Alex H and Alex K, working across the flight script, the MATLAB least-squares estimation, and the gain tuning and avoidance tests. We also changed the flight script to add a slow ascent and descent so the quad landed gently instead of cutting out mid-air.
- Skills gained
-
- System identification by least-squares regression from logged flight data
- Finite-difference estimation of angular accelerations (T = 0.1 s)
- PID tuning against an overshoot spec, and how sensitive stability is to Kp vs. Kd
- Reading and modifying flight-control Python; safe hardware test practice
SoftDebugging hardware under time pressure, team communication, test planning.
- Resources
-
- Crazyflie quadcopter, radio dongle, onboard proximity sensors
- Python flight scripts and PID tuning interface; MATLAB for data and regression
- Lab manual, padded flight area, course TA
- Documents
- Lab reports 7–8 (PDF) ↗
PLC Factory Automation Cell
- Description
-
Design and build in ladder logic on the Allen-Bradley Compact GuardLogix PLC a three-lab version of a conveyor cell which sorts parts, assembles them and discards any that are not complete. Map 17 standard and safety I/O connections between sensors and solenoid actuators, and develop the belt and chain conveyors' start/stop circuit using latches.
Latch inductive and reflective IR sensor states so that plastic rings are ejected into a hopper, while metal pegs continue. Up/down counters limit the hopper queue size to five rings, a rotary solenoid places one ring at a time onto a passing peg. At the discharge, a one-shot and a capacitive sensor latch an "assembled" bit, so that only a single peg or ring is ever rejected. The DCS emergency stop circuit latches the conveyors off, and does not let them restart until the E-stop button is reset.
- My role
-
As a member of a team of four, namely me, Alex H, Alex K and Drew, we were working on the actual cell program and testing its performance. In my case, the hopper counting started before the solenoid physically dropped a ring into the hopper, so the hopper would only ever hold a maximum of four rings. One-second TOF timer not only fixed the issue but also provided the correct timing for the rotary solenoid. We have used latch instead of a full FIFO reject logic and made sure it would never misfire.
- Skills gained
-
- Ladder logic: XIC/XIO, latches, one-shots, CTU/CTD counters, TOF timers
- Safety and standard I/O, dual channel stops with fault-present bit
- Finding race conditions between scan and actuator motion timings
- Inductive, IR-reflective and capacitive sensing of parts
SoftSafety behavior and testing of deliberate simplified design.
- Resources
-
- Rockwell Studio 5000; Allen-Bradley 5069-L320ERS2 Compact GuardLogix PLC
- Conveyor sorting / assembly trainer: conveyors, solenoids, sensors, E-stop
- Class latch examples, lab manual, course TA
- Documents
- Lab reports 9–11 (PDF) ↗
CyMOS CMOS Fabrication Process
- Description
-
Fabrication of a CMOS wafer by cleanroom processing using all six masks: p-well, PMOS source/drain, NMOS source/drain, gate oxide, contact vias, and metal. Each process is recorded on the process traveler along with measurements of the test wafer.
The field and gate oxides are fabricated using wet and dry thermal oxidation. The p-well and both the source/drain regions are fabricated using solid source diffusion of boron and phosphorous, followed by drive in diffusion. The predicted BOE etch times are obtained using calibration of oxide thickness on test wafer before each photolithography process. Aluminum contacts are deposited using e-beam evaporation, while interconnect is patterned by PAN etch forming an ohmic contact.
- My role
- To be added
- Skills gained
-
- Semiconductor fabrication process, from wafer preparation till sintering of metal contacts
- Physics of oxidation and diffusion in determining time and temperature of the processes
- Photolithography, wet etching (BOE, PAN), etch time prediction
- Cleanroom procedures and discipline in documentation
- Resources
-
- University clean room facilities: furnaces, mask aligner, wet benches, e-beam evaporator
- Six layer mask set, process traveler, calibration test wafer
- In progress
Skills
Software, hardware and theory I've used in the lab and on projects at Iowa State.
01Software & analysis
MATLABModeling · analysis
SimulinkBlock-diagram simulation- QUARCReal-time on hardware
PythonScripting · Crazyflie
CEmbedded systems
02Industrial control
Studio 5000Rockwell Logix IDE
- Ladder logicCounters · timers · one-shots
GuardLogix PLC5069-L320ERS2
- Safety I/ODual-channel E-stop
03Controls hardware
- Quanser SRV02Rotary servo · pendulum
CrazyflieQuadcopter platformArduinoMicrocontrollers
- SensorsInductive · IR · capacitive
- SolenoidsSorting-cell actuators
04Concepts
- State-spaceModeling · controllability
- Pole placementCompanion form
- PID tuningStep response · overshoot
- Least squaresParameter estimation
- Signals & systemsCoursework
- CMOS fabricationCleanroom · lithography
Reflections
General education
Cumulative
- Title
- A Reflective Journey: Navigating Your Cumulative Experience at Iowa State University
- Covers
- Moving from single calculations to whole systems through control systems and linear systems
- PV-ALPHASync, the senior design project automating solar-cell data analysis
- The ethical, economic and environmental side of engineering decisions
- Learning beyond the classroom: datasheets, documentation, simulation and asking for help early
- What I'd change, and where I'm headed: controls, automation and robotics
- Paper
EE 491
A Reflective Journey: Navigating Your Cumulative Experience at Iowa State University
As I get closer to finishing my undergraduate degree at Iowa State University, Reflecting on the conclusion of my undergraduate education at Iowa State University, I have found myself thinking about how I have changed compared to the beginning of my education at Iowa State University. Back then, I thought that being proficient in engineering was about knowing formulas, following certain steps and arriving at correct answers. Although I still appreciate the technical aspects, my experience at Iowa State has shown me that engineering includes more than just that. It involves problem-solving skills, learning to communicate with others, adjusting to failure, considering wider implications of engineering and learning throughout your life.
One of the major aspects that I have improved at Iowa State University is my approach to engineering problems. At the early stages of my academic career, my attention was focused on individual calculations like calculating the voltage, solving equations and making sure that the circuits worked correctly. Moving to the upper-level electrical engineering classes, I started considering full systems and interaction of their elements.
Control systems became especially important in my transition to a broader view of engineering. In the control systems class, I dealt with mathematical models, system response, feedback, stability and state space representation of systems. At the beginning, many of these ideas felt like abstract mathematics. Through simulations and design problems, however, I started seeing what the equations represented physically. Changing a controller parameter was no longer just changing a number in an equation. It could change how quickly a system responds, whether it overshoots, or whether the system remains stable.
Many of those concepts appeared to have been like abstractions of mathematics at first glance. However, through simulations and design problems, I learned to see how those equations worked in reality. By changing one of the control parameters, for instance, one might change the speed of the system, its tendency to oscillate, or affect stability in general.
I keep building on that foundation with my current course on linear systems. The topics include the state-space approach, stability, controllability, observability, state feedback, and estimation. Enrollment into the course itself was an educational experience too since I enrolled late in the semester. That is why I had to go back and fill in the gaps in my lectures and assignments, while everyone else kept moving forward. I worked with my professor, teaching assistant, and study group, while also reviewing the materials independently. It showed me that learning is not always done in perfect conditions; it requires seeing the gaps in one’s knowledge, finding the necessary materials, and working on them alongside other commitments.
The senior design project, PV-ALPHASync: Intelligent Lab Automation & Analytics for Next-Generation Semiconductors, gives me another chance to utilize these skills in an engineering setting.However, the project is still ongoing. Planned activities for the current semester and the next one include attempts to incorporate the elements mentioned above into
EE 491
an integrated process. In other words, all tasks should be optimized in such a way to make the whole workflow more efficient.
For the current semester, the project has already started using Python programming and experimental data related to solar cells for revealing techniques that could simplify the processes of data analysis and summarization. Currently, a task that is being accomplished involves developing a technique for analyzing data from several solar cells in order to obtain such characteristics as open circuit voltage, short circuit current density, fill factor, and power conversion efficiency. However, considering the developmental stage of the project, the main objective is to understand the relationship between the code used, the raw data collected and the experimental procedure itself.
Although the project is still in an early stage, it clearly demonstrates how many engineering disciplines could be interconnected. It is important not only to understand how programming works but also to understand electrical measurements and their meaning. Even if the code does not contain any errors, it can result in nonsense if calculations in it are based on wrong engineering knowledge.
As the next semester starts, it is expected that the project will move closer to the development of an integrated system that would include measurement setups, control software, data storing and visualization as well as analysis. The process will undoubtedly involve a lot of troubleshooting and debugging. Although the final results have not been achieved yet because of the developmental stage of the project, it already shows its capability to provide students with a more complex engineering problem.
PV-ALPHASync has provided insight into what engineering automation really means outside of textbook cases. The overall goal goes far beyond just automating one specific calculation. It involves thinking about measurement techniques, data organization, data analysis, and user interaction. A project such as this requires an approach that considers hardware, software, data, and users as parts of one united system.
Working with photovoltaics and semiconductors has increased my awareness of the socio-economic and environmental aspects of engineering as well. Working with renewable energy technologies is part of a larger task of creating alternative energy sources. Improvements in the fields of semiconductor materials, devices, their properties and characterization, and research efficiency can help create new energy technologies. While my personal contribution to this is a very tiny part of the overall process, I have learned that engineering research can serve environmental purposes.
Economic aspects are also important in this project. Automated repetitive measurements and data analysis can save researchers' time by eliminating tedious routine work. A more advanced system can be used for easier comparison of results, problem detection, and efficient laboratory work. My views on efficiency in engineering have been redefined – improvement of a process may mean not only increasing speed of a device, but also cutting down unnecessary efforts, increasing consistency, and being able to focus on analysis and design.
EE 491
Such experiences have helped me realize that engineering decisions do not happen in a vacuum. Engineers can design something technologically sophisticated, yet the decision needs to be practical, reliable, safe, and useful for its users. In other words, a technically brilliant solution can be a bad engineering solution if it is too expensive, wasteful, risky, or impossible to implement by users. Engineer ethics introduced me to some additional factors that affect engineering decisions. Before studying this course, I always focused on whether something works. Now, I know that engineers need to consider who and what are impacted by their decisions and what are the consequences of certain actions. Such factors as safety, environmental impacts, cost, reliability, accessibility, and unintended consequences should be taken into account.
Such aspects can also become global in nature. For instance, technologies, which are created in a specific place, can be used by another group of people in other places and with other resources, infrastructure, and requirements. The solution that is appropriate for the initial environment does not necessarily suit others. It has become obvious from my coursework that engineers are unable to completely separate the technical decisions from people and environments impacted by them.
Another big shift during my years in college was connected with information search. At the beginning of my education, I used lectures, lecture notes, books, and in-class examples. However, as the tasks were getting more complicated, I understood that the classroom information is just a start point.
Now, I use datasheets, technical documents, research papers, software documentation, my professors, teaching assistants, classmates, and other technical sources when I need to learn something new. I have done it while working with Python, MATLAB and Simulink, circuit components, semiconductor processes, and other engineering instruments.
Currently, my senior design projects show how the process of finding additional information is essential. Learning existing codes in Python and photovoltaic data requires me to go beyond the single class. I need to know the structure of the program, data organization, what each parameter in photovoltaics means and how similar characterization problems can be solved. I have not learned some of them yet; however, it becomes obvious that the ability to find and comprehend new information is the skill of an engineer.
The projects done personally help me to acquire such a skill. When I work with electronics and investigate the circuit or the device, there is no professor telling me the whole step-by-step list of instructions. I have to examine the schematics, technical characteristics, documentation, and examples and combine all these pieces of information. There can be situations where the initial decision fails and I have to solve it. Such experience shows me that independent learning is an integral part of engineering, but not something that I need to do for some class assignment.
As my learning strategies have changed, my ways of solving problems have also evolved. During the first years in college, I focused on remembering the procedure of solving example problems. If I met any problem that seemed to be similar to the example, I could easily solve it.
EE 491
However, the approach stopped working during upper-level engineering classes, because of the necessity to understand the problems and unusual way of presenting them.
Now, when I meet the problem, I try to identify its nature and concepts involved in it. I relate them to the familiar information and identify information gaps. Further, I fill these gaps using lecture information, external references, simulations, and discussion with other people.
Moreover, I realized that the ability to explain a concept or a process is a great way to test my understanding of it. I can calculate using mathematics, but the inability to explain why I am performing a certain action means that I do not understand the concept. It is especially helpful to discuss a problem with my classmates as discussing it requires me to explain my logic and thoughts verbally.
Simulation became another important aspect of learning as it allows comparing the theoretical predictions of a process with the simulated response. In controls, it helped me develop an understanding of the behavior of the system as it was easier to see the effect of changing certain parameters.
One of the things that I would change in my past college experience if I were starting it anew is building consistent study habits earlier. I would also try to seek help earlier. At the beginning of my studies, sometimes I tried to solve problems on my own as I thought that I should have been aware of their solutions.
I learned that engineering does not work that way. Every engineer lacks certain knowledge as there are always new things to learn. The ability to recognize when additional sources or help are needed becomes a part of solving the problem. Professors, teaching assistants, my teammates, the documentation, and other engineers can be used as such sources of information and not the last resort.
Moreover, I would explore control systems, automation, and programming earlier in my studies as these fields have always interested me the most. I enjoy problems where mathematics, software, hardware, and physical systems come into play. As a result of my studies in control systems and my current work in laboratory automation, I realized that this is the kind of problem I like to solve.
The experience at Iowa State University has also taught me the importance of effective communication. Engineering is not usually done by an individual and the Senior Design Project showed me that we depend on our teammates. I cannot expect that everyone in my team will automatically understand my progress and my approaches. I have to explain my results, document my decision-making, listen to the others and be ready to change my approach if someone comes up with a better idea.
It also changes depending on the audience. The way in which I explain my control system or photovoltaic measurements to my electrical engineering student teammate is going to be very different from the way I explain it to non-engineers. The ability to explain technical information
EE 491
effectively is another skill that I want to continue improving because even the best technical solution becomes useless when nobody understands it.
Considering my career after Iowa State, I am mostly interested in control systems, automation and robotics. I want to improve my knowledge of control theory and become a better programmer. My work in PV-ALPHASync is also showing me the possibilities of software and automation in engineering laboratories and workflows. During this project, I want to gain more experience with experimental data, automation software and large engineering systems.
I am also interested in learning more about embedded systems, real-time control, autonomous systems, machine learning and industrial automation as these fields combine many skills that I developed during my studies.
I know that my graduation does not mean that I stop learning. On the contrary, my college experience taught me that engineering knowledge grows incredibly fast. There will always be new software, hardware, algorithms, manufacturing processes and technologies during my career. I am going to have to read documentation, learn new systems, communicate with experts and learn new skills far beyond the end of my studies at Iowa State.
In general, I think that the greatest difference between my experience at the beginning of my college and now is that I became more comfortable with not having immediate answers. When I started college, I felt bad about not knowing the solution of a certain problem. Now I understand that uncertainty often is the beginning of engineering.
The experience at Iowa State has taught me how to take the problem that I do not fully understand, divide it into smaller parts, use the available resources, test different options, learn from mistakes and go further. I came to Iowa State University to learn how to solve engineering problems. Instead, I have learned how to continue learning despite the fact that I do not know the solution. I believe that this ability will be the most important thing I take with me into my remaining semesters at Iowa State and into my career as an engineer.
Ethics
What is an ethical engineer?
- Course
- CPRE / EE 2320 · Professor Fila · 15 September 2025
- Thesis
- “An ethical engineer is not simply someone who follows the book, but an engineer who thinks about the moral impact of their job and anticipates the consequences.”
- Frameworks
- Consequentialism → responsibility: weighing who a design's outcomes affect
- Deontology → integrity: keeping duties like the IEEE Code of Ethics, even under pressure
- Virtue ethics → empathy: character, and Harris's “non-technical excellences”
- Cases
- Aiwa's fab-lab safety system, the “Pizza Time” delivery-robot activity, and Bob Blaines refusing to sign off on an airbag design
- Takeaway
- “To me, an ethical engineer isn't just someone who makes things accurately but someone who designs with purpose, balancing knowledge against compassion and using skills to make good happen in the world.”
- Full paper
Christopher Cross
Professor Fila
CPRE 232
15 September 2025
What is an ethical engineer?
In the advancing world of technology, engineers are faced with ethical dilemmas that stretch further beyond technical problem solving. With the rise of AI and autonomous control systems comes the decisions that could affect a human’s life. Autonomous vehicles weigh the risk in real time, considering every millisecond and every inch that comes close to hitting another human. Climate changes on the planet require each design to be sustainable and long lasting. In all of these scenarios, only one question arises: what does it mean to be an ethical engineer? An ethical engineer is not simply someone who follows the book, but an engineer who thinks about the moral impact of their job and anticipates the consequences. While engineers are understood as being the bridge between the future and discovery, an ethical engineer holds the characteristics of responsibility, integrity, and empathy through consequentialism, deontology, and virtue ethics.
Consequentialism defines morality through results. Consequentialism stems from the word consequence, and engineers must consider what the end result of their design choice would lead to before they can act. When looking through the slides, it is understood that “ morally right action is the one with best overall consequences,” which some would view as an outcome oriented mindset. One can see the right action as having the best consequence by weighing the potential outcomes that come with making such a decision and whether it brings the best for a group of people from a utilitarianism viewpoint. Engineers on a daily basis will have to analyze
data, model results, make the best decision to ensure that their design is safe and cost, all while being efficient.
In class, we viewed an example of a junior engineer named Aiwa who was placed on a team designing a safety system at one of her company’s fabrication labs. Her team consisted of senior engineers and juniors with the goal of improving lab safety without harming “chip quality, process efficiency, or technician morale”. Her team came up with multiple designs and other alternatives to help improve safety, but the team was stuck on one option. That option was option 5, which was seen as the best option within her team due to it being the cheapest option and would produce the same quality and process efficiency. The only consequence that came with this option was that it would have fewer options than another choice that Aiwa was focused on. Aiwa wanted to pick option 12, which produced the safest outcomes but suffered from some consequences. A key consequence was that the solution was complex and created more time and demand, meaning that it would be more expensive to implement. From a consequentialist standpoint, Aiwa’s reasoning focused on the outcomes of picking each option as she weighed the potential harm versus cost and efficiency. Although her decision conflicted with the company’s interest, it highlighted a key aspect of consequentialist ethics, which requires engineers must evaluate the foreseeable future before they make a decision that could maximize benefit but also minimize harm, even when resources are limited.
From a personal standpoint, Consequentialism reflects the essence of engineering judgment. Thinking before we say and thinking before we do. Engineers, in most cases, rarely have the luxury that comes with having perfect data and results, and just have to design or find a solution by interpretation. An activity that comes to mind is “Pizza Time,” as no one was given any data or statistics on whether “Wall-E” would be the best option for delivering pizza or any
option in general. Most solutions were more focused on the positives, and the consequences were only given one bullet point when there were many underlying issues. When picking Domino's delivery robot, the main consequence was that it was driverless, but this was hinted at being an improvement. In a general sense, it would be an improvement, but it replaces the pizza delivery job and doesn’t help people who have a disability, as how are people who are in a wheelchair going to pick up the pizza from the curb conveniently? Another option was picking a delivery drone to help drop off the pizzas, which has the main drawbacks that it can only pick up two pizzas and does not have a thermal enclosure. Through this activity, we realized that it takes more to be an ethical engineer. Consequentialism is not just finding the design with the best numbers or results, but it is about understanding who is affected by those results. Every choice an engineer makes has winners and losers, benefactors and victims. Ethical engineers must look beyond having efficient designs and consider the human and environmental consequences of their designs. In a sense, consequentialism is tied directly to the virtue of responsibility. Engineers who are responsible must accept that every decision involves a cost and shapes the world in some way.
However, outcome-based thinking has its limitations. Sometimes, the right decision isn’t just one that produces the best results but the one that honors a duty or principle. Engineers are often placed in different situations where doing what they feel is right isn’t the most profitable or efficient solution. This is where deontological or the ethics of duty comes into play.
Deontological ethics emphasized duty and moral rules over outcomes. The framework of deontology is that the morality of an action should be determined if it’s wrong or right by whether it follows a set of rules. An average Joe version of the rules would be the law, as if someone were to cross the road without first walking on the sidewalk, may seem harmless if no
cars are coming, but it still breaks the law, making it non-deonotological. Within engineering, these “rules” go beyond laws and extend into professional responsibilities such as honesty, fairness, and respect for human safety. The IEEE code of ethics reflects this mindset, urging engineers to “hold paramount the safety, health, and welfare of the public” and “ to be honest and realistic in stating claims or estimates.”
For engineers, deontology means upholding these duties even when it’s difficult or inconvenient. For example, a civil engineer is working on a bridge and finds a design that doesn’t exactly meet safety guidelines. The civil engineer's sole responsibility is to protect the general public and ensure that the bridge doesn’t break, causing an accident. Even if reporting the flaw could delay the project or upset management, the deontological duty is to protect the public, as it comes first. An ethical engineer recognizes that following moral and professional obligations helps preserve both human life and the integrity of the profession. Deontology aligns closely with the virtue of integrity as it calls on engineers to act according to principle, even when no one is watching.
Deontology, in a way, serves as a counterbalance to consequentialism. While consequentialism focuses on achieving the best outcomes, deontology serves as a reminder for the engineer that certain principles, such as honest, fairness, and respect for life, should never be compromised. Even in the pursuit of good results, an engineer must care about another life and understand that efficiency doesn’t mean that the solution is necessarily good. Bringing the engineer to design with integrity. A case mentioned in class was “Airbags,” as Bob Blaines, a worker in a quality control department, was tasked with looking through the designs of airbags. Bob Blaines saw a design that he was unsure of was being pressure to sign off on by his manager. When he investigated the situations, he found them to be ambiguous and potentially
unsafe. Despite his lack of seniority, Bob refused to approve the design as he believed it would violate his professional duty to ensure safety. Even with his manager pressuring him to sign off anyway, he decided to follow his principles rather than compromise his morals and resigned from the company. This case highlights deontology in action as Bob stuck with his conscience rather than submitting to authority, jeopardizing his own job security. Bob’s choice reflects the virtue of integrity, acting right even when it comes with a personal cost. As a future engineer in industry, this case tells us that ethics is not only about producing results but also staying true to oneself. Upholding principles, even when under pressure it defines what it means to be an ethical engineer.
Virtue ethics shifts the focus from rules or results to the moral character of the person making the decisions. Instead of asking “what should I do?” or “what would happen if I did this?”, virtue ethics asks “what kind of person should I be?” This framework of ethics suggests that ethical behavior comes from developing good character traits known as virtues. Some well-known virtues would be honesty, empathy, courage, humility, and integrity. Within engineering, virtue ethics goes beyond simply following codes or calculating risks, but rather embodies who the engineer is as a person when making decisions.
Within the lecture notes, many arguments for virtue ethics are brought up. One argument is that virtue ethics “responds to the complex and social nature of engineering work and output”. Within engineering, it’s not just one person working to find a solution or making a decision; it’s often a team environment. Every engineering decision involves teamwork, uncertainty, and real human impact. Unlike following rigid rules or outcome-based decisions, virtue ethics prepares engineers to use good character and judgment to make ethical choices in complicated situations.
Virtue ethics also emphasizes practical wisdom, the ability to use moral understanding in conjunction with technical knowledge. In class, we covered Harris's “non-technical excellences,” which were cited as basic virtues for engineers, which are “techno-social sensitivity”,” respect for nature”, and “commitment to the public good”. Techno-social sensitivity is being able to foresee how technology affects society, the environment, and the conditions that help influence the evolution of technology. It reminds the engineer that every design has consequences beyond the lab or schematic. Respect for nature pushes the engineer to see themselves as part of a larger system rather than being exempt from it, helping to promote sustainability and environment awareness in every stage of a design. Lastly, Commitment to the public good means designing a solution that goes beyond the guidelines and considers how it can benefit the general public.
These virtues ask engineers to think about not only what can be built but what is essential. As an example, in the design of renewable energy schemes, a techno-social sensitive engineer would put into place the long term environmental and economic effects of the design. They could employ materials that reduce waste or work with local communities to make sure that the solution will help everyone equally. Similarity, showing respect for nature may be shown in design ot preserver ecosystems or diminishing carbon emissions. Commitment to the greater good may be shown in advocating for safety improvements, even if they low production or increased cost shown in the Aiwa example.
Virtue ethics calls engineers to bring together moral awareness and technical expertise to view engineering as a human-oriented profession rather than a mechanical one. It is these virtues that transform an engineer from a simple problem solver to one who solves with responsibility, empathy, and conscience.
In the end, being an ethical engineer is not just about solving technical problems; it's about the kind of person you choose to be when making those decisions. Consequentialism, deontology, and virtue ethics all shape what it means to act responsibly, honestly, and with empathy in the face of adversity. Consequentialism keeps engineers mindful of their duty for the effects of what they do and always concerned about who will be affected by what they create. Deontology is a matter of honor and moral duty, and it calls on engineers to do what they ought to do even when it is difficult or not popular. Virtue ethics is centered on sympathy and character, and it calls on engineers to care about people, communities, and the environment in all the decisions they make. Together, these philosophies suggest to us that engineering is not so much the act of making things. It's the act of making trust, safety, and a better world. To me, an ethical engineer isn't just someone who makes things accurately but someone who designs with purpose, balancing knowledge against compassion and using skills to make good happen in the world.
Works Cited
“Consequentialism in Engineering.” CPRE-EE 2320 Class 4-1, Iowa State University, 2025.
“Deontological Ethics.” CPRE-EE 2320 Class 2-1, Iowa State University, 2025.
“Virtue Ethics in Engineering.” CPRE-EE 2320 Class 3-1, Iowa State University, 2025.
Virtue Ethics Activities. CPRE-EE 2320 Class 3-2, Iowa State University, 2025.
IEEE. IEEE Code of Ethics. Institute of Electrical and Electronics Engineers, 2020, https://www.ieee.org/about/corporate/governance/p7-8.html