原帖地址:戳这里 纯机器翻译
随着大量的技术,语言和平台可供选择的今天,它可以找出其中最好的投资时间在训练你作为一个软件开发人员的技能是非常困难的。
经常有人问我的意见,就如何成为一个更好的程序员。
最常见的问题有人问,是基于他们是否应该投入更多的时间在一个特定的编程语言或技术与另一个。
我已经给这个颇有几分思想最近,我想出了什么,我认为是一个软件开发人员可以实现,这将给他们的职业生涯最好的机会,使他们最有效的最重要和最永恒的技能。
技巧1:解决问题
需要学习如何解决问题之前,我什至给出了一些如何学习解决问题的步骤,我多次谈到过,因为我相信这个技能是任何软件开发的关键。
软件开发是解决问题的100%左右。
如果没有问题,就不会有需要软件。
所有软件设计来解决一些用户的问题,一般的解决方法是各种各样的小问题,使其内。
这真的没有不管你使用什么编程语言或技术,如果你解决不了的问题,你会不会很擅长软件开发。
令人吃惊的是多么糟糕大多数开发商都在解决问题。
我经常听到抱怨面试太硬,因为他们要求开发商解决一些棘手的问题。
我已经谈到为什么硬访谈和测试开发者的解决问题的能力的部分原因是因为他们。
我知道的是,许多开发商仍然不同意我这一点,不明白为什么这样的网站TopCoder公司将提高他们的发展能力,那么多,但我知道,这是从个人的经验TopCoder公司解决问题的做法,是转折点在我的职业生涯。
想想一个木匠。如果你想成为一个成功的木匠,你应该善于砍柴。您应该实行做着各种割伤和使用许多不同的工具,锯木头。
不要紧,你有木工多年的经验以及你如何可以设计家具或橱柜如果每次尝试砍柴你斗争作出削减。
砍柴是一个基础的木工技能,解决问题就像是软件开发的基本技能。
技巧2:自我教学
大概没有比在生活中更重要的技能学习学习。
这个技能是在软件开发中尤为重要,因为没有现场,我所知道的比软件开发更迅速地改变。
你可以不知道一切的一切。你甚至不能真正投入所花费的时间是一个特定的框架或技术的事情正在朝着太快的高手!
相反,你需要能够迅速获取知识,你需要为手头的任务。
如果你真的想有本事,将推动你通过你的软件开发生涯,学习如何教自己。
开发这个 技能的唯一途径是把它投入使用。走出去,学习新的编程语言或技术,即使你认为你永远不会使用它。你会惊讶的速度有多快,你也许可以把它捡起来的基础,因为你已经在你所知道的。
如果你能迅速适应瞬息万变的软件开发市场,与它相关的技术和平台,您将有技能的需求,将永远是。
虽然我有点怀疑一些蒂姆·费里斯的说法,他有一个很好的书,被称为4小时的厨师,其中有一些伟大的技术如何快速学习的东西。(我想要写一本关于这个主题。)
技巧3:命名
当人们问我什么,我整天,我主要是说“读其他人的名字和名称的东西的东西。”
好吧,真的没有人问我,我不想回答这种方式,但我肯定可以。
软件开发是所有关于描述的形而上学。最不能看到什么,我们正在建设的。
我们必须在我们的脑海中构建一个完整的世界,授权经理的授权请求,并吐出授权响应用户存储库使用用户工厂组装新用户一起。
每次你写代码命名的东西。 当你读,你或别人写的代码,你获得最了解该代码的名字在该代码的东西。
大部分的时间,我可以准确地预测开发人员的技能水平,看他们是如何命名的方法,在他们写的代码的变量和类。
缺乏能力的开发人员提供良好的名字在他们的代码中的概念和数据就像是一个哑巴翻译 不要紧,如果你能理解的东西,如果你不能充分解释,目前来说它离开你的头已经一去不复返了。
提高这个技能的最佳方式是要始终把它付诸实践。我会经常重命名代码,我只是阅读理解的东西。正如我开始明白什么方法做,我会改的名称相匹配的理解。我会做到这一点,而我读的代码,甚至没有任何逻辑变化。
你越专注于给好名字的事情,你将成为更好。
这也是最明显的事情你的代码。这是很难知道,如果你的代码是正确的或有效的看着它,但如果我读了它,可以把它理解,我会假设你知道你在做什么。
技巧4:与人打交道
我列出这最后的,但在许多情况下,你可以说这是第一个最重要的技能。
无论你走到哪里都有人。
除非你的工作独自开发软件,只为自己,其他人都去影响你的职业生涯,作为一个软件开发人员。
我谈到过,为什么你可能不想批评别人之前,但还有更多的与人打交道的不是得罪他们。
我经常回去到卡内基名著,“如何赢得朋友和影响他人”,因为这本书是如此的重要,在学习如何成为一个成功的人。
我已经说过了,但如果你想开发的人际交往能力,读这本书!
基本的问题是,人类是不符合逻辑的生物,我们是情感的。当然,我们喜欢我们的能力的原因感到自豪,但现实情况是,大多数的我们作出的决定更多地受到感情而不是原因。
这意味着你作为一个软件开发人员,除非你能有效地处理与其他开发人员,管理人员,甚至是客户,你会不断面临麻烦,尽管你的想法有多好,或者你的技能是多么宝贵。
一般在软件开发社区积极参与,还可以帮助你在你的职业生涯中极大。它不只是网络,但让你的名字在那里,建设好人缘。
这样做,成功的关键在于直接与人打交道的能力。(想采取一个大的快捷方式,学习如何与人打交道,这很简单。该多好!)
实用技巧是什么?
请注意,我在我的名单中没有包括任何关于某个特定的技术或者甚至广泛的Web开发技能或移动开发?
在技术领域的一对夫妇有一个坚实的基础,这当然是重要的,但这些领域是什么,是不是几乎一样重要,因为我在上面提到的4个技能。
如果你能解决问题,快速学习的东西,名字的事情以及与人打交道,你将有一个更大的成功从长远来看,比你在任何特定的技术专业水平。
随着中说,当然这是很重要的,以彻底了解一种编程语言或两个,有一个大致的专业领域,但只要你不走得太远关闭因循守旧与选择,你专注于这4个重要的技能,你将确定。(你甚至可以学习C + +)
相关推荐
综上所述,软件开发人员的薪酬设计方案应综合考虑内部公平、外部竞争力、动态激励和利润分享等因素,以构建一个既能满足员工期望,又能适应企业发展需求的薪酬体系。通过这样的设计,可以激发开发人员的工作积极性,...
总的来说,"大公司软件开发人员绩效考核模板"是一个全面衡量开发人员工作表现的工具,它综合考虑了技术能力、项目贡献、创新能力、团队协作、时间管理以及个人品质等多个方面,以促进软件开发团队的整体效能和持续...
数据库是软件开发的重要组成部分,是软件开发人员必须具备的技能。 另外,软件开发人员还需要具备一种提高生产率的 IDE 集成开发环境 JBuilder/Eclipse/VS.NET 等。IDE 是软件开发的辅助工具,是软件开发人员提高...
其次,算法和数据结构是软件开发的基石。理解如何有效地处理和存储数据是优化程序性能的关键。比如,了解哈希表的查找效率、二叉树的遍历策略或是图的遍历算法,能帮助开发者在解决问题时选择最优解。此外,熟悉排序...
在软件开发过程中,文档起着至关重要的作用,它不仅是团队沟通的桥梁,也是项目管理和质量保证的关键工具。...因此,理解和熟练运用这些文档范例对于任何软件开发人员来说都是必不可少的专业技能。
在IT行业中,软件开发人员的职业发展道路规划是一个关键议题,它不仅关乎个人职业生涯的成长与成功,也直接影响到行业的整体创新与发展。以下是从标题、描述、标签以及部分内容中提炼出的关键知识点,旨在为软件开发...
该课程将理论知识与实际操作紧密结合,通过一系列实践任务让学生掌握软件开发的基础知识和技能。 #### 二、课程目标 1. **基础知识与技能**: 学生应熟练掌握软件开发的基本流程和技术要点,如需求分析、系统设计、...
### 敏捷软件开发基础技能 #### 一、敏捷软件开发概述 ...此外,《敏捷软件开发技能》还提供了丰富的实例来帮助读者深入理解每项技能的应用场景,是一本非常适合初学者和有一定经验的开发人员参考的书籍。
从给定的文件标题、描述、标签以及部分内容中,我们可以提炼出多个与软件开发人员逻辑思维测试相关的知识点,这些测试不仅考察了基本的数学逻辑能力,还涉及到了更复杂的策略规划和推理技巧。下面,我们将详细解析每...
在IT行业中,软件开发是一项复杂而精细...因此,软件过程中最重要的一步——软件需求分析,是每一个IT专业人员必须重视并掌握的核心技能。只有深入理解并有效管理需求,才能开发出满足用户需求、具有高质量的软件产品。
对于软件开发人员,这可以是:“寻求一个能运用我的编程技能、解决问题能力和团队协作精神的软件工程师职位,致力于技术创新和项目成功。” 教育背景需列出你的学历、专业及毕业院校,尤其是与软件开发相关的课程或...
《代码大全》是一本针对软件开发人员的重要工具书,由Steve McConnell撰写。本书旨在帮助程序员提高软件质量并掌握先进的编程思想和技术。它不仅仅适用于经验丰富的程序员,也适合那些自学成才或者初入行的新手。 #...
3. **适应未来需求**:掌握AI编程技能对于软件开发人员来说至关重要。未来的工作岗位可能会更加看重候选人能否利用先进工具提升工作效率和质量。 #### 四、案例分析与实践应用 许多开发者已经测试了GPT-3,并对其...
它能够提高软件开发人员的经验和技能。 知识点七:支持条件的重要性 支持条件是软件开发过程中的一个重要方面,包括计算机系统支持、用户承担的工作、由外单位提供的条件等。它能够确保系统的稳定性和可扩展性。 ...
软件开发过程是一个复杂且系统化的活动,涉及到多个阶段和角色,确保从概念到最终产品的有效转化。...理解和熟练运用这些知识对于任何软件开发人员来说都是至关重要的,因为它们是构建高质量软件的基础。
《CMMI4软件开发过程和管理文档模板详解》 在软件行业中,高效有序的开发流程和严格的管理规范是确保项目成功的关键因素。CMMI(Capability Maturity Model Integration,能力成熟度模型集成)作为国际认可的质量...
提高软件开发效率需要从多方面入手,包括提高项目成员工作技能、制定适当的研发流程和部门协作流程、总结经验反省过错、项目成果复用和标准化、使用成熟的系统开发平台和有效的项目管理工具等。 首先,提高项目成员...
《软件开发和服务项目价格构成及评估方法》是中国软件行业协会发布的重要指导性文件,旨在为软件开发和服务项目的定价提供科学、公正的依据。该文档详细阐述了软件开发过程中的各项成本和价值因素,以及如何对这些...
【软件开发过程培训教程】 软件开发过程是将概念转化为可执行程序的一系列步骤,它涵盖了项目的各个阶段,从...通过本次培训,我们期望能提升软件开发人员的专业技能,使他们能够更高效地参与到软件开发的各个环节中。
"软件开发安全性设计培训" 软件开发安全性设计培训是软件开发过程中非常重要的一方面,旨在确保软件在恶意...软件安全设计要求软件开发人员具备一定的安全知识和技能,能够识别和解决软件安全问题,降低软件安全风险。