可技术实力究竟是什么呢?
“我们组内的 XX 技术实力不如我,竟然他晋升通过了,我却被刷掉了,评委真的是~!@#¥”……
“面试官问的都是什么鬼问题,我知道的基本没问,我感觉他根本不会考察我的技术实力”……
“听说算法和数据结构最能体现程序员的实力,我要好好啃啃《算法导论》”(然而啃完又忘记了)……
当我们聊技术实力的时候,我们到底在聊什么?
有的人认为:技术实力就是指算法和数据结构很厉害……
有的人认为:研究过 Linux 内核源码和看懂《深入浅出 MFC》的才是技术牛逼的人……
有的人认为:会写 C++ 的才是真正的技术高手,因为 C++ 的对象初始化有 N 种写法……
有的人认为:技术高手必须对业务很熟悉……
有的人认为:贡献了开源项目代码的才是技术牛人……
有的人认为:只有架构师才是技术大牛……
其实简单来说,判断技术实力的一个总的原则就是:技术实力就是指解决问题的能力!
1)不存在放之四海皆准的技术
简单来说,问题是和领域相关的,技术是用来解决问题的,因此技术也是领域相关的,不存在放之四海皆准的技术 。
有网友说:高斯林来做 iOS 开发,分分钟秒杀现在所有的 iOS 开发人员,因为目前 iOS 经验最丰富的开发人员,经验也不过 10 年 。
我认为这是不可能的,iOS 开发领域面临的问题,和开发 Java 编程语言面临的问题差异很大,当然,如果高斯林真的做上几年 iOS 开发,确实可能超过很多 iOS 开发人员,但一开始就秒杀哪些做了 7~8 年的 iOS 程序员,这个是不可能的 。
2)技术要能解决具体问题才有价值
技术只有能够解决某个领域的问题才有价值,否则光知道某个技术没什么用;掌握了某个技术但在当前的领域用不上,这个技术对当前领域来说也没有价值 。
当然,确实存在某些技术可能在当前看起来对当前领域没有用,但后面可能会用到,因此技术人员需要自己储备一些当前暂时没有用的技术以拓宽技术视野 。
例如当前大火的人工智能和区块链技术,但要注意“可能”这个词,这需要技术人员自己进行判断和平衡,不能拿技术储备作为托词一股脑的什么都储备,例如数据库开发工程师至少在这几年是不需要储备 VR 知识的 。
3)问题的复杂度决定技术实力的高度
问题的复杂度不同,复杂度越高,解决起来越困难,相应的技术实力要求也越高 。
打个比方,很多面试官喜欢让面试者现场手写冒泡排序、快速排序、链表之类的代码,以此来判断面试者的技术实力,但我们用这个原则去分析一下就可以发现,这样并不能考核技术实力 。
假如招聘了一个会手写快速排序的面试者,招进来后你会让他用自己写的快速排序解决什么问题?貌似绝大部分场景下都不可能让一个新来的员工自己写个快速排序来解决某个问题吧?
我们该如何自处?
我们生活在一个大多数“软件工程”基本上就是管道作业的世界里 。我们该怎么办?这对于我们的职业生涯来说意味着什么?现金流会一直持续下去吗?
首先,我们应该认识到并接受这样的一个事实,即我们可以用更少的资源构建更多的东西 。也就是说,我们工作中不是那么有价值的部分可能进行自动化,或者构建工具,让业务人员为我们做这些工作 。
例如,每当我的团队中有人想要修改自动电子邮件副本时,我就要去修改代码 。而现在,他们只需要在可视化编辑器中编辑模板,我甚至都不知道它们被改过了 。
推荐阅读
- 水之精华是干什么的,人手一瓶断货王虎气精华
- 热血海贼王船精灵升级有什么用,守护铁路的雪中精灵
- 热血海贼王酒馆会谈怎么用,游奇《卧龙吟》酒馆遇神仙高人
- 现在哪个手游游戏好玩吗,手游除了王者荣耀
- 黄晓明王者荣耀什么段,02期用黄晓明的...
- 王者荣耀打龙带什么技能,打龙最快的五个英雄
- S8猴子怎么玩王者荣耀,王者荣耀孙悟空
- 小花仙龙雀怎么得,金鱼草精灵王的4种形态
- 美版王者荣耀怎么使用,王者荣耀电脑版下载
- 海贼王教会我们什么,《海贼王》乌索普教会我们的那些事
