专访「Android 首席医生」徐宜生:善于利用工具来解决问题的程序员才是好的工程师

1,528 阅读7分钟
原文链接: mp.weixin.qq.com

对于正在学习或者已经实践的程序员来说,在钻研技术的路上,少不了书上、教程中为自己指点迷津的技术大大,少不了技术论坛上分享技术干货的技术牛人。

今天,沪江技术学院请来了不断磨砺技术,并且乐于输出分享的技术网红。你有可能没有见过他本人,但你说不定早已听过他的课,读过他的文章,让我们来看看他到底是谁?

小编一言不合就甩照片,有没有感受到这位程序员哥哥萌萌哒的脸上散发着睿智的光芒?

啥?你还没认出来这是谁?!

小编不禁陷入了沉思,看来要放大招了:

他可是「当当评分五颗星,评论1109条」既会敲代码又会写书的男人。


好啦,我就不卖关子了,让我们好好来了解一下他。

他是谁

徐宜生,曾就职于上海 TCL 通讯,负责 Alcatel(阿尔卡特)手机 ROM 的定制开发,现就职上海沪江,任高级 Android 开发工程师一职,著有《Android 群英传》、《Android 群英传:神兵利器》两书,CSDN 博客专家,慕课网 Android 讲师,活跃于 Android 社区,喜欢整洁的代码和简洁的架构,乐于拓展新的技术和知识,热衷于分享自己的经验和感悟,博客访问量近 130w,视频学习量近 50w。

以下为徐宜生接受沪江技术学院的专访问答:

Q&A


Q: 我第一次知道徐宜生这个名字,是在看到《Android 群英传》这本书的时候,时隔不久你又写了第二本《神兵利器》,是什么促使了你写这第二本书?

A: 第一本书由于篇幅和主题的限制,主要讲解了 Android 开发提高的一些知识点,而之前准备的一些关于开发工具的使用技巧相关的内容就删掉了,所以在第二本书,就着重讲解了如何利用工具来提高 Android 开发的效率。我认为,一个工程师一定要善于利用工具来解决问题,希望大家能够多使用工具,不仅仅提高开发效率,也提高开发质量。

Q: 你之前在 TCL 做的是偏系统层的开发,和目前沪江在做的事情似乎毫无共同点,为什么会选择来到沪江?

A: 其实在 TCL 的这段时间里,我也一直在业余时间学习 Android App 开发,也有了一定的基础,而在 TCL 工作过程中,主要接触的是 framework 层的开发,这又让我对底层的实现原理有了比较深刻的认识,实际上对 app 上层开发是非常有帮助的。在工作了一段时间后,底层的知识了解的差不多了,逐渐发现个人的兴趣点还是偏上层开发,所以就来了沪江。

Q: 到目前为止,可以说你已经对整个 Android 都非常了解,我们都知道 Android 体系是很庞大很复杂的,能熟悉一部分已属不易,能谈谈你是如何进行学习的吗?

A: 对 Android 都非常了解可不敢说,我一直认为,学习 Android 一定要站在一定的知识体系的基础之上,在了解大的架构的情况下,提高上层开发的熟练度,再对底层实现原理进行一些了解和分析,掌握思想和设计思路,这样可以加强我们对上层的理解,针对每一块知识点进行反复。同时,对于类似的知识点进行类比和延展学习,发现他们之间的联系,这样举一反三,融会贯通,相信很快就可以建立自己的知识体系了。最后把工作中遇到的知识点进行有针对性的学习,逐渐丰富自己的知识体系。

 

Q: 在学习的过程中,你遇到过什么样的困难?有没有一些心得可以分享一下?

A: 学习的最大困难,莫过于没有坚持学习的动力。其实每个人都是这样,我觉得学习一定要有积极的效果反馈,这样才能激励自己坚持学习,对于我来说,就是通过写博客来获得这种正面的效果反馈,在学习过程中,我会将学习的内容整理成博客,并分享给其他开发者,不管是从留言,还是访问量、赞赏,这些都是一些非常好的效果激励。久而久之,养成习惯之后,就可以良性循环了。

 

Q: 站在你的角度,你觉得沪江目前的 Android 技术最大的瓶颈是什么?

A: 沪江目前的技术实力已经非常不错了,我认为主要的瓶颈在于一些新技术的推广工作上。由于业务线的压力比较大,很难将一些比较好的新技术利用到实际开发中,导致开发的技术一直中规中矩,没有什么能够创新的内容,特别是一些能够提高开发效率和用户体验的技术,希望我们在后面能够有所改观。

Q: 简单说说你在沪江的工作吧,以及在工作中,你认为最重要的是什么?

A: 我在沪江主要负责一些基础组件库的开发工作,同时负责预研一些新技术和新功能,并推广给业务线,现在由于调岗到网校业务线,开始负责网校业务的一些架构处理、性能优化和业务开发等工作。

 

Q: 对于公司级别的开源,你是什么态度?或者说你是否会引导沪江的技术方向往开源发展,你会开源一些什么样的项目呢?

A: 公司级别的开源不管是对于公司还是对于项目,都是一个非常好的促进作用,不仅仅可以提高公司的技术品牌知名度,还可以借助开源的力量,逐渐完善开源项目,对于一些具有特定业务场景的项目,甚至可以形成行业规范。如果公司允许,我后面会逐渐开源公司的 APM 性能监测系统和一些公共组件库。

 

Q: 那对于开源这件事情本身,你又是如何理解的?

A: 开源的本质是交流,我们要多分享,通过开源来了解其它开发者思考的角度和分析问题的思路,既提高了自己也促进了项目的发展。

 

Q: 除了 Android 技术,开源项目之外,你还关注什么技术?为什么会关注那些?

A: 我现在对 AI 比较感兴趣,感觉特别有意思,可以借助 AI 来做一些比较 geek 的东西。

 

Q: 按你对技术行业及领域的了解,对目前正在学习开发的人提点建议吧。

A: 现在的 Android 开发技术已经比较成熟了,不管是官方文档还是网上的博客教程,但这也让移动开发行业的初学者不知道该如何选择。所以我想说的是,初学者切记浮躁,一定要打好基础,利用官方文档进行入门,慢慢搭建自己的知识体系,再有针对性的利用网上丰富的博客,逐渐丰富自己的知识体系,这样才能快速提高自己。特别是对于一些新技术,例如 RN 等等,都需要在打好基础的情况下去学习,切记不能好高骛远。

 

Q: 在你学习、工作的过程中,有没有特别想感谢的人,或者特别让你触动的事,给我们分享一下。

A: 我特别想感谢我横向的同事们,在我出现问题的时候,可以帮助我一起解决问题,从他们的身上,我学到了很多,正所谓三人行,必有我师,他们每个人都有值得我学习的地方。更关键的是,他们也非常乐于分享知识给他人,而且可以在关键的时候助你一臂之力。

以上就是对沪江的一枚技术网红的专访,宜生博客地址:

http://blog.csdn.net/eclipsexys


下文的推荐阅读分享一篇宜生的技术干货,期待宜生输出更多技术文章。

End

推荐阅读

点击下方图片即可阅读


 技术干货 | 贝塞尔曲线开发的艺术