If you love designing logic circuits and solving interesting problems using math and physics, you may be interested in a career in computer hardware engineering. However, this field is expected to grow much more slowly than average over the next 10 years because most of the advances in computer technology are taking place in software engineering. There are still jobs for microprocessor designers and hardware device engineers, but it’s difficult to find a job without software engineering skills.
The Role of Hardware Engineers in Computer Architecture
To work in computer hardware or systems engineering, you need professional-level software development skills, and the best approach is to learn low-level programming in Assembly language. With these skills, you can design hardware as well as the software that works with it, and there are many jobs available in this field. Just about every industry has problems that need to be solved with computer systems, and because these custom computers typically have only one purpose, it’s not feasible to hire engineers solely to design the hardware.
The reason developments in computer hardware are increasing more slowly than in software is that there is simply more room for algorithms and programming languages and frameworks to become more efficient. When software becomes more efficient, the result is the same as when hardware becomes cheaper and more powerful. Consider a program that executes in polynomial time using currently known algorithms; to process 100,000,000,000 input integers, it takes a runtime on the order of 100,000,000,000^2, or 1.0 x 10^22, clock cycles. Maybe this runtime translates to about 17 minutes. However, with an algorithm that solves the same problem in linear time, the program only has a runtime on the order of 100,000,000,000 clock cycles and might return in a matter of four minutes or so. To get this kind of improvement with faster hardware would be more expensive for companies to develop and for people to buy, and it still wouldn’t be totally efficient without the improved software.
The State of Computer Hardware Engineering
Hardware engineering jobs with companies like Intel, AMD and Nvidia are not very abundant, and it’s more likely that you’ll be working for a company designing hardware for enterprise rather than consumer use. The microprocessor designers working for Apple, Samsung, Qualcom and other name brand device makers are the type of people who were born to be hardware engineers and enrolled in schools like Stanford, MIT and Berkeley. It’s not a shrinking field, but it’s not growing rapidly.
If you haven’t decided on a major yet, you’d have many more opportunities in your career by choosing computer science or computer systems engineering. Traditional engineering jobs like the ones held by engineers in the 20th century are being replaced by software engineering jobs, and the biggest area of development, as you might imagine, is in mobile and networking software. In the technology market, the demand is for smaller, faster hardware with longer battery life, and for the most part, the answer to this demand is more efficient software.
People are increasingly relying on technology to solve everyday problems, but at the moment, there are relatively few significant developments to be made in hardware technology. If you’re interested in computer hardware engineering, you should definitely learn as much computer science as you can while in college.