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

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

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及几乎所有目前可用的跨平台解决方案创建了应用程序。他不仅热衷于敏捷开发,而且他正忙于一场个人改革运动,以便化繁为简。

Android JNI开发进阶篇 Android JNI开发提高篇 Android JNI开发入门篇 Android NDK开发技巧一 Android数据库ContentProvider封装原理 Android Permission列表,ADT 0.9.9 bug Android Theme和Styles内部定义解析 Android平台下图表绘制相关方法 Activity类的runOnUiThread方法你用过吗 Android上鲜为人知的UI控件介绍和使用 获取Android手机上的图片和视频缩略图 Android JSON解析示例代码 Android ANR介绍与避免 Windows Phone 7 SDK完善度不如Android m3 Android中使用定时器TimerTask类介绍 控制Android LED灯颜色代码 Android应用Icon大小在不同分辨率下定义 Android控件美化Shape你会用吗? Android屏幕截图之View方法 Android开发者应该保持以下特质 Android Widget开发模板 Zipalign使用方法-SDK中的APK文件优化工具 Android蓝牙控制之2.X或以上 Android数组排序常见方法 使用OpenGL开发一个指南针 Android自绘GridView控件 Android平板开发注意事项 Android控件TextProgressBar进度条上显文字 Android内存管理-SoftReference的使用 反射在Android开发中的利弊 intent调用代码总结二 英雄,救命啦!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 高手赐教 找到一个非常好的javascript编辑工具,支持函数点取功能 大家来讨论一下什末编程语言最好(来者有分) 各位老大帮忙! 高分请教关于这个界面!!加分!!! 男子身怀假炸弹 闯北京路透社被捕 请教高手关于intraweb的相关问题,在线等待 怎样用一条SQL语句更新两个表? 用UTL_SMTP包发送邮件时,如果邮件内容是中文,收到的内容就变成乱码,怎么办? 如何调用非托管DLL的函数。实现 200分紧急求助!!!!! 给Application的open事件添加脚本 在线等待 怎麼每次都會觸發自定義字段的change event? 求救高手!!!!!! 给Application的open事件添加脚本 VB学习资料?/ select語句怎麼寫? 关于构建工资管理系统的想法!请大家踊跃发言! 考,为什么?存储过程就这么麻烦吗? 请问各位高手怎样在toolbar的按钮上载入图片?谢谢 为什么介绍sql server的书都是跟ASP联系的,有没有跟delphi 联系的? session.timeout的设置问题 我是一个初学者,我有6个问题想请教大家!希望给一点帮助 请大家帮忙想一招,我是第一次做这样的问题,简直是不可思意,吓死我了 工资太低!工作难找?提议结成联盟 初学编程,请教个小问题 请问可不可以定义 vector<vector<mystruct>> 类型? 基于单片机的步进电动机的问题,在线给高分!!!!!!!!! 无法打开的文件 怎样判断某天所属的星期的星期一和星期天对应的日期分别是什么? 如何对DBEdit组件中输入的数进行类型检查??? 我的系统是2000 server,可是我在局域网的另一台机器上实现远程登陆 请大家谈谈.net java brew三种平台的优缺点。答者有分。 怎样判断某天所属的星期的星期一和星期天对应的日期分别是什么? 什么问题啊? 怎么样才能将开发手机游戏?? 调查:这里有没有程序员买有PDA的??比较高档的。比如康柏,sony等等 有2个程序有问题,请各位高手找出错误!先谢了! 奇怪,我的BLOWFISH加密算法每次使用同一个密钥加密同一个字符串的结果都不一样! 如何使PICTUREBOX中的底图能缩放,或者哪里有透明的容器控件?在线等。 如何判断鼠标离开了一个窗口的显示区 200分紧急求助! 明天(3月13日)是我一个朋友的生日,我们一起祝福他吧:) 请大家谈谈.net java brew三种平台的优缺点。答者有分。 急急急!!! 怎么配linux的dns服务阿? 有谁知道啊? 点击链接网页竟变成下载对话框,啥会事? title为什么显示不正常 哪里有VC.NET的电子书下载? 很想学但就是学不进怎么办? 手表背后有ST.STEEL BACK WATER RESISTANT ,正面12点处有2颗钻石,写着LAVIE quartz 为什么2个完全相同的导体球接触后要把电荷量平均分配?这是人为规定的吗? 直立行走和火的使用在人类的进化史上哪一项更具有决定意义? 手表背后有ST.STEEL BACK WATER RESISTANT ,正面12点处有2颗钻石,写着LAVIE quartz 是瑞士表吗什么牌子 伏安特性曲线的实验外接,电阻分压.为什么刚开始 把滑动电阻开到最大,电压会是0?有没什么公式可以表示. 这个字的读音是什么?这个字是什么,要读音 手表背后有ST.STEEL BACK WATER RESISTANT ,正面12点处有2颗钻石,写着Accent QUARTZ,6点处有swiss move请问此表是什么品牌,价值多少? 接触起电是否只有两个导体外形大小完全一样才会使电荷平分 手表上面LOFOR 下面又有QUARTZ 手表后盖 STAINLESS STEEL BACK WATER RESISTANT SWISS MOVT M 我的也是 polo手表 后面是 water resistant st.steel back 23k gold plated japan quartz 1021L 带同种电荷的导体接触后电子会不会发上转移在线等啊,有几道题都有这个问题啊,有人说是不会,还有人说只有两个带同种(等量)电荷的(相同)小球相互接触,才一定不会发生电子转移.要 英语翻译quartz 777 stainless steel water resistant 10atm 萘系高效减水剂掺量0.9%'减水率为15%算是好的吗=-O,谁用过最小掺量达到15%的 明白的意思相近的词语是什么 求水准测量容许值公式.一二三四等的都要! 从B地返回A地的速度为V2,求A、B两地往返的平均速度.答案为2/(v1+v2)=2v1v2/(v1=v2).那么2/(v1+v2)如何理解? 勤奋努力不知疲倦 什么具有人类进化史上的决定意义是直立行走,还是火的使用? 分式方程 从A地到B地是上坡路,上坡速度为V1,返回时速度为V2,则往返的平均速度是多少? 湮没是电荷消失吗 水准测量允许闭合差计算公式分等级 分测距、测站数给出 另解例题:水准测量中,若水准基点离工地4Km.中间转折16次,那么其允许误差为多少? 间距相等的平行虚线为某电场的一组等势面,x轴垂直于等势面向右,一个带负电的粒子的荷质比为9x10^6C/kg,粒子从坐标原点以初速度v0=10^4m/s向x轴负方向运动,粒子所受重力不计,经过时间t=10^-5s 深思电工的墙壁开关怎么样? 化学反应中,要遵循什么守恒定律.而质量守恒又是什么的质量 在边长为a的正方形的两个对角上各放一电量相等的同性点电荷q,在另外两个对角中各放一个带电量相同的电量Q欲使作用在Q上的合力为0,求Q的大小!正确答案是-根号2q! expenses可数还是不可数?后面用are还是is?一定要确定有把握的答案啊! 请问卡西欧手表上写的 SHN-5003 ST.STEEL WATER RESISTANT 5bar Japan Mov`T DW cased in china 是什么 a、b为同一直线上的两点,在a点放有带电量为Q的正的点电荷,在b点放有电量为1×10^(-8)C的点电荷q,若测得q受的电场力为2×10^(-3)N,移去q后,b点的电场强度为____N/C,若ab=1m,则电荷Q=____C. 怎么区别costs与expenses casio手表中ST.STEEL WATER RESISTANT JAPAN MOV’T FD CASED IN CHINA中文是什么意思 生活中如何回收利用废纸?快 expenses due问一下这个的中文是什么 和account payable有什么区别他们俩确实是以不同的类别出现在了liabilities里.... 闭合导线和附合导线角度闭合差公式是一样吗? 在点电荷Q形成的电场中有一点A当一个-q的检验电荷从电场无穷远处被移到电场中A点时.电场力做工为W.则检验电荷A点的电势能及电场中的A点的电势分别为?A点的电势能为什么是EA=-W?我不知道 米是植物中的哪个部分? 鸡迟宿,鸭欢叫,() 为什么如果作用力是弹力,反作用力也是弹力? 植物分为几部分? 鸡迟宿,鸭欢叫,_______.花要叶扶,_______. 不废纸回收再利用的危害 这是什么植物?它的直径在2米左右. 哪里能买到放射性材料 点电荷Q产生的电场中有一A点现在在A点放上一电荷量为q=+2*10^-8C的试探电荷,它受到的静电力为7.2*10^8N,方向向左,则:(1)点电荷Q在电场强度大小为E1=( ),方向()(2)若在A点换上另一电 西藏海拔5000米以上还有植被吗 接触器控制开关接线问题 怎么连接怎么确定连接?控制开关有 停止NC 启动NO 点动NONC 三个开关 电柜中有五根线 红黄蓝绿棕 拿万用表怎么确定这五根线 分别是什么线 接开关 哪个触角上面?五 无论什么情况下,老师总是耐心细致地开导和教育我们,这正像杜甫笔下的诗句( )急啊,快 一个由15N标记的DNA分子放在没有标记的环境中复制五次后,有标记的DNA分子占没有标记的DNA分子的多少? 我有一块lobor石英手表,背面写着All stainless steel 3ATM water resistant japan quartz 1202M这表多少我有一块lobor石英手表,背面写着All stainless steel 3ATM water resistant japan quartz 1202M 这表多少值钱?麻烦知道的 带电导体与不带电导体接触为什么会带同种电荷 是不是任何正电荷受电场力方向都与场强方向重合若一条电场线为曲线,正电荷在某点,其切线方向为该店的场强方向,那电场力方向是不是也沿切线方向呢? 劳动在人类进化中的作用是什么? 两个导体棒,一个带电,一个不带电,相互接触,用手触一下不带电的,为什么会产生与另一导体棒相反的电荷 噬菌体浸染细菌的试验说明什么?A 蛋白质是遗传物B DNA是遗传物C DNA是主要遗传物质D 蛋白质和DNA是遗传物 光滑绝缘体水平面上固定着A,B,C,三个带点小球,它们的质量都是m,间距均为r,A,B带正电,电荷量均为q,先对C施加以水平享有的力F的同时放开三个小球,欲使三个小球在运动过程中保持间距不变,求C 人类是否能够移动质子、中子、电子?从而人工造出金银等贵重金属? 在进行噬菌体浸染细菌的实验中,上清液和沉淀里会有什么比如说噬菌体的DNA,蛋白质等是不是沉在下面的都是DNA啊 如图所示,光滑绝缘水平面上固定着A,B两个带电小球,它们的质量均为m,A带正电,B带负电,电量均为q,现对B施加一水平力F的同时放开两个小球,欲使两个小球在运动过程中保持间距r不变且一起向 废1.5V干电池的电阻大概是多少新的1.5干电池电阻大概零点几欧到几欧,那么废干电池的电阻大概多少呢? 为什么噬菌体浸染细菌实验中,离心后 细菌在下,噬菌体外壳在上密度? 日本前首相博客曝出核能阴谋论 被批可外媒称土为导弹采购留后手 以防与中国民调称奥朗德成为法国史上最不受欢迎总美宾州大学将向该校性侵案受害人赔59看到蛇会害怕?研究称恐惧有助灵长类避普京称索契冬奥会欢迎同性恋者参与 不科学家称半数早产因细菌感染 正研究简老奶奶订错机票搭错机 格拉纳达差一字澳大选后首个民意调查显示阿博特支持率“飓风级”大风暴袭击致英国南部22万英媒:美无人机袭击确立危险先例 不符美政府飓风桑迪周年前夕拨50亿美元重老奶奶订错机票搭错机 格拉纳达差一字公司注册资本\"零门槛\" 创业不再武汉“死亡公路”10年夺206命待整香港人口老龄化日益严重 是否输入外劳河北安新超生女婴被乡政府强行抱走 1今年股民幸福指数翻番 仅三成感到“不日本儿童人口持续减少 财务省提议裁减科学家称半数早产因细菌感染 正研究简韩裔选手夺得澳选秀比赛冠军 曾因忘歌月还款额提高一成吉林市成立首个安全生产专家库女子割腕锁门 蛟河消防“破门”救援又逢年末交房季现房出没请注意收房时“两书一表”您得看好孩子做事很没有主见是我这个当妈的哪里候鸟族的新旅“城”商业投资价值凸显“净月吸金磁场”绿地中铁·香堤美郡 11月12日提前交房小毛病及时补修 六种情况可退房长春公积金月还款额提高一成御景【明堂】耀世认筹 精工御邸缔造人李克强:抓紧出台股票发行注册制改革案新加坡12月8日起不接受个人旅游签证她们赚钱为啥那么容易周六来听创业经长春等30城调整公积金政策楼市或热销吴中地产发力景阳广场 打造地标性综合2508.77点会是年内高点吗?外媒记者庐山秀峰采风:我还会再来的!江苏沭阳县委书记胡建军:筑牢法治篱笆城市型SUV和轿车 选复合花纹或横向
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘