[編集者注] 。ロバート・L・グラスの「ソフトウェアエンジニアリング事実と誤謬」には言った:「最悪のプログラマプログラマの最良のより強い28倍。」 優秀な開発者は非常に稀であり、彼らの生産性があります三回通常の開発者は、悪い開発者の10倍です。世界で唯一の開発者の上位1%が信頼性の高いコードを書くことができ、彼らはまた、重要な劣性形質を持っています。ダミアンのスケーラブルなパスの創設者は、以下の7つの品質がすべての違いを作ったプログラマーを与えると考えています。
作者 | Mahdhi Rezvi
翻訳|明らか月Zebian |胡威威
制作|ライフ・プログラム(ID:coder_life)
正の態度
ときに良いプログラマは、彼らの野心、少しは仕事に挑戦する何かをして、毎日彼らの最高レベルをプレイしたい、同社の製品を担当しています。
緊急の期限でプレスを続けたが、(締め切り)開発者はよくないですが、時にはかなり必要。あなたが迅速に市場に製品を必要とする、またはあなたが期限前に特定の機能を公開する必要がある場合はCEOとして、とても優秀なプログラマーは、可能な限りソフトウェアの最終リリースで開発をステップアップし、時間になります。
強力な開発者は、自分のエゴがフィードバックを邪魔せません。積極的な態度を持っているための良い方法は、彼らはいくつかの興味深いプロジェクトを手配与える彼らに誇りを与え、職場でその優れた性能のためにそれらに感謝です。
有料の従業員にストックオプションを提供することにより、スタートアップ企業は残業、無給休暇を提供し、または優秀なプログラマーを保持するために、他の利点を取ります。
アデプトコミュニケーションスキル
直接個人的な開発に関連した良好なコミュニケーションスキル。迅速かつ正確に問題を理解するための良い開発者は、問題が分解され、その後すぐに解決策を提案し、理論に変換されます。
彼らは、概念を理解しやすい、または右の質問をすることで説明すること、そして、彼らは仕様書を書面ですべてを置く必要はありません。一般的に、多言語、および非常に熟練英語の文書を読み書きするための優れたオフショア開発。
技術分野では、インタラクティブな言語の英語のドキュメントと開発者のほとんど事実インチ 彼らは良い十分ではないと言うならば、彼らはいつも非常に簡単に時代遅れになることで二手の知識を、学習しまうので、私たちは、通訳や翻訳者の助けを借りてする必要があります。
良い時間とタスク管理
好的开发人员非常高效。他们有很强的职业道德,并且在会议上准时出现。
一项重要的技能是具备准确预估计划、协调和执行一项任务所需时间的能力。优秀的程序员擅长管理他们的客户或领导者,而不只是让老板管理他们。
快速学习的能力
优秀的开发人员通常自学能力非常强。他们有能力自己学习新技术,不会受到新技术的威胁。他们具有提取各种信息并即时处理信息的能力。
每个程序员都会经历一种他或她不知道答案的情况。优秀的程序员可以找到各种各样的机会,与合适的人交流,无论如何都能找到解决方案。
每个人所能拥有的最好的技能就是知道如何学习,出色的开发者具有超强的自学能力。
深厚而广泛的技术经验
优秀的开发人员已经在一系列技术领域工作了足够长的时间,从而成为专业人士,并拥有许多经验。
当然,找到一个曾经开发过与你的产品相似的产品或者使用相同技术的程序员是很重要的。优秀的工程师可以很快将项目落地,因为他们经验丰富,他们已经掌握了项目所需的技术。
他们会遵循编码规范,编写可读性强的代码,并且可以通过在恰当的地方添加注释来帮助别人快速理解代码的含义。
通过结合他们的认知能力和广泛的专业经验,他们能够很容易地找到最佳的解决方案。
有经验的开发人员精通最佳实践,如敏捷开发、任务管理工具(Jira、 Trello 等)、版本控制,以及在不同环境中的操作 (本地开发设置和交付应用程序的工作知识)。
团队合作精神
高级开发人员的另一个优点是他们具有帮助其他开发人员发展地更好的能力。
当团队成员感到困惑时,他们会帮助他们,教他们新的技能,并编写文档,这些文档不仅对他们的业务有帮助,甚至对整个开发者社区都有帮助。
高度关注用户
一个好的程序员会做他们被要求做的事情,而一个优秀的程序员会关注软件的最终用户,并在组织的能力范围内解决问题。
一个优秀的程序员还会思考他们正在开发的功能是否有很高的价值,当一个功能不能为任何人创造价值时,他们就会放弃。
怎样才能成为一个优秀的开发者?
思维敏捷
现在已经可以在线学习,你不必非要去学校才能成为一个优秀的开发者。但是,很多优秀的程序员都去了好学校,接受了计算机科学的培训。
获得一个计算机科学的学位可以帮助你更好地理解架构,让你对计算机编程的世界有一个整体的视角。
与最新的技术保持同步可以帮助你跟上时代的步伐。阅读大量关于最新技术发展动态的文章和论坛,在业余时间可以尝试学习新技术,加入小组,参加会议,通过博客为社区带来价值。
做你喜欢的事情
做一些让你兴奋的事情会帮助你自然而然地提高。
最优秀的程序员富有创造力,他们喜欢创造东西,他们享受技术对这个世界的产生的影响。做你喜欢的事情将帮助你更具创新性,全面提升你的技能。
积累经验
毕业前不要只因为工资高就接受某个工作。
要找一份能帮助你在短时间内获得重要经验的工作。哪怕薪资很低也没关系。积极在工作中吸取经验。你可以尝试为创业公司工作,也可以尝试去为大公司工作,在各个部门工作。
创建和维护你的技能列表
技术变化很快。新的平台不断建立,数字语言正在开发,产品正在以惊人的速度生产。
保持适应力和接受变化是很重要的。学习最新的技能设置你的“工具箱”。一个强大的开发人员很早就可以了解到软件发展趋势,然后尽早用这些新技能来构建东西。
总结
现在越来越难找到优秀的程序员了。软件产业正在经历一个资源短缺的局面。 这意味着他们需要的工程师比他们能找到的要多,而企业正在竭尽全力吸引顶尖技术人才。掌握上述技能,才能确保自己找到一个好工作。
原文:https://medium.com/better-programming/7-qualities-that-make-you-a-great-software-engineer-92819b28799d
本文为 CSDN 翻译,转载请注明来源出处。
《原力计划【第二季】- 学习力挑战》
正式开始
即日起至 3月21日
千万流量支持原创作者
更有专属【勋章】等你来挑战
热 文 推 荐
☞近一半程序员单身、年薪低于 15 万,程序员扎心现状大调查!
☞一波四折,魔幻七面拿下腾讯 Offer!
☞高通发布 5G 基带芯片 X60:5nm 制程,2021 年上市
☞华为提出基于进化算法和权值共享的神经网络结构搜索,CIFAR-10上仅需单卡半天 | CVPR 2020
☞基于区块链技术的数据共享赋能AI驱动网络
☞探索处理数据的新方法,8 个重点带你搞懂云数据库——DBaaS(数据库即服务)到底是什么!
你点的每个“在看”,我都认真当成了喜欢