Today, I am sharing an interesting discussion I had with my fried Adrian from tacticalprojectmanager.com
Adrian wanted to help project managers to understand better how engineers think, so he came to me for recommendations and we recorded a video.
I thought this might be interesting for you as an engineer reading my blog as well, so here it is:
Here are some of the points highlighted in the video:
What are engineers most concerned about? How do they judge the quality of their work?
- Engineers are builders
- To build something you have to understand it
- Everything is a system around you
How do they judge the quality of their work?
Engineers know they did a good job when they reach the objectives that have been established. Engineers construct, repair, design or optimize all kind of products and systems.
When you have a problem to solve you have to define clear goals to reach. This system has to perform a specific action in a specific time with a specific accuracy
There are criterias which are more important than others:
Difference between a car that goes from 0-100km in few seconds and a cheap motor that will reach 100km after few minutes with a lot of vibrations.
For engineers the quality of their work is judged by the quality of the system that they are building. You recognise a good engineer by the projects he has done by himself.
What are engineers the most concerned about?
- That they are given the right tools to do the tasks they need
- Software of physical components and materials
- That the goals to reach are realistic and feasible
- All the technical details of the system that an non-engineer will probably never understand ;-)
Realistic Goals rather than big visions
By Goal I mean solving a very specific problem for a specific type of customer
Managers often see the job to be done in term of « Big vision » with « Challenging Goals» and they often put a list of fancy words together to create ideas for projects without really caring
- How difficult it will be (because they don’t know)
- They often want to accelerate everything so they can reap the rewards faster…
Engineers who know the current environment of work, the tools they have and the time:
- They have a more realistic vision of what will be needed
- What piece will have to be put together
- New AI system that can identify cats into a bunch of images
- The manager probably sees some kind of graphical interface in which the user can put photos and that will tell you if it’s a cat or not
- The Engineer see that to build this system he will need a virtual machine in the cloud, then he will need to develop a front end GUI and a Backend and he sees that he will need to install at least 5 different type of tools to perform image recognition in the backend. He knows that each of those systems and tools takes time to develop and learn and he can make an estimation that it will take him around 1 month to do all of that.
Project with specifications that keep changing
What is also very annoying is when the initial goal for a project keeps changing or some specifications are added on the fly over time.
Imagine that half month into the project, the engineer has built already the backbone of the system, the manager comes back and says that he also want this AI to be able to recognise cats in videos, not only images.
Engineer will be mad…
Micromanagement of cosmetic details is very annoying
people who don’t understand how the system work tend to look only at the appearance.
Cosmetic appearance of a software is often overrated. Engineers want results and data to be accurate and generated correctly and quickly before thinking about where such and such button should be placed and which colour should be used.
Pure engineers are generally bad designers…
What is the typical work process of an engineer?
Typical engineer work process:
- Clarify a problem
- Pinpoint problems and issues
- Design strategies to solve those issues
- Build an improved model
- Test Thoroughly
- Set up some goals and make sure the system operates in the right way
What are your top tips for PMs who want to be good friends with engineers and always be able to count on engineering’s support?
Listen deeply to what the engineer say the problem is
Try to understand the big lines even if you are not an engineer. Ask for simplifications and search jargon you don’t understand. Engineer like people who are cultivated and seek to understand
Don’t tell an engineer how to do his job or what tool to use
You can ask some justification to use a certain tool, software of system, but do not impose a specific tool to an engineer
Be as honest as possible on the specifications of the system and what is expected and try to limit the changes to a minimum during the project
Try to understand the big milestones of how the project has to be implemented by the engineer (Have him to tell him the steps).
Do not pressure him on the time, but rather try to understand what has been done in practice, what are the concrete issues, the bugs, etc and how you can help to solve.
Sometimes an advice from someone who doesn’t know the technology might help
Honesty is the way to go to create Trust with engineers
Ask questions, but do your homework before
If you want the respect of engineers, try to search and understand by yourself things you can find on google with a 5 min search
Engineers don’t know everything either but what engineers really hate is to say « I don’t know »
If you ask simple questions, you are basically asking others to do your job.
Show that you have a Growth mindset, that you are ready to learn
I hope you learned something useful out of this discussion.
If you have questions, please let me know by leaving a comment on this blog post, I read all of them!
Cyprien “Working better with Engineers” Rusu