说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

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

HTML文档下载 WORD文档下载 PDF文档下载
现如今,可供选择的技术、语言及平台可谓五花八门,因此要弄明白哪里是花时间训练的最佳投资点也就难上加难……

现如今,可供选择的技术、语言及平台可谓五花八门,因此作为软件开发者,要弄明白哪里是花时间培养个人技能的最佳投资点也就难上加难。常常有人向我征求关于如何成为更强的程序员的建议。人们问得最频繁的问题可谓万变不离其宗,即他们是否应该把时间花在某种与众不同的特定编程语言或技术上。

最近我花了很多心思琢磨此问题,并想出了一些我认为最要紧且能让你受益终生的技能,一旦软件开发者掌握了这些技能,不仅会给他们带来最佳的工作机会,还会使他们变得卓有成效。

技能一:解决问题(Solving Problems)

以前我曾谈到需要学会如何解决问题,甚至给出了如何学会解决问题的若干步骤,因为我认为这种技能对任何软件开发者都是至关重要的。软件开发百分之百就是解决问题。

若毫无问题,就无需软件。

所有软件都被设计用于解决某些用户问题,而通用解决方案就是由许多能搞定的小规模问题所组成的阵列。要是你不能解决问题,就不会精通软件开发,而你所用的编程语言或技术也就无所谓了。在解决问题时,大多数开发者的表现简直糟糕透顶。

我常常会听到一些关于求职面试太难的抱怨,因为面试官会要求开发者去解决有一定难度的问题。我谈过为何有难度的面试挺好,而其中的部分原因在于,面试官就是要测试开发者解决问题的能力。我知道,许多开发者仍然不同意我对此问题的观点,而且他们也不明白像TopCoder[2]那样的网站为何要不遗余力地完善其开发技能,至少从我的亲身经历来看,那正是TopCoder解决问题的实践活动,而参与此类实践活动正是我职业生涯的转折点。

假想你是木匠。要想成为出色的木匠,也许你应该擅长切削木材。也许你应该亲手做过各种各样的部件,同时也用过许多不同的工具切削木材。

无论你的木工经验有多少年,抑或设计出的家具或橱柜有多漂亮,每次你也要想方设法切削木材,努力做出各个部件。切削木材是木工活的基础技能,就像解决问题是软件开发的基础技能一样。

技能二:自学(Teaching Yourself)

在生活中,可能没有比学会学习更重要的技能了。此种技能在软件开发中尤其重要,因为据我所知,任何领域的变化速度都超不过软件开发。你不可能无所不知、无所不晓。甚至你都来不及投入时间去成为某一特定框架或技术的大师——因为事物发展得太快了!反而,你需要这样的能力,即为完成手头任务而快速获取所需知识的能力。

要是你真想具备某种能让你在软件开发职业生涯中始终与时俱进的技能,那就学习如何自学吧。

提高此种技能的唯一方法就是付诸实践。走出去学习新的编程语言或技术,即使你认为决不会用得上它(也不妨学一下)。将来你会惊讶地发现,你竟然可以很快地把它捡起来,因为你早就对相关基础知识一清二楚了。要是你能迅速适应日新月异的软件开发市场、以及与之相关的各种技术和平台,你就会拥有那些总是很抢手的技能。

尽管我对蒂姆·费里斯(Tim Ferris)的某些主张有点儿怀疑,不过他写了本很棒的书,名为《4小时变身厨师》(4-Hour Chef),其中介绍了若干如何快速学习事物的绝招。(我那时也正打算写本与此主题有关的书。)

技能三:命名(Naming)

要是有人问起我成天在做什么,那我八成会说“研读其他人命名的事物,以及给事物命名。”诚然,若没人真那么问,我也不会真这么答,不过我的确有可能这么答哦。

软件开发就是在描述形而上学的内容。我们所构建的大多数内容都是看不见摸不着的。授权经理收到授权请求,然后发出授权响应,与此同时,用户资源库会调用用户工厂去组建新用户——我们必须根据以上描述在心中去构建起完整的环境。

每次你编码时,就是在给事物命名。当阅读自己或他人所写的代码时,你会从代码中的事物名称获得对代码的大部分理解。通过在开发者亲手编写的代码中查看方法、变量及类的命名方式,大多数情况下,我能准确预测出开发者的技能水平。要给代码中的概念及数据起合适的名字,而缺乏此能力的开发者就像个哑巴翻译。无论你能否明白某事,要是你不能妥善地解释它,那么此事会转瞬即逝。

提高此种技能的最佳方式就是不断实践。只要我在读代码时有所领悟,我往往会重命名代码中的事物。由于我开始明白某个方法到底在做什么,因此我会给方法改名,以便与我的理解相一致。在读代码时我会做这么做,即便代码没有产生任何逻辑变化,也照样会这么做。

你越关注给事物起合适的名字,你就会越擅长此道。这也是你代码中最显而易见的一面。简单看一眼你的代码,很难分辨代码正确与否或效率高低,但如果代码能让我一望而知,那么我会认为你知道自己在做什么。

技能四:待人接物(Dealing with People)

尽管我把此种技能排在最后,不过在许多情况下,你可能会说它是首要的或最要紧的技能。所到之处皆有人。除非你单独工作,且只为你自己开发软件,否则,作为软件开发者,其他人就会影响到你的职业生涯。我以前谈过为何你可能不想批评某人,不过我们更多地是与他人打交道,而不是惹人烦。我总是会重新捧起戴尔·卡耐基(Dale Carnegie)的那本名著《人性的弱点》(How to Win Friends and Influence People),因为这本书对于学习如何做一名成功人士是如此重要。我以前说过,倘若你想提高人们的技能,那就阅读此书吧!

基本问题是,人类不是合乎逻辑的生物,我们是情感生物。当然,我们喜欢为我们的推理能力而自豪,不过实际情况是,我们所做的大多数决策更多地受到情绪影响,而非理智。

作为软件开发者,此种技能对你的意义在于,除非你能妥善地处理与其他开发者、经理、甚至客户的关系,否则,即便你有许多好点子或很有用的技能,你还是会四处碰壁。一般说来,积极参与到软件开发社区中去也会对你的职业生涯有很大帮助。不要仅限于人际交流,而要把你的名字传播出去,并广结善缘。成功做到这一切直接取决于你待人接物的能力。(在学习如何待人接物时想走捷径?那很简单。请与人为善!)

怎样看待实用技能?

请注意,在我的列表中并未包括任何特定技术,甚至连Web开发或移动开发这样宽泛的技能也没有,这是何原因?在一些技术领域具有坚实的基础的确很重要,不过这些领域都不及我上面提到的这4种技能重要。要是你能够解决问题、快速学习事物、恰当命名事物、以及待人接物,那么与你专门从事任何特定技术相比,从长远来看,你将会取得更大的成功。

有这样一种说法,要深入学习一到两门编程语言,并从事某个通用的专业领域,这当然很重要,不过,只要你还没带着那些抉择在这条老路上走得太远,并把精力集中在提高这4种重要技能上,你自会万事大吉!(你甚至可以学习C++)

译文出自:图灵社区(译者/高翌翔)

英文出自:Simpleprogrammer

作者简介:

约翰·森梅兹(John Sonmez)是Pluralsight网站的课程作者,他创作了超过25门课程,内容涵盖了从移动开发到控制反转容器的广泛主题。他还是诸如DotNetRocks和Hanselminutes等播客网站的常客。约翰已经使用各种原生工具分别为iOS、Android、Windows Phone 7创建了应用程序,他还为HTML5及几乎所有目前可用的跨平台解决方案创建了应用程序。他不仅热衷于敏捷开发,而且他正忙于一场个人改革运动,以便化繁为简。

小米发布会高潮迭起:米3、电视、Hugo大牛 谷歌放在Windows上的特洛伊木马:Chrome Apps应用平台 解析:Google基于数据驱动的招聘面试程序 决战“缓存”之巅:微软 vs. 亚马逊 雪中送炭:十大前沿移动应用开发工具 高通智能手表Toq都用到了哪些技术? 研发周报:修改一行SQL代码 性能提升了100倍 2013年NoSQL就业趋势分析 鲜为人知的静态、命令式编程语言——Nimrod 高性能Web应用打造攻略:扩展过程中20个最大的绊脚石 开源项目Marathon:让你的数据中心像谷歌一样运行 精益化运营:10款移动统计分析工具推荐 移动建站工具(一):分秒钟将Web网站移动化 移动周报:小米的“倚天屠龙记” 智能手表是个尴尬的产品 屏幕缺陷一枪毙命 看15岁的谷歌的前21位员工现在都在做什么 分析师:三星将失去中国市场份额的头把交椅 5款工具助你写出更好的Java代码 Noitom:"中国创造"的动捕技术 缘创派:帮助技术人员寻找创业伙伴 Nginx创始人Igor Sysoev解读Nginx的发展史 对女性友好的编程语言 ISC2013专家云集,畅谈全球网络安全 CTO俱乐部第109期下午茶:数据库之分久必合,合久必分 CloudConvert:支持移动应用的格式转化服务 Angular.js VS. Ember.js:谁将成为Web开发的新宠? 斯卡利沉寂多年后首谈乔布 他的离开错在董事会不在我 CTO如何避免决策失控(二):遭遇棘手问题的七种迹象 微软面向开发者提前发布Windows 8.1 安抚不满情绪 PostgreSQL 9.3发布,可靠性、可用性获得较大提升! Web设计的新宠儿:卡片式设计 寻找 日语版的win 2000下载地址 机器在启动是会出现boot.ini非法,由c:/winnt直接启动,请问如何解决呢 Win2000和SCO UNIX共存问题? MSSQL中text数据类型,在JAVA中对应的是哪一个? 怎样才能不让用户复制文档? 如何在VB自定义过程或函数中传递数组? 在VC6中如何使用数据网格 需要类似pcanywhere or romoteanywhere中远程抓屏的源代码?方法提示也可以! 关于数据库中图象的存取问题,100全送! PowerDesigner8 显示与oracle连接信息? PopupMenu如何知道是由哪一个控件激活的(几个控件共用一个PopupMenu) 如何通过序数从DLL引出函数表? 有关datagrid的border问题? 在pb中用SetPicture(lb_image)当lb_image为空时picture的图片不变 急!!急!!如何用MultiByteToWideChar()实现Unicode编码?? 请问:这是叫什么服务来着? 请问有没有有关工作流技术的理论和资料 windowsXP与Visual C++问题??? 发布目录在哪里问题!!!!急急急 请教一个entity bean的问题 调查一下,微软的工程师工资有多少呀?做什么软件的工资最高? idhttp.get可以获得htm 文件,我现在想得到gif文件,怎么办? 不知大家有没有听说过Tapestry,是一个有关权限管理的开发原代码 请问C标准函数里是否有这样的函数,可以删除文件名相同但忽略扩展名的函数,如可以同时删除A1.LIN和A1.SA?谢先!!! 如何修改硬盘序列号(不是卷序列号,而是出厂序列号)? MS EXCHANGE SERVER 2000 在WEB页面更改MAILBOX的密码 关于string的简单问题 String和StringBuffer的具体区别是什么? 请问哪里有<<com原理与应用 >>电子书下载?谢谢 高级问题:如何实现在应用程序中动态布置控件。(分数不是问题) TList问题 请问: 我进不了windows2000 advanced server!!怎么办? 北京程序员俱乐部的相关问题 如何修改硬盘序列号(不是卷序列号,而是出厂序列号)? 请问C标准函数里是否有这样的函数,可以删除文件名相同但忽略扩展名的函数,如可以同时删除A1.LIN和A1.SA?谢先!!! 如何用DAO调用MSSQLSERVER中的存储过程获得结果集? sybase的字符串连接符是哪个 如何取得上网ip?(不是本地IP),在局域网中,客户机通过主机代理上网,能否确定客户是否连在网上? 请问网络高手--怎样知道对方的物理地址(知道对方的IP)??? 图片存在数据库中,在asp页上如何让其显示出来!? 如何把文件或图片以Blob类型存入Oracle数据库,并在JSP中把数据库中的Blob数据以最初的文件格式读出来??? 如何把文件或图片以Blob类型存入Oracle数据库,并在JSP中把数据库中的Blob数据以最初的文件格式读出来??? 请问大伙《TCP/IP详解》1,2,3卷----机械械工业出版社,是否值得购买?翻译的怎么样? CRYSTAL REPORTS DEVELOPER EDITION VERSION 哪里有下? 如何控制excel中的图表? 我想在我彻底陷去之前再清醒的看看这个世界..... 十万火急!!!IIS报HTTP 500的错误。 select时间段问题 请推荐uml方面的好书!! 找一篇写母亲的记叙文500字,速度! 已知AB是抛物线y^2=2px的焦点弦,O是抛物线的顶点,若AB=a,则三角形AOB的面积是 4x平方-4y平方-4x+4y+11=2怎么写 在数轴上与原点距离等于根号2的点表示的数为 抛物线顶点在原点,焦点在x轴上,其过焦点且与x轴垂直的弦的两端与顶点练成的三角形面积为4,求此抛物线方程 若a、b∈N+,二次方程x^2+ax+4=0和x^2+2bx+4=0有实数根,求a+b最小值 15的多少次平方等于10应该是一个具有小数点的答案 若AB为经过抛物线y^2=4x的焦点的弦,且AB=4,O为坐标原点,则△ABC的面积为____ 月球表面是什么颜色? 已知关于x的方程ax²+bx+c=0(a≠0),且a+b+c=0,则此方程必有一根为 若一元一次方程ax²+bx+c=0的两个根为x1=1 ,x2=-1 求a与c的比为多少如题打错 是一元二次方程ax^2+bx+c=0 …… 10+2等于几 以“Welcome to Our School"写一篇小短文!提示词:building(大楼),garden(花园),library(图书馆),house(房子),tree(树),reading room(阅览室),dining room(餐厅) 要求:词数50左右、 已知A,B是方程X²+2x-7=0的两个实数跟,求a²+3B²+4B的值? 月球表面有颜色么我想月球不是单一的灰白色 是否我们被蒙蔽了 welcome to our school 英语作文咋写速度额 已知关于x的方程 ,X²-2bx+a-4b=0,其中ab为实数.若此方程有一个根为a²(a不等于0),求代数式 a²分之4b求代数式 :(a²分之4b-a)-a²+2b+8的值 为什么月亮会呈现出不同的颜色?比如银白色、黄色、特别是红色是怎么回事? 题目Welcome to Our School怎么写?英语作文?开头是Welcome to our school!The name of our school is 已知关于x的方程x²+bx+4b=0有两个相等的实数根,y1、y2是关于y的方程y²+(2-b)y+4=0的两实数根,求以根号y1、根号y2为根的一元二次方程. 月球为什么有时是黄色,有时却是金红色?(非常像太阳那种颜色) 马鹏飞事迹征文观后感 作文 感言 马鹏飞事迹感想 已知关于x的方程 ,X²-2bx+a-4b=0,其中ab为实数,对于任何实数b,此方程都有实数根,求a的取值范围 月球飞行探测器的颜色有特别规定吗? 二年级作文《神笔马良读后感》,急…………另求一篇,二年级作文《我的朋友**》,急…… 已知a为实数,关于x的方程27x²+2a²x+a=0有实根,则x的最大值为, 一、土耳其海峡海底铁路隧道的修建:“沟通亚洲和欧洲,提高铁路运输的灵活性”.这句话为什么不对?二、畜牧业与狩猎、游牧有什么区别?阿拉斯加的主要农业生产是? 读了《马说》这篇文章受到什么教育 welcome you to our school 1:印度河与恒河的入海口那个盐度高?理由?2:恒河入海口几月份盐度最低?3:冬季地中海气候地区(伊斯坦布尔)为什么风力大于热带沙漠气候地区(多哈)?4:西亚发展种植业的有利条件和 作文:读《送东阳马生序》后感 We welcome you to our city和You are welcome to our city.的用法区别和不同处 1.9月23日至次年3月21日,中午物体的影子始终朝北的地区是:A.赤道以南地区 B.北回归线以北地区C.赤道以北至北极圈之间地区 D.赤道以北地区2.下列自然现象与太阳辐射无关的是A.B.大气和水体 以“微笑”为话题的作文.500字左右.急 实数ab满足a²+4b²+2a-4b+2=0 (1)求ab的值 (2)方程6(1+b)x²=6+2a的根 几道高中地理题目.要步骤哦 以"我的第一次"为话题,写一篇以记事为主的作文,不少于500字. -You are welcome to our school.-_____.AThanks BYou are right.C I think so.D .I am sorry. 为什么月亮是黄色的 因为可以照明夜晚的黑色星空 已知函数f(x)=ax^2-2ax+1,方程f(x)=0有两个正实根x1,x2,且1 a²+b²+2a-4b+5=0,求2a²+4b=?请说明原因 为什么昨天的月亮是黄的 分解因式:x^3+2x^2y+xy^2+2y^3和x^2-y^2-4y-4好像要用分组分解法, 帮我取个英文名!谢拉!我的名字后两字是 天灵!我想取个最好是音译的! 为什么月亮看上去有时是黄色有时是白色 关于X的方程AX的平方+BX+c=3的解是X=-1求|A-B+c-5|的值 求好听的男英文名.中文名叫朱俊桦.谢拉 我的世界,我看别人家里玻璃发着黄色的光像月亮一样, 英语翻译What a fine day!The sun is shining and everything looks bright.Can you fell the heat when you stand in the sun?The sun gives the heat from very far away.It is hard to believe that the sun is about one hundred and fiftycmillion kilometres 帮我取个英文名字`谢拉`名字里有个 芃 女生 天蝎座 比较小巧 cute不要太大众化的啦~好听一点 已知集合A={x丨x的平方+px+q=x}集合B={(x-1)的平方+p(x-1)+q=x+3},当A={2}时,集合B为-------谢谢 顺便写下过呈 在数轴上与原点距离等于根号2的点表示的数是 帮忙修改一篇七十字的作文,急,有错的帮我找出来一下,最好把朴素的句子修改下,改成比较漂亮的句子,越漂亮越好,最好把两句话能用从句的就用起来.我明天要展示给全班看的,摆脱,哥哥姐姐 想取一个与我名字比较相象的英文名,我该怎么取啊?希望大家给我点意见.谢拉.我是男生,性格呢,有点内向...我叫郑志鹏.想取一个与我名字比较相象的英文名,我该怎么取啊?希望大家给我点意 数轴上到原点距离等于根号3减1的点表示的数是 已知方程x2+PX+q=0的两个根分别是-2和3,则p,q的值分别是多少? 卫兆涛起个英文名?谢拉性格开朗;努力向上,契而不舍·······最好是e开头 什么数的平方等于15 过抛物线y2=4x的焦点F的直线交该抛物线于A,B两点,O为坐标原点.若|AF|=3,△AOB面积.各位大侠, 我算的是F=(1,0) AF=3有什么用,请大侠指教. 9x的平方+4y的平方=31求4x9x的平方+4y的平方=31 求4x
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘