一位四年多Android开发老鸟,对开发经验总结与排坑经历分享

说起程序员的职场,大家第一感觉就是很难混,竞争压力大,也就是卷。然后呢还有35岁危机,工作强度也不小,各种996。而且还有各种各样大大小小的套路和坑,说起来一把辛酸泪,打工人的确不容易。所以我写这篇文章呢,就是想要分享一下这几年我总结出的几点心得,给那些正在职场中打拼和即将进入职场的小白们,一点点帮助。

职业路线

不知道大家有没有感触,这个年代虚的东西太多了,实在的东西越来越少。就好像双十一,说起来各种优惠,各种促销,但是真正买到手里的,却并没有便宜多少。

不仅促销如此,职场也一样。虽然我们大多数情况下都很实际,但是仍然免不了会被一些虚头巴脑的东西糊弄。拿跳槽换工作为例,很多人跳槽的时候其实是不会在职业发展这点上思考太多的,大多数人考虑的重点是,下一份工作钱给得多不多,加不加班。至于这份工作和自己的职业规划是不是契合,可能并不会考虑那么多。

我自己也出现过这个问题,我在上家公司虽然也是算法岗,但是主要做的是用户画像和增长。相对来说比较偏向数据一些,不是直接面向用户的推荐、广告等这类系统。这两年积累的经验也主要在数据这块上,而不是在算法场景当中。其实比较好的是一条路走到黑,跳槽的时候也继续从事这个方向。但我兜兜转转来了广告和推荐,倒不是说广告和推荐不行,只是没法把之前的经验发挥出来。所以一开始的时候也很难受,毕竟很多业务上的东西不太了解,没办法火力全开,因此坐了一段时间冷板凳。

最近我才想明白,在职场当中,我们的竞争力是有两块组成的。一个当然是我们的硬实力也就是技术能力,还有一个就是我们的经验。我们在某个领域积累下的经验,也一样是非常有价值的。所以比较理想的跳槽是我们可以同时把我们的经验和实力都发挥出来,也就是顺着一条路走,而不是中间换赛道。

这里面道理也很简单,因为一个人在职场当中的核心竞争力其实只有一点,就是解决问题。你能解决公司多大的问题,公司就愿意用多大的资源留住你。只有技术很多时候一点用也没有,因为你不知道该往哪里使劲。比如你之前都没做过搜索,你技术再强,也不可能一夜之间把搜索引擎做好。一个成熟的系统的搭建过程,里面是需要经验是需要试错的,不是拍脑袋就可以的。所以一个越往上的牛人可能技术能力越平庸,但是他们思维和经验一定越丰富,越能解决问题。

但遗憾的是,现在新的岗位和业务层出不穷,我们想要在整个职业生涯当中聚焦并不是一件容易的事情。大家可以去拉勾里面搜索一下,看看搜到的岗位是不是各个方向都有。再加上影响人决策的还不止这些,薪水、股票、福利,都会影响我们的决策。如果不能在一个方向有长足的积累,很容易遇到瓶颈,这也是我把职业路线列在第一位的原因。

我们在跳槽或者是选择下家的时候,首先要考虑职业路线,我们要把之前积累的优势和经验利用起来。不然很有可能到了新环境发挥不利,迅速坐上冷板凳。

注重人脉

早在我高中时期,就有和父母相熟的老教师语重心长地给我传授过一条人生至理:一个人要能成,需要三个条件。首先他自己行,其次有人说他行,第三,说他行的人很行。

我当时年纪还小,哪里能理解这些,听完也就算了。直到今年经历了一些事情之后,无意间回想起来当年老师嘱咐我的话,才发现真的很有道理。经营人脉并不虚,也不是骗人的,的确很有用。但是怎么经营人脉是一个很大的问题,很少有人能答上来。

地摊文学里总劝人去social多交朋友,但是经营人脉不等于去社交,也不等于去认识很多酒肉朋友。我个人理解,真正有价值的社交其实都是弱社交。也就是那些和你不太熟悉的人,比如前同事,校友,不怎么来往的同学等等。经营人脉其实并没有太多东西,就是就只有一点,就是管理好外界对我们的看法和认知,维持住“人设”。简单来说,就是我们要注意羽毛和口碑,说不定什么时候它就起到了作用。

扫描二维码关注公众号,回复: 12566706 查看本文章

很多大牛的创业经历当中都有这样一条,早期一起参与创业的追随者都是出自对这个人本身的认可参与的,而不是冲着事。比如老罗,我并不是老罗的粉丝,也不是很喜欢这个人,但不可否认,他是一个很有魅力的理想主义者。所以才会有那么多人愿意帮助他和加入他。大家感兴趣可以去了解一下,早期老罗创办英语培训班的时候,为了争取生源,给老师们开的工资很低,这些老师心甘情愿拿低工资参与其中,就是因为认可老罗这个人。

在职场当中真正好机会是很稀缺的,很多机会只有局内人才能接触到。比如你们在招聘网站上看得到腾讯王者荣耀的部门招人吗?当然看不到,因为这样的岗位太珍贵了,一般都是内部推荐就消化了。假如你在这样的岗位当中,现在组里有一个空缺,老板让你内推一个人进来,你说你会找谁?我估计十有八九都会找和自己关系最好的前同事,虽然可能已经好几年没有联系了。

反过来也是一样的,当我们这些弱社交体系下的人有不错的机会的时候,是否会想到我们,很大程度上其实就取决于我们之前和他们共事的时候表现是否出色,为人是否靠谱,我觉得,这才是经营人脉的核心价值。

谨慎选择

其次,我想说的一点是谨慎选择,主要体现在我们跳槽换工作的时候。我们一定要清楚,我们跳槽的战略目标是什么。是为了大幅涨薪,是为了职业发展,还是因为到了瓶颈,或者是因为想要脱离现在的环境?

在前期的时候,我们跳槽往往是为了脱离现在的环境,因为当下有了一些让我们不爽的东西,所以我们换工作走人。但其实这是不对的,当然环境很重要,我们需要追求一个更好的工作环境,但是最好我们能找到一些更大的意义。如果只是盯着一点,很容易吃亏。

当今互联网圈子里,其实不缺机会,你只要稍微用过一两个招聘软件,每到招聘季必然会接到一堆猎头的电话和信息。生怕你不知道你待得太舒服,忘了跳槽。很多人其实本身可能并没有那么强更换工作的意愿,但是架不住猎头各种套路。先是用其他公司的高薪骗你交出简历,接着骗你去面试,然后稀里糊涂地你就拿到offer了。很多人就这么着稀里糊涂地换了工作,那么当然也就顾不上战略目标了。

互联网时代,信息越来越方便也越来越廉价,带来的后果其实就是有价值的信息越来越难得。到处都是的信息某种程度上来说都是垃圾,含金量高的信息还是很难获取的,信息差某种程度上是拉大了,而不是缩小了。在这种情况下,当我们在职业生涯当中做出决定的时候一定要理智和谨慎。一定要谨记物以稀为贵的道理,到处都是的信息一定不是最好的。

当你明白了这个道理之后,最起码你就不会被猎头忽悠了。不管猎头说什么,你都可以不为所动。因为猎头能推荐出来的岗位大多数都是市场少到处都是的职位, 用脚指头也能想到无非是pdd、头条这些。那你想想看这种到处撒网招人的岗位能是核心部门,能有很好的发展前景么?当然我也不是说这些机会都不好,也会有些比较好的,但是这就很考验运气了,万一没碰上好运气其实是挺伤的,35岁之前是我们发展自己的黄金时间,非常宝贵,轻易伤不起的。

如果要跳槽,我建议可以联系一下之前的老同事或者是校友、同学,或者是找一些前辈、老上司请教,也是可以的。这种通过内部人脉获得的机会,大概率是要比猎头、招聘软件这些外部渠道获取的机会靠谱和珍贵的。总而言之,跳槽择业一定要谨慎,谋定而后动,千万不要急。

内在外在缺一不可

最后,我想和大家聊一下发展条件的问题。我从前一直觉得职场上嘛,当然有才最重要了,有才华才能受重用。我相信可能很多人都会这么觉得,尤其是刚毕业的年轻人。但随着我接受的社会毒打越来越多,我发现这个理解其实不太对。

一个人往上走的路其实是内在和外在两方面共同作用的,两者缺一不可,内在当然是我们自己的能力和品质,其次也需要外在的辅助,外在就是外界对我们的信任和评价。你有能力也需要老板信任你愿意把重任交给你,这样你才能做出成绩来晋升。如果老板信任你,但是你自己不行也一样没辙。因为老板也需要向更高的老板交代,他也不可能以自己的职业生涯冒险来扶持你,除非老板是你爸爸。

为什么姜太公要钓鱼,不自己去投简历呢?原因就在这里,他一定要让周文王发自内心地觉得他有经天纬地之才,这样才能结结实实地委以重任。如果他自己去投简历,周文王说不定还要琢磨一下,这老头这么大把年纪了还能不能上战场了?庞统虽然凤雏之名,但初期不被刘备信任时,也一样难酬壮志。与他相反的诸葛亮,一开始谱摆得很足,刘备三顾茅庐才终于出山,显然刘备会更觉得孔明更有才一些,也更愿意把机会交给他。

映射到职场当中,为什么说外来的和尚会念经,并不是外来的和尚嘴更溜,而是老板更愿意相信他们有真本事。那为什么老板不相信下面的人呢?很明显是因为下面的人在职期间并没有带来老板想要的改变,没有达到老板的预期。想明白了这一点,你就能明白,为什么在大公司主管走了,大老板不是从下面提拔一个上来,而是从外面招一个空降的原因,不是老板蠢,还不是因为下面没有能打的嘛。

所以如果我以后要跳槽的话,相比于薪水待遇这些,我反而更加关注这两点。我需要新的环境有认可我的人,新的环境有条件让我发挥出我的实力。说白了,我需要一个相信我可以解决问题,愿意给我机会施展的大佬或者是团队。因为薪水待遇能够满足的机会其实不少,但是能满足这点的就很难了。职场当中很多人喜欢带着老下属,还有些人喜欢跟着旧老板,之前我一直觉得这是办公室政治。这两年经过了社会毒打之后,我才发现这当中都是有道理的。

我们理想当中都希望老板能够唯才是举,任人不唯亲,但这毕竟是理想情况。实际当中很有可能是,你和老板关系不够好,老板很难关注到你,也就自然更加难以知道你是否有才了。而且才华和能力也不是唯一指标,古往今来恃才傲物的先贤们,往往也是埋没的多,得志的少。更何况才华也未必越多越好,有的时候够用就行了。你能统兵千万,但我现在就要一个拳头硬能打架的。

所以当我们混迹职场的时候,除了要关心我们自己能力或者是经验方面的成长之外。也要把眼光往外放一放,看一看外在的环境是否利于我们施展拳脚,积累口碑。对于我们职业生涯前期,其实这些东西是比薪水以及职级这些更加重要的东西。

关于Android学习路线与资料分享

1.架构师筑基必备技能:
Android应用是由Java语言进行开发的,SDK也是由Java语言编写,所以我们要学习java语言。另外,虽说kotlin语言得到了Android官方的热推,但是kotlin也是编译成了java语言再运行的。对于Android来说,只要SDK没有用kotlin重写,那么Java语言是都需要学习的。而且Androidapk的后台服务器程序大概率是java语言构建,所以学习java也是一种必然。

那么Java中哪些东西是我们Android程序员需要学习的呢?由于Android程序员习惯了CV代码块,所以与Android中比较相关的稍微比较难的Java基础几乎都是一个门槛,像泛型,多线程,反射,JVM,高效 IO,注解,序列化等,都是被CV的对象,而程序员是不懂原理的,具体内容如图所示。

2.Android框架体系架构——Andlroid高级UI与FrameWork源码
说到FrameWork别的不说,你只要去 Github上看一下腾讯Matrix的源码,就知道Framework 的知识有多重要了。像掉帧监控,函数插装,慢函数检测,ANR 监控,启动监控,都需要对 Framework 有比较深入的了解,才能知道怎么去做监控,利用什么机制去监控,函数插桩插到哪里,反射调用该反射哪个类哪个方法哪个属性……

3. 360°全方面性能调优
Android性能调优方面包括了很多知识点,其中关键的就有设计思想与代码质量优化, 程序性能优化,开发效率优化, 我们开发者将这些统称为Android360°全方面性能调优。 其实在软件开发过程中,想必很多读者都遇到过系统性能问题。而解决系统性能问题的几个主要步骤是:

测评:对系统进行大量有针对性的测试,以得到合适的测试数据。
分析系统瓶颈:分析测试数据,找到其中的hotspot(热点,即bottleneck)。
性能优化:对hotspot相关的代码进行优化。

4.解读开源框架设计思想
在Android开发中开源框架设计思想中的知识点也是较为重要的,相信大家都可以看到在每个公司招聘当中,对Android开源框架要求都是比较严谨的。而想要完全搞懂还得学会整理和规划:我们常见的Android热修复框架、 插件化框架、 组件化框架、 图片加载框架、 网络访问框架、 RxJava响应式编程框架IOC依赖注入框架、最近架构组件Jetpack等等Android第三方开源框架,这些都是属于Android开源框架设计思想的。如下图所示:

5.NDK模块开发
Android平台从诞生起,就已经支持C、C++开发。众所周知,Android的SDK基于Java实现,这意味着基于Android SDK进行开发的第三方应用都必须使用Java语言。但这并不等同于“第三方应用只能使用Java”。在Android SDK首次发布时,Google就宣称其虚拟机Dalvik支持JNI编程方式,也就是第三方应用完全可以通过JNI调用自己的C动态库,即在Android平台上,“Java+C”的编程方式是一直都可以实现的。在最近比较吃香的音视频开发技术也是属于NDK模块开发。关于音视频进阶方面可看这篇文章:关于音视频进阶方面可点击这篇文章:作为一个Android程序员,精通音视频开发,寒冬再冷也冻不到你


6.架构师练成实战
在学好以上知识后就应该运用到实战当中了,在常见的实战当中:架构设计,网上商城项目实战,新闻客户端项目实战,多格式播放器项目实战,Gradle自动化项目 都是属于重中之重的。

当然还有小程序项目实战也是Android开发者必须搞懂的:

7.微信小程序
阿里架构师对小程序的看法:

第一点,不管小程序能不能在未来的时间里在移动端大放异彩,学习它,掌握它,都是没有任何坏处的。
第二点,就目前的版本而言,还是太过封闭。开发小程序就感觉像是在微信给我们划定的一个小圈子里兜兜转转,在圈里也许我们能得到很良好的开发体验,但是一步都出去不得。
第三点,在性能与便捷之间,最终往往会是便捷取胜。
第三点,能用 js 开发的,最终都会用 js 开发。

8.Hybrid开发与Flutter
想要成为一名优秀的架构师,需要掌握的知识是有点篇多,出来新的技术也不能落下学习,正像Flutter
在flutter中,一切皆控件!一切皆控件!一切皆控件!牢牢记住这个概念。Text是控件,Image是控件,Icon是控件,布局脚手架也Scaffold也是控件,甚至整个APP也是控件。

此外小编利用空闲时间针对学习路线大纲配套整理了相关方面的资料,都已整理成PDF文档,也是借此机会免费分享给大家的:

1.架构师筑基必备技能:
2.Andlroid高级UI与FrameWork源码:
3.360°全方面性能调优:
4.解读开源框架设计思想:

5.NDK模块开发:
6.架构师练成实战

7.微信小程序:
8.Hybrid开发与Flutter:
后述: 如果你正在走往架构师的道路上迷茫了,感觉自己的所知知识已经膨胀了,那么可能你学的多而不精,缺少一份完整的学习思路大纲,我想此篇文章正好能够帮助到你。小公司的可能没有架构师这个概念,大公司的架构师职位又不是那么容易拿下。但不管怎样,不断去学习新的技术,提升自己的层次是很有必要的,无论你在哪一家公司,过硬的技术水平才能吃得开。
文中所述资料和完整架构师学习大纲可以直接点此处免费获取。
也可私信留言666 获得。
更多Android架构相关资料可以点此处免费获取

猜你喜欢

转载自blog.csdn.net/Android578/article/details/113887122