作者: | Julia Evans |
语言: | 英文 |
出版年份: | 2020 |
下载链接: |
书籍均收集自互联网,仅供学习和研究使用,请莫用于商业用途。谢谢合作。 |
本书由Julia Evans撰写,她是一位热爱编程的工程师。尽管她并不总是感觉自己像个“巫师”,也并非团队中最有经验的成员,但她通过不断学习和实践,积累了宝贵的经验,并乐于分享这些心得。
《So You Want to Be a Wizard》是一本面向程序员的指南,旨在帮助读者提升编程技能,培养解决问题的能力。书中分为多个章节,每个章节都围绕一个核心主题展开,提供了实用的建议和策略。
Julia强调,提问是学习的重要手段。她鼓励读者勇敢地提出问题,哪怕是看似“愚蠢”的问题。通过提问,可以快速填补知识空白,并且随着问题的解决,这些问题在你眼中会变得不再“愚蠢”。
当遇到连同事和搜索引擎都无法解决的问题时,Julia建议读者决定无论如何都要找出解决办法。这种挑战难题的态度有助于培养解决问题的能力,也是成为“巫师”的重要一步。
在编程中,我们经常使用各种抽象层。Julia指出,虽然不需要深入了解每个抽象层的内部工作原理,但在某些情况下,如调试复杂问题或优化性能时,深入理解底层机制是必要的。
书中介绍了如何提出好问题的策略,包括明确问题的背景、猜测可能的答案、选择合适的人提问以及进行适当的前期研究。这些技巧有助于更高效地获取有用的信息。
当没有文档或他人无法提供帮助时,阅读源代码是一种有效的学习方式。Julia分享了她通过阅读Linux内核代码解决实际问题的经历,并提供了阅读代码的实用技巧,如使用grep搜索错误信息、添加测试和打印语句等。
调试是学习编程的重要途径。Julia认为,调试不仅可以帮助修复代码中的错误,还能揭示你对编程模型的误解。她建议读者以积极的态度面对调试,并从中学习。
Julia分享了她在工作中学习的经验,包括跟踪难以解决的bug、关注资深同事的代码和工作方式等。她强调,学习是一个持续的过程,应该抓住每一个学习的机会。
书中还讨论了如何在工作之外进行学习。Julia建议参加技术会议、尝试新的工具和技术、阅读论文和博客,并通过实验来加深理解。她特别强调了教学的重要性,认为通过教学可以巩固自己的知识。
在软件设计方面,Julia建议在开始编码之前进行设计规划,即使设计可能会随着项目的进展而改变。她认为,良好的设计有助于团队更好地理解项目目标,并在遇到分歧时找到解决方案。
书中最后讨论了如何构建专业知识。Julia建议专注于少数几个领域,如Linux网络或调试工具,并投入大量时间进行学习和实践。她认为,持续的学习和实践是成为专家的关键。
《So You Want to Be a Wizard》是一本实用的编程指南,适合那些希望提升编程技能、解决复杂问题并最终成为“巫师”的程序员。Julia通过分享自己的经验和见解,为读者提供了一条通往精通的道路。