COMPUTER HARDWARE ENGINEER
Computer hardware engineers are responsible for the hardware configuration of a computer. They update systems by improving the components, layout and design of a computer for increased efficiency. They are expected to increase the speed and function of the computer. They also design the most compact and cost-effective model possible. Specifically, these professionals analyze existing systems to identify flaws or inefficiencies and use problem-solving skills, including both inductive and deductive reasoning, to make modifications that will increase the functions of the computer. Based on careful calculations and advanced knowledge of electronics, computer hardware engineers develop new designs in the existing components, such as microchips and circuit boards, and then integrate these components in a form fitting layout. These hardware engineers are responsible for the advances in computer systems. Computer hardware engineers are also responsible for related aspects of computer production. They are required to inspect modified computer systems ensuring that the product meets company standards. They also need to assess customer needs and offer clients technical support.
COMPUTER SOFTWARE ENGINEER
A computer software engineer (often called a software engineer or software developer) designs and writes programs to teach computers what to do. They must be able to think logically, solve recurring failures, and write code in multiple programming languages. Software engineers have the ability to stare at a computer screen for long periods of time, an incredible attention-to-detail, and analytical thinking skills. They typically work in an office setting. However, because every company, government, and nonprofit needs software experts to help their teams run efficiently, software engineers can work in an incredible variety of industries. Computer software engineering includes a variety of tasks and job descriptions, the first step aspiring software engineers may need to do is to research the field before pursuing education and training that will prepare them for a particular career path. The types of software that computer software engineers create, test, and evaluate include business applications, network control systems, operating systems, databases, middleware, and computer games. Software engineers may use a variety of programming languages. Since computer software engineers design new software programs, they should have a high degree of creativity. They should also have strong problem-solving, mathematical, and analytical skills, as well as the ability to work with abstract concepts. Communication skills are also important since they may interact with hardware engineers, industrial designers, manufacturing operations personnel, and end users to develop software products. An entry-level position, such as a computer support specialist or computer technician, can help prospective engineers develop these skills and obtain hands-on experience in the field.
Hope this helps Shrividya
John recommends the following next steps:
John and Bob have great answers to your question. My advise is understand the hardware first. I've been in the IT industry for over 35 years, I've managed both hardware engineers and developers. It's always beneficial to work with software engineers that understand hardware and how what software they are developing interacts with the hardware and are aware of existing software already installed on the hardware.
Hardware is more complex, intricate, and rather expensive proposition requiring design, manufacturing, compliance, and scale. It is more of a niche and somewhat requires one to be tied down in a traditional employement model.
I foresee software skills to be a differentiator for professionals and non-professionals (almost want to say consumers) in the high tech world of the near future.
In essence, the main difference between the two is the fact that hardware engineers work on developing the physical bits of a computer, and its peripherals. Software engineers, on the other, hand, use the products of hardware engineer's labor to design and implement new software.
1. Computer Hardware Engineer :
Computer hardware engineers research, develop and test hardware or computer equipment/components. They works in lab and develop new hardware components. they troubleshoots hardware problems. They have extensive knowledge of the physical components of computers, like circuit boards, processors, chips, and other electronic components. They typically works in lab.
2. Computer Software Engineer :
Computer software engineers design, develop, test software, maintains computer network and programs. They just work with a computer and perform their tasks by writing programs. They solves complex problems of real life by bringing any software solution for that. They have extensive knowledge of designing architecture, writing code by using programming languages, performing testing and deploying the product. They typically works in office.