Here are three books I feel are required reading for all software developers regardless of age, job title, or years of experience. The earlier you can get a hold of them, the better. Spoiler Alert: only one of these books specifically deals with writing code.
If you are going to read one book on programming in your professional career, it should be this one. Clean Code is a wonderful primer on what it takes to be a professional programmer in an industry void of the sort of rigors that are commonplace in other professions such as civil engineering, architecture, or accounting.
Clean Code helped shape the way I think about programming. It changed the way I approach programming problems and run software development projects.
Even through Clean Code has a Java flavor to it, don't let that deter you if you are a .NET, Python, or Ruby developer. You will get the same level of benefit.
Buy this book right now.
The major problems of our work are not so much technological as sociological in nature. -Peopleware
Most software projects fail due to people issues, not technical issues as you might expect. How frustrating. Fortunately, there are proven methods for successfully running projects backed up with research and empirical data. Enter, Peopleware
Peopleware teaches readers how to run successful projects and teams through six main sections: Managing humans, managing the work environment, finding the right people, growing your team, building a solid culture, and how to make work fun.
I experienced quite a bit of pain early on in my programming career because the idealistic model I built in my mind about what programming should be did not match reality. I didn't know how software development projects were run and I had trouble figuring out the role I was supposed to play in them.
I own all three additions of this book and it has helped me on several occasions throughout my career. Whether you are a manager or an individual contributor this book is helpful. Peopleware has stood the test of time, give it a chance.
How to Win Friends and Influence People is THE handbook for building great relationships.
The days of the Lone Cowboy programmer are over. Our workplaces are becoming more fluid and diverse by the month. Software development is a team sport now. Your success relies on other people's cooperation, collaboration, and ideas more than ever before. How to Win Friends and Influence People will help you navigate these personal waters better than any other resource I know of.
The advice in this short book has enabled me to get things done on a level I didn't know was possible. I've been able to avoid arguments, motivate others, call in favors that normally would go ignored, and diffuse hostile situations.
Financial success, Carnegie believed, is due 15 percent to professional knowledge and 85 percent to "the ability to express ideas, to assume leadership, and to arouse enthusiasm among people."
The number one indicator of your success in any industry is your ability to play nice with others. That makes How to Win Friends and Influence People worth its weight in gold.
This list could have easily been 10-100 books long. There is a ton of really great information out there that will help you in your career. At the end of the day I feel that the three books listed above give you the most bang for your buck (and time).
What do you think? Would you recommend a different book over one of the three above?