1. 不要为过去买单

不要活在过去,今天才是最最重要的,明天更重要。

不要弥补过去,那样会错过今天和明天,更会把自己迷失在过去的阴影中,会造成总是犯错,又总是为过去改过,于是生活在一个怪圈之中。

2. 量化目标,把目标具体化

千万别把一些:掌握,熟悉,高级,专家等一些非常抽象的标准作为你的目标,仔细想一想:什么叫掌握,什么叫熟悉, 什么叫高级什么又叫专家呢? 这些东西不同的人会有不同的理解。

要用具体的,实际的,可测量的量化目标,比如今年年终时存款达到什么样的数目; 再如明年的月薪达到什么样的水平;今年读几本书; 今年写多少篇博客;这个月做一个应用程序;参加几次社区活动;每周发贴数不少于10条等等。

这些具体的量化目标非常之明确,你能否达到,以及你与目标之间的距离也非常之明确,所以实践起来更容易。

3. 不要做太长远的计划

如上一条所说,千万别做太长远的计划,最好别超过5年。 现令世界变化太快,人生的变数也很多,说句老实话凡人看不到太远的未来。

其实就连乔布斯,盖茨等人也没有超过三年之后的详细计划。 当然,我们要有梦想和想做的事,但是详细的计划最好别超过三年,否则等三年之后你会发现那些当初的计划非常好笑。

4. 关注过去,还是着眼未来

这是面试时要考虑的事情。

在面试的时候面试官总是不厌其烦的问:你做过什么项目,你解过的有成就感的问题是啥,你学过什么技术,你看过什么书,你解过什么Bug等等。 但是我们需要的人是能解决未来的问题,能做好未来的项目,但是未来会遇到哪些问题,谁也没知道。

乔帮主和苹果的团队的创新能力无人能及,他们创造出了很多的改变了世界的伟大产品, 他们的产品领先于世界至少5年,但你问他们未来5年的手机会是什么样子?他们也不知道。 伟大的产品都是要经过长期的摸索,试验,克服数个困难才会形成的,而不是一下子就能想到的。

这其中更为重要的因素是弃而不舍的努力和不断尝试的勇气, 想做伟大产品的决心和敢为天下先的魄力,跟过去做过什么,跟过去解决过什么问题,其实不太相干。

5. 定期清空杯子

如果杯子满了,就再难装入新鲜的水。 很多时候,感觉不再有激情了,感觉乏味了,感觉没有新鲜感了,感觉不想看书了。

这个时候就需要清空杯子,把自己当成一个小孩子,当成一个学生,当成一个刚毕业的孩子, 当成什么都不懂的人,从头来过,从新开始学习。 会有意想不到的收获。

另外就是,当找不到问题的突破口时,也需要抹到一切线索和思路,从新再次分析问题。 就好比解数学题一样,如果乱了,解不下去了,就要忘掉先前的思路,休息一下,然后重新审题, 重新思考,回归基本,之后便会有新的思路出来,没准就会找到突破口。

这还有一个好处就是可以保证你不会走偏,因为很多时候由于没把问题搞清楚,加之心急,导致思路混乱,偏离了真正的问题,于是越来越乱。 这时就需要停下来,重新理清问题,重新思考

6. 个人仅做小项目,对于团队大项目,只能参与开源项目

我们的大问题也是缺少项目经验,但是个人的力量单薄,时间有限,只能完成小项目,甚至是几百行,几十行的小程序。

对于团队协作方面,只能参与开源项目,或者参与社区。

7. 给任何项目(任务)一个时限

就像编程比赛那样,给每个项目一个时限,有压力才会有动力,这样才能让自己进步

几个小时完成一个小工具,几天完成一个小应用等等,像ACM或者编程马拉松,或者开放编程比赛那样, 二三天内做出一个应用,这样会有成就感,更会学到很多。

8. 参与Topcoder,ACM/OJ等

参与Topcoder,ACM/OJ等,保持算法,分析问题和解决问题的能力。

9. 定期检查自己

像学生时代的考试一样,定期的来个面试,或者与老朋友畅谈,以回顾和检查过去这一段时间或一年的得与失和生活的收获。

特别是对于经验和技能被看重的IT行业,定期检查尤为重要

建议至少一年内要进行一次或几次面试,通过面试,你能从一个侧面知道自己的进步与不足之处,便能知道下一步该如何去做。

更重要的要,通过面试,你能知道自己的不足之处,与理想职位之间的差距,和要努力的方向。

除了上面的步骤,我还有一些建议,如下:

给你的函数和变量起一个好名字(编写见名知意的代码)

“如果你想成为一个伟大的开发者,请确保你写的代码让人见名知意:也就是说代码精确地完成了它名字告诉的东西”

编写可读性良好的代码

代码编写一年后,从原作者眼光来说,也是全新的代码 — Peter Nixey

有时候你需要的不仅是好的变量名,你也要围绕着代码进行测试,看它究竟需要什么,并使得代码经久耐用。有效的代码是可以工作的代码,并且始终工作,即使被公司里每一个人都改过,都还能如常运行。

写的每一行代码,其读者会是那些对此不感兴趣的,或者时间紧迫的团队成员,他们可能要在接下来一年时间扩展这些代码。请记住,那个不感兴趣,或时间紧迫的人,或许就是你自己。

每天至少(只)花4个小时做实际工作

对于讨论自我进步,关注和使用在开发者之间流行的生活技巧,简单的真理是:你不需要做大量的工作,就可以实现高效。真正重要的是,你能持续地做到这一点。每天花费最少完整4个小时来做恰当(proper)的事情,日复一日,你会成为团队中最有贡献力的成员。

不过,每天都抽出4个小时来工作比看起来要难得多。

恰当的工作意味着没有邮件,没有新闻,没有会议,没有杂七杂八的琐事。意味着一小时最少45分种的时间专注于(你正在做的事情)。一天4小时的工作意味着一天没有会议,没有漫长的午餐和休息时间讨论足球。我相信,一天扎实工作八小时几乎是不可能的。每天四小时也意味着你应该瞄准工作五或者六个小时,这样你才可能得到四小时的认真工作时间。

这也意味着你可以拥有丰满人生的同时,成为团队中一个卓有成效的贡献者。这意味着你不需要在HN上发表一个自我放弃“我忙死了,快来帮帮我”的帖子,这意味着你只要持续工作,你就能被重视和获得尊重。

软件团队并不因为人们每天工作四小时而比工作七小时的团队进展慢(持续这样的方式是非常疯狂的)。他们慢下来是因为人们几周都没有找到方向,或者那些响亮而空乏的嗓子,决定花费时间讨论 google vs facebook 的获取策略而导致的无止境的咖啡休息时间。

只要能工作就好,不要在乎你的进步看起来是如何缓慢或平庸…

每天工作四个小时,日复一日你会成为团队中最优秀的人员之一。— Peter Nixey (@peternixey) April 22, 2014

最后一句:如果你想变的更好,请做好准备!

转载于:https://www.cnblogs.com/ChinacloudTech/p/6249406.html

怎样做一个卓越的程序员相关推荐

  1. 怎样做一个优秀的程序员?这10个问题ChatGPT这样说 ……

    本文目录 1 怎样做一个优秀的程序员? 2 怎样成为优秀的架构师? 3 怎样写容易阅读的代码? 4 怎样做项目管理? 5 怎样学习计算机程序设计? 6 怎样提升个人影响力? 7 怎样提升认知? 8 程 ...

  2. 如何做一个高效率的程序员,对程序员也是很重要。。

    如何做一个高效率的人,对一个人的成功很重要,如何做一个高效率的程序员,对程序员也是很重要.大家好,我是:OpenEIM,下面与大家交流一些经验. 这是一则笑话.Shlemiel是一位油漆工,他找了一份 ...

  3. java性能瓶颈分析_Java性能优化技巧整理,做一个深度的程序员

    原标题:Java性能优化技巧整理,做一个深度的程序员 在我们身边是一大批的程序员,层次不一,但是放眼观,我们很容易就可以看到那些是业务型程序员,那些是有层次的程序员.注重细节,注重性能,做一个有深度的 ...

  4. 随记--做一个“懒惰”的程序员

    貌似是近两年,在猿界,经常被提起的一句话,做一个懒惰的程序,其实是做一个聪明的程序员的意思. 最近在看<鸟哥的Linux私房菜>,基础学习篇,第三版:虽然Linux也接触很久了,掌握的一点 ...

  5. Python 实现给女朋友的每日微信消息提醒!做一个贴心的程序员!!!

    文章首发于个人站点 实现微信消息每日贴心提醒 | 隐舍 微信公众号:[DreamHub] 如何做一个贴心的程序员男朋友?从微信每日提醒开始吧!!! 微信消息内容 包括如下: 日期(阳历+阴历): 每日 ...

  6. 做一个好的程序员难吗?只需要这10个习惯

    大家好!我是王不二,一个在上海打拼5年的Java开发者,2021年开始自由职业,专接外包,私活,如果你也有这方面的经历或问题,欢迎聊聊. 在这个世界上,有数以百万计的人对软件开发充满热情,他们有很多名 ...

  7. 如何成为一个卓越的程序员

    来源:伯乐在线 - 周昌鸿 作者是Rails/Angular开发者,企业家& YC alum.早先创建了Clickpass.com网站并出售.目前担任Brojure.com的OTO(唯一O(o ...

  8. [转载]如何做一个出色的程序员

    爱这行!!!        从事任何行业都一样,只有真正的爱上了这份工作,才会投入热情,才会在顺境中自我警醒,在逆境中寻找突破.这个行业的竞争很激烈,你停下来走,别人就立刻会跑步超过你,没有对这一行业 ...

  9. 转载:如何做一个聪明的程序员

    关于程序猿的传说很多,有人说程序猿是最聪明的人,他们在数学才能.文字功底.口才能力.预知能力.学历与学力.职业道德等方面都具有 优势:有人说,程序猿很邋遢,不洗澡不洗头,整天背着双肩包:有人说,程序猿 ...

最新文章

  1. Android开发出现Warning:Gradle version 2.10 is required. Current version is 2.8
  2. php中的mysql模块
  3. 【组合数学】生成函数 ( 正整数拆分 | 重复有序拆分 | 不重复有序拆分 | 重复有序拆分方案数证明 )
  4. keras从入门到放弃(十五)图片数据增强
  5. 在winform上内嵌入其它的程序
  6. 雷军微博抽奖送的那台蔚来ES6 时隔10个月终于提到车了
  7. PHP set_error_handler()函数的使用【转载】
  8. 一篇不错的讲解Java异常的文章(转载)----感觉很不错,读了以后很有启发
  9. button与submit
  10. 使用腾讯云DNSPod实现动态域名解析DDNS(测试可以用)
  11. MeGui原滤镜使用心得
  12. 关于iis中域名转向的问题
  13. Andriod studio 学习 之 Recyclerview
  14. mysql.servers表存在_ERROR 1146 (42S02): Table 'mysql.servers' doesn't exist
  15. turtle绘画,设置画布的背景图片
  16. 学习指南者STM32F103第一天——LED控制
  17. 《流浪地球》硬核科技:为什么电影情节根本不可能实现?
  18. 小小白学习c语言分享
  19. android项目中文字乱码的问题
  20. 计算机设备维护保养和网络巡检,弱电设备的维护保养及巡检管理制度

热门文章

  1. jstorm mysql_Jstorm+Spring+mybatis整合
  2. centOs8安装docker报错:错误:事务检查错误
  3. rust货轮什么时候出现_婴儿什么时候用枕头合适?并非三个月,出现以下征兆再用不迟...
  4. qlv文件怎么转换成mp4_flv怎么转换成MP4格式
  5. 《NET 产品版权保护方案》非常全面, 《武汉.NET俱乐部》, 培训讲议
  6. 0宽字符加密_艺术鬼才!Unicode 字符还能这么玩?
  7. 设置和使用地图的范围—ArcGIS API for JavaScript
  8. 页面报错500是什么意思_解决方案:品牌备案后,上传产品报错5461,A+页面报错...
  9. Spring main方法中怎么调用Dao层和Service层的方法
  10. Doris之分区缓存(全面)