{"id":97,"date":"2017-10-04T23:50:04","date_gmt":"2017-10-04T20:20:04","guid":{"rendered":"http:\/\/haghiri75.com\/en\/?p=97"},"modified":"2017-10-04T23:50:04","modified_gmt":"2017-10-04T20:20:04","slug":"how-to-be-a-hardware-engineer","status":"publish","type":"post","link":"https:\/\/haghiri75.com\/en\/how-to-be-a-hardware-engineer\/","title":{"rendered":"How to be a hardware engineer"},"content":{"rendered":"<p>A computer, is made up of hardware and software. Lots of people like to write and develop software, so the internet is full of topics like &#8220;How to be a software engineer&#8221; or &#8220;how to write a computer program&#8221; and also, there is a lot of great and free tutorials on programming languages and frameworks. But, hardware engineering guides on the internet, are not as many as software&#8217;s.<\/p>\n<p>In this post, I really want to write about &#8220;How to&#8221; be &#8220;a hardware engineer&#8221;. As it&#8217;s my favorite field in computer science and I study it in the university. So, if you want to be a computer hardware engineer, just read this and start searching about your favorites.<\/p>\n<h2>Definition<\/h2>\n<p>A computer engineer in general, is an engineer who designs, develops and tests computers. Both hardware and software. But, there are different types of &#8220;Computer engineer&#8221;. For example, I am a hardware engineer, my friend is software engineer, my other friend is network engineer, etc.<\/p>\n<p>So, a hardware engineer is a computer engineer, who knows electronic and electrical engineering (I know, some of electronics\/electrical engineering courses are taught to students of software engineering). But, if we go further, we&#8217;ll find that the &#8220;Hardware Engineer&#8221; is who &#8220;combines computer science and electronics&#8221;. So, this is what he\/she does, learns computer science and electronics, then combines them and makes computer hardware.<\/p>\n<h2>Expertise and Fields<\/h2>\n<p>There are these fields in hardware engineering, and people can learn one of them to find a job or start their own business.<\/p>\n<ol>\n<li><strong>Computer architecture<\/strong> :<br \/>\na computer architect, is a computer scientist who knows how to design logical level of a computer. In my opinion it&#8217;s the most-needed role in a team who design a new computer. When you study computer architecture, you learn mathematics behind the computer hardware, and also you learn how to design different logical circuits, and connect them together and make a computer at the logical level.<br \/>\nSo, if you love mathematics, and love computer programming and in general, computer science, this is your field. to learn more, you also can read my book (<a href=\"http:\/\/haghiri75.com\/en\/microcontrollers-design-and-implementation-released\/\" target=\"_blank\" rel=\"noopener noreferrer\">link<\/a>)<\/li>\n<li><strong>Digital Electronics<\/strong> :<br \/>\nThis one, is actually my favorite. Digital electronics is about implementation of logical designs. So, with digital electronics, you can make what you have designed using logic and mathematics.<br \/>\nBut for this field of hardware engineering, you need to know electronics and electrical engineering. So, if you like digital electronics, start studies on electrical engineering today!<\/li>\n<li><strong>Digital Design<\/strong> :<br \/>\nThis part, is also my favorite, and I really like it more than digital electronics. It&#8217;s about simulation and synthesis, so you can really &#8216;feel&#8217; the hardware you have designed.<br \/>\nBut how is it possible? The &#8220;Digital Designer&#8221; is a person who&#8217;s familiar with simulation and synthesis tools. Such as hSpice, LTSpice, ModelSim and languages such as Verilog or VHDL. It&#8217;s about design and programming, so if you&#8217;re a software engineer who wants to learn hardware engineering, this field is yours! But, usually hardware engineers learn this field after learning digital electronics.<br \/>\nIf you like to be a digital designer, start improving your programming and algorithm design today, it&#8217;s important to know how to code, and how to write an algorithm.<\/li>\n<li><strong>Microcontrollers and Programmable devices<\/strong> :<br \/>\nThis field is not actually &#8220;Hardware Engineering&#8221;. But, it&#8217;s still dealing with hardware. Actually, it&#8217;s not &#8220;design and implementation&#8221; of the hardware, it&#8217;s &#8220;making hardware usable&#8221;. When you program an ATMega32 chip for example, you make a piece of silicon usable for driving motors and sensors.<\/li>\n<li><strong>Artificial Intelligence <\/strong>:<br \/>\nAnd finally, the common field! Artificial intelligence is the widest field in computer science. It&#8217;s applicable and functional in all fields of computer science.<br \/>\nBut how we can use it in hardware engineering? We can use AI to improve our hardware, for example our architectures can be analyzed by AI. We can make a hardware which has AI to solve problems (a.g. ZISC processors). And finally, we can use AI in Signal processing, which is usually referred as a field of hardware\/electronics\/audio engineering.<\/li>\n<\/ol>\n<h2>Start point<\/h2>\n<p>I tried to explain start points in previous part, but now, I explain general start point. To learn hardware engineering, you need to know discrete mathematics and logic. Also, you need to know how to show boolean functions like electrical circuits (a.k.a logical circuits). After learning these, you need to get familiar with computer architecture, and at the end, you can choose your favorite field. I have experiences in all fields (except AI and Signal processing) but my most favorites are digital design and digital electronics.<\/p>\n<p>It all depends on you, to choose which field, but you need those basics and fundamentals to understand it. Also, if you improve your knowledge about computer science in general, you will be a successful computer engineer!<\/p>\n<p>Good Luck \ud83d\ude42<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A computer, is made up of hardware and software. Lots of people like to write and develop software, so the internet is full of topics like &#8220;How to be a software engineer&#8221; or &#8220;how to write a computer program&#8221; and also, there is a lot of great and free tutorials on programming languages and frameworks. &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/haghiri75.com\/en\/how-to-be-a-hardware-engineer\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;How to be a hardware engineer&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_newsletter_tier_id":0,"footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[2],"tags":[11,13,22,6,7,5,12,15,24,25],"jetpack_publicize_connections":[],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8BkKn-1z","jetpack-related-posts":[{"id":29,"url":"https:\/\/haghiri75.com\/en\/how-to-make-a-computer-program\/","url_meta":{"origin":97,"position":0},"title":"How to make a computer program","author":"prp-e","date":"April 12, 2017","format":false,"excerpt":"This is a clich\u00e9 in IT and computer related blogs. You can find at least one topic on How to make a computer program in every blog written by a computer expert (scientist, engineer or experimental expert). So, I also decided to write about it. In this topic, I'm going\u2026","rel":"","context":"In &quot;Computer Architecture &amp; Programming&quot;","block_context":{"text":"Computer Architecture &amp; Programming","link":"https:\/\/haghiri75.com\/en\/category\/computer\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":86,"url":"https:\/\/haghiri75.com\/en\/importance-of-iot\/","url_meta":{"origin":97,"position":1},"title":"Importance of IoT","author":"prp-e","date":"August 23, 2017","format":false,"excerpt":"For the last 25 years, a ghost is flying over our world, it's the ghost of \"Internet\". From 80's, internet became one of the most used tools for international communications, such as knowledge sharing. So, a lot of people started using internet to share knowledge, to do research or even\u2026","rel":"","context":"In &quot;Computer Architecture &amp; Programming&quot;","block_context":{"text":"Computer Architecture &amp; Programming","link":"https:\/\/haghiri75.com\/en\/category\/computer\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":16,"url":"https:\/\/haghiri75.com\/en\/microcontrollers-design-and-implementation-released\/","url_meta":{"origin":97,"position":2},"title":"Microcontrollers, Design and Implementation released!","author":"prp-e","date":"April 4, 2017","format":false,"excerpt":"It was about two years I started serious study on computer architecture. In these years, I learned a lot and I could simulate and implement a microprocessor, similar to real ones. In Summer 2016, I decided to share my experience with others. Then, I started writing this book. This book\u2026","rel":"","context":"In &quot;Computer Architecture &amp; Programming&quot;","block_context":{"text":"Computer Architecture &amp; Programming","link":"https:\/\/haghiri75.com\/en\/category\/computer\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":44,"url":"https:\/\/haghiri75.com\/en\/reverse-engineering-of-8086-from-a-calculator-to-the-most-used-processor\/","url_meta":{"origin":97,"position":3},"title":"Reverse engineering of 8086, from a calculator to the most used processor","author":"prp-e","date":"April 22, 2017","format":false,"excerpt":"If you have a laptop or desktop computer, you probably use a 8086-based CPU, or one implementation of x86 family to be exact. For example, I have a Lenovo laptop with a Core i5 CPU, which is based on x86 architecture. In this article, I want to talk about x86\u2026","rel":"","context":"In &quot;Computer Architecture &amp; Programming&quot;","block_context":{"text":"Computer Architecture &amp; Programming","link":"https:\/\/haghiri75.com\/en\/category\/computer\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":202,"url":"https:\/\/haghiri75.com\/en\/severus-does-the-magic\/","url_meta":{"origin":97,"position":4},"title":"Severus does the magic","author":"prp-e","date":"September 11, 2022","format":false,"excerpt":"It is not too long after I told you that I was too cheap to pay $10 a month for github copilot and I came up with the idea for Severus, my own AI pair programmer. It was something that went boom. My blog usually doesn't have more than 20\u2026","rel":"","context":"In &quot;Computer Architecture &amp; Programming&quot;","block_context":{"text":"Computer Architecture &amp; Programming","link":"https:\/\/haghiri75.com\/en\/category\/computer\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/haghiri75.com\/en\/wp-content\/uploads\/warforged_wizard_by_captdiablo_de2mwm8-pre-1024x724.jpg?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/haghiri75.com\/en\/wp-content\/uploads\/warforged_wizard_by_captdiablo_de2mwm8-pre-1024x724.jpg?resize=350%2C200 1x, https:\/\/i0.wp.com\/haghiri75.com\/en\/wp-content\/uploads\/warforged_wizard_by_captdiablo_de2mwm8-pre-1024x724.jpg?resize=525%2C300 1.5x"},"classes":[]},{"id":161,"url":"https:\/\/haghiri75.com\/en\/analyzing-components-of-an-electric-circuit-with-yolov5\/","url_meta":{"origin":97,"position":5},"title":"Analyzing components of an electric circuit with YOLOv5","author":"prp-e","date":"January 14, 2022","format":false,"excerpt":"In past recent weeks, I did a lot with YOLOv5. A few weeks prior to this article, I wrote an article on why I love YOLOv5 and later, I did a project with YOLOv5 which was somehow a try for making something like symbolab or similar software. I explained that\u2026","rel":"","context":"In &quot;Computer Architecture &amp; Programming&quot;","block_context":{"text":"Computer Architecture &amp; Programming","link":"https:\/\/haghiri75.com\/en\/category\/computer\/"},"img":{"alt_text":"Electric Circuit component analysis using YOLOv5","src":"https:\/\/i0.wp.com\/haghiri75.com\/en\/wp-content\/uploads\/Screen-Shot-2022-01-13-at-1.05.41-AM-1024x583.png?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/haghiri75.com\/en\/wp-content\/uploads\/Screen-Shot-2022-01-13-at-1.05.41-AM-1024x583.png?resize=350%2C200 1x, https:\/\/i0.wp.com\/haghiri75.com\/en\/wp-content\/uploads\/Screen-Shot-2022-01-13-at-1.05.41-AM-1024x583.png?resize=525%2C300 1.5x"},"classes":[]}],"_links":{"self":[{"href":"https:\/\/haghiri75.com\/en\/wp-json\/wp\/v2\/posts\/97"}],"collection":[{"href":"https:\/\/haghiri75.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/haghiri75.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/haghiri75.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/haghiri75.com\/en\/wp-json\/wp\/v2\/comments?post=97"}],"version-history":[{"count":10,"href":"https:\/\/haghiri75.com\/en\/wp-json\/wp\/v2\/posts\/97\/revisions"}],"predecessor-version":[{"id":107,"href":"https:\/\/haghiri75.com\/en\/wp-json\/wp\/v2\/posts\/97\/revisions\/107"}],"wp:attachment":[{"href":"https:\/\/haghiri75.com\/en\/wp-json\/wp\/v2\/media?parent=97"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/haghiri75.com\/en\/wp-json\/wp\/v2\/categories?post=97"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/haghiri75.com\/en\/wp-json\/wp\/v2\/tags?post=97"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}