`

一个软件开发人员最重要的4个技能

 
阅读更多

原帖地址:戳这里  纯机器翻译

 

随着大量的技术,语言和平台可供选择的今天,它可以找出其中最好的投资时间在训练你作为一个软件开发人员的技能是非常困难的。

 

经常有人问我的意见,就如何成为一个更好的程序员。

 

最常见的问题有人问,是基于他们是否应该投入更多的时间在一个特定的编程语言或技术与另一个。

 

我已经给这个颇有几分思想最近,我想出了什么,我认为是一个软件开发人员可以实现,这将给他们的职业生涯最好的机会,使他们最有效的最重要和最永恒的技能。

 

技巧1:解决问题

 

需要学习如何解决问题之前,我什至给出了一些如何学习解决问题的步骤,我多次谈到过,因为我相信这个技能是任何软件开发的关键。

 

软件开发是解决问题的100%左右。

 

如果没有问题,就不会有需要软件。

 

所有软件设计来解决一些用户的问题,一般的解决方法是各种各样的小问题,使其内。

 

这真的没有不管你使用什么编程语言或技术,如果你解决不了的问题,你会不会很擅长软件开发。

 

令人吃惊的是多么糟糕大多数开发商都在解决问题。

 

我经常听到抱怨面试太硬,因为他们要求开发商解决一些棘手的问题。

 

我已经谈到为什么硬访谈和测试开发者的解决问题的能力的部分原因是因为他们。

 

我知道的是,许多开发商仍然不同意我这一点,不明白为什么这样的网站TopCoder公司将提高他们的发展能力,那么多,但我知道,这是从个人的经验TopCoder公司解决问题的做法,是转折点在我的职业生涯。

 

想想一个木匠。如果你想成为一个成功的木匠,你应该善于砍柴。您应该实行做着各种割伤和使用许多不同的工具,锯木头。

 

不要紧,你有木工多年的经验以及你如何可以设计家具或橱柜如果每次尝试砍柴你斗争作出削减。

 

砍柴是一个基础的木工技能,解决问题就像是软件开发的基本技能。

 

技巧2:自我教学

 

大概没有比在生活中更重要的技能学习学习。

 

这个技能是在软件开发中尤为重要,因为没有现场,我所知道的比软件开发更迅速地改变。

 

你可以不知道一切的一切。你甚至不能真正投入所花费的时间是一个特定的框架或技术的事情正在朝着太快的高手!

 

相反,你需要能够迅速获取知识,你需要为手头的任务。

 

如果你真的想有本事,将推动你通过你的软件开发生涯,学习如何教自己。

 

开发这个 ​​技能的唯一途径是把它投入使用。走出去,学习新的编程语言或技术,即使你认为你永远不会使用它。你会惊讶的速度有多快,你也许可以把它捡起来的基础,因为你已经在你所知道的。

 

如果你能迅速适应瞬息万变的软件开发市场,与它相关的技术和平台,您将有技能的需求,将永远是。

 

虽然我有点怀疑一些蒂姆·费里斯的说法,他有一个很好的书,被称为4小时的厨师,其中有一些伟大的技术如何快速学习的东西。(我想要写一本关于这个主题。)

 

技巧3:命名

 

当人们问我什么,我整天,我主要是说读其他人的名字和名称的东西的东西。

 

好吧,真的没有人问我,我不想回答这种方式,但我肯定可以。

 

软件开发是所有关于描述的形而上学。最不能看到什么,我们正在建设的。

 

我们必须在我们的脑海中构建一个完整的世界,授权经理的授权请求,并吐出授权响应用户存储库使用用户工厂组装新用户一起。

 

每次你写代码命名的东西。   当你读,你或别人写的代码,你获得最了解该代码的名字在该代码的东西。

 

大部分的时间,我可以准确地预测开发人员的技能水平,看他们是如何命名的方法,在他们写的代码的变量和类。

 

缺乏能力的开发人员提供良好的名字在他们的代码中的概念和数据就像是一个哑巴翻译   不要紧,如果你能理解的东西,如果你不能充分解释,目前来说它离开你的头已经一去不复返了。

 

提高这个技能的最佳方式是要始终把它付诸实践。我会经常重命名代码,我只是阅读理解的东西。正如我开始明白什么方法做,我会改的名称相匹配的理解。我会做到这一点,而我读的代码,甚至没有任何逻辑变化。

 

你越专注于给好名字的事情,你将成为更好。

 

这也是最明显的事情你的代码。这是很难知道,如果你的代码是正确的或有效的看着它,但如果我读了它,可以把它理解,我会假设你知道你在做什么。

 

技巧4:与人打交道

 

我列出这最后的,但在许多情况下,你可以说这是第一个最重要的技能。

 

无论你走到哪里都有人。

 

除非你的工作独自开发软件,只为自己,其他人都去影响你的职业生涯,作为一个软件开发人员。

 

我谈到过,为什么你可能不想批评别人之前,但还有更多的与人打交道的不是得罪他们。

 

我经常回去到卡内基名著,如何赢得朋友和影响他人因为这本书是如此的重要,在学习如何成为一个成功的人。

 

我已经说过了,但如果你想开发的人际交往能力,读这本书!

 

基本的问题是,人类是不符合逻辑的生物,我们是情感的。当然,我们喜欢我们的能力的原因感到自豪,但现实情况是,大多数的我们作出的决定更多地受到感情而不是原因。

 

这意味着你作为一个软件开发人员,除非你能有效地处理与其他开发人员,管理人员,甚至是客户,你会不断面临麻烦,尽管你的想法有多好,或者你的技能是多么宝贵。

 

一般在软件开发社区积极参与,还可以帮助你在你的职业生涯中极大。它不只是网络,但让你的名字在那里,建设好人缘。

 

这样做,成功的关键在于直接与人打交道的能力。(想采取一个大的快捷方式,学习如何与人打交道,这很简单。该多好!)

 

实用技巧是什么?

请注意,我在我的名单中没有包括任何关于某个特定的技术或者甚至广泛的Web开发技能或移动开发?

 

在技​​术领域的一对夫妇有一个坚实的基础,这当然是重要的,但这些领域是什么,是不是几乎一样重要,因为我在上面提到的4个技能。

 

如果你能解决问题,快速学习的东西,名字的事情以及与人打交道,你将有一个更大的成功从长远来看,比你在任何特定的技术专业水平。

 

随着中说,当然这是很重要的,以彻底了解一种编程语言或两个,有一个大致的专业领域,但只要你不走得太远关闭因循守旧与选择,你专注于这4个重要的技能,你将确定。(你甚至可以学习C + +

分享到:
评论

相关推荐

    软件开发者最重要的四大技能

    NULL 博文链接:https://lvwenwen.iteye.com/blog/1750239

    安卓软件开发--毕业设计开题报告安卓软件文献翻译.docx

    安卓软件开发--毕业设计开题报告安卓软件文献翻译全文共4页,当前为第1页。安卓软件开发--毕业设计开题报告安卓软件文献翻译全文共4页,当前为第1页。安卓软件开发--毕业设计开题报告安卓软件文献翻译 安卓软件开发-...

    敏捷技能修炼(Essential Skills for the Agile Developer)

     《敏捷技能修炼:敏捷软件开发与设计的最佳实践》中内容围绕“敏捷式编程”这一主题展开,对每一位敏捷软件开发人员都应该掌握的核心技能和技术进行了深入阐述,总结出了大量最佳实践,提供了一整套最精炼的技术...

    软件人员处事宝典

    人是测试工作中最有价值也是最重要的资源,没有一个合格的、积极的测试小组,测试就不可能实现。为高质高效地完成测试任务,好的测试工程师应具有如下能力: 1、沟通能力 一名理想的测试者必须能够同测试涉及到的...

    如何提高软件质量

    本文全面介绍了质量的概念,提出了从流程、技术、组织管理、人员技能发展等多个角度提高软件质量的重要性;并对目前国际上流行的CMM标准进行了介绍,提出了使用PSP和TSP来实现CMM的方法。本文最后还给出了中小型软件...

    google软件测试之道

    每天,Google都要测试和发布数百万个源文件、亿万行的代码。...《Google软件测试之道》适合开发人员、测试人员、测试管理人员使用,也适合大中专院校相关专业师生的学习用书,以及培训学校的教材。

    软件测试经典面试题 (超实用)

    7、一个测试工程师应具备那些素质和技能? 35 8、您认为在测试人员同开发人员的沟通过程中,如何提高沟通的效率和改善沟通的效果?维持测试人员同开发团队中其他成员良好的人际关系的关键是什么? 35 9、在您以往的...

    项目实施九阴真经《超越对手--软件项目经理的18种实用技能》

    2.2.1 第一个容易犯的错误:不清楚调研的的目的 9 2.2.2 第二个容易犯的错误:计划不够细致 10 2.3 调研准备阶段容易犯哪些错误?(中) 11 2.3.1 第三个容易犯的错误:计划没有在内部沟通 11 2.3.2 第四个容易犯的...

    ChatGPT 的 10 个最佳替代品:开发者版

    这个聊天机器人显着改进了许多领域,例如精确的搜索结果、增强的人类技能,以及最重要的编码。 由于 ChatGPT 在世界范围内的广泛使用,它可能会超载,导致在可用之前等待很长时间。此外,它无法生成长格式的结构化...

    leetcode每日一题在哪-developer-resources:一个资源库,帮助我成长为一名开发人员,旨在帮助其他人走上类似的道路。这个

    一个资源库,帮助我成长为一名开发人员,并创建以帮助其他人走上类似的道路。 背景 大家好,我叫 James Dinh,我目前是 Jonel Engineering 的一名软件工程师,他对开发、编码、搜索引擎优化、可访问性、UX 和 UI ...

    不断发展的大型软件信息站点中的标签推荐

    各个软件开发人员做出的标签的选择不仅取决于开发人员对软件对象的理解,还取决于开发人员的英语技能和偏好。 结果,随着软件对象的不断添加,不同标签的数量Swift增长。 由于具有成千上万种不同的标签,其中许多...

    软件需求(pdf文档)

    软件开发人员及用户往往容易忽略信息沟通,导致软件开发出来后,不能很好地满足用户的需要。而返工则不仅在技术上给开发人员带来巨大的麻烦,而且软件性能深受影响且造成人力、物力的浪费。所以在开发周期早期提高...

    软件需求全过程实践pdf

    软件开发人员及用户往往容易忽略信息沟通,导致软件开发出来后,不能很好地满足用户的需要。而返工则不仅在技术上给开发人员 带来巨大的麻烦,而且软件性能深受影响且造成人力、物力的浪费。所以在开发周期早期...

    计算机软件用户界面设计的基本原则.doc

    关键词:软件 界面 基本原则 1 基本原则1:关注用户及其任务,而不是技术 这是最重要的原则,是所有原则的根本所在,是其他所有用户界面设计原则的基础—— 关注用户及其任务,而不是技术。"关注用户及其任务",这句话太过...

    下一代软件架构--SOA.doc

    2002年12月,Gartner提出SOA是"现代应用开发领域最重要的课题",还预计到2008年,SOA将成为占有绝对优势的软件工程实践方法,主流企业现在就应该在理解和应用SOA开发技能方面进行投资。 更好支持商业流程 SOA并不是...

    Google Android揭秘.pdf

    有着15年以上的软件开发经验,现在主攻移动和嵌入式技术领域,是一个活跃于移动软件市场的高产软件开发者。 Charlie Collins 有着超过12年的Java开发经验,是GWT in Practice一书的合著者,同时也在网上发表过很多...

    计算机网络技术各专业介绍.docx

    技能:软件开发、系统运维分析、大数据技术。 未来成就:软件开发工程师、大数据开发工程师、大数据挖掘工程师、大数据分析师、大数据构架师 中等职业技术学校: 办公方向:会客户端操作系统、office类软件、使用...

Global site tag (gtag.js) - Google Analytics