我的软件开发生涯开始于大约15年以前。 但是直到最近5年,我才真正地看到它的提高。 下面这些事情,我希望在进入软件开发领域时我已经知道了。如果我早点知道这些事儿,我将会变得更加成功。 软件开发中没有“正确的方式“在我开发生涯的早期,我在学习和争论上浪费了大量的时间。我错误地认为,在软件开发的诸多方面都存在一种绝对”正确的方式“。 但是,关于软件开发,几乎每一件我当时认为是正确的事到头来都被证明是错的。 更重要的是,我发现几乎没有任何一件事是非黑即白的。在编写代码和开发软件的过程中,几乎所有的决策都是基于当时特定的情形。 我之前已经谈过为什么信仰一种技术对开发人员有害,但是我现在说的这个话题谈的不止是一种技术(这么狭隘)。 没有通用的最佳实践,这也是真的。甚至是一些highy charged话题。例如,要不要单元测试?敏捷开发和瀑布模型哪个好?这些没有永远正确的答案。 在我的职业生涯中,我在”正道“(理想主义)路线的迷宫里浪费了太多的时间,而不是采用可以帮我走得更远的”务实“(现实主义)路线。 细读书不是最佳的学习方式我一开始学习编程和技术知识的时候,我花了太多时间细读一些关于特定技术的书。 读书没错,但是选择读什么书和读它的哪一部分非常重要。 比如,我记得我读过一本非常厚的讲VC++的书。(我十分肯定是这本书的更早的一个版本。)不管怎么说,这本书是本内容丰富的好书,但是一页一页地读并不是学习VC++最好的方式。 如果我当时先粗略地看看此书的章节,获得对VC++的一些全局的认识,然后再去搞懂其中最最重要的部分,我能学到并记住更多的东西。 如果我当时坐下来,通过实际地做一些东西来练习基础知识,而不是仅仅读一下或者过一过书上的例子,我现在会更加成功。你没有在真正地学一门技术,除非你用它解决了真正的问题。 |