zoukankan      html  css  js  c++  java
  • Warning!程序员们小心被技术绑架

    1.jpg

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

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

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

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

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

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

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

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

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

    换工作时拒绝换技术

    2.jpg

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

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

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

    • 学习能力?

    • 解决问题的能力?

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

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

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

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

    招人时限定精通某某技术

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

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

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

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

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

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

     
     http://www.cocoachina.com/programmer/20150618/12157.html
  • 相关阅读:
    Struts2+Spring+Ibatis集成合并
    spring多个定时任务quartz配置
    Quartz作业调度框架
    百度搜索URL参数含义
    代理IP抓取
    解决HttpWebRequest和HtmlAgilityPack采集网页中文乱码问题
    移动端上传头像-相册、拍摄-旋转
    订单倒计时
    css flex布局 实例
    currentTarget与target
  • 原文地址:https://www.cnblogs.com/itlover2013/p/4585066.html
Copyright © 2011-2022 走看看