In your career as a programmer, which book enlightened you?

Recommend "Programmer's README"

[US] Chris Riccomini (Chris Riccomini), translated by Fu Yu
The book every new engineer should read before starting work! Industry leaders with 10+ years of experience in guiding junior engineers in large companies teach you how to start your career, expand your work skills, deal with poor management, and adjust your work rhythm!

(1) This is an "extracurricular" book. Knowing how to code is only "half the battle". Like drinking coffee with an experienced tutor, this book will teach you skills that were not covered in computer class in school.

(2) This is a book with attitude. There will always be differences between companies, but the fundamentals will always be the same. The experience of building teams in the book is taken from those fast-growing, venture capital-funded or pre-IPO Silicon Valley companies.

(3) This is a "road map" for entering the workplace. There are many options for the senior road, please lead your own promotion. This book covers the modern practices of building, testing, and running production software, behaviors that make teams stronger and teammates more tacit, and a variety of methods for you to choose from.

(4) The author is the vice president of software engineering at Zymergen and the author of Apache Samza, with more than ten years of experience in major technology companies such as PayPal, LinkedIn, WePay, and Twitter.

For the novice software engineer, knowing how to code is only half the battle. You may quickly discover that schools are not teaching skills that are vital in the real world and processes that are necessary on the job. This book just fills this link. It is a tutorial that the author has taught junior engineers in large companies for more than ten years, covering the basic knowledge and best practices of software engineering.

Chapters 1 to 2 of this book explain what happens when you start your career in a company; Chapters 3 to 11 expand your work skills, teaching you how to use existing code bases, solve and prevent technical debt, write production-level software, manage dependencies, test effectively, review code, deliver software, handle On-Call incidents, and build evolvable architectures; the remaining chapters cover management capabilities and career ladders. A very important part of this book is teaching you how to deal with poor management and how to pace yourself.

Not only is it easy to understand, but it also covers the entire software development cycle, making it the book a tech executive wishes every new engineer would read before starting the job.

About the Author

Chris Riccomini (Chris Riccomini):
software engineer, startup investor and consultant, has more than ten years of work experience in large technology companies such as PayPal, LinkedIn and WePay; has been involved in open source projects throughout his career, and is the author of Apache Samza.

Dmitriy Ryaboy:

Software engineer and engineering manager; currently serves as the vice president of software engineering at Zymergen; has worked for various companies and organizations, including Lawrence Berkeley National Laboratory, Cloudera, and Twitter; helped create and grow several open source projects, including Apache Parquet.

[Excerpt from the recommended order]

In the first few chapters of this book, "asking questions" is given high priority, which makes me very happy. Asking questions and learning from colleagues is an effective way to grow quickly and acquire new skills. It’s usually a good thing to be proud of the results of your work, but when you’re doing better than before in continuous improvement and delivery, you should prioritize pride.

This book provides different methods and steps on how to improve, how to learn, how to advance your career, and how to become a better developer. This book contains best practices in adapting to a team's workflow, handling meetings, meeting deadlines, making good use of learning tools and technology, and teaching people how to become a valuable member of a team.

Asking for help from a senior engineer can feel a little daunting, as it's usually inappropriate to interrupt their work. Senior engineers tend to lose short-term memory of the systems they have built in their heads because they are interrupted when they are concentrating on their work, but most senior engineers are willing to help, and good senior engineers take pride in mentoring and assisting others. If you feel hostility when you ask for help, don't be upset because it happens to everyone. Don't let one bad encounter stop you from seeking help again. But it's not appropriate to always interrupt other people's work. At this time, you can use the other strategies and principles covered in this book, and they can all guide you to take your career to the next level.

No matter what stage of your career you are in, this book is very practical. Please keep an open mind, eager to learn, eager to improve, unafraid to break old habits, and unafraid to ask questions.

— Jerker Olofsson, former core architect, Sony Mobile


more recommendations

Soft Skills: A Survival Guide Beyond Code (2nd Edition)

A career guide for programmers and software developers, highlighting the "human" factor in technology, listening to the experience of John Z. Sonmez, the life mentor of software developers, and explaining the "soft skills" that practitioners in the IT industry need to know.

This is a book that really focuses on the development of software developers themselves from the perspective of "people" (rather than technology or management). The content discussed in the book involves both living habits and ways of thinking, highlights the "human" factor in technology, and comprehensively explains the various "soft skills" that practitioners in the software industry need to know.

This book focuses on every aspect of a software developer's life, from demystifying the interview process, to crafting a killer resume, to making popular video content, to building your personal brand, to improving your work efficiency, to fighting job burnout, and even to investing in real estate and taking care of your health. The book is divided into seven chapters including career chapter, self-marketing chapter, learning chapter, productivity chapter, financial management chapter, fitness chapter, and mentality chapter, summarizing various "soft skills" required by practitioners in the software industry. By reading this book, software engineers, programmers, and other technical personnel can actively think about their careers, enrich their lives, and bring themselves closer to success.

Refactoring to Improve the Design of Existing Code (2nd Edition Paperback Edition)

This book is an updated version 20 years after the publication of the classic "Refactoring". The book clearly reveals the process of refactoring, explains the principles and practices of refactoring, and gives when and where to start mining the code for improvement. More than 60 feasible refactorings are given in the book, and each refactoring introduces the motivation and technique of a proven code transformation technique. The refactoring guidelines proposed in this book will help developers modify the code in small steps at a time, thereby reducing the risk in the development process.

This book suits software to develop personnel, project management personnel to wait to read, also can regard computer of institution of higher learing and the reference material of relevant professional teachers and students.

Guess you like

Origin blog.csdn.net/epubit17/article/details/131778813