程序员的技术
从事iOS开发也有一段时间了,期间乱七八糟看了好多书,有iOS,C,HTML,数据结构,设计模式,记得的不多,但是对我的视野开阔起到了极大的作用,让我知道了一个合格的技术人员应该具备什么样的素质,这个素质并不仅仅局限于你目前所从事的的方向,一个优秀的开发者应该是转到任何方向都是优秀的,那么一个优秀的开发者应该有什么样的"技术"呢?
所谓技术,即"技"和"术"
技
技指的是你当前所在方向所具备的"特殊技能",拿iOS来说,我们所做的任何事,都是在Cocooa框架的基础上,对Cocooa这个框架的熟练程度和理解程度构成了我们在iOS这个平台上的技能,这个技能在其他平台上是施展不了的.
术
术即为方法,方法论,世界观,道,例如"算术"和"算数"是不同的,前者是指一系列的理论,方法,后者则是具体的技能.在程序员领域,我认为的术是放之各个平台皆准一套方法论.具体一点就是:面向对象的思想,数据结构,算法,设计模式中的思想.这些东西在计算机发明之初就在起作用,到了今天,仍然支配着技术的发展,仍然是菜鸟和大牛之前最明显的差距.
我的思考
iOS的热潮已经退去,市场上大量漂浮着各种各样的简历,有培训出来的,有一定经验的,还有大牛的.不用说大牛依然是抢手货,但是根据幸存者偏差,必然有大量的过的不如意的兄弟.不幸的,我也是其中一员.年初找工作,面了几家大公司,最终没能通过.从企业的角度来说,你所具备的技能跟刚培训出来的哥们儿看不出来区别(并没有黑iOS的意思,有几家培训视频确实教的非常深入,出来的人干活是没什么问题的),那么问题来了,干同样的活,为什么不要低一点的人呢(仅仅是指一般公司,大厂不在此列).
现在技术层出不穷,拿最活跃的前端来说,真的是每天刷微博都有新的东西出来.天天看这些东西,觉得自己什么都不会,什么都想看,看每一个都觉得有难度,让我有一段时间非常焦虑,工作都做不好了.
所以,不要什么火就去学什么!不要什么火就去学什么!不要什么火就去学什么!重要的事情说三遍到.就算你学会了一个又一个框架,貌似很吊,全栈工程师,什么都会做,依然是个干活的人,而不是思考的人.潮水退去,怎么和培训出来的人拉开差距呢,依然在裸泳.
所以当你埋头背诵框架的API时,拼命的丰富自己的"技"时,停一停(讲道理,iOS里面大多数东西,在有一定经验之后,就算没有用过,看看文档,头文件,也就差不多了),看看自己的"术"差在哪里.无论风向怎么变,这些不会变.
我的打算
多写博客,丰富自己的git,树立自己的个人品牌.希望我下次有跳槽的想法时,能拿到大厂的offer.