软件开发者需要的无关技术的四项技能

越来越多科技,越来越多编程语言,越来越多平台......软件开发者,哪个值得你投入时间和精力呢?

我经常会被问到:"如何做一个优秀的程序员呢?",很多问题最终都指向一个实质性问题:他们应该在哪种语言或者技术上投入更多时间和精力来和其他人竞争。

我曾经对这个问题有过不少想法,后来我总结了四点。

技能1.解决问题的能力(这对每个程序员都非常重要)。

软件开发本身就是100%解决问题的技能,没有问题也就不会有软件开发,所有软件正是为了解决用户遇到的问题而设计。

本质上,它与你使用哪种编程语言或技术没有太大关系,如果你不能解决问题,你也就不会很好地开发软件。不过,很多程序员在解决问题这件事上非常迷惑。

我常常听到一些人对工作面试的抱怨,他们抱怨被要求去解决一些很难的问题。我以前谈到过很难的面试其实是非常好的测试方法,部分原因是要测试程序员解决问题的能力。

可能有人不大赞同我的说法,也不大明白为什么TopCoder网站会花大力气通过竞赛提高软件开发人员的技能,但从我个人经验来说,TopCoder是我职业生涯中的一个转折点。

技能2.自我学习能力

一生中可能没有什么比自我学习能力更重要的事了,在软件行业尤为重要,就我所知,没有哪个行业的变化比软件行业更快了。

你不可能知道每件事,你也不可能花大量时间在某个领域成为专家,因为它们变化的太快了!

相反你需要快速掌握知识的能力,你可以用这种能力快速掌握知识,从而解决手头上的工作。如果你想要一种技能可以快速推进你的软件开发职业生涯,那么这种技能就是快速自我学习能力。

锻炼和提高这种能力的唯一方法就是"使用",学习一门新的编程语言,即便你可能永远都不会使用它,基于你以前的基础,你可能会惊讶于你的学习能力。如果你能适应这个急速变化的软件开发市场和技术,以及与之相匹配的平台,你就有了时刻被需要的能力。

技能3.命名

如果别人问我每天在做什么,我想大部分情况下我会说"在读/看别人命名的东西"。好吧,还没有人这么问过我,并且我也没有这么说过,但我真的会。

软件开发是一种形而上的描述,大部分我们构建的东西是看不见的,我们需要用思维来构建整个世界。

每次当你写代码的时候,你就是在命名一些东西。当你在读自己或者别人以前写的代码时,你正是在最大程度地从命名来理解代码的意思。

大部分时候,我可以很从一个人在代码中的命名方式、变量以及类别判断出这个人的水平。

如果缺少在代码中给概念和数据命名的能力,一个程序员就像是一个无声的翻译者。这与你能否理解无关,如果你不能恰当充分地解释他,最终它会离你而去。

提高这项技能的最好办法仍是付诸于实践,我经常会对代码进行重命名以获得理解。当我开始理解一个方法能干什么的时候,我会改变名称以匹配理解。当我读代码的时候也会这么做,而不是一些逻辑上的改变。

当你越来越注意在命名上提高的时候,你也会变得越来越擅长。

最明显的体现就是你的代码,只看的话,很难判断你的代码是不是正确或者有效。但当我读了并理解过之后,我就能判断你是否知道你在做什么。

技能4.与人打交道的能力


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

无论你走到哪里都有人。

除非你单独工作,或者只为自己开发软件,很多人都将影响你软件开发者的职业生涯。


我会反复读戴尔·卡耐基的书《如何赢得朋友和影响他人》,因为这本书是如此重要,它主要讲述如何成为一个成功的人。如果你想发展、提高人际交往能力,阅读这本书!

最根本的问题是人类是不符合逻辑的生物,我们是感性的。当然,我们以自己的理性自豪,但现实情况是,大多数决定更多会受到感性因素的影响。

这意味着你作为一个软件开发人员,除非你能有效地处理与其他开发人员、管理人员甚至是客户的关系,否则你将会遇到不少麻烦,即便你的想法有多出色,即便你的技术有多优秀。

在软件开发社区积极表现,热衷参与会对你的事业有很大帮助。不只是在网络上,在论坛上亮出自己的信息,搭建好的人际关系。

有关实用技能怎么办?

请注意,我没有写任何关于特定语言技术的内容,不管是网络开发技能还是移动开发技能。

当然,在几个技术领域拥有过硬的技术很重要,但我上边提到的四项技能的重要性并不比这个低。

如果你能解决问题,能快速学习,能很好地命名以及能很好地与人相处,那么从长远来看,你的成功会更进一步,而不是仅仅在某个特定的技术领域。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值