Whether you're young, just starting out, or an experienced veteran programmer has little time to learn the extra stuff that will make you successful, the books listed below will keep you on track. I know you're busy, so most of the books (except those related to technology) are very fast to read. But I find myself constantly rereading them to consolidate what I have learned so that I can stay on the right path to life and work.
A book that polishes your technical skills
#1 "Data structure and algorithm classic problem analysis: Java language description"
If it is your first year in college, you should look for a book to read. If you are an experienced programmer, you should at least rough time to see if you are familiar with the concepts in the book. In today's world, a stable job is like a fairy tale, and you have to be ready for a technical interview at all times. Even if your work is stable, you should always be ready so that you can take advantage of the opportunities that may arise in front of you at any time.
As a person with 8 years of interview experience at Microsoft, I can assure you that if you are familiar with the contents of this book, you have a great opportunity to perform well in the interview. Another reason I like this book is that it is not filled with computer science theory and mathematics, but in the form of a very easy-to-understand question and answer format to tell the knowledge. It will tell you a variety of different solutions to the same interview question. I recommend you to buy a book, read it, master the concept of it, so that you can always handle the question.
#2 the code of cleanliness
When someone else sits next to you reading your code without yelling at you, you know you've successfully written a neat code.
Why are so many new programmers unable to write neat code? Because most universities don't teach you how to write professional code. For example, the vast majority of the algorithms and data structures I have attended are focused only on the correctness of the code, as long as the sample input can get the correct output. Even in the software engineering class, in most universities, students are graded through UML diagrams, code documents, software demonstrations, and final reports. They have no resources to drill down into the thousands of lines of code for each student in the class, and then give the students some feedback on the style and clarity of the code. This is where code cleanliness can help you turn your students from a computer science professional into a professional programmer.
#3 "Head First design mode"
The so-called software design pattern refers to reusable scenarios that are used to solve some common problems in a particular scenario or field. In general, learning design patterns are recommended for the classic design pattern: The basics of reusable object-oriented software. But I'd like to recommend this "Head first design mode" to you, because it's much easier to read. Reading this book is a lot less likely to doze off than you read the design pattern. It will draw some time for you to master some concepts, but the time spent is worth it. According to my experience, 15% to 20% of technical interview questions are more or less related to design patterns, so it is also helpful in coping with interviews.
#4 "I am programmed, I am happy: The path of Programmer's career planning"
The first edition of the book is called "I went to India to work (my job Went to India)" (I do not seem to find the Chinese version), on the cover is a programmer holding a cardboard, it says "write code to eat rice." Later the author replaced the title, becoming more professional, less provocative.
But as with the first edition, some of the recommendations contained in this book are quite valuable. This book gives some guidance on how to strategically set your own position on the path to success. It's easy to read, and I wish I had seen it when I went to school.
Books to develop soft skills
#5 "Win a Friend"
The longer you spend in software development, the more you realize that a person can't do everything. You need to coordinate with external teams, work with other programmers, testers, product managers, complete projects, and use skills to drive other people to complete the release of the software. In brief, you need to communicate with your colleagues on a daily basis. You need to persuade others to help you when necessary and motivate them to follow your lead.
This book will help you persuade others to think in your own way, while avoiding provoking them. It's really important, because today, no matter what you do, you'll end up dealing with people. I strongly recommend this book.
#6 key Dialogue: How to communicate efficiently
Programmers are known for their cleverness and stubbornness. In a typical workday, there is a debate about choosing the right design, negotiating with deadline, reviewing the code, and even arranging seats in public. Needless to say, these are key conversations, and you need to make sure that your advice and needs are heard by others without upsetting someone at all (especially if you might need his help).
This book will teach you some tools to use in the toughest and most important conversations of your life, to say what you think and get positive feedback that you can marvel at. But reading it is not enough, you need to apply these techniques in real life. Fortunately (or unfortunately), if you're a programmer, you don't usually have to think too much about a key conversation.
#7 "Dig well before you get thirsty."
Do you know how the vast majority of senior development positions are recruited in large companies? If you guessed it was from internal recommendation, that's perfectly right.
I'm not saying that you can get a development job at Google or Microsoft, just because you know who it is, it depends on how you perform in a technical interview. However, if you know someone in the company you are interested in, you can at least ensure that your resume will be seen by HR and at least be given a chance to get a remote interview. This is not easy, because usually this coveted job has at least hundreds of resumes on the web to submit. Having an acquaintance in the company may mean that you have the opportunity to prove your worth in an interview.
Towards Financial freedom
#8 "Beyond Wall Street: Ten rules for successful investment"
I know you're busy: If you're just starting out, you're probably going to spend all your time on the skills you need to work on your new job. What you need in the end is a monograph on finance. This is the simplest I have ever read about personal finance and investment.
This guide will help you find the right direction to financial freedom from the start. In the 2008 economic crisis, I did not panic to sell out my mutual fund, one of the reasons is that I read this book, and profoundly remember what it taught me. It also gives me a 200% gain in the recent bull market, which is attributed to the book and the Bogleheads Forum (a well-known investment forum).
#9 "The Millionaire Next Door"
Let me ask a direct question: Do you want to become rich someday? If the answer is yes, then you must read the book. It's about how millionaires make money and keep their wealth, which has revolutionized my mindset.
The book's author spent 20 years interviewing elite members of the millionaire Club, sifting through seven rules to make your wealth more sustainable. So if you want to spend a day without worrying about financial problems or really being free to do what you love, don't overlook the advice given in this book.
Finally, equally important
#10 "The Shepherd Boy's Magical Journey"
For many programmers, when they adapt to the existing position, they become too lazy, they will not challenge themselves to learn new technology, in other words, will not grow again. That's the equivalent of a career suicide. The only way to continue learning and growing is to step out of your comfort zone and explore new possibilities.
The other nine books in this list will help you create a good technical, interpersonal, and financial platform that allows you to seize the opportunity to change your destiny in your life. However, this is the only instinct in the list to rekindle your passion, to listen to your inner voice, to pursue your dreams that have been lost in our daily trivial lives.
What are you waiting for? You can think of these books as your friends, psychologists, and guides, to explore, to realize your true potential, to pursue your dreams. Don't be afraid of what you need to learn, as the old saying goes: A journey begins with a little. Good luck!
Program Ape full Charge 10 book