美文网首页Android开发Android开发经验谈
非科班不能进大厂?从半路出家到阿里Android高级工程师

非科班不能进大厂?从半路出家到阿里Android高级工程师

作者: 飞鱼_9d08 | 来源:发表于2020-03-23 16:29 被阅读0次

    原文地址;http://dy.163.com/v2/article/detail/E8IN0VAC053174GF.html

    13年,我从一个二本学院的化学专业毕业。许多同学毕业后都是在制药工厂上班,朝九晚六,拿着微薄的工资。那个时候的自己很迷茫,总觉得未来不该如此淡然无味。一波波得招聘信息里面,最热门也最诱人的是互联网/IT领域。当机立断,我决定转战互联网行业。(那几年互联网最火热的时期,像我一样半路出家选择当程序员的真的很多)


    半路出家学开发

    不过,那时的我仅仅会一些java语言,投了几十份简历都石沉大海——就我这专业,就我这经验,想要很好的offer应该有点天方夜谭吧,现实也的确给了我响亮的一巴掌。

    不服输,我堵上了所有的勇气立志从头开始全面学习IT互联网相关的知识。

    生活总是会眷顾有准备的人,后来我拿到了一个offer,虽然公司很小,但总算也是对自己努力的汇报。虽然起步只是一个小公司。但是我的目标是大厂,这不是容易达到的事情,我喜欢这种有目标有挑战的刺激感。只要一直学,总能达到大公司门槛的。

    网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。我根据学习计划,开始重点攻破一些重点技术点,然后再把知识点关联起来,形成一个系统化的知识体系。

    对基础原理不断挖掘

    进入公司,我的职位是Linux应用开发工程师,做App网络传输模块,本质上就是把本地的数据通过socket传输到服务端。用到的技术是java语言,网络编程,多线程编程。

    那时是最痛苦的几个月,因为非计算机出生,很多东西都不会,经常程序段错误,都不能定位到问题代码。

    当时处于试用期间,秉承着不成功则成仁的心态开始恶补相关的基础知识以及代码规范。那时网络上没有现成的视频资料,艰难地把计算机专业的书籍自学了一遍。

    熬过了试用期,产品也上线了,第一次体会到成就感爆棚的感觉。

    现在回头看,经验就5个字:原理很重要。很多看起来没用的原理,其实是重要基础
    如果了解这些原理,就可以快速使用各种开源库。可以更快地熟悉各种中间件sdk的使用方法。刚入行技术不求多,熟练掌握一项技术,能把原理讲清楚,拿得出手才有基本竞争力。

    基础仅仅是开始,技术要有应用场景,转化为产品才能最大化地产出价值。

    后来,我自学了Android开发,

    比如UI开发,网络开发。当时也是夜郎自大得以为UI开发就是Android的全部。投递了很多大厂的Android岗位,却没有收到面试邀请。回过头来再做分析岗位需求时,才发现自己技术栈背景确实不匹配,就算进了面试,好多问题也都答不上。比如:

    1. 动态化混合渲染技术架构是怎么样?怎么提高开发效能?

    2. 产品的DAU有多少,如何保证稳定性高且可用的?

    3. 如何跟踪用户行为,利用大数据完善产品功能,降低运营成本?

    这些问题让我意识到,语言、UI和原理只是程序员的基本技能而已。

    想要进一步发展,不光只考虑个人技术,必须在整个产品生命周期、开发、运维、能效上有合理的架构,进而满足行业的发展需求。你不光需要考虑业务需求如何实现,更多的重心需要关注开发提效,大团队并行开发协作,大流量稳定性保障。

    学习flutter技术后,颠覆了我对移动APP开发的认识。

    如果写native页面,可能一天一个页面,Android iOS就需要2个人日,flutter是跨平台,一份代码可以在Android iOS两个平台使用。那开发一个页面就只需要原来一半的资源。通过新技术合理架构提升研发效能,动态化技术提升发布成本

    无论程序多么完美,Bug永远存在。

    对于线上故障,如果不能提前预防以及快速解决,损失可能不堪设想。所以代码框架调优,屏幕适配,代码质量调优是优秀架构师的必备技能。

    自学的过程是痛苦的,移动端的技术日新月异,很多前沿的技术还没有体系化的书籍,只能在论坛,博客等看零碎的文章,学习效率比较慢。要想高效的学习一线技术,网络课程是一种新的选择。有老司机指导方向,避免走弯路,事半功倍

    适应发展,做技术的领头羊

    有良好的技术基础,学会了行业流行的框架,可能只是获得了进入大厂的敲门砖。多少人努力进入大厂,最终默默无闻地进去,悄无声息地出来。没错,平台很重要,但更重要的是你能在这个平台上发展到什么程度。

    这个日异月新的时代,不光需要Follow一线技术,更重要的是要引领时代,才能在技术快速发展的阶段不被淘汰,或者才能在下一次技术革命中抓住机会。

    如果仅仅只掌握Android本身的技术是不够的,比如说在iot时代有这样一个需求: 做一个APP完成智能硬件的一键WiFi配网。这个就需要对TCP/IP协议栈,WiFi加密,网络抓包等有深入的理解。

    所以最重要的是突破当前岗位需求的设限,对各种技术融会贯通,创造新的技术框架
    比如各种前沿技术,音视频开发,NDK,小程序开发等技术体系


    我在搭建这些技术框架的时候,也整理了系统的高级进阶教程,会比自己碎片化学习效果强太多,石墨文档可见;《Android架构视频+学习笔记》

    学而不思则罔。我们在学习和输入知识的生活,一定要多思考,多总结。这样才能真正的进步。

    相关文章

      网友评论

        本文标题:非科班不能进大厂?从半路出家到阿里Android高级工程师

        本文链接:https://www.haomeiwen.com/subject/mqstyhtx.html