What are the skills that hardware engineers need to learn these days, how much can you learn from software engineers, and what else do you need to know if you want to become a modern hardware engineer today? Join us in this episode of Tech Talks where Marko Rusov shares valuable lessons and insights he learned working as a hardware engineer at Zühlke.
The industry that can help hardware engineers learn the most
Hardware and software industries differ from one another, but the general trend is that the world of hardware design is taking on ideas, principles and methodologies used in software development – case in point – agile methodologies.
Hardware engineers are usually against any change, because like in mechanical engineering - we learned to follow a set of strict guidelines when developing products. The stakes are high when you are developing, for example, a medical device.
However, new methodologies allow us to modify the workload without affecting the product guidelines themselves – which is a great thing, and one all hardware engineers need to understand.
Challenges of developing a product from scratch
The greatest challenge is finding the starting point: analyzing and gathering the necessary information before you even start the actual work. Fundamental data collection about the product is the first, and a very important step. The research that comes prior to the work itself is as important as the work on the hardware. But the best way to apply new information is while working on a project with a client - in a real environment which isn’t a test scenario. This is the fastest way to obtain new knowledge because nothing becomes obsolete anymore - things are quickly updated and you need to be out there at the frontlines learning all the new stuff just as it is.
Hardware vs. Software work dynamics
Mistakes can be reverted in both cases. But the point is that with software development, you are putting in the hours of a person to correct the mistake. If a mistake is made with mechanical engineering and the molds for example – they are already finished, you won’t be only putting in the hours to correct the mistake. It’s a whole process that needs changing, and that includes other companies and their employees as well - so the stakes are higher.
Agile delivery methodology (ADM) can be applied to hardware development to reduce that pressure and remove confusion while postponing important decisions for a later phase in the project. This is where people with years of experience come into play – as they are the ones pushing for the ADM to be implemented. When it comes to problem-solving - if we’re talking about machine software, for example, both the engineers and software devs need to work together to gain an understanding of the machine and what it does - to comprehend both its physical and software limitations, and to understand its overall structure. Once we have reached this understanding, the approach is basically similar, you just work with different tools. Later on you can decide whether you will use Python for the writing part or Solidworks for the visualization, those steps don’t make that much of a difference.
All modern hardware engineers need to learn this skill
Communication is of the essence in any project. What you will learn from experienced colleagues is that the attention you give during someone’s presentation can really boost their confidence. So you need to listen carefully. It’s not only beneficial for you, but for others as well.
Hardware developers tend to focus too much on technical problems. They want to make things perfect – even if the product is working and the client is content! If you do this, that means that you’ve actually put more time into that technicality instead of putting that energy into assisting a junior member of the team or advising them on a broader scope of the product.
It is often the case that the engineers have a need to be detail-oriented, so they start working without a need for a broader view.
But a wider perspective is necessary with product development because you are developing something that should work within a given system. If you don’t see the bigger picture of the system you are working in, the technical characteristics won’t be of much use. So one of the most important skills all modern hardware developers need to learn is soft skills! You can easily work on your technical skills – because oftentimes that is in your nature. But getting out of that “hardware mindset” and tunnel vision is a problem that all modern hardware devs need to work on.
Best advice for young hardware engineers
The teacher comes when you are ready to learn. Trust me, once you bite into a certain topic, you start noticing other people doing it, other people talking about it, and you just understand that it’s not a small matter and that you are not the only one dealing with it.
Oh, and one more thing…
It doesn’t matter how good of an engineer you are; you can’t achieve much alone. I’ve never come across people in my work environment who made it without help.