别被技术绑架

版权所有foruok,网站转载请务必保留出处,微信订阅号转载请先联系我。



通常我们说程序员需要在某个技术方向上积累到一定的厚度,要能够运用技术有效地解决实际问题。可是当程序员在某一项技术上浸淫时间长了之后,却经常会出现另外的问题,那就是:看待问题时受限于自身的技术积累。

我打算从几个方面来谈这个话题。

一定有某一项技术最适合解决某个问题

有的人对 C++ 比较熟悉,在开始一个新产品或新项目,比如做一个 Android App ,就会考虑怎么用 C++ 来实现目标,于是就会去找可以用在移动端的 C++ 框架,比如 Qt ,比如 NDK + Native Activity ……这是一种受限于现有技术的情况,其实呢,我们可以跳过 C++ 的藩篱,直接找 Java 去!

在我看来,技术是用来解决问题的,当我们要解决某个问题实现某个目标时,技术可能有很多种,可能每种都可以实现,但不同的技术面对的难度、付出的成本一定是不一样的!对于公司、个人来讲,都应当选择综合成本最低的那项技术。

当我们做技术方案选型时,应当问“这项技术适合解决哪类问题?”、“这类问题最适合用哪种技术来解决?”,而不是问“我掌握的技术该怎么解决这个问题?”。

如果你总是想尽一切办法用已经掌握的技术来解决所有问题,虽然这种担忧未知害怕变化害怕尝试的心理可以理解,但我觉得这不是一种健康良好的心态,也不是一个有益的习惯,它其实发出了“你被所学技术奴役”的告警信号。

要知道,我们学技术是用来解决问题的,是要能够灵活有效的控制和运用掌握的技术,而不是把自己交给某项技术反受技术左右的。

一字槽口的螺钉就要用一字螺丝刀,内六角的螺丝就要用内六角的扳手。这是很直接很简单的道理,我们在生活中会下意识地遵循这种规则,而一旦我们面对技术这种相对复杂的事情,却往往不能回归到事物的本源,这是需要我们思考的。

换工作时拒绝换技术

当程序员熟练掌握了一门技术(比如 Java,C++,Qt,Spark……),他在选择新工作时就经常会主动给自己设置路障,不用 Spark 的公司不去,不用 Qt 的岗位不考虑……其实我觉得这是不必要的。

学习一门技术当然有成本,用精通的技术来解决问题会有得心应手驾轻就熟的感觉,能够事半功倍。这是非常好的。但是,等等!难道你真的打算一辈子把自己局限在某项技术上吗?难道你认为你干了N年程序员就只获得了这项技术?

我觉得不是这样子的。你熟练掌握了某门技术,这当然是你非常重要的收获。但是这绝不是最重要的,真正重要的是下面两点:

学习能力

解决问题的能力

对,你没看错,这才是一个程序员在精通一门技术后真正的收获。

你通过掌握、精通一门技术发现自己的学习模式确认自己的学习能力,一通百通,再学其它技术就会快很多,因为你获得的有关学习的经验和认知是通用的。所以,我认为发现自己的学习模式强化自己的学习能力是真正核心、重要的收获之一。

还有,技术只是一把剑,这把剑的威力如何,就看使用它的人怎么样因地制宜审时度势的运用它。攻守之道,妙乎于心。真正的高手,摘叶飞花皆可伤人。这就是解决问题的能力了,同样的太祖长拳,在乔峰手里就有摧枯拉朽的气势和震慑人心的威力,这就是乔峰的本事,这个本事是独立于太祖长拳的。程序员也一样。所以,解决问题的能力是一种真正重要的收获。

如果你确认你已经收获了学习能力和解决问题的能力,那具体的技术就已经不重要了,它也不应该成为你选择新工作新产品的绊脚石。不设限,天高海阔任你遨游。

招人时限定精通某某技术

我们会发现,绝大多数公司在招聘开发工程师都会列出诸如“精通 J2EE ”、“精通 MySQL”、“熟悉 Hadoop”等非常细的技术要求。

对公司来讲,招聘拥有相关经验和技术的人才能够大大降低一个产品(项目)的成本,这本无可厚非,因为公司都是成本敏感的。但是对于程序员来讲,有时这是不公平的。

不公平体现在两点。一是没有相关技术经验的程序员会因此而失去学习新技术的机会,对于那些刚毕业不久或意图转换技术方向的人来讲则更是残酷的。二是拥有匹配技术的程序员,自身发展会因为公司的这种倾向而受到限制,甚至裹足不前,他们会觉得,原来你仅仅是想利用我已有的技术和经验来解决你的问题啊,技术人员的价值是在不断战胜新的挑战的过程中提高的,失去面对这种挑战的机会,他们的能力和水平就会原地踏步,甚至回落、下降。

其实在我看来,招聘人员时,拥有相关技术并不是最重要的,一个程序员是否具有学习能力和解决问题的能力才是关键!有了出色的学习能力,他一定能够快速掌握产品需要的各项技能;有解决问题的能力,他一定能够解决新产品开发中不时跳出的各种意外。也就是说,选择程序员时,公司更应该从一个人的才干和能力出发,而不是盯在某项具体的技术上,合适的人会带给公司更多,唯有把正确的事情交给正确的人,成功才可预期。

总之,不论是程序员还是需要程序员的公司,都应该从人才的核心出发,发现关键才干和能力,不要被具体的技术蒙蔽,不要让已有的技术成为包袱,不要让自己的视野受到不必要的限制。心不设限,将来就没有终点。



更多精彩文章,参看“漫谈程序员”专栏。

我开通了微信订阅号“程序视界”,关注即可第一时间看到我的原创文章以及我推荐的精彩文章:

时间: 2024-08-01 22:29:14

别被技术绑架的相关文章

产品不要被技术绑架的十大注意事项(转)

“不可能的:有难度的:你懂不懂技术的:这个功能要放在二期才能做:要做可以但需要时间:把那个项目停掉我就给你做……”,如果经常听到技术这样说,那你的产品很有可能已经被技术绑架了,接下来你想再多的功能,只要技术说不可以那就没戏. 1.正确选人 ——做网站的技术开发,必须是个技术牛人,要像科学怪人那样的人最好,为实现一个功能可以两天不睡觉的主.千万不要找一个所谓的高级架构师之类的高人,其实这种人连最简单的功能也不会开发了. 2.严禁不可能 ——如果一个程序员说“不可能的”,那他应该去屎.做技术的就是把

Warning!程序员们小心被技术绑架

通常我们说程序员需要在某个技术方向上积累到一定的厚度,要能够运用技术有效地解决实际问题.可是当程序员在某一项技术上浸淫时间长了之后,却经常会出现另外的问题,那就是:看待问题时受限于自身的技术积累. 我打算从几个方面来谈这个话题. 一定有某一项技术最适合解决某个问题 有的人对 C++ 比较熟悉,在开始一个新产品或新项目,比如做一个 Android App ,就会考虑怎么用 C++ 来实现目标,于是就会去找可以用在移动端的 C++ 框架,比如 Qt ,比如 NDK + Native Activity

有一种心酸,叫做程序员选错了平台

昨天做线下咨询时,分析完来访者的测试结果,我说:"现在的岗位,其实限制了你的发展."这位学员点了点头:"其实做咨询前,没怎么觉得现在的公司,限制了我发展,根本没意识到".我说,等你意识到,问题就严重了.他瞪了一下眼睛:"真这么恐怖啊?我当初怎么选的,挑了这么个平台,限制了自己的发展,还美滋滋的."事实上,限制程序员的发展的公司,又何止这一家?大部分人,都根本意识不到.? **平台是如何限制程序员发展的??** 之前的学员阿城(化名),就是被平台限

微服务架构设计模式

目录 什么是微服务模式 单体结构的历程 单体地狱的银弹-微服务架构 扩展立方体和服务 微服务架构的好处和弊端 优点 大型的复杂应用程序可以持续交付和持续部署 每个服务都相对较小并容易维护 更好的容错性 更容易实验和采纳新的技术 弊端 服务的拆分和定义是一项挑战 分布式系统带来的各种复杂性 开发者需要思考到底应该在应用的什么阶段使用微服务架构 服务的拆分策略 识别系统操作 创建抽象领域模型 定义系统操作 根据业务能力进行服务拆分 从业务能力到服务 根据子域进行服务拆分 上帝类的处理 什么是微服务模

被无穷无尽的APP绑架,是你真正想要的生活吗?

从1876年贝尔发明电话机到如今穿戴式通讯设备(如可通话的儿童手表等)成为潮流,人类在通讯历程上跨越的时间历程不过百余年,但在这并不为长的发展历程里,人类所体验的通讯革命及颠覆程度却堪称所有行业之首.从今天的行业发展角度来看,随着新型通讯技术和终端设备的发展,未来的通讯方式在体验和创新方面,还将有望达到一个完全超越现状的全新高度. 这种巨大的产业变革带来了人类沟通方式的新革命,但一定程度上,这种颠覆性的变革对于行业及社会的另类影响,也正成为舆论关注的焦点. APP为何容易成用户的"累赘"

十年京东,十年技术发展—畅读《京东技术解密》

<京东技术解密>试读章节共71页,我花了两天时间仔细读完,读了过后感到意犹未尽,非常想一口气把整本读完,然而只能将试读章节反复读了好几遍,收获颇多,遂有此文,借此总结京东十年来的技术变迁和迅速发展. 之所以对这本书感兴趣基于两个原因:一是自己最近刚好在读一本书<不战斗不成功:刘强东和京东商城的"野蛮"奋斗史>,见识到了刘强东本人丰富的创业经历,与当当网拼图书.与淘宝网拼百货.与苏宁易购拼家电,京东真是什么都卖,这份处处竞争的心也值得佩服.二是自己一直对京东印象不

关于大型网站技术演进的思考(十四)--网站静态化处理—前后端分离—上(6)

前文讲到了CSI技术,这就说明网站静态化技术的讲述已经推进到了浏览器端了即真正到了web前端的范畴了,而时下web前端技术的前沿之一就是前后端分离技术了,那么在这里网站静态化技术和前后端分离技术产生了交集,所以今天我将讨论下前后端分离技术,前后端分离技术讨论完后,下一篇文章我将会以网站静态化技术的角度回过头来重新审视下前后端分离技术,希望通过这种审视来加深我们对两套技术的理解. 前后端分离技术我个人认为是web前端被专业化以后的必由之路,而nodejs的出现是前后端分离技术的一个强兴的催化剂,原

Android开发的技术层次

任何一种移动开发生态系统其技术人员都是呈现金字塔式分布的.我借此也说说Developer和Programmer的区别: Programmer是真正意义上的程序员,写程序的.灵魂级 Developer是码农,搬砖的,砌代码,体力活.肉体级 做Developer的感觉就仿佛行尸走肉,被工作绑架,被代码绑架,而不是驾驭代码.如果每天,你感觉自己仿佛就是一坨肉,每天把自己运到公司, 灵魂出窍式,条件反射式地CODING,然后下班又运回家,回到家你才真正解脱,真正找到自我.富士康的小弟小妹们也有同样感觉.

有效抵御“刮钱木马”绑架,爱加密保护天气App安全

俗话说"六月的天,孩子的脸,说变就变",对球迷来说,半夜熬夜看球已经够辛苦,白天上班却还要遭遇大风大雨等随机模式的干扰,实在让人头疼,因此天气App成为球迷们的必备手机应用之一.不过,爱加密安全专家提醒广大球迷,最近一款专门捆绑在天气查询App中诱骗手机用户下载的"刮钱"木马肆虐,一旦安装,就会在后台私自发送扣费短信,并向通讯录联系人群发短信,消耗手机用户大量话费. 据悉,"全球天气预报"."世界天气"等多款App均被&quo