没有技术深度的苦恼
最近有个朋友去今日头条面试Android开发,他算是师出名门(BAT中的一家公司)了,有十年的软件开发经验的高级Android工程师,但今日头条却以没有技术深度拒绝了他。
昨天早上,我在给他做模拟面试的时候也发现了这个问题,因为从简历上看他的出身,呆过两家知名的互联网公司,面试官一定会不自觉的提升对他的期望。他虽然有丰富的项目经验,但真正交流下来又发现虽然在知名公司工作却没有掌握“核心科技”,他的优势一下就变成了劣势。
随着年龄的增长,你原来的优势都在慢慢变成你的劣势。
写给资深或即将资深的Android工程师
当我们是初级工程师的时候,最希望的就是有丰富的项目经验,好把自己苍白干瘪的简历填的炫丽饱满。然而随着时间的积累,简历上的项目是挺“饱满”的了,但我们只看“外表”的行为造成了自己另一个困境:看似很资深,其实又没有做过什么有难度的事情,工作了十年可能只是1年的工作经验用了9次。
正如我这位去面试的朋友,从简历上看确实是能看到他辉煌的项目经历,在经历之下会发现简历中没有深入的地方。有些虽然写的很有技术,但是确实只是在使用API的程度而已;有些解决问题的方式很有技巧,但还不成体系。
可惜没有多走两步,没有去研究和扩展。
那么如何改变呢?
对方也在问我这个问题,而且很迫切,迫切到希望我今天说明白之后他明天面试就可以变得深入。
我很无奈且直接的说明了这个多半不可能。如果是可能的话,别人也可以很快掌握核心技术变得很深入。但长期的话我认为是可能的,比如给自己半年的时间,对以前项目中的某一项技术框架进行学习扩展和实践。最好能利用一下你目前所在公司的资源,比如做这个框架的项目组,和他们搞好关系,向他们学习、和他们讨论你遇到的每一个问题。
但是绝对没有其他的方式,可以让你通过看一下或者临时准备一下就提升到有深度的地步。如果你能做到,必然是已经在某方面是个很精深的高手了,自然可以忽略我说的话。
没有深度的原因
我们没有技术深度,最重要的原因有两个:第一是回避问题,第二是没有兴趣。
当我们在工作中遇到问题的时候,第一选择往往是回避它,不管是从设计上还是从技术上,或者找到其他的替代方案,如可使用别人的开源库,使用别人造出来的轮子。这样做无可厚非,但如果我们想有更深一步的提升或者更有技术深度的话,我们一定要把这个问题搞明白,至少把别人是怎么能解决这个问题的思路和方式搞明白。
第二关于兴趣,很多人没有往更深入的地方多走两步,很重要的一点就是没有兴趣,一点都不好奇。如果我