`
eriol
  • 浏览: 405564 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

如何成为一个卓越的程序员(5)——保持技术领先

阅读更多

这一部分是这本书的最后一个章节,感谢大家对该系列的关注和支持。

 

保持技术领先

- 已经过时的技术

- 你已经失去工作了

- 没有终点的道路

- 给自己做一份蓝图

- 要注意观察市场变化

- 镜子里的胖子

- 南印度捉猴陷阱

- 避免瀑布型职业计划

- 每天都有进步

- 独立

 

      你必须要认识到,即使你现在处于当今潮流的尖端,也极有可能已经在下一个潮流之后了。时间就是一切,学习之前要先动动脑子。现在看起来不可能的事情,2年间会发生什么变化呢?这些发展进步会对热门技术造成哪些改变呢?这可以使你仍然领先于这个潮流,继续做最先进技术的专家。

 

      每周找出时间来研究尖端技术。每周至少找出2个小时的时间来研究新科技,学习相关技术,并动手尝试。制作简单的应用程序。将你正在以当前技术做的项目,用新技术做出新的原型版本,来理解它们的不同之处,以及新技术能够做些什么。在你的日程安排中加入做这项工作的时间,一定要按时完成。

 

      如果你是一名程序员,尝试以一名测试员或者项目经理的身份来做一两天你的工作。有哪些不同的角色是你从没考虑过要尝试的。把这些角色罗列出来,并尝试每天以其中一种身份来工作,看看自己是否适合。你可能看不出工作结果有什么不同,但是你会发现你工作的方式发生了变化。

 

      个人的产品线路蓝图是用来判断你是否在不断向前发展的依据。每天,你出入相同的办公室,从事大量相同的工作,周围的环境没有任何变化。所以你需要在合理的范围内做出一些标记,当你达到这些标准的时候,你就知道你不是停止不前的。产品的“功能”就是这些标记。一份个人产品蓝图不仅可以帮助你一直处在正轨上,不断向前发展,还能够帮助你总管全局,告诉你应该做什么。它告诉你做出的每一个选择都是整个职业发展的一部分。有些选择可以共同作用,推动你的职业发展,但也有些选择缺乏关联性,跳跃性太大。

 

      做出蓝图之前,先画出你曾经所处的位置。清楚地列出你职业发展的时间表,标注出你从哪里开始,以及在每个阶段你的技术和工作是什么。注意在哪一个阶段你在持续进步,又在哪一个阶段取得了重大进展。注意你每一次取得重大进步的平均时间是多长。当你展望职业发展的时候,把这份蓝图作为参考。清楚地了解过去取得的进步,可以帮助你指定出更加实际的目标。制作出历史蓝图之后,要不断更新。当你不断向新目标前进的时候,这种方法可以很好地反映你的进步。

 

      如果你能找到技术达人(那些总是站在技术最前端的人,至少在他们感兴趣的领域中他们总是走在尖端),观察他们热衷于什么,那你就能够大致了解到什么技术将会成为热门,或者预测到两年后的热门是什么。

 

      当你过于坚信某事的价值时,就会无法客观地来判断它,陷入价值僵固。

 

箴言:

  • 你引以为傲的新技术已经过时了。Your shiny new skills are already obsolete.
  • 你不是你的工作。You are not your job.
  • 不要关注结果,要关注做事情的过程。Focus on doing, not on being done.
  • 留意那些技术达人。Watch the alpha geeks.
  • 开发员们,要自我反省。Developer, review thyself.
  • 价值僵固是你脆弱。Rigid values make you fragile.
1
0
分享到:
评论

相关推荐

    程序员那点儿事儿

    记得,学习是一个持续的过程,不要急于求成,要有耐心和毅力,逐步积累经验,最终你会发现自己已经成为了一名资深的程序员。 ### 结语 成为一名出色的程序员并非易事,但通过不懈努力和持续学习,每个人都有机会...

    初中语文文摘职场领先一鼻子

    例如,一个优秀的程序员可能只是比其他人更善于调试代码,或者对某个框架有更深入的理解,但这足以让他们在众多竞争者中脱颖而出,获得更多的项目机会和更高的薪资。 再者,文章强调了领先优势的累积效应。在IT职场...

    java课件第一章基础介绍

    此外,Java的无用内存自动回收机制是一个重要的优点,它通过一个系统级线程监控内存使用,自动回收不再使用的内存,防止内存泄漏,简化了程序员的管理工作。Java的其他显著优点包括:简单性,它的内存管理和释放对...

    虚幻四上千套教程资源

    6. **社区资源丰富**:UE4有一个庞大的开发者社区,提供了大量的免费和付费资产、教程和技术支持。 #### 知识点三:虚幻四教程资源的重要性 随着UE4在游戏开发和其他领域的广泛应用,掌握UE4成为了许多开发者的...

    MATLAB简介.pdf

    总的来说,MATLAB是一个集成的计算环境,它结合了高级数学运算、数据可视化、编程和算法开发等功能,为科研和工程计算提供了一站式的解决方案。从简单的算术运算到复杂的仿真模型,MATLAB都能够胜任,这使得它在学术...

    DB查询分析器使用技巧(四)

    本节将详细介绍《DB查询分析器》中的一个实用功能——“行选定”,并以Sybase数据库为例进行说明。 1. **连接ODBC数据源**:首先,需要通过ODBC数据源连接到目标数据库。在《DB查询分析器》中,只需简单的几步即可...

    CAD二次开发工具概述

    - **ARX**:从AutoCAD R13开始,ARX作为一个以C++为基础的面向对象开发环境,为高级用户提供了一个全新的开发平台。作为DLL程序,ARX与AutoCAD共享内存空间,可以直接访问核心数据结构和函数,实现AutoCAD功能的深度...

    Java编程语言在计算机软件开发中的应用.pdf

    在面向对象编程方面,Java提供了类、对象、继承、多态等基本概念和机制,这使得Java成为了一个更加现代化的编程语言。 此外,Java语言在企业级开发中的广泛应用,也得益于其丰富的开发库和成熟的开发框架。例如,...

    架构之美中文文字版(_Reilly)

    随着业务的增长和技术的发展,系统必须能够应对日益增长的数据量和用户访问量,因此伸缩性成为了衡量架构好坏的一个重要指标。 - **3.2 背景**:讨论了伸缩性架构设计的背景,包括当前面临的挑战和未来可能遇到的...

    微软如何构建软件(软件工程参考资料)

    目标是让许多小型并行团队(每队3至8名开发者)或个别程序员作为一个相对较大的团队协同工作,以便快速构建大型产品,同时仍然允许单个程序员和团队拥有设计自由和几乎自主的操作能力。这些小型并行团队逐步发展功能...

    撒钱,美版拼多多的发家之路.docx

    在电商领域,Wish作为一个迅速崛起的明星,凭借其独特的商业模式和低价策略,成功吸引了全球大量消费者,被誉为“美版拼多多”。这家公司的发展路径和策略值得深入探讨。 Wish的创始人是两位程序员,他们在2010年对...

    中央控制系统.pdf

    中央控制系统是现代会议环境中不可或缺的组成部分,它将各类设备的操作整合到一个集中的控制界面,极大地提升了会议效率和使用体验。AMX全自动智能化集中控制系统,作为国际领先的智能控制技术代表,为用户提供了全...

    Amazon推荐算法,标题要长,汗

    亚马逊的商品到商品协同过滤算法是其推荐系统的核心技术之一,它有效解决了传统推荐算法面临的多个挑战,并在实践中取得了显著成果。通过不断优化算法,亚马逊持续提升其推荐系统的性能,为用户提供更加精准和个性化...

    Open Interface for Speech Synthesis-开源

    如何保持技术的领先,提高合成语音的自然度和流畅性,以及如何更好地适应多语言环境,都是OISS未来需要关注的问题。此外,随着AI技术的发展,深度学习驱动的语音合成系统成为新的趋势,OISS也需要考虑如何融入这些新...

    vb基础教程

    微软持续投入大量资源改进和更新VB,使其成为业界领先的开发工具之一。 - **竞争**:尽管VB非常成功,但它也面临着来自其他语言(如Delphi)的竞争。不过,由于微软的强大支持和技术实力,VB依然保持着领先地位。 #...

    年轻的承诺

    PHP 7的发布更是带来了显著的性能提升,使其在竞争激烈的Web开发市场中保持领先地位。 学习PHP,首先需要掌握其基本语法,如变量、数据类型、流程控制结构(如条件语句和循环)以及函数的使用。同时,理解PHP与HTML...

Global site tag (gtag.js) - Google Analytics