Reading is considered one of the most well-known means of knowledge and gaining more information regarding the domain you aspire to know more about.
Like every profession, Software engineers can form their awareness, have their own experience and be distinguished in their career through team-working, cooperation and sharing experiences. Reading also has a role in career development as it gives you a chance to gain others’ experiences!
So, let us introduce a set of precious books on programming and soft engineering to you.
Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin
This book is divided into three main Chapters, the first one talks about the principles of writing clean code, the second one presents many gradually complex case studies and the third chapter contains a list of heuristics. We can say this book describes how to think when you write and read a clean code.
Cracking the Code Interview: 189 Programming Questions & Solutions
In this book, the Author introduces his experiences as a coach and an interviewer to help and teach you what you really need to be a professional software engineer..
Eloquent JavaScript by Marjin Haverbeke
Through this book and its several examples you learn programming techniques, how to understand the essential factors of programming like Syntax, Control and Data and how to organize your code.
Code Complete: A Practical Handbook of Software Construction by Steve McConnell
Through reading this book you will be more aware of strategies and techniques which help you design less complex and more creative codes. In addition to avoiding code errors and improving your project quality.
Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, and Ralph Johnson
Within the book, the authors define the patterns and talk about how they affect designing object-oriented software.
Soft Skills: The software developer’s life manual by John Sonmez
This book is just written to help software developers enhance their careers through founding their own brands and making their strategies for investment as the author works as a coach who helps several software engineers build their careers successfully.
The Clean Coder: A Code of Conduct for Professional Programmers by Robert C. Martin
As he is an Expert in Software Engineering, Robert C. Martin teaches you through this book how to behave as a professional software developer by introducing many strategies, tools, disciplines and techniques of software development.
Working Effectively with Legacy Code by Michael Feathers
This book enables the developer to determine and adjust errors of codes without rewriting the existing code. It assumes that the reader is aware of UMLnotation.
Patterns of Enterprise Application Architecture by Martin Fowler
Through this book, the Author presents many effective solutions to the potential difficulties facing the architect when it comes to designs.
Invitation to Computer Science (Introduction to CS) by G. Michael Schneider and Judith Gersting
This book provides the reader with study tools such as games, flashcards and quizzes.
Refactoring: Improving the Design of Existing Code, 2nd Edition by Martin Fowler
In this book, the author helps you know what the refactoring is, why you may need to refactor and how to recognize codes which must be refactored. In addition to doing it correctly.
Digital Systems: Principles and Applications by Ronald J. Tocci, Neal Widmer, and Greg Moss
This book presents new terms and shows the purpose of each topic with its fundamentals before going through further descriptions.
Data Science for Business: What You Need to Know about Data Mining and Data-Analytic Thinking by Foster Provost and Tom Fawcett
The author through his book presents mathematics and statistics at the core of data science. In addition to hacking skills every software engineer needs to start working as a data scientist.
Head First Design Patterns: A Brain-Friendly Guide” by Eric Freeman, Bert Bates, Kathy Sierra, and Elisabeth Robson
Once you finish this book, you’ll recognize the advantages of the best design elements and learn from experts of software.
Introduction to Algorithms, Third Edition” by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein
In this book the author features developed and advanced treatment of dynamic programming and greedy algorithms as well as he presents a new notion of edge-based flow in the material on flow networks.
Numsense! Data Science for the Layman: No Math Added by Annalyn Ng and Kenneth Soo
This book is such a simple introduction to data science and its algorithms. It covers many concepts including A/B Testing, Association Rules, Decision Trees and Random Forests and Clustering.
Practical Statistics for Data Scientists: 50 Essential Concepts by Peter Bruce and Andrew Bruce
Through this book you’re going to learn How random sampling can reduce bias and yield a higher quality dataset, even with big data, How the principles of experimental design yield definitive answers to questions, Why exploratory data analysis is a key preliminary step in data science and How to use regression to estimate outcomes and detect anomalies. In addition to understanding Unsupervised learning methods for extracting meaning from unlabeled data.
Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems by Aurélien Géron
The author teaches you a range of techniques such as simple linear regression, progressing and deep neural networks. In addition to exercises in each chapter to apply what you’ve actually learned.
Cracking the Coding Interview: 189 Programming Questions and Solutions by Gayle Laakmann McDowel
This book contains many topics including 189 programming interview questions, ranging from the basics to the trickiest algorithm problems, Hints on how to solve each of the 189 questions, Extensive coverage of essential topics, such as big O time, data structures, and core algorithms.
Elements of Programming Interviews in Python: The Insiders’ Guide by Adnan Aziz, Tsung-Hsien Lee, and Amit Prakash
This book introduces a brief description of the nontechnical aspects of interviewing, such as strategies for a great interview,perspectives from the other side of the table, common mistakes, a guide to the best ways to use EPI and tips on negotiating the best offer.