Skip to main content

Books for software developers professionals

As a software developer you expected to write some code. The difference between a good and mediocre developer is a combination of knowledge and skills. I compiled a list of books that are necessary to all the developers.


At the very early stage of the career, the developer should learn the basics: how to structure his code, how to write small functions, what is desirable and what is not. I can suggest two books for people starting in software development: "Code Complete: A Practical Handbook of Software Construction" from Steve McConnell and "Clean code" by Robert C. Martin. The first one presents the basic rules on how to write good code, and the second one explores in greater depth the best practices for writing good code.



A also strongly suggest to learn about the design patterns that exists in the
software development. There are two well known books, the Design patterns : elements of reusable object-oriented software by the gang of four (Erich Gamma,‎ Richard Helm,‎ Ralph Johnson,‎ and John Vlissides) and the Head First Design Patterns by Eric Freeman,‎ Elisabeth Freeman,‎ and Kathy Sierra.






After you learn the basics of designing software, you have to move to the architecture side. There are two books that I liked most: the Clean Architecture: A Craftsman's Guide to Software Structure and Design from Robert C. Martin and Working Effectively with Legacy Code by Michael Feathers. Both are necessary if you are involved in big projects that require both new development and maintenance of the old code. As you are getting older you will also suggest having a look at The Mythical Man-Month: Essays on Software Engineering by  Frederick P. Brooks Jr. Old book, but provides a good view of the management of large projects.



Finally, we must not forget to train ourselves continuously. What are the best books about this practice out there? I will suggest two of them: The Clean Coder: A Code of Conduct for Professional Programmers  from  Robert C. Martin and The Pragmatic Programmer by Andrew Hunt and David Thomas. As a developer you never stop training and improving yourself. These two books can provide the directions required for a successful career, at least as a developer.



If you think these books are expensive, you can try buying them used or watch for discounts in big bookstores like Amazon using a third party site (like keepa.com).



An alternative solution is to sign up for O'Reily from learning.oreilly.com/signup/ although I found them expensive. I was using O'Reily when it was bundled with an ACM subscription for around 100 Euro, however after they stopped this offer, I will probably cancel the ACM subscription itself although they are still offering some books through skillport.

Popular posts from this blog

Processing Milky Way in RawTherapee

This text is an analysis of a video I did some months ago how to process photos of our Milky Way in RawTherapee. You can find the picture here . The photo was taken by wiegemalt. This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. Editing: Step 1: Fixing lighting The first thing someone notices when opening the picture is the extreme noise due to high ISO used (1600 - check the picture on the right). The first thought is to de-noise the picture, however, if you do that you are going to loose the details of the night sky. The main reason for the high noise is the additional exposure Rawtherapee adds when the 'Auto' button is pressed. In particular, the RT adds +2.4 EV to equalize the picture. This is Wrong! What we want is to keep the noise down and at the same time bring the stars up. That's why we are going to play with the Tone Curve of the RT. To adjust the light properly we increase the cont...

RTL-SDR Blog V3 Arrived

I recently bought a new RTL dongle that supports Direct Sampling that allows frequencies less than 40Mhz. In particular, the model I ordered was the RTL-SDR BLOG V.3. DONGLE that was really cheap compared with other solution. It still can't reach the quality of the other more expensive receivers, but it still a step up. The Dongle comes with a long external antenna. The RTL dongle. So, the question now is how better is from my old SDR. I did a check with the RTL power tool to see what is the difference. My old SDR Dongle (Fitipower FC0013) has coverage from 22 to 1100 MHz. The new Dongle RTL Blog V3 a has Rafael Micro R820T has coverage from 24 - 1766 MHz, but it also contains Direct Sampling that allows for High Frequencies. A word of warning here, the reception using Direct Sampling is very bad, especially if you connect the antenna without a filter band or/and preamplifier. I did experiments using the rtl_power, and the results showed much more gain for the ne...

Processing high ISO night images with RawTherapee

Earlier this year i did some videos ( here and here ) regarding how to remove the noise from high ISO raw images. I decided to write down the work flow with text and pictures to avoid the seeking the video in different parts. The original file is available here: https://discuss.pixls.us/t/playraw-high-iso-challenge/2778 and the image is taken by PkmXDec using a Sony A6000 + Canon FD 85mm f/1.8 S.S.C. + Lens Turbo II wide open. Out of the box, the picture shows a lot of noise and the color is too warm if we press the "Auto Levels". This happens because he ISO is 12800 and the lighting available: sodium light. In addition, the color noise has a specific noise pattern, as shown in the uniform part of the picture on the left. Initial RAW image conversion using the default options. 1. Our first approach is to change the Demosaicing method from the "RAW" tab. The "RAW" tab contains all the options responsible from converting the image from the RAW fo...