Looking to brush up on some skills? We asked our developers to suggest some books to help budding embedded and Linux kernel developers, and here’s what they recommended:
“Just automate it”
Pro Bash Programming
Scripting the GNU/Linux Shell
by Chris F.A. Johnson
“I suppose the age-old thought-sapping phrase ‘Just automate it’ applies. If you find yourself doing one thing a lot, it can probably be automated into a script. For example, if you are ‘grepping’ lots of values from many files (like test results) and you want them to be displayed in a table quickly on the terminal, you can write a solution for that. Or when you are doing testing and you need to create a specific environment many times, you can have a script that sets it up quickly without your attention required.”
—Mikael Heino, Software Engineer in Test
Get deeper under the hood
The Elements of Computing Systems
Building a Modern Computer from First Principles
by Noam Nisan and Shimon Schoken
“For quite a long time in my career as a software engineer, I had a very vague idea how computing systems work at levels below the application software that I was working on. Studying such topics as ‘Operating Systems’ or ‘Instruction Set Architecture’ seemed like an enormous task to me. Recently, I came across the book ‘The Elements of Computing Systems’ and the corresponding Nand2Tetris course. The idea of the course is to build a computer (both hardware and software) by yourself from the very basics and learn a little bit about every level of computing systems in the process.
As the name suggests, the course starts with an introduction to Boolean algebra and logic gates—the most basic devices that are used to build all computers today. Then we continue with building more complex circuits, including the CPU. After we implement all the necessary hardware for our computer, we start writing software for it: assembler, compiler, virtual machine, operating system, and finally, applications. At the end of the course, we have a computer that is able to run games such as Tetris!
Every chapter in the book covers a particular topic and includes a practical exercise where we implement some piece of hardware or software for our computer. To a certain extent, they resemble actual hardware and software found in real computers. As a result, operating systems, compilers, and assembly languages are no longer a black box to me, and I am not afraid to look under the hood if a need arises!”
—Rostislav Skudnov, Software Engineer in Test
If these topics interest you, we’re always on the lookout for great talent! Check out our careers page for open developer positions.
Tiff Rossi
Tiff brings over 15 years of technology marketing experience to Tuxera as our VP Marketing. Before joining Tuxera in 2016, Tiff wrote about technology, consumer electronics, and industrial tech for Nokia, Microsoft, KONE Corporation, and many others. Around the office, we know Tiff for their love of geek culture, console gaming, and adoration for Cloud City’s Baron Administrator, Lando Calrissian.