游戏开发论坛

 找回密码
 立即注册
搜索
查看: 8485|回复: 10

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

[复制链接]

1万

主题

1万

帖子

3万

积分

论坛元老

Rank: 8Rank: 8

积分
36572
发表于 2015-6-19 14:07:16 | 显示全部楼层 |阅读模式
1434351785538318.jpg

  文 / foruok

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

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

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

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

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

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

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

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

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

  换工作时拒绝换技术

1434352057136211.jpg

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

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

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

  学习能力?

  解决问题的能力?

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

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

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

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

  招人时限定精通某某技术

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

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

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

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

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

声明:游资网登载此文出于传递信息之目的,绝不意味着游资网赞同其观点或证实其描述。

1

主题

302

帖子

3029

积分

论坛元老

Rank: 8Rank: 8

积分
3029
发表于 2015-6-19 14:47:59 | 显示全部楼层
作者,你是逗逼吗?
且不说做生不如做熟的老话。你确定你拿到一个项目后,用一个不熟悉的语言去做不是再坑你的用户?

0

主题

185

帖子

1658

积分

金牌会员

Rank: 6Rank: 6

积分
1658
QQ
发表于 2015-6-19 15:56:56 | 显示全部楼层
作者的意思可以理解,也的确是目前很多程序员的现状,但扯到接手新项目就即刻用新语言,不是所有人都可以立马适应,起码要先自己了解一段时间,才到能够实际投入开发的地步,当然大神学什么都很快…

1

主题

55

帖子

886

积分

高级会员

Rank: 4

积分
886
发表于 2015-6-19 16:00:38 | 显示全部楼层
作者说的有一定道理,我见过随意切换C++、Java的后端主程,我个人主要用Java,但大大小小掌握多种脚本语言的使用。学习的确是必要的,语言只是工具,使用最合适的工具做正确的事。

5

主题

263

帖子

1113

积分

金牌会员

Rank: 6Rank: 6

积分
1113
发表于 2015-6-19 17:52:05 | 显示全部楼层
刚刚看到这篇文章,我还以为是程序容易被一个不懂技术但会吹牛的人所欺骗呢。
现在做技术的很多,但是更多的是不会技术但是会吹牛的人。所以现在程序外包市场比较火爆。
所以做程序的需要提高警惕了,因为别人可能会通过低价收买你来实现他们的目的,你们只是他们的棋子而已。你们辛辛苦苦做好项目后,得到的大头总是别人,这不公平。

3

主题

141

帖子

353

积分

中级会员

Rank: 3Rank: 3

积分
353
发表于 2015-6-19 22:52:22 | 显示全部楼层
楼主说的是 总架构师 和服务器端程序,这两个职位不同,真正要首先达到本文要求的是 总架构师 与使用C/C++或Java根本没有关系。只存在是否具备真实能力的问题。

现在一般服务器端程序都不具备 总架构师 的知识储备,只能完成一般的游戏逻辑就算合格的程序员了,拿不了多高薪水。

0

主题

159

帖子

623

积分

高级会员

Rank: 4

积分
623
发表于 2015-6-20 08:48:27 来自手机 | 显示全部楼层
这是什么狗屁不通的文章 完全是自己做梦想出来的 用不熟悉的技术做东西只会增加成本 至于企业招聘 只有白痴才会不注重技术细节 找你来是干活的 谁有义务让你练手啊?

2

主题

7

帖子

26

积分

注册会员

Rank: 2

积分
26
发表于 2015-6-20 10:11:16 | 显示全部楼层
很多人都没有看明白作者的意图就乱喷。
作者从正反两方面来表达观点的。无论哪方面都不是面向新手程序员或者水货程序员的。水平不到一定程度公司肯让你决定技术选型吗?
从技术负责人的角度来看,技术上不要迷信于xxx的完美解决方案,而是要用自己熟悉的,比如服务器当然c++性能高,但是我们只会java,那就用java好了,一样可以满足需求,比半吊子的c++还要好。
从招聘的角度来看,不要迷信于“精通xxx技术”,而要看一个人的能力。技术是可以学习的,但是能力和性格是很难改变的。当然公司有业务需求,负责人已经定好技术方向,那么当然会招”合适“的人,不过这种人是用来”干活“的。不需要去重点”培养“,除非工作的过程中表现出过人的”能力“。你看,”会不会“决定了你的现在,但是”能力“则决定了你的将来。

3

主题

141

帖子

353

积分

中级会员

Rank: 3Rank: 3

积分
353
发表于 2015-6-20 16:27:05 | 显示全部楼层
服务器端只会java比较勉强,但是完成逻辑层面工作还是可以对付的.

更高级的程序总架构师必然得是c/c++高手,否则根本不可能。

3

主题

141

帖子

353

积分

中级会员

Rank: 3Rank: 3

积分
353
发表于 2015-6-20 17:13:09 | 显示全部楼层
本帖最后由 Antoni 于 2015-6-20 17:18 编辑

比如,哪个Java服务器端程序可以说清楚MMORPG里的游戏虚拟世界和场景是 怎么被一步一步建立 起来的?

这个问题不是游戏程序总架构师级别的人,根本无法想出答案来,更不用说用Java来写出具体的代码了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-5-14 23:02

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表