你不是程序猿!Coder 是一个崇高的职业!
3195
2016-05-31 18:30
文章摘要:  《TO》编按:软体开发不该靠自己硬干,在软体工程师该共同合作的理念下,这篇文章问了几个非常有才华的网页、行动程式开发者,请他们给所有工程师一些建议,并统整出 10 项。   要知道,这些软体工程师不是一夜间就变成有才华的开发者,要有今天的成就,需要有足够的韧性去磨练自己的技巧,这也意味着,他们得在电脑






  《TO》编按:软体开发不该靠自己硬干,在软体工程师该共同合作的理念下,这篇文章问了几个非常有才华的网页、行动程式开发者,请他们给所有工程师一些建议,并统整出 10 项。


  要知道,这些软体工程师不是一夜间就变成有才华的开发者,要有今天的成就,需要有足够的韧性去磨练自己的技巧,这也意味着,他们得在电脑萤幕前花上很多时间。听听他们一路学来的宝贵经验。1、慎重选择第 1 门语言


  编程语言各有不同,不过区别不大。但用语言的人区别就大了。选择了一门语言你就选择了一个群落。– Sam Kaufman,自由职业者,iOS 开发者,10x Management


  如果你想快速建立塬型(尤其对于希望对产品进行迭代升级的创始人来说),那就用 Ruby 或者 javascript– Erin Parker,Spitfire Athlete 创始人兼首席开发者


  2、你不是程序猿!


  伟大的开发者能够建构并开发应用。惊艳的开发者能够在关注业务的同时做这件事。业务端的人大都不懂编码,但是肯定能够理解特定功能背后的动机。


  别人说什么开发者就做什么,没有去理解为什么要这么做,导致双方均错失了机会,这样的事情太常见了。– John Coggeshall,自由职业者,web 开发者,10x Management,PHP 核心贡献者


  精通编程是一个崇高的职业目标。一旦实现了这个目标,别忘了考虑一下你自己,不要成为任何公司的奴隶或者在毫无价值的东西上浪费你的时间。— Greg Sadetsky, Python 及 javascript 专家,10x Managemen;协同办公空间 Abri.co 创始人


  要想按期完成,得在开始技术工作之前事先进行项目沟通(哪怕这并非先决条件),因为其他人的响应速度千变万化。– Andrew Wilcox ,web 应用开发者,Meteor 核心贡献者,10x Management


  3、保持敏捷,不断交付自己的编码


  早发布,不断发布,边说唱边发布。– Max Nanis ,自由职业者,web 开发者,生物信息学专家,10x Management


  不断测试。好的测试包如保单和煤矿裡的金丝雀之结合。它能帮助你在生产週期中更早地找出错误,而错误越早发现越容易解决。– Jeremy Green,自由职业者,web 开发者,专长 Ruby on Rails,10x Management


  快速失败。编码(及生活)时我希望儘早知道什么地方不能工作,而不是放任不管让它增殖扩散。全面放开,快速失败,修补缺陷,不断继续。– Stephanie Volftsun,Kno??tch 联合创始人兼 CTO


  为所有代码编写自动测试!尽可能践行测试驱动的开发。– Zoran Kacic-Alesic,Industrial Light & Magic 研发主管


  4、保持对测试流程的控制


  许多项目深受多测试週期之苦。这会拖累项目,导致组织整体出现高级别的问题。


  程序员应该专注于对自己的代码进行单元测试及半回归测试。他们比其他任何人更了解代码库,也知道自己会影响到哪些变更。有时此类变更会由于 QA 测试範围有限而缺失,因此导致生产环节出现重大问题。– Sanjib Sahoo,tradeMONSTER CTO


  要想在力所能及的情况下尽快开发出无缺陷代码,永远永远也不要把写测试放到后面。我们更清楚这一点。要检查一下测试的覆盖率,确保 100% 无死角。– Seth Purcell,Signpost 工程副总裁


  5、如果你是自由职业者,要学会说不,哪怕面对的是金钱


  要对时间和成本有一个合理的评估,然后把它加倍。如果大家都说“这应该很简单,”那就做– Ryan Waggoner ,自由职业者,web 及移动应用开发者,10x Management


  6、荣誉属于过去 -- 理论是一回事,但实践更重要


  改进软件开髮质量的最好方式就是去开发软件。许多雄心勃勃的刚入门的工程师花了很多的业务时间去读书,关于最新工具的、关于开放流程的,诸如此类的东西。


  很多人都是这么消磨自己的閒暇时间的,但这样很容易就把你给耽搁了。别这样,通过尽可能用脑来强化大脑负责开发软件的那部分。–James Cropcho,General Assembly 的 Ruby on Rails 专家及讲师


  不断探索。我见过的许多编码者手上都有几个在进行的业务项目。做业务项目迫使你要探索新技术然后学习创建应用的方方面面。你可能需要做前端的 HTML/CSS,后端的 API 集成,数据库优化,做移动 app,还得设置自己的服务器。– Andrew Waage,Retention Science CTO 及联合创始人


  7、结对评审是你的秘密武器


  结对编程非常必要。两个程序员联合开发同一个模块,可以相互审查对方的代码;开发团队每周也要召开代码审查会议,让每一个开发者给其他人的代码提供反馈意见,解释如何更好地改进代码。这能够形成一种协作文化,把开发者的自负抛开!– Sanjib Sahoo


  8、像躲瘟疫一样避免过早优化


  只有在问题和解决方案都出现在你面前时,才进行重构 -- 过早重构是时间上的巨大浪费。不要投入半年后可能被扔掉的任何东西的完善上,过早优化是罪恶之源。–Seth Purcell


  不要过早优化!我不断看到工程师在用户还没有到 1000 的时候一再对扩充到 100 万的用户规模担心。– Mariya Yao,Xanadu Mobile 创始人兼创意总监,移动开发者及设计师


  9、你的代码只写一次,可别人会读它千万遍


  你写的代码机器会解析执行,可其他人却需要读你的代码、理解它、摆弄它。你必须明白,你的代码会有未来的观众,代码也是一种书写形式的沟通。– Tracy Chou,Pinterest 软件工程师


  听起来很奇怪,但是你永远都得替自己的未来着想。问问自己:如果你有健忘症的话,你还能不能理解自己写过的代码?– Wai Ching Jessica Lam,Sugarbox 联合创始人兼 CTO


  通读你的文档。设计改动很多,有时候代码更新的时候註释不一定会跟进。保持文档的更新,未来的人(包括你自己)理解起来就更容易。我说不清有多少次我看回自己代码时总在想:「我到底在干什么?」只要我写出了好的註释,未来头疼就少很多。– Kitt Vanderwater,Google 软件工程师


  10、这是一个崇高的职业。把你的技能用到好的地方。


  帮助他人是深层次的人类需求。想办法用你的工作来改善人类,你就会有成功的把握。



版权声明:

凡本网内容请注明来源:T媒体(http://www.cniteyes.com)”的所有原创作品,版权均属于易信视界(北京)信息科技有限公司所有,未经本网书面授权,不得转载、摘编或以其它方式使用上述作品。

本网书面授权使用作品的,应在授权范围内使用,并按双方协议注明作品来源。违反上述声明者,易信视界(北京)信息科技有限公司将追究其相关法律责任。

评论