
A Senior Software Developer and avid reader, Ruben Markosyan, who also happens to work at software development company VOLO, has put together a reading list for beginner software developers with the aim of helping them become better professionals and advance their careers.
Not too long ago a budding young professional asked me to recommend him some books that would be useful to a software developer that is just starting out in the field. He was looking for materials that would not only give him a solid knowledge base in programming regardless of the language, but that would also be easy to digest.
Now if you run a “must read books for programmers” search in Google, you will inevitably come across lists that will include books like Uncle Bob’s, aka Robert C. Martin’s, Clean Code, Clean Coder, and Clean Architecture; Steve McConnell’s Code Complete; Fowler and Beck’s Refactoring; Hunt and Thomas’ The Pragmatic Programmer; Gamma, Vlissides, Johnson, and Helm’s Design Patterns; Cormen’s Introduction to Algorithms and others. While all of these are excellent, to a beginner they might seem a tad intimidating due to their sheer volume and the depth of the subject matter that they cover. An exception to this is Clean Code — an outstanding book that you can enjoy after familiarizing yourself with the basics of programming.
After having thought long and hard about this, I compiled a list of 5 books. Once again, these will be most useful for beginners and those whose educational background isn’t in CS. While experienced software engineers could also find these useful and enjoyable, they would be better off picking up something from the list above.
So, here we go, in no particular order of importance.
Code takes you through the inner workings of a computer — how it “thinks” and how it works. It starts off by introducing the general concept of “codes” and the encoding and decoding of information through the Morse code and the Braille alphabet all the way to the binary system and Boolean algebra.
The entire book is illustrated and simple to the point of genius. It makes you understand what goes on “under the hood” of computers and other smart machines by starting with walking you through how to make a rudimentary calculator to eventually teaching you how to build a computer from scratch (with your bare hands) and run CPUs.
If you’ve ever met someone who doesn’t just know computers, but “feels” them, you get an acute sense that this person has such a deep knowledge and understanding of inner computing processes that it’s almost intuitive for them. This is exactly what Code sets out to accomplish for its readers.
I see it as an essential preliminary step in achieving a fundamental understanding of the concept of codes as well as the inner structures of computer hardware and software.
This is the shortest book on the list in terms of the number of pages, yet it covers the widest breadth of the various fields in Computer Science. I personally see it as a great condensed set of notes on CS that help you easily grasp the concepts of the subject and fill any knowledge gaps you may have. While it does skip over some nuances due to its concise nature, the book masterfully hits all the main notes of the principles of computation without overly confusing its readers with professional jargon. The author explains everything as he would explain it to a non-technical person. The entire book is simple and to the point.
I see it as an excellent choice for beginner programmers and especially those taking online courses like “How to Become a Programmer in 3 Months and Get Hired” — these will never cover the fundamentals of CS like Filho’s Computer Science Distilled.
Continue reading here >> https://medium.com/@volo_armenia/reading-list-for-beginner-programmers-a69e16708d0f