Knowing Computer Hardware will Help You Stand Out as a Software Engineer
Do things that your competitors are not doing
If one industry after the stock market is so high on speculation, it would be the software world. We are constantly running behind shiny objects, adding technical debts just because we want the latest tech fashion in our wardrobe.
Our interviews are about implementing recursive algorithms and inversing strings because that’s what the tech giants do, and we don’t know how to implement our own process.
If you don’t want to follow the herd and want to build a career that fits your lifestyle, try to do things others are not doing.
While the world is running behind the next big thing in technology, you can create your uniqueness by building a fundamental understanding of computers, computer networks, and programming basics.
Do you know how computers work? What is memory, and what does the CPU do? What are the components of a computer?
The better we understand a computer on the hardware level, the easier it is to understand how our compilers and interpreters are designed.
Do you think any Architect could have designed Burj Khalifa? I think only a mind that has a strong foundation can extend the knowledge to build something that unique. The same rule applies to any field.
We are not striving for good we are aiming for the best.
So how do we start to make sense of a computer? By building one.
Before you scoff at the idea of building a computer, let me break the good news. You don’t need expensive hardware parts to build a computer for learning purposes. You can use a simulator instead.
Nand to Tetris on Coursera is an excellent (and I believe the only one) course that helps to build a computer step by step. The course is free if you do not want to buy a certificate at the end.
Here’s the link - https://www.coursera.org/learn/build-a-computer
(I’m not affiliated with this course, but I completed the free version a few years back).
Yes, this course is challenging, especially to start with.
Something as simple as designing a NAND and AND gates was challenging to me initially.
Don’t let the complexity stop you from moving ahead; you will thank yourself for getting the max out of it. Even if you don’t want to go through all the steps, it would be beneficial to go through the syllabus outlined for the first 3 weeks.
Let me know how it goes!