Mobility Engineer 2030 – Part 11

Mobility Engineer 2030 – Part 11

Mobility Engineer 2030 – Part 11 - It is desirable that Automobile engineers know C++ and C since it is embedded in the programming of different microcontrollers in the vehicle system.

Mobility Engineer 2030 – Part 11

Mobility Engineer 2030 – Part 11 - It is desirable that Automobile engineers know C++ and C since it is embedded in the programming of different microcontrollers in the vehicle system.

Mobility Engineer 2030 – Part 11

What’s the problem?!

Pavan was very excited after learning about the drive-by-wire technology. He always adored Bharath's way of explaining new technologies. He made up his mind to use the drive-by-wire technology in the project. When he met Prof. Murugan, he expressed his interest in applying the drive-by-wire technology while developing the solution. Prof. Murugan told him that he should first analyse the challenge statement before moving ahead to design any solution. Pavan got a bit confused. In their last project review with Prof. Murugan, Pavan and Kavya shared some insights from their customer research. They identified that customers get confused with a lot of information about the variants and their different parameters while choosing one over the other. They discussed this with Prof. Murugan. Pavan thought that they already have identified the challenge statement to work on.

Prof. Murugan explained that most times problems that we encounter have multiple layers. To design a solution effectively one needs to dig deeper. A very effective process to dig deeper into a problem is the multi why analysis. The famous Japanese Automotive company, Toyota, developed this methodology and called it the Five why analysis.

The principle followed at Toyota is 'go and see'. They believe that it is impossible to come up with a solution sitting in a place different from where the problem has occurred. Often solving a problem at a superficial level only solves a symptom and does not eliminate the root cause of the problem. Thus, a problem solver should investigate a problem thoroughly before defining a niche challenge statement. When dealing with a problem, the solvers should start by asking ‘WHY’ to the problem statement. Though it may sound like a very simple thing to do, the power of asking the WHY is immense. It puts the solvers to apply their minds and come up with multiple answers. Solvers should then continue asking WHY to each of these answers. They should keep investing and digging deeper till the layer where they realize a countermeasure to the next WHY will require different domain expertise. By this method, problem solvers can identify the root cause of a problem and take countermeasures rather than solving only the symptoms of the main problem.

How a typical Multi Why Analysis Framework looks like
How a typical Multi Why Analysis Framework looks like

Both Pavan and Kavya felt their eyes opened after learning about the multi-why analysis method to investigate a problem and formulate a challenge statement. After doing a thorough problem analysis, they realized that their initial assumption of ‘Customers get confused with a lot of information about the variants and their different parameters’ was not correct. The underlying problem is that customers don't want to get overloaded by a lot of ‘in-showroom information’. They often feel uncomfortable with a persuading showroom executive around. However, customers do understand the importance of information as a form of guidance to help them make the right decision.

விகடனின் அதிரடி ஆஃபர்!
தற்பொழுது ரூ.800 சேமியுங்கள்! ரூ.1749 மதிப்புள்ள 1 வருட டிஜிட்டல் சந்தா949 மட்டுமே! மிஸ் பண்ணிடாதீங்க!Get Offer

Pavan begins his coding journey

Kavya sensed Pavan’s apprehension about learning computer programming and she decided to have a long chat with him. She intended to discuss a learning plan so that Pavan can overcome his mental barrier and start learning. She did some research to see what could be the easiest path for a mechanical engineer to learn programming and she also discussed with her professors. While most Mechanical or Automobile engineers are not familiar with writing computer code, the importance of computer programming in the automotive industry is steadily growing. Kavya started speaking passionately, “ If you have a good knowledge of programming, you can grow and excel in your domain of expertise. Programming can enable you to work much faster and come up with more creative solutions than others who do not know how to program. Luckily, there are programming languages out there that are accessible enough that you can learn the basics pretty quickly”.

Professor Murugan further convinced Pavan by telling him that, “Learning a user-friendly language like Python can help you to work smarter instead of harder. Since this language comes pre-equipped with all the scientific and mathematical tools we need, it’s easy to expand Python scripting into many use cases as your command over it grows. Python is easy to learn, it is open-source and the learners are supported by a large community of developers. Python is a handy tool for solving a wide variety of engineering problems. Python allows you to automate large calculations that can otherwise be too unwieldy or time-consuming”.

Pavan, Kavya, and Professor Murugan huddled up in front of a computer to discuss programming
Pavan, Kavya, and Professor Murugan huddled up in front of a computer to discuss programming

MATLAB: He suggested that Pavan could start with MATLAB which is a user-friendly matrix-based programming platform for engineers. Mechanical engineers require MATLAB to analyse problems in basic engineering mechanics, vibrations, control systems, and dynamics. Finite Element Analysis (FEA) deals with stiffness matrix and MATLAB makes this task easier. Robotics & Mechatronics - MATLAB helps to solve rational and translational matrices with ease, which is a major part of robotics. MATLAB’s Simulink is very powerful for simulation and model-based design.

Thermodynamics and CFD: Professor Murugan continued to speak, “Python's simple syntax and a vast library can help you quickly solve engineering problems and thus be efficient. Python has powerful libraries and numerical engines to help engineers in numerical analysis and advanced data analytics. With the many packages that come with Python, like NumPy and SciPy, you can use built-in functions to run numerical analyses faster and easier than ever before. With SciPy, you can integrate, plot, and even sparse without ever going through the hand calculation. This saves a huge amount of time. Thermodynamics numerical analysis is a great example; with the PYro tool, you can easily calculate “most common thermodynamic properties from temperature and pressure such as density, enthalpy, entropy, internal energy, molecular weight, specific heats, specific heat ratio, and specific volume.” Computational fluid dynamics also lends itself well to Python programming. PyCFD uses the language to write and solve partial differential equations, calculate fluid volumes with Navier-Stokes equations, and use the boundary element method for solving boundary value partial differential equations”. [2]

It is desirable that Automobile engineers know C++ and C since it is embedded in the programming of different microcontrollers in the vehicle system. It is important to manage these electronic circuits and have a clear understanding of how automation works in vehicles.

Kavya pitched in to say, “One must be aware of the use of simulation and design-related programs like CATIA, AutoCAD, or ANSYS. No matter which department you are in, you need to have a good idea of this software since it is an absolute necessity in the case of vehicle design and pictorial representations. It can help you to create the structure and design of a new product”.

Job Opportunities: Kavya detailed out the various jobs that a mechanical engineer, who is competent in computer programming, can prepare for:

  • Software Developers: Software development companies that develop mechanical engineering simulation-oriented software hire students who have a strong understanding of both mechanical engineering and programming

  • Data Scientist: A data scientist's role involves acquiring, managing, cleaning, formatting, storing, and interpreting data. A connected vehicle generates lots of data and the data scientist needs domain knowledge of automotive systems to extract useful insights from this data.

  • Automation Engineer: Automation is used in automotive manufacturing and also in different stages of automotive product design and development like prototyping, testing, and validation.

  • Mechanical Design Engineer: A mechanical design engineer uses structural analysis to create a blueprint for a model before beginning full-scale production. They must factor in the costs and design specifications concerning client details. [3]

Industrial developer boards: Professor Murugan reiterated that “You don’t have to become deep domain experts in programming or electronics as there are many resources available to practice electronics and programming skills. Bosch Rexroth, DIGI, Gramalto, Texas Instruments, and more have products like Arduino or Raspberry Pi, but designed for industrial applications. Industrial boards tend to be more robust, and can handle greater vibrations and temperatures. In addition, to help companies understand the IIoT (Industrial Internet of Things), many of these industrial boards come with multiple ways to connect including USB, Zigbee, Wi-Fi, and Bluetooth Low Energy. Bosch Rexroth has even developed a board with built-in sensors a designer might use “. [4]

Learning Resources: Pavan felt very confident about learning computer programming after listening to Kavya and Professor Murugan. He was glad that he had such good friends and mentors to boost his confidence. He decided to begin his learning by registering for three Coursera courses

- Introduction to programming with Python and Java specialization

- Introduction to programming with MATLAB

- Programming Fundamentals

All three Coursera courses offered free enrolment. He also found an interesting course listed in NPTEL - The joy of Computing. Pavan was convinced and decided to install the necessary software and try out his hand in programming. Most of the packages that Kavya mentioned were available in his department’s computer laboratory and he could always take the help of his friends, Kavya or Prof. Murugan in that order if he got stuck at any stage.

Bharath’s tryst with project management

Bharath had a bigger project at hand for the timely set up and roll out of the pilot micro-factory for making Electric Vehicles (EVs). He had promised his management and the outside stakeholders about a timeline when it would be ready for rollout. He wanted to make sure that his team is aware of all the basic concepts he had discussed with Pavan and Kavya for risk mitigation to ensure the success of the project. The Project Management Institute (PMI) has studied the common causes for project failure and published their findings. [5]

According to PMI, there are seven performance factors that do not receive sufficient attention in project management, leading to project failure. The seven factors can be grouped into these categories: People, Process, and Communication. Bharath thought of each category and what he could do in his CTO role to reduce the risk of failure.

  • Process factor: Process as a category has three factors for failure – i) lack of clear accountability for measured results, ii) lack of consistent process for managing unambiguous checkpoints, and iii) lack of consistent methodology for planning and executing projects. For the first factor, Bharath makes sure there was what was called a RACI matrix (Responsible, Accountable, Consulted, and Informed) and kept it updated at all times. For each major task in the project’s work breakdown structure (WBS), at least one and preferably one should be accountable or answerable, responsible to get work done, consulted for the expertise and kept informed. He made sure no decision was delayed because of his unavailability. There were clear checks and balances on who could take what decision to avoid delays.

  • Communication factor: Communication should ensure i) focus on business value, not technical detail, and ii) include the customer at each stage of the project starting from the problem definition at the beginning. Bharath made sure his team was aware of his story of how he moved on from the internal combustion engine (ICE) business to EVs and what was the business rationale behind launching it as a separate business unit. Time was of the essence as he had committed to timelines when EV manufacture can match ICE volumes which would eventually go down. The big picture he gave was that the project was not just for revenue and profitability, but for global good by replacing smoke-emitting vehicles with green EVs. Customers for Bharath’s factory were the internal business unit heads and sales teams.

  • People factor: For the people factor, PMI suggested two ways to ensure project success: i) management and motivation of people to ensure optimal project performance throughout its life, and ii) necessary tools and techniques for the team members to produce consistent results. Bharath ensured that he had a weekly stand-up project meeting at the construction site for two-way communication. He would share critical updates and leave the floor open for anyone to raise any issue without pointing fingers. He made sure the necessary project tracking software access was provided to every team member.

Bharath had asked the Project Manager Arun to show him what was the critical path for the factory setup. He was worried about the timely delivery and commissioning of the machine tools required. His gut feeling told him that their delivery would be delivered. He could think of ideas to manage the delay if he had an idea of the critical path. Bharath went in search of Arun to discuss the project plan in detail with him and most importantly the critical path.

Bharath having a stand-up meeting at the factory construction site with his team
Bharath having a stand-up meeting at the factory construction site with his team

Note: All opinions and points of view expressed above are those of the authors and do not represent that of any other individual or organization.


1 - 5 Whys - Getting to the Root of a Problem Quickly, Mind Tools

2 - Why Mechanical Engineers Should Embrace Python Programming, Jake Washam, October 6, 2020

3 - How Does Programming Help Mechanical and Automobile Engineers?

4 - Do Mechanical Engineers Need Programming to Survive?, Jeff Kerns, March 02, 2017

5 - Seven causes of project failure, Discenza, Richard and Forman, James B, 2007, Project Management Institute

Connect with Authors on LinkedIn:

Dr Shankar Venugopal | Ramachandran S | Sayantan Mukherjee