您的位置:首页 > 移动开发 > Android开发

[置顶] 成为Android高级工程师看这里就够了

2017-12-09 13:38 357 查看

关于我

我是IsCoding,11年开始做 Android 开发 这一做就是7年

在创业公司负责过技术,拿到过融资。现在准备做一些不一样的事

联系方式

QQ群 121915371

QQ号 1400100300 (个人QQ 建议加群咨询)

什么是Android高级工程师

这个强调一个概念,快速。

如果一个开发者,想成为一个高级工程师,去做高级工程师需要做的事,了解一个高级工程师需要的知识,然后一步一步学习,都弄懂弄会,这样就是一个高级工程师了,这个过程可以量化,就是学习会这些知道就行,如果想继续进阶可能就不是量化的问题了,这里只讨论Android高级工程师的问题。那么如何成为一个高级Android工程师,就变得比较清晰了。

学会基础知识

Java基础,多线程,泛型,反射,IO,异常处理,集合框架等等都需要吃透。

Android基础,四大组件,Android的是异步调用,View的 绘制流程,触摸事件流程,都应该吃透

还有很多不一一列举了,这些是基础部分。

进阶学习

基础的东西,也要进阶,这个是同步的,比如多线程应该了解多线程并发库等高级用法,什么类加载器,垃圾回收等等都应该有个自己的了解,还有第三方库,至少都会使用大部分库吧,什么Gson,FastJson,EventBus,Volley,Okhttp ,Glide,Fresco,ButterKnife 。等等都应该有会熟练使用把。这写也只是中级程序员就应该掌握了的内容。

高级程序员应该掌握上面的所有内容作为基础内容,还要了解每个技术的原理和作用。对第三方库不只是使用,还要了解原理,还要能根据原理自己写出一部分库。能封装自己的库。而不是只停留在使用上面,这些东西使用都是非常简单的,看一下文档就能用了,可能用额不够精准,但是作为一个高级程序员,是一定一定要知道他们实现的原理的,计算写不出一样的代码,也能知道人家是怎么实现的,这是一个高级程序员最低的标准了。

快速成为Android高级工程师会遇到的问题

多看书,多做项目,看什么书网上推荐的特别多。

那么问题来了。看书就能成为高级工程师,做项目就能成为高级工程师,看看文章就能成为高级工程师。如果可以的话,那么我直接买几本书,在家看看,然后做几个小项目就好了。如果这样就能成为高级工程师,那么我就先在家好好学习学习,然后成为高级工程师,再去找工作吧,这样不是很好么。当然这是不可能的,或者说大多数人是不可能的,不排除有那些天才啦,还有刻苦和会学习的人。或许很多人会说,这个是看工作年限的, 如果你工作都没工作,怎么可能会是高级工程师呢,这确实是个问题,虽然你的能力确实跟你工作年限有关,但是这些东西确实不只是靠年限堆出来的。而且这些东西确实也不是只看书就能看出来的,这里需要的是一个系统的学习过程。

这里强调一下,一定是一个系统的学习过程,要把很多东西方方面面都了解,吃透,这个过程需要很长一段时间,快的话二三年,慢的画5年以上也正常。确实不是很快能吃透的,第一是东西确实挺多,第二是东西确实比较抽象,真的理解还会使用,需要一个系统的学习和使用过程。但是大部分二三的工程师达不到这个水平,可以说真的少之又少,那么这些东西学多久适合呢,我定的标准是三年,如果一个工程师,按正常的流程学习,正常工作,一点点进步,三年左右达到这个水平,一般都是可以的。只是这样的工程师真的不多,而大多数是三年之后,最多是个中级水平。这个就是现在软件开发的现状。

我见过太多三五年的工程师的基础太烂了,为什么强调基础,如果基础不吃透,你去学习别的东西会花费更多的时间,而很多人就是这样不注重基础,他们可能会很多新的框架,新的技术,但是就是不去学习基础,然后他们最多也只是会用别人的框架,根本连框架原理都弄不明白,更别说写一个框架了,所以这里强调基础的重要就是,只有你有基础你才能真的去理解别人的代码,你能更有效的控制你的代码。

那么为什么现在的工程师很多是这样的呢,第一点,就是大多数人,不知道应该如何学,很多东西,也想学不知道如何下手,别人代码看不懂,又觉得自己基础还行,不爱看基础的东西,总想直接学好更高级的东西,这样恶性循环就变成了,基础没学好,高级的东西学不会。如果有人注重基础,慢慢一步一步啃会是什么样子呢,那么他会花很大一部分时间去学习基础的理论,然后基础弄扎实了,在学习高级点的东西,这样可以么。答案又是否定的。如果死扣基础,不去学习高级的东西。这个过程会遇到一系列新的问题,基础不知道应该学什么,学到什么程度,需要花费多少时间学习,然后学完了怎么用,然后什么时候复习这些问题。就变成了不知道学什么了反而基础也没有学好,还是没有什么用的状态。

那么如何快速成为Android高级工程师呢

通过上面的分析之后我们考虑,我们如何快速的成为一个优秀的Android开发工程师呢。

第一步 夯实基础。

Java基础,多线程,泛型,反射,IO,异常处理,集合框架等等都需要吃透。

Android基础,四大组件,Android的是异步调用,View的 绘制流程,触摸事件流程,都应该吃透

这个是前提

第二步 多写代码。

只看不写效果是最差的,只写不看都比这好一点,那么代码一定要写出来,然后一步步测试。让代码在自己的掌握之中。

做项目会让你看到很多你需要了解的东西,能检验你对很多东西的了解。

做项目会让你积累很多看书无法了解的东西。

第三步 分析代码。

如果你有基础,你可以分析别人写的代码,看看人家代码的原理,这个是必须要了解的。

要不要自己写各种第三方库,能写当然是好的,但是精力有限。全写必然费时费力。你有那么多时间么,所以可以写几个就行了。

也可以看网上的文章,看别人如何分析第三方库原理的,做到理解,这样能快速的理解第三方库的原理,但是这样做也有弊端,就是你只是看了一遍,然后也就忘了,最好跟着人家的分析简单写写代码,看看你写的跟人家到底有什么区别,一个是了解自己的实力,一个是能真的看到人家是如何去实现这个东西的,了解项目的精髓。

第四步 开发自己的框架库。

如果前几个做好了,这个就变成水到渠成的东西了。

开发自己的框架有很多好处。

第一个就是证明自己的能力,有能力开发一个适合自己在工作中使用的框架的能。比如说一个工具类库。

第二个对代码的掌控力,有自己的框架,如果项目需求有什么修改,自己能知道如何修改达到自己的项目需求,如果使用的是第三方的,可能没办法去修改。

第三个就是开发自己的框架,能更快速的开发自己的项目。自己写的东西总比别人的熟悉。

这个过程做完,基本也就达到一个高级工程师应该有的水平了,这些东西只要学都能学会。

这样一步一步来肯定能成功,但是这并不是一个优等的方案。一个好的方案是,有一个更好的指导,指导我什么时候应该看什么,应该学什么,知道自己哪里不会,然后知道如何去学,可是这个东西确实缺失的,不会有那么一个人,那么了解我的情况。然后根据我的情况,帮我量身定做一个学习计划,然后根据具体情况,制定不同时期的不同计划,然后给我讲解,我看不懂的东西。其实我在学习的过程中一直希望有那么一个人,会一直指引我去学习,一直指导我,如何去进步,帮我解决我工作学习过程中遇到的问题。

计划

本人做Android7年,也经历了各种迷茫期,各种瓶颈期。我想做一个东西,这个东西,能帮更多的程序员,从一个技术小白到一个高级的Android工程师。为什么是Android的,因为我一直做Android,这个经验我比较丰富,我以前也写文章,但是慢慢都删了,以前写很多是为了学习记录,现在我希望是我能给别人带来帮助。而我的计划就是如何真的帮助别人快速的升级到一个高级工程师的水平。

具体计划如何实施,暂时不公开了,因为还有一些细节需要完善。

可以加上面的群。

这里我可以保证一件事就是,跟着我的朋友,一定能快速的成为一个高级Android工程师,今天先写到这了。

以后会不定期更新文章,有问题请加群谢谢。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: