简悦创始人云风谈程序员的职业素养
发布日期:2021-10-01 11:35:58 浏览次数:2 分类:技术文章

本文共 980 字,大约阅读时间需要 3 分钟。

程序员是可以当作一生的职业。但首先,你需要热爱编程,而不是把它作为完成其他人生目标的工具,你要不断地反思自己在哪些方面的努力是更有效率的。我认为,无论在哪个子领域工作的程序员,都要在三个方面提高自己。

第一,保持对未知领域的好奇心,尽力开阔视野。如果你只精通一门编程语言,那么就赶快去学习另一门,最好和之前那门语言的亲缘关系越远越好。这可以让你从不同的视角去看待过去的问题。如果你只专注于一个领域,那么去深入地研究一下其他领域也会有很大帮助。

多数人都喜欢在熟悉的知识结构下解决问题,因为全新的东西总有学习门槛,需要了解很多基础知识才能展开实际的工作。能轻松地把相关信息组织起来调配,与借助 外部资料是很不一样的。后者要经历一个相当痛苦的过程。但一旦习惯经常地学习和积累新知识,你就可以逐步掌握一套自己的方法来减轻这种痛苦。而要做到这点 却很难,需要保持单纯的好奇心。

第二,把握各个层次上的细节。尽可能了解清楚系统每个层面的运行:硬件如何调度机器指令;数据在硬盘、内存、缓存、CPU间的流向;代码如何被编译链接,代码经历了何种过程被加载到内存,JIT怎样加速字节码的运行;操作系统怎样管理线程、处理I/O;软件 用到的第三方模块和工具如何处理数据;在网络环境中,数据流的通信协议;代码中每个模块逐个层次中的相互关系……

对细节掌握得越多,思路会越清晰。在每个层次上,你会看到不同层次的设备对上一层业务逻辑的抽象方式,直到最终你直接面对的业务。对业务的抽象能力,来自你对业务的熟悉程度,实际上这种能力更是随同对细节的把握能力同时具备的。

第三,提升对代码的直觉。优秀的程序员能很快地发现性能热点、找到系统崩溃的原因、找出不合理的代码……除此之外,准确的估算能力也非常重要,这要求程序员 能够快速心算出每个模块的开销和输入的数据量之间的关系。在写下每行代码时能够判断其对性能的影响,以简洁去挑战各个层次模块间的耦合复杂度。

要培养这种能力,除了不断地编写代码之外,别无良方。在写代码的同时,要时刻保持思考,要对不好的地方零容忍。要在最早的时刻动手,任何推倒重来的代价都不会太大;放任它们只会让局面演变到不可收拾的程度。

保持自己总有代码可写,不断地去发掘自己新的兴趣点,拓展新领域。要单纯一些,编程本身就是一件有趣的脑力活动,而不必仅仅为了解决一些问题而写程序。

转载地址:https://blog.csdn.net/iteye_4639/article/details/82452555 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:迅速解决resin或者tomcat启动闪一下就消失的问题
下一篇:打算开始写一个2.5D游戏引擎

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年03月23日 03时29分41秒