3. 最好的软件工程师需要像设计师一样思考
伟大的软件工程师会深入思考他们所写代码的用户体验 。 例如外部 API、编程 API、用户界面、协议还是其他接口 ,优秀的软件工程师会考虑谁将使用他们的研究、为什么使用它、如何使用以及对这些用户来说什么是重要的 。 牢记用户需求才是良好用户体验的核心 。
4. 最好的代码是没有代码 , 或者是不需要维护的代码
【代码|不要拒绝面试询问休假时间的人:20年老程序员总结的经验】编程人员需要会编程 。 大多数人都会在自己擅长的方面犯错 , 这是人的本性 。 很多软件工程师经常在编写代码方面犯错 , 尤其是当非技术解决方案不明显时 。 无需人员维护的代码也是如此 。 当很多算法已经存在时 , 工程团队很容易想要开辟新的方法 , 这是一个平衡的行为 。
有很多理由让你重新发明轮子 , 但需要注意的是「非原创」并不在其中 。
5. 软件是达到目的的一种手段
软件工程师的主要工作是交付价值 ,但很少有软件开发人员了解这一点 , 甚至有更少的软件开发人员将其内在化 。 真正内在化会导致解决问题的不同方式 , 以及查看工具的不同方式 。 如果你真的相信软件是服从于结果的 , 你就会准备好真正找到适合工作的工具 , 而这可能根本不是软件 。
6. 为自己设定截止日期
有些人倾向于深入问题并开始编写代码 , 而有些人只想研究理论 , 没有着手代码 , 进而让自己陷入困难的漩涡 。 在这些情况下 , 为自己设定一个截止日期 , 然后开始探索解决方案 。 当你开始解决问题时 , 你会很快学到更多 , 这将引导你迭代到更好的解决方案 。
7. 如果你不能很好地把握可能发生的一切 , 你就不能设计一个好的系统
与开发者生态系统进展保持一致是一项巨大的工作 , 了解生态系统中哪些是至关重要的 , 如果你不了解给定生态系统中哪些是可能的 , 哪些是可用的 , 那么除了能发现最简单的问题之外 , 你不可能为所有问题设计一个合理的解决方案 。 总而言之 , 你要警惕那些很长时间没有编写任何代码设计系统的人 。
8. 每个系统都会很糟糕 , 你需要克服
Bjarne Stroustrup 有一句名言:只有两种语言 , 即人们抱怨的语言和没人使用的语言 。 这一名言可以扩展到大型系统 。 如果没有正确的软件架构 , 你永远无法偿还所有的技术债务 , 你永远无法设计出完美的界面 。 尽量少担心系统的优雅和完美 ,相反 , 要努力持续改进你的系统 , 并创建一个团队喜欢在其中工作的适宜系统 , 并可持续地提供价值 。
9. 多问为什么
抓住任何机会进行询问 。 例如「有新的团队成员加入吗?注意他们在哪里出现混淆以及他们问的什么问题 。 有一个没有意义的新功能请求?」等等这些看似不起眼的问题 。 确保自己了解目标以及推动此功能需求的因素 。 如果你没有得到明确的答案 , 请继续问为什么 , 直到明白为止 。
推荐阅读
- 代码|GGV纪源资本连投三轮,这家无代码公司想让运营流程变简单
- IT|NFL警告汤姆·布雷迪不要再砸Surface,否则要面临罚款处罚
- 限制|多国拒绝禁用“杀手机器人”,潘多拉魔盒还是被打开了?
- Tesla|“车顶维权”案庭审爆料:车主称特斯拉希望撤诉被其拒绝
- 葡萄|金印联携手葡萄城,低代码技术实现“万物皆可集成”
- 葡萄|中恒五金携手葡萄城:10年软件开发经验,凭借活字格低代码平台再创业
- 装备|12月29日:不要做装备派,要做装备精良的实力派
- 普鲁斯特|2022年,我不要再和任何人进行该死的愚蠢交谈
- Microsoft|Mesa D3D12最新代码中已添加对SSBOs的支持
- 网络|深圳高交会上“大咖”开讲,对量子计算不要捧杀也不要棒杀