In this list I try to include some of my favorite resources. This list is occasionally updated.
- Code Complete 2: A Practical Handbook of Software Construction, Second Edition by Steve McConnell is unbeatable classics on software development.
- A Tour of C++ by Bjarne Stroustrup is a perfect balance between brevity, depth and the language essential elements.
- Soft Skills: The software developer’s life manual by John Sonmez - great resource on many aspects of software developers lifestyle and life management. From self-marketing to health and retirement - it covers varying topics.
- Design Patterns by Erich Gamma et al. - covers the design of object-oriented software and examines how to investigate requirements, create solutions and then translate designs into code.
- foonathan::blog() - some interesting articles from a C++ library developer.
- KDAB’s blog - blog by developers of Qt on C++, Qt, OpenGL and related tech news.
- modernes C++ is a Rainer Grimm’s blog with in-depth modern C++ articles.
- Engineering impact is a GitPrime blog on trends, interviews and practical advice on leading effective engineering teams.
- Land any job you want - an unconventional career advice blog. In my opinion, one of the best career advice on the Internet. The blog often highlights different techniques on how to get way before any other candidate when applying for a job position. The author provides lots of real examples and step-by-step instructions on how to land your perfect job.
- Communication for nerds is a great blog on improving your social skills in a work environment. Real life advice and scientific backups make it a real gem.
- Linux Voice - a UK-based magazine on everything Linux: security, applications, open source, reviews and even coding tutorials. The best thing about Linux Voice is that it becomes freely incensed after nine months, i.e., it can be viewed and downloaded for free after the 9 months since the issue.
Open source projects
List of project from which I learned a lot about software architecture and best coding practices:
- Charm is an excellent source of Qt-based application. Very valuable CMake files and general usage of Qt classes.
- OpenMVG - an open source library created by one of my previous colleagues. From there I learned a lot about continuous integration tools that can be used together with github.
- QOwnNotes is a multi-platform project with a neat structure and wide range of CI tools incorporated.