20年过去了一半,半年下来感受本身仍是很菜,忽然想起以前和朋友聊天,朋友自己技术实力极强,业界承认度也较高。可是仍是认为本身很菜。我认为这很大一部分是对于知识的敬畏心,做为程序员就须要不断的涉猎新知识,学习。而每次涉猎都发现本身的眇小…其实彻底没必要畏惧知识的多,我一直认为菜能够接受,但每过一段时间回头反思,发现本身原地踏步彻底不能接受…前端
回首发现本身步入程序员的行业也有几年的光阴,记得一开始的时候,我也和不少初学者同样,四处询问怎么才能实现高速的成长,想窥探大牛们的成长秘籍…虽然如今的本身依然有着超级多的不足,可是比起当初好笑的本身,也能够无愧的说没有辜负这几年的光阴。程序员
曾经我一直认为我要是能进一个足够大的团队,和一群牛人一块儿工做,不会了就去问,确定成长的超级快。年初的时候,本身足够幸运,到了一个还不错的团队,团队里的小伙伴也很给力。这一年我发现本身也确实获得了的进步,逐步涉猎更多的知识…面试
可是我发现整个过程却和我当初的设想相去甚远…当初觉得进了大的团队,就有人教你带你,可是事实上并不是如此,在大公司业务需求可能会变得很复杂,每一个人的工做量变得极大.面对KPI等压力,没有人能够很轻松的怡然面对…也没有人有时间去在很小的点上对你一点一点的提携…因此,那些以为进了大厂,就必定能成长的小伙伴,真的大厂极大的压力并不必定是成长最好的土壤,可是不能否认的一点是高压力和高负荷的工做,能提高工做效率,能从事更多深刻的工做,深刻才是成长的原动力。固然感受本身这一年来成长较快的另外一个缘由是从身边的队友身上学到的改变了一些解决问题的思路和方式,以及提高效率的方式。算法
而这一切进大厂并非必然条件,对于我的的高要求和好奇心同样能够达到同样的效果。swift
说了上边一堆的废话可能对于许多人而言,并无什么很大的用处,其实细化到平常,不过是不要忽视不少细节,保持技术上的好奇心,多实践也许就是技术人最好的成长方式。好比我想每一个iOSer确定都知道Runloop的概念,网上讲解一大堆,每一个人面试的时候都要为此好好准备一番,可是不多有人去真的思考这个不少操做系统上都有的机制究竟是用来做什么的,原理究竟是什么…其实基于原理的思考,再看技术上实现细节,也许真的会事倍功半…固然下边还会说这件事…机器学习
还有不少人说,我在研究什么什么高深的技术,可是一问到技术上的细节,就会说那一部分基于SDK的并不了解…对于这样的问题,记得之前作直播接入的腾讯云SDK,那个时候就敢说本身作过直播,如今想来本身真的蛮可笑的…ide
此外,如今网上铺天盖地的一万小时理论.可是我认为这样的理论会让不少的人走向一个误区.觉得我一直努力一直付出就必定能够成长,我不否定这样成长的事实,可是若是一万个小时的努力只是去作彻底类似的事,成长真的有限…我认为同等时间的基础上生长速度却取决于涉及的深度,反思总结的能力以及眼界,知识的广度等多方面的因素综合的结果.遥想高中时代,一样的付出结果大为不一样,其实道理大体相同。函数
固然我上边的话,一样会给一些人形成误区。由于只要努力的去学习一些难的知识,往深了看就行,其实我过往的经验是,我深刻看一个知识的时候,常常过一段时间没有技术场景的状况下,就基本上忘记了,记下的都是皮毛,可是我发现常常再看一些基础知识的时候可以联想到一块儿去,再回头去看那些技术,反而有一种豁然开朗的感受,因此在深刻的时候基础的重要性不言而喻。可是单看基础同样有此问题,因此孰轻孰重,彻底在于我的实践。其实我认为最好的方式是对于一个技术方向从浅到深的持续研究。这也就是不少优秀的技术博客,咱们看了没多久就忘记的缘由。由于咱们老是看到一个技术面,缺乏总体和深刻的理解。oop
这里也能够拿本身做为例子,由于各类各样的缘由,最近有换工做的尝试,找身边的朋友内推了滴滴。面试的过程当中个人简历中写了最近本身作的一些包大小优化相关的工做,咱们作的程度大概到Mach-O的级别,其实还有不少不足,滴滴技术上的的老大就问我有没有从编译原理上作一些考虑。其实知道clang的词法解析,语法解析,语义解析生成语法树的过程,可是真的不知道技术上的细节…其实这里就涉及到了编译原理的基础和编译原理上的深刻…其实就是想借此说一下基础和深刻的区别究竟是什么以及基础对于深刻的重要性。虽然有幸耗时两个小时过了听说最难的iOS老大的技术面,可是还来不及兴奋,就由于手写不出DFS等比较基础算法被淘汰…说实话对于这样的失败方式心底十分的不甘心也很难接受,可终究是由于本身菜,怨不得任何人,至此更明白基础的重要性。学习
这是个人iOS开发交流群:519832104无论你是小白仍是大牛欢迎入驻,能够一块儿分享经验,讨论技术,共同窗习成长!
另附上一份各好友收集的大厂面试题,须要iOS开发学习资料、面试真题,进群便可自行下载!点击此处,当即与iOS大牛交流学习
可能有人会问,对于客户端开发,算法真的有那么重要么。我想说对于部分人而言重要,算法能够是优化函数执行时间的思路和方向。而对于部分人而言,确实无关紧要。其实深刻的时候,不少优化相关的工做其实和算法真的息息相关。可对于实现需求自己,可能有人会以为意义不大…因此见解彻底因人而异,算法之于我,我认为就是本身不足的短板,最近可能会用很长的一段时间,花时间去补相关的知识。再多余的说句可能会让人以为装逼的话,不过我以为无所谓别人怎么看。成长毫不是出于功利目的,全部只是功利目的的成长必定伴随不少潜在的问题。
面完滴滴以后,我彻底放弃了换工做的想法。其实不是找不到,自大的认为找到一家比起当前薪资有一点涨薪幅度的公司应该不难,可是从成长的角度考虑,这样的选择无疑是一种失败。
由于就换工做这件事而言,自己就是一件成本极高的事情。程序员要在离职前完成不少交接的工做,下一家公司还要熟悉新的开发风格规范等等…这一段时间其实我认为作的工做就相对低效。并且没想清楚本身为何要换工做,盲目的找到了下一份工做,最后的结果大部分都是步入持续换工做的死循环。因此换工做必定要去想,这份工做为何想换,下一份必定不会出现相同的问题么?怎么在下一份工做中解决类似的问题。若是有解决方案,那就在当下去实践没有什么大不了。
此外,频繁的换工做其实会对本身的职业生涯产生很大的影响。前段时间练车,同车的人闲聊中得知是360的前端,技术上聊天中感受很强(固然我前端很菜,可是我认为不少知识有共通性)从其口中得知,由于回老家了两年,两年间两份工做,回到北京面阿里的时候,过了全部的技术面,可是由于频繁的换工做,被HR拒之门外…我认为这样真的太惋惜…但是不稳定,对于一个企业而言从成本角度考虑也彻底可以理解。如今京东对于稳定性的要求,了解的人天然都懂,固然对于职业生涯没有这样量级要求的小伙伴也彻底当我没说….因此,若是对于下一份工做没作好多年稳定下来的准备,但愿最好不要换。
固然我说到阿里这些公司,并不表明个人意思必定要去顶级的互联网公司,此外作大厂的螺丝钉也不必定是最好的选择。其实大厂以外,依然有不少好的公司能够给咱们比大厂更好的成长,可是这就须要咱们发现的眼光了。
其实这里可能就会涉及到最近看书中写道的一些预见性。有幸去一个有足够成长空间的公司,公司业务量级的不断扩大,陪伴一个企业成长,不断地去承担更大的压力和责任,我想这样的成长速度和成就感才必定是不少人最想要的。
说到预见性,举个小例子。就说我为何选择滴滴面试,想进滴滴吧,由于我看好出行领域的将来,看好的缘由是新能源汽车如今已经成为了将来的大势所趋,而无人驾驶汽车的量产我想也并不会太远了。
此外随着技术上的深刻,我以为最多十年的时间,街头上可能会出现不少无人驾驶的新能源汽车并且成本不会很高。可能有人就说我说的是伪命题,成本低了那么买的人多了,对于共享出行并无什么优点。
其实否则,由于不会变的是城市空间。因此未来城市出行可能会由于汽车太多而变得更加拥堵。而滴滴基于多年的大数据和如今的自研地图必定有能力去优化出行路径的预判和选择,这就是不少人忽略的壁垒。
并且在省去了其中人力难于管理,更容易提供统一化的服务以后,成本可能会更被大众所接受。那时共享出行可能会真的改变人们的出行方式,那个时代也许出租车真的会被淘汰。对于未来这样的预见,是我想去滴滴的缘由。
其实上边不过是预见的太多的例子中的一个,移动时代移动支付的兴起,回到几年前再日后看,其实这其中的道理也就没那么难懂了…固然,对于预见性,也有不少伪命题,好比多年前的共享,其实不是想法很差只是当时没有移动互联网的土壤供其成长,因此太早的预见性也可能失败。因此对于预见性,更多的是仁者见仁,智者见智。可是只要是基于足够思考的践行我想都不会太差。
若是只是为了换工做而换工做,最后可能会走入死循环,我想这是每一从业者都不想看到发生在本身身上的。
此外对于换工做而言,必定要有对于行业和市场的有足够清晰的判断,好比当下一份?double?薪资的初创企业请你去,会如何选择呢?前段时间有朋友真的面对这样的抉择,固然薪资可能不至于那么夸张,当时咱们吃饭说到此事,我就很直的劝他不要去…
由于如今的大市场环境就是不景气,如今的投资环境并很差,再加上美国近几年可能会不断地加息,国内市场虽然没有直接的加息,可是贷款等变向加息不少人都能感受获得。这就意味着资金的流动性在未来一段时间必定会变得较差,因此投资人会变得相对谨慎,再加上美国不久未来会下降企业税,国外的资本在硅谷也就有了更多的选择。
因此这一切对国内的创业环境而言都是打击,因此我认为明年多是创业更寒冷的寒冬。会有更多的小企业面对资金不足的问题,这个时候选择去初创企业那所谓的高薪。确实有很大的风险。一旦失业,再从新起航,这来回之间时间成本因素考量之下,也并不必定值得。在此还想说我没有任何对于创业者的否认,在这样的环境下坚决初心的创业者,我相信必定是心里强大的勇士,我心底也充满了敬畏。
也相信在这样环境下成长起来的企业,必定有很好的前景。只是但愿可让不少人在换工做的时候有足够的考量,若是没有面对这些问题的勇气的人,也必定不是创业者想找的人。彼此不耽误,我认为这样也许再好不过。
其实说了那么多,才发现好像偏离对于将来思考的主题。那么就言归正传。既然决定了稳定下来,那就在工做之余,必定要给本身定下成长的方向。除了对于本身影响较大的算法以外,我认为未来的客户端工程的发展方向都是向着巨型项目的方向进行发展。
因此这一过程当中,我想有经验的开发者必定知道效率在这个过程当中的重要性,接下来一年我可能会看更专一的去作相关的东西。其实面试滴滴给了我一个很好的出发点,因此第一步就从编译原理入手吧。
此外,最近在看一本debug相关的书,发现debug彻底能够变得更加高效。可是其中可能会用到Python脚原本完成部分工做。这半年愈来愈发现,对于客户端开发掌握一门脚本语言的重要性,真的会有不少不少的使用场景的。因此会尝试使用Xcode的实现更高效lldb。总之我认为效率化的方向,都值得深刻的去研究。
前段时间有幸的看到了bestswifter分享的机器学习在客户端的使用场景的ppt,其实这彻底是能够进行尝试的方向,随着手机计算和存储能力的提高。彻底有理由相信客户端可以完成更多相关的任务,这个方向深刻的研究,说不定会是一种趋势。
此外也给小伙伴提个醒,做为iOS开发者,对于苹果官方的消息,必定要有足够的预判。好比对于Hybrid的开发模式,是否是能够适度的减小相关钻研的时间。滴滴在作HTN我想可能就有对于这方面的考虑吧。再好比苹果可能会大范围的下架模板化的项目,对于外包而言将是极重的打击.因此在外包行业的小伙伴,真的提早要有必定的准备…
总之接下来即将到来的下半年必定不忘保持初心,在好好工做之余,看足够的书,完成本身想要作的事,哪怕明年这个时候发现本身更菜了,可是回首此文,能读到本身的成长,就足够了。