我说对,但是也不对。
从短期来看,很多入门门槛不够高的所谓风口上的技术确实是能够在收入上高出一节。但任何技术都会从趋之若鹜到趋于平稳的阶段,到时候又当如何呢?跳向另一个风口么?
潮水退去,谁在裸泳就一目了然了。前端的技术也是一样,90%的技术方向饱和以后,水平有限的同学都会面临所谓的”寒冬“,招聘市场职位缩减,企业用人门槛抬高,但与此同时,你仍然能听到无尽的关于高级开发招不到人的抱怨。
实际上一开始的热门都只是表象,因为相关技术人才供不应求,公司只能降低标准招人,但这并不表明这是理所当然的。热度退去,一切恢复正常,享受着早期红利入职,却安于舒适区,技术上一无长进,过了几年就开始抱怨工作难找……
从某种程度上讲,选择搞技术这条路的一开始就应该明白,逆水行舟,不进则退,如果不能持续学习就一定会被淘汰,毕竟搞技术又不是当公务员。这样看来,不思进取的同学就理应难找工作,市场才是健康公平的,不是吗?
做技术体验比走技术支持好?
-
花很多时间去做研究app架构、底层优化,还不如直接用一天时间写个好看的xml界面给老板看,认可度更高。
拿多少钱办多少事,一直是一种思想误区。正常的情况永远是——面向下家编程,或者叫做面向简历编程。
我一直在各回答里苦口婆心,深入基础、深入底层、摸清实现原理和逻辑,不要光考虑今天用哪个框架、明天上哪个论坛抄代码什么的,要了解框架的思想和背后的机制。但收到的回复却往往都是出人意料的一致——“我现在在小公司,我们用不上这个,就能把UI实现就行,你说的这些一点用没有”。
我承认70%以上的公司,对于移动端的岗位要求也就是这样了。可能业余时间去深入基础,深入底层的开发者在短期看起来薪资跟他的同事没什么区别,然而长期来看,做这些深入的研究和知识积累,不就是为了炒了老板,去剩下那30%更好的公司,去跟更优秀的人一起共事嘛?
总会有人爬到更高处,比别人更优秀,既然如此,那个人为何不能是我呢?
有必要去造轮子?
-
那些所谓的基础知识平时根本用不到,遇到了自然就会了/遇到了再上论坛查,到时候照搬就行了。
-
Android开发没那么多东西,大量的开源框架可以直接用。
嗯……我当初高考之前也是这么认为的,然而看到卷子的一刻,好像并没有突然就会了呢。
”工作了以后自然就学会了“,这是另一种误区——对大部分人而言,身在的公司并不会提供给你那么多充裕的项目时间,你经常能够做的只是利用已有的知识去快速解决遇到的问题,超出已知范围的问题搜索一圈,没有答案就放弃,有就抄袭过来,然后继续下一个项目。光是能够有回溯、总结的时间和精力都已经不易。人在这种环境下极易陷入一种无尽的做需求的漩涡中,这样过了几年,产品同学的简历很好看,而对于开发人员而言,毫无长进。这也是为何有不少工作了三年多的开发,还抱怨工作难找的起因——你并没有三年工作经验,你只是将一年工作经验重复三年而已。
甚至退一步说,何不争口气呢?论坛上查可以,但为何写答案的不是你呢?现成的框架可以解决一些问题,但写框架的为何不是你呢?抛开有没有用,看成为了进入BAT之类的公司做的面试准备也无伤大雅吧(毕竟美帝留学生还刷leetcode不是么)。
是写答案的就业更容易还是抄答案的更容易?
是开发框架的就业更容易还是用框架的就业更容易?
当然写框架的机会有“门槛”,所在公司可能并不会提供机会和时间,那么搞懂框架的实现是有限的贴近有能力写框架的手段,比如用Retrofit的时候研究动态代理和反射,用Dagger2 的时候顺便研究 Java annotation processor,最低的底线,用Activity的时候去搞懂WMS,搞懂View的绘制、事件的传递机制等,不算有门槛吧?借此作为深入底层、回溯基础的契机去查缺补漏,难道不应该么?如果还对此嗤之以鼻……Well……Good luck。
要不要走移动端开发这条路?
这个问题大概是我今年被邀请过最多次的问题。经过我很多天的深思熟虑,多年老司机还是坚持下去,如实你是刚毕业的, 现在我的结论是
不要。
理由……理由重要嘛?理由很多人都已经说过几百遍了呀——
-
工作竞争压力大,一个岗位很多人竞争,不好找工作;
-
薪资水平下滑,同比没有竞争力;
-
用人部门要求高;
-
职业生涯有瓶颈;
-
技术成熟,没啥可创新的地方
所有理由都是对的,我发自内心认同。所以我的结论也一样,不要做了,真的,我说的不是反话。
作为悲观的人,我一直无法理解那些“到时候就会了”的自信是从何而来。如果这一行真的有寒冬,我选择尽可能多的储备粮食柴火,做好能够想到的一切准备。我觉得我是愚钝的人,理解力不如别人,要靠更勤奋才能跟普通人站在一个起跑线上。面对考验的时候,天分和运气都无法成为自信的筹码,能够让自己有点信心的,也就只有尽全力的努力过这一个普通的事实了。