`
lvwenwen
  • 浏览: 955975 次
  • 性别: Icon_minigender_1
  • 来自: 魔都
社区版块
存档分类
最新评论

成为一个明星程序员(转)

阅读更多

很多开发者会认为要想成为一个明星程序员所需要做的事情一定都是与编程技能相关的,不过这种想法却是完全错误的!优秀的代码是很好,但要想得到更好的工作,获得更高的报酬则需要让更多的人知道你是谁。换句话说,你需要推销自己,下面是我根据这些年的工作经验所得出的成为明星程序员的 10 个提示。

  1. 撰写博客

  搭一个博客,一个月写几篇文章。进行真正的研究,确保你所写的不是那种非常简单的东西。更严肃地说,就是要学会怎么写文章。根据学校的英语老师教你的方式来做:创建一个大纲、叙述、检查语法和拼音。接下来,简化刚才所写的东西,要做到让读你文章的人快速过一遍就能迅速掌握文章的要点。现在的互联网可是要做到精益求精才行。

  2. 开源

  不要相信那些关于开源的谎话。你们当中的那些年轻人可能已经记不起来过去有的开发者会失业的那种情况了,不过即便在经济不景气的时候,我创建的开源项目的所有开发者依然不会被裁员。请确保你所开发的开源代码能够反映出你的工作。我希望使用最简单的解决方案来解决难题,不过我面试了很多开发者,他们都将简单的问题给搞复杂了。无论你相信与否,这么做是有市场的,不过请确保你所编写的代码能够反映出你所在的市场。

  3. 不是 6 个月,更不是 10 年

  不要每 6 个月就换一次工作。严肃地说,一个公司的很多人都会出现离职的情况,同时也会有新人加入进来。换句话说,不要在同一个地方,做相同的事情达到 10 年以上,否则你会与市场绝缘并形成惯性的。举个例子,假如你在 IBM 工作,那么要想保持自身的价值,你就不能仅仅满足于按照 IBM 的方式,使用 IBM 的技术栈来编写代码。我从来没有雇佣过在 IBM 等类似的公司中工作过 2 年以上的人。他们给我的印象常常是面试中表现很不错,不过在实际的编程中却败下阵来。

  4. 放眼新技术,着眼实际情况

  尤其是一些年轻的开发者们都喜欢使用新技术。Ruby 是我最喜欢的一种编程语言,不过平均来说,Ruby 带给我的回报是不如 Java 的,Ruby 的市场也比较小。事实也并非总是如此,Scala 看起来势头很猛,不过不要忘记它的市场占有率,其实还是很小的。另一方面,也不要长久以来一直使用同样的技术,比如那些 COBOL 或是 PowerBuilder 开发者们。

  5. 编写自己的文档

  当我参与开发一个项目时,经常会被拉出去参加会议,原因就是他们看了我编写的文档或是演示,而且能够理解,这种情况出现太多次了。我总是一张总览图开始,后面则是对其各种细节的阐述。问题是:对于一个非常忙碌的人来说该知道哪些内容呢?大多数经理们想要知道什么?请按照这个思路编写文档。

  6. 简洁是灵魂

  对于管理来说,那些知道自己在说什么的人常常会给出更简洁的答案。如果回答很长且很复杂,那就意味着回答的人并不知道答案是什么。此外,声调通常与主题的重要性成反比。如果有坏消息来了,那么大家走进办公室时就会轻手轻脚,关上门,然后窃窃私语。请保证你知道自己说的是什么,知道如何总结,如何描述细节,不过请不要事无巨细地进行方方面面的介绍。请确保你的团队成员都经过了深思熟虑,然后清晰地阐明你的哪些观点要好于其他人的。

  7. 当众发言

  知道如何做演讲,学习如何在公众场合发言。研究一个主题,然后让自己成为这个主题的专家。如果能有一些幽默感的话,在公众场合的演讲效果就会更佳。要想掌握这种技能,你需要花费很多的时间与精力,还要忍受住别人的嘲笑,不过对于工程师来说,如果能用英语向管理者解释清楚问题,同时能就某个主题做出专业的演讲,那么他的薪资一般来说要比那些不具备这种能力的开发者高一些。

  8. 现实一些

  你很喜欢 Erlang,不过 Erlang 的市场却没有那么大。你应该了解多种语言,还应该知道那些“新”的话题,不过请不要说出这种不成熟的话“如果不是 Erlang,那我就不打算写代码了”,除非你真正理解了业务问题。这么做也许会让你成为一个狭窄领域的专家,不过即便这样也是有代价的,如果你所掌握的技能过时了,结果就不好玩了。当然了,NoSQL 更适合于你自己的一些小项目,不过公司却不会在那种一次性的系统中对其进行投入,这种情况下 RDBMS 就很适合了。

  9. 解决疑难问题,了解相关工具

  花点时间学些大部分人都不了解的工具。你知道哪些很少有人知道/使用/理解的工具,让你比周围的人更具效率呢?比如说,Aspect4j 并不适合于每一个人,不过它却适合我。我编写了一些 .class 文件操作,让其在 Tomcat 下正常运行,从而替换掉 WebSphere,我修复了私有软件的内存泄漏问题。这每一次经历都让我超过了其他人,因为我使用了其他人很少知道的工具来解决重要的难题,而其他人则还在等待着厂商的解决方案。当然还有其他的,不过这些简单的工具却能够解决复杂的问题,让你超越其他开发者。

  10. 保持谦卑

  很少有开发者具备谦卑这种特质。有时,这意味着你需要做一些很具体的工作。极客的声望来去匆匆,不过请记住,是你的行动才让你收获这种声望的。下一周可能一切都烟消云散了。换句话说,“你并没有什么特殊的”。

分享到:
评论

相关推荐

    程序员的八重境界

    **定义:**明星程序员是那些既有卓越技术能力又具备极高人气的程序员。他们是团队的灵魂人物,能够带动整个团队前进。 - **特征:** - 在社交媒体上有大量的粉丝,能够通过博客、演讲等形式影响他人。 - 具备极强...

    程序员的八个级别

    程序员的八个级别.你是否被人问过这样一个经典的面试问题,“五年内你对自己有什么规划?”当被问到时,我的脑子里总会回放一...或者至少要成为一名明星级程序员。这种问题一般不会得到一个很严肃的回答——就像另外一个

    从程序员到CTO的Java技术路线图

    总的来说,从Java程序员到CTO的成长之路是一个不断学习、实践和提升的过程,涉及技术、管理和领导力等多个维度。通过深入理解并掌握这些知识点,你将能够在这个充满挑战和机遇的行业中稳步前行。

    rockstar:在2分钟内使您成为Rockstar C ++程序员

    Rockstar是一个了不起的库,只需2分钟,您就可以成为Rockstar程序员。 在过去的十年中,人们学习了 。 但是这些天来,它已经减少到只有。 但是,我想做得更好。 此回购协议不仅会在2分钟内教会您完成C ++,而且还...

    明星讲师-兰军-7.6-ASSZ2018-产品经理的那些事

    在了解了这些知识点之后,我们可以看出,成为一个合格的产品经理并不是一件容易的事情,这需要不断的学习、实践和自我提升。产品经理应该努力在自身与团队之间找到平衡,用正确的态度和方法来引导产品的成长和发展。

    看了 GPT-4 的表现,我感觉要失业了

    作为一个有着 10 年职业生涯的程序员,看了之后,直呼:真的太强了!感觉自己随时都可能要失业了! ChatGPT 那么强,可以预见在很快的时间内,基于 ChatGPT 技术的各种应用将会呈现井喷式的爆发。因此熟练掌握 ...

    编译器开发工具的调研报告

    本报告聚焦于 Delphi,一个备受程序员推崇的编译器开发工具。 **一、Delphi 介绍** Delphi,源自 Turbo Pascal,是 Borland 公司在1995年推出的一款Windows平台下的快速应用程序开发工具(RAD)。它的核心语言是 ...

    程序设计基础徐明星w02-1-chap02-关于“编程准备”的思考讨论.ppt

    编辑阶段是创建和修改源代码,编译阶段是将源代码转化为机器语言的目标代码,而链接则是将多个目标代码文件合并成一个可执行程序,以便在计算机上运行。 对于最短小的程序,通常是一个简单的"Hello, World!"程序。...

    RadASM [已配置版]

    RadASM不仅仅是一个编辑器,它是一个完整的集成开发环境,集成了源代码编辑、编译、调试和项目管理等多种功能,为汇编语言编程提供了高效的工作平台。 2. **跨平台支持** 作为一款同时支持32位和64位系统的汇编...

    中国互联网进化简史.docx

    门户网站是这个时期的主宰,搜狐、新浪、网易等门户网站 Sequentially 上市,成为那个时代的绝对明星。用户们的核心需求是“内容”,门户网站苦苦做内容,慢慢有越来越多的人愿意上网。 互联网 1.0 时代的特点是...

    I'm going to be a basketball playerPPT教案.pptx

    这份"I'm going to be a basketball player"的PPT教案...这些知识点展示了不同的职业路径和实现梦想所需的努力,有助于学生理解个人兴趣的重要性,同时提供了一个框架,帮助他们规划未来,设定并追求自己的职业目标。

    C语音入门教程

    - **可移植性**:C语言的另一个显著优势在于其卓越的可移植性。在不同平台上编写的C程序,往往只需进行少量修改甚至无需修改,就能在其他系统上运行。这一特性极大地简化了跨平台开发的难度,使得C语言在各种系统上...

    typora-windows-x64-2020

    Markdown编辑器是程序员、作家和内容创作者常用的文本编辑工具,其中`Typora`是一个备受推崇的代表。`Typora-windows-x64-2020`是Typora针对Windows操作系统64位版本的一个发行包,提供了高效且直观的Markdown编写...

    明星:一种强大,高效且可预测的实验性编程语言

    其编译器优化、函数式和面向对象特性的结合,以及消息传递机制,使其成为一个创新的编程工具,适合于解决复杂问题和构建大规模系统。然而,具体的实现细节和使用体验,还需要参考“star-master”中的源代码和相关...

    vc6.0中文简体版,适合用来开发c语言程序

    总的来说,VC6.0中文简体版是一个适合初学者和有一定经验的程序员使用的C/C++开发工具,它以其小巧的体积、全面的功能和便捷的操作,成为了C语言编程领域的一颗璀璨明星。通过它,开发者可以深入学习C语言,理解面向...

    EditPlus3_汉化版

    同时,它可以同时编辑多个文件,这对于需要在多个文件间切换的工作场景非常友好,用户可以在一个窗口内管理并操作多个文本文件,减少了窗口切换的繁琐。 此外,EditPlus3支持全屏幕浏览模式,让编辑区域最大化,...

    新人教版八年级上册英语 Unit 6 全套课件.pptx

    例如,一位学生可能想要成为电影明星,另一位则希望成为歌手。这有助于激发学生对自己未来的设想和规划。 新单词部分涵盖了与职业相关的一系列词汇,包括 grow up(长大)、cook(厨师)、doctor(医生)、engineer...

    Python库 | arcade-2.6.9.dev2-py3-none-any.whl

    Arcade库是一个完全开源的项目,旨在简化2D游戏开发过程,它提供了丰富的图形、声音、输入处理等功能,让程序员能够专注于游戏逻辑,而不是底层技术细节。库的API设计简洁明了,使得初学者也能快速上手,同时满足...

Global site tag (gtag.js) - Google Analytics