伟大的程序员是怎样炼成的?

医学图像处理实战:3D Slicer从安装到病灶分析全流程指南 本文提供了一份详尽的3D Slicer实战指南,涵盖从软件安装、DICOM数据导入到图像增强、病灶分割及三维可视化的全流程。重点演示了如何利用阈值分割、区域生长等核心图像处理技术进行病灶分析,并生成定量报告,是医学影像分析初学者的实用入门教程。 阅读详情

文章来源:IT工程技术网  http://www.systhinker.com/html/51/n-11651.html

近几周,一份反映 Netflix 公司企业文化的报告在网上广为流传。这份报告里列举了很多Netflix公司里令人称赞的做法,包括这个公司是如何的招聘和辞退员工的。里面有大量的信息是描述Netflix公司是怎样对待员工的,这使Netflix公司变成了一个很有吸引力的工作场所。报告里面提到过有一个关于员工所期望的内容的清单,但没有把清单列出来。报告的开始部分就谈及了企业价值问题,而且是按照员工的立场角度写的,可惜并没有把这个问题展开。

  我并不在Netflix工作——你也知道 (我在 Yahoo!工 作)——但我深切的感觉到,不管你在哪里工作,成为一个优秀的员工、优秀的软件开发工程师的过程是一样的。 下面所列举的都是伟大的程序员所具有的经验和品质。

  只做正确的事

  对于软件这一行的人,我们有个很大的挑战,就是如何能够用正确方法的做事情。什么是正确的方法,这依赖于你在做什么和做给谁。而究竟所谓“正确的方法”里都包括了什么内容,这并不是重点,重点是你是否能坚持按照这种方式做事。初级程序员在这个问题是通常不能做到坚持,而资历较深的程序员却能始终坚持原则。 也许会有一个“非常紧急”的项目,或者这个项目很特殊,不能按常规过程开发。这只是个假象。好的程序员知道即使在任何情况和环境下都要坚持做正确的事情。如果说按正确的方式开发将导致不能按时完成任务,那么,他们就会知道,这个项目是不能按时完工的。不要妥协,工程质量是你作为一个优秀程序员的唯一终极证明。确保你所有的代码都是在正确的方法下100%正确的写出的。要按一个优秀的程序员的标准来要求自己。

  甘愿受苦

  听起来很傻,但却是真的,优秀的程序员都乐于承担工作上给他们带来的痛苦。你说出一个伟大的程序员,我都能告诉你,在他或她的职业生涯里,各个阶段,都曾有花好几天时间去解决一个问题的经历。优秀的程序员品味着困难给他们带来的挑战,这让他们日以继夜,他们明白,问题必须要解决掉。

  不太优秀的程序员就不一样了,他们在刚刚碰到有麻烦的迹象时就先想到要寻求帮助。在问题面前,他们习惯于去寻求帮助,而不是自己去努力解决这个问题。他们最喜欢的一句话是:“帮我看看这个问题”。伟大的程序员的第一反应是我要自己解决这个问题。解决问题是种技能,是优秀的程序员非常看重的一种技能。

  好的程序员是通过痛苦的磨练才成为伟大的程序员的。痛苦的磨练是说当你对这个问题实在无能为力时才去请求外援。求助就意味着认输,所以尽量减少这种处境的发生。 甘愿受苦。和问题做不懈的斗争。这就是你要学会的。

  注意: 我并不是说你不能寻求他人的帮助。我说的是,你首先要尝试自己去完成任务,如果你不能完成,再寻求帮助。不要在自己没有努力过前就轻易的求助。你经常会发现,当你知道了解决方法后,你才认识到,你用自己的力量本也能解决这个问题的。

  学无止境

  如果有人敢声称他不需要再学任何新的知识,我是绝对不愿意和他共事的。在有些行业,你也许很多年不学新的东西也能干的很好,但软件技术革新的如此之快,你不能不时刻关注。你的老板是由于你有某些技能才花钱雇你的,如果你的技能已经落伍、过期了,那你也就没有价值了。想成为一名伟大的程序员,你首先要承认你不是无所不知,你必须每天都要努力的寻找、学习新的知识。

  在你现在的公司里或组织里寻找能让你学习、让你钦佩的人。在复杂的问题上征求他们的意见,看看他们是怎么思考的。向他们介绍你的解决思路,请他们给予批评指点。如果在你的周围你不能找出一个能作为你的导师的人,这要么是你还没有认真的寻找,要么是你留在了一个不该留的公司里。如果你在现在的工作上不能学习进步,那是到了你该换个工作的时候了。

  要阅读网上的博客。关注一些研讨会。与其他程序员交流。伟大的程序员从不停止学习。

  分享知识

  有一些程序员认为,他们的唯一价值所在就是他们所拥有的知识,于是,分享出他们的知识就会让他们的价值降低。这是大错特错了。让你有价值的不是你的知识,而是如何运用你的知识给公司创造价值。难道还会有比分享知识给他人更能给公司创造价值的方法吗?

  我曾经面试过一家公司,知识不共享、相互保密、相互提防的理念在这家公司里根深蒂固。在这样的环境里,员工之间形成了一种恶性竞争的关系,这直接导致了勾心斗角和诬陷中伤的产生。我可不想在这样的公司里工作。如果每个人都对自己知道的事情讳莫如深,那你什么都学不到。

  伟大的程序员希望他人也能知道自己所掌握的知识。他们并不担心会因此而失去优势,因为他们相信大家都会这样做。伟大的程序员乐意看到他们的同伴成长、成功。一个公司,它应该被一群喜欢知识共享的人组成,就像人们在运动场上,让团队的每个对员都强大起来,整个团队才会强大。

  伸出援助之手

  伟大的程序员从来不会说“这不关我的事”。他们总是愿意伸出援助之手。他们经常在做自己的工作之余,去帮助那些编程新手。如果有件任务必须按时完成,而又没有其他人能胜任,伟大的程序员会主动承担起这项任务。他们从来不嘲笑来请求帮助的人,即使问题是那么的小、那么无意义、无价值。 伟大的程序员重视他们的团队,愿意为团队做任何的事情。不管是要去写1,000行的代码,还是去编辑一个图片,伟大的程序员都会立即站出来帮助完成。

  十年磨一剑

  伟大的程序员不是天生的,是后天炼成的。他们是本文上面提到的那些因素造就的,加上还要通过努力的工作。如果你是刚刚意识到这些,那还不晚,你仍然有充分的时间来成为一个伟大的程序员。耐心是关键。伟大的程序员不是在旦夕之间就可以成就的。有些人可能要花上数年,有些人则需要十几年。没有人为你写血泪史。好的公司当发现你有成为伟大程序员的潜质时,会帮助你,为你提供舞台。而你会通过你的努力工作、让你的团队进步来证明自己。要坚定,要自律,通往伟大程序员的道路会很长。

  更新 (5 Sep 2009): 针对“甘愿受苦”段内容增加一个声明。好像很多人都误解了我的观点。

  声明: 本文里的所有观点和立场都是来自 Nicholas C. Zakas 本人 ,跟 Yahoo!, Wrox 出版公司, O’Reilly 出版公司, 或其他人没有任何关系。我只代表我自己,不代表他们。

 

文章来源:IT工程技术网  http://www.systhinker.com/html/51/n-11651.html

手把手教你用EG2153搭建开关电源:SOP-8封装驱动芯片的5个设计技巧 本文详细介绍了使用EG2153自振荡半桥驱动芯片搭建开关电源的五个核心设计技巧。内容涵盖从深入理解芯片工作机制、频率编程计算误区、SOP-8封装的热管理方案,到死区时间评估与外部保护电路设计,以及实战调试与故障排查指南,旨在帮助工程师实现稳定可靠的小功率电源设计。 阅读详情

相关推荐

高速设计注意事项总结——MDI篇

在以太网高速通信系统中,MDI(Medium Dependent Interface,介质相关接口)是连接物理层芯片(PHY)与传输介质(如网线)的关键接口,其设计直接影响信号完整性、传输速率和抗干扰能力。本文围绕 MDI 及 RJ45 接口电路、关键参数、设计与布线要点展开,为高速以太网设计提供参考。本文包含MDI 及 RJ45 接口电路组成、电路设计注意事项、布局布线要求等内容

qq_16237389的博客 1360

如果说中国的程序员技术偏低,原因在这里

首先来说一个高级程序员并非靠自己读几本书写几万行代码就能练就的,我更关注于低层的环境,也就是程序员实实在在的工作环境。因为程序员的高低还得从实际的工作来衡量,而非其它。所以我想说的是,中国的软件公司的性质直接导致程序员的水平的高低。而我所说的软件公司,不是指某个或者某几个,而是指主流的软件公司,大众型的软件公司。所以我希望那些已经步入一个理想的公司的程序员理解我这篇文章的定位。   软件公司...

我的程序我做主 371

【实现100个unity特效之4】Unity ShaderGraph使用教程与各种特效案例(2023/12/1更新)

ShaderGraph是Unity中的一个可视化工具,用于创建和编辑图形着色器。其意义在于简化编写复杂着色器的过程,减少对具体编程语言的依赖,使艺术家和设计师可以更方便地创建各种美术效果。使用ShaderGraph可以通过图形界面设置着色器属性,包括颜色、纹理、光照等,并在视窗预览中即时显示结果,从而快速迭代和调整着色器。使用ShaderGraph需要先安装Unity 2018.1或以上版本,并添加ShaderGraph插件。打开ShaderGraph面板后,可以通过拖放节点并连接它们来创建着色器。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 4万+

AI代码安全审查实战:Claude Code Security原理、配置与DevSecOps集成

在软件开发生命周期中,静态应用安全测试(SAST)是保障代码安全性的关键技术,其核心原理是通过分析源代码或编译后的代码,在不运行程序的情况下识别潜在的安全漏洞。传统SAST工具基于预定义的规则集和模式匹配,虽能覆盖广泛漏洞类型,但常面临误报率高、与开发流程脱节等挑战。随着人工智能技术的发展,智能代码分析工具通过理解代码上下文、数据流向和开发者意图,实现了更精准的漏洞检测,显著提升了安全左移的实践价值。这类工具将安全能力无缝嵌入开发环境,在编码阶段实时提供风险提示,有效防范SQL注入、命令注入等常见高危漏洞,

weixin_34023982的博客 532

阻止资深程序员技术进步的最大敌人就是开始做管理,做管理至少毁了中国90%的好程序员

http://www.zhihu.com/question/28802145 赵云涛的回答

不相信奇迹 657

程序员的使命是让程序员失业 —— Gemini

为打破外界对程序员简单平面的偏见,一系列程序员访谈正在进行中。 第一个接受访谈的程序员 Gemini,在 SegmentFault 主要负责 Android 移动端开发,然而作为移动端工程师,他最喜欢的语言却是 JavaScript。喜欢一语惊人的他,在访谈中贡献了这篇文章的标题——“程序员的使命是让程序员失业”。 以下是访谈内容。 Pa...

weixin_33893473的博客 373

软件史上最伟大的十大程序员(图文)

原贴:http://news.csdn.net/n/20071108/110464.html软件史上最伟大的十大程序员(图文)1,John Carmack(约翰.卡马克)John是程序员的教父。他一直致力与推翻世界快速工业化的障碍,在引领时代浪尖的同时仍能将研究成果作为游戏的一部分,它的贡献令人敬畏。他在计算机图形方面的创新给我们带来了Wolfenstein 3D, Doom & Quake.2,

最实用的Linux博客 3134

深入剖析微软ASP.NET Ajax中的数据绑定架构上篇之一

 一、引言 最近,微软ASP.NET Ajax 1.0框架正在引起越来越多的web开发者的注意。原因何在?一方面,因为它是微软推荐的一个基于Ajax的主要针对ASP.NET 2.0平台的web开发方案。另一方面,因为这个框架登上Ajax舞台的时间如此之晚,但却把一套新的完整的基于Ajax的web开发方案呈现在web技术人员的前面—与遗留ASP.NET系统的有机整合并实现了完全面向对象的

小肖的专栏 1094

深入剖析微软ASP.NET Ajax中的数据绑定架构上篇之一(

一、引言 最近,微软ASP.NET Ajax 1.0框架正在引起越来越多的web开发者的注意。原因何在?一方面,因为它是微软推荐的一个基于Ajax的主要针对ASP.NET 2.0平台的web开发方案。另一方面,因为这个框架登上Ajax舞台的时间如此之晚,但却把一套新的完整的基于Ajax的web开发方案呈现在web技 术人员的前面—与遗留ASP.NET系统的有机整合并实现了完全面向对象的客户...

weixin_33989058的博客 81

深入剖析微软ASP.NET Ajax中的数据绑定架构上篇之二

三、命名空间Sys.Preview.UI.Data中的客户端控件 (一)ItemView控件有时,我们需要向用户显示一个关于我们的集合项的详细视图,例如在一个购物应用程序中显示关于你的产品的细节信息。MS AJAX客户端控件ItemView控件能够帮助你实现这一特征,类似于ASP.NET服务器控件DetailsView对应的行为,但是它完全运行于客户端。该ItemView类以及List

小肖的专栏 712

To:世界最伟大的10位程序员。老师们,谢谢你们!

今天是教师节。人的一生,会遇到许多老师,有的老师,我们有机会当面答谢;但大多数老师,都是在春风化雨、润物无声般地影响我们,帮助我们。下面这12位老师,不仅在潜移默化地影响...

实验楼 2398

程序员的奋斗史(八)——懒人造就方法

社会的进步、科学的发展,无不是靠这些“懒人”。 懒人造就了方法,这句话一点也没错。突然间想想那些聪明的人,大多都是懒人。因为想得多,所以做得少。因为想得多,所以思维得到了锻炼,变得越来越聪明。懒人造就了方法,当一件事情需要很大功夫才能做完时,勤快人想得是马上去做,尽快完成,而懒人想得是怎样做省力,怎样做最节省时间,此时懒人创造了一系列的方法。越勤快,越没有机会找到更快的方...

爱.NET 259

盘点:历史上最伟大的12位程序员

所谓程序员,是指那些能够创造、编写计算机程序的人。不论一个人是什么样的程序员,或多或少,他都在为我们这个社会贡献着什么东西。然而,有些程序员的贡献却超过了一个普通人一辈子能奉献的力量。这些程序员是先驱,受人尊重,他们贡献的东西改变了我们人类的整个文明进程。下面就让我们看看人类历史上最伟大的12位程序员

青春木鱼的博客 5375

程序员:“懒”推动技术进步

好久不见,最近忙着加班,没时间写水文,公众号后台:炸哥你这号是不是废了…….好不容易划两天水分享个工作中遇到的小问题以及如何解决问题来自前端&测试 和 后端RD的冲突行行行,我不...

291

28岁转行做程序员工作几年,现在求职各种不顺,以后咋办?

前几年,互联网行业的程序员这个职业很吃香,工资很高,于是很多人通过各种各样的方式进入到了这个行业,开始了自己的编程生涯。很多人之所以做程序员的原因也很简单,一方面是这个工作的工资确实很高,另一方面是因为这个工作确实很有前途,随着科技的进步和发展,程序员可以发挥的余地还有很多。所以,有的人通过自学和别人引荐也算是顺利的转行了,而有的人则是通过参加培训班,快速学习了几个月之后也进入了互联网行业做了程序员

m0_59235245的博客 1115

springboot026基于SpringBoot的在线文档管理系统的设计与实现(文档+源码)_kaic.zip

计算机毕业设计

NetWorker_19.2_Installation_Guide_安装指南.pdf

DELL DD 备份软件networker 操作手册 19.2 最新版,拥有WINDOWS LINUX unix 3中环境 控制端 与客户端 安装细则,以及安装中出现的问题和解决方法。

上一篇: wxWidgets界面绘制一点总结
下一篇: 采用面向对象的方式去拆任务
SysThink
博客等级 码龄17年 37粉丝 136原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值