如何成为编程开发技术大牛 ?

经常有人在公众号里问我,《第一行代码》看完了,想再找一本进阶的书来学习学习,问我应该看什么好,我的回答总是《Android开发艺术探索》。这是一本质量很高的进阶书,作者是任玉刚,在圈子里我们都称他任主席。

主席是Android界的大大牛,不仅是名校出身,而且工作也都是大厂履历,先后在百度滴滴工作,滴滴的插件化开源框架VirtualAPK就是出自他之手。而作为大大牛的他,今天和我们分享了如何才能成功技术大牛的经验,相信会对不少朋友有所帮助。

背景

  • 提问1

提问: 刚哥,我有一个困扰,我看你的艺术大概七八遍了,从刚开始的止步于binder,到后来的三天全部看完了,但是有一个事就是平时用到的少,自定义view倒是挺多的,我在这个公司主要是做证券行情模块,就是各种绘制K线,指标等等,做同花顺那种app基本没问题,绘制,手势,都是信手拈来,但是仅仅就是这一块,书上所说的内容有很大一部分用不到,然后就忘掉了,请问对于我这样的人,怎么才能成长为刚哥你这样的人?

  • 提问2

提问: 刚哥,因为听到看到一些事,让我觉得几百几千对于真正需要的人来说,真的是太少了!觉得自己有心无力! 我决心在接下来的两年好好学技术,我想努力进美团(因为我之前没接触过计算机语言,可能滴滴进不去),拿更多的工资!一步一步提高自己!!!所以,我想麻烦刚哥能给我指导一下,美团的面试有没有啥稍微明确或者大概的方向呢?或者我该学哪些方面的东西?刚哥,千言万语难以表达我的想法,恳请刚哥能像诸葛亮教导姜维那样,给我一些指点!再难我也学!我问得跟之前的学习路线的有点区别,刚哥,你可以等理顺了再回复我。词不达意,谢谢刚哥!真的谢谢!麻烦刚哥了!

上面是我的公众号两位小伙伴的提问,总结下就是:

  • 问题1:公司用到的技术比较简单,如何成长为大牛?
  • 问题2:如何有针对性地进入一家大公司?

这两个问题,应该非常具有代表性。我相信有类似疑问的同学还非常多,为了能帮助更多的人,所以我将这篇文章分享了出来。

对于问题2,我可以肯定地说:不存在某种方式使其可以简单进入某家公司。面试过程具有不确定性,哪怕是同一家公司,不同的面试官所问的问题和侧重点都是不一样的,因此我们没法有针对性地去学习部分内容而通过面试,唯有全面的学习才足以应对任何公司和任何面试官。

凡事不能绝对,既然有同学问了,那我就透露一下:

如果你有足够的人脉,能够提前知道目标岗位的要求,以及目标面试官的技术喜好,那将会有捷径出现。

大家想想,上述捷径可操作的空间很小,我们很难做到这一点。

虽然我曾经帮助3位公众号的同学进行了内推并帮助他们拿到了offer,但是我也做不到上述那样。我所做的只是合适的引荐:帮有实力的候选者通过简历筛选、向面试官推荐候选者并让候选者有机会展示自己的技术能力。

可能有同学会疑问了:我有能力还需要你推荐吗?这话不假,但是很多同学学历和工作经历不佳,简历投递到大公司直接就被pass了,因为筛选简历的hr可没那么多时间去了解你的技术,他们主要看三点:

  • 工作年限,是不是3年+
  • 毕业院校,是不是名校
  • 工作经历,是不是一线公司

不满足上述三个条件,pass。

言归正传,我们很难有针对性地去准备一家公司的面试,那我们只能全方位地去学习。这样一来,问题1和问题2本质上就是一个问题啦,即:

公司用到的技术比较简单,如何成长为大牛?

如何成为技术大牛?

想成为技术大牛,我认为需要经过下述几个阶段,任何一门技术,不管是Android、iOS、前后端还是人工智能啥的,都可以归结为以下几点:

  • 理论基础阶段
  • 实践阶段
  • 思考阶段
  • 理论升华阶段

理论基础阶段

这个时候对应刚开始学习的阶段,我们会看入门书、官方文档和网上博客,能够写出 hello world,实际上这个时候我们学到的都是一个个零碎的知识点,不能形成大的战斗力。

实践阶段

光学习不实践是没有用的,尤其对于编程来说,撸码的意义就更重要了。有时候会有这种感觉:“看书都能看懂,轮到自己写功能的时候就有点不知所措”,这其实就是缺乏实践的表现。

很多时候,光靠上班是不够的,尤其是很多公司所做的事情比较简单,涉及的技术也少,那就更需要我们业余时间投入更多时间了。业余时间的学习需要明确的方向和学习路线,这个时候需要有一本好书或者好的博客,这其实是很难得的,最终要把一个技术领域常用的技术都学会。

换言之,平时工作较简单,那就需要从看书、技术博客、开源中获取实践经验。为了更好地实践,你必须敲代码,学习一个知识点的时候,看完书和博客文章,你必须亲手敲一个例子来验证才行,避免复制粘贴。

思考阶段

如果说大量的实践可以让你轻松掌握各种技能,那么思考则能让你对技术的理解较旁人更胜一筹。那么如何思考呢?这里可以举几个例子。

比如,一个效果通过某种方式实现,要思考下:“还有更好的方式吗?没种方式的优缺点是什么呢?”

再比如,一种常用的API,也可以思考下:“这个系统是怎么实现的呢?能不能读一读它的源码呢?”

理论升华阶段

在经历了理论->实践->思考以后,经过几年的历练,那你就破茧成蝶了,你会对一个技术领域有整体的理解和全局的把控。再谈起这个技术领域,你可以轻易说出一条又一条的道理,这种理论是经过大量实践和思考得出的,和最开始那种基础理论有着显著的不同。

所以我说,其实技术最终也是理论,你们认可吗?还有就是方法论再好,不投入大量时间也是不行的,我所知道的一些技术大牛,都是投入了大量业余时间来学习和思考,最终成为了技术大牛。

如果你在Java开发工作中遇到困难,或者学习遇到瓶颈,欢迎加入我们Java总群:309603235, 解决各种坑爹的Java问题,群内有Java技术大牛,为您解决Java工作、学习中遇到的问题,欢 迎菜鸟,老鸟入坑。

原文地址:http://blog.51cto.com/13672983/2110183

时间: 2024-11-08 15:23:38

如何成为编程开发技术大牛 ?的相关文章

技术大牛告诉你,如何系统有效的学习软件开发?

有些人一出生就是为电脑技术而活的,充满着浓厚的兴趣.特别对编程开发对电脑技术有自己的一些向往. 而往往有时总是依靠搜索引擎进行学习,东看一点西看一点,没有系统的学习完一整套思想逻辑. 自己也可能有所成就,但是每当进行进修的时候就会发现,自己的不足,学习其他的东西很费劲.那我们究竟应该如何系统有效的学习一门编程语言呢? 我也不是什么大神,至今学习C#语言三年,期间也学习java android python等其他语言.算是对学习一门编程语言有自己的一些小见解.希望能帮助正在准备学习一门新语言的你.

50条大牛C++编程开发学习建议

每个从事C++开发的朋友相信都能给后来者一些建议,但是真正为此进行大致总结的很少.本文就给出了网上流传的对C++编程开发学习的50条建议,总结的还是相当不错的,编程学习者(不仅限于C++学习者)如果真的理解了这些建议,相信能够在学习时准确的抓住侧重点,少走弯路.下面列出这50条建议: 1.把C++当成一门新的语言学习(和C没啥关系!).2.看<Thinking In C++>,不要看<C++编程思想>.3.看<The C++ Programming Language>和

Android开发经典书籍下载——《Android 4高级编程》《疯狂Android讲义》《Android应用开发详解(郭宏志)》《Android应用案例开发大全》《Android 3D游戏开发技术》

这是我收集的关于android开发方面的经典书籍,高清PDF电子版,可以在我的百度网盘免费下载,希望对需要的朋友有帮助. 目录: <Android 4高级编程>(附完整源代码) <疯狂Android讲义> <Android应用开发详解(郭宏志)> <Android应用案例开发大全> <Android 3D游戏开发技术> <Android内核剖析 柯元旦> <深入理解Android  卷1> <深入理解Android

30条大牛C++编程开发学习建议

每个从事C++开发的朋友相信都能给后来者一些建议,但是真正为此进行大致总结的很少.本文就给出了扣丁学堂www.codingke.com对C++编程开发学习的50条建议,总结的还是相当不错的,编程学习者(不仅限于C++学习者)如果真的理解了这些建议,相信能够在学习时准确的抓住侧重点,少走弯路.下面列出这50条建议: 1.把C++当成一门新的语言学习(和C没啥关系!). 2.看<Thinking In C++>,不要看<C++编程思想>. 3.看<The C++ Programm

【转】50条大牛C++编程开发学习建议

每个从事C++开发的朋友相信都能给后来者一些建议,但是真正为此进行大致总结的很少.本文就给出了网上流传的对C++编程开发学习的50条建议,总结的还是相当不错的,编程学习者(不仅限于C++学习者)如果真的理解了这些建议,相信能够在学习时准确的抓住侧重点,少走弯路.下面列出这50条建议: 1.把C++当成一门新的语言学习(和C没啥关系!). 2.看<Thinking In C++>,不要看<C++编程思想>. 3.看<The C++ Programming Language>

大牛C++编程开发学习建议50条

每个从事C++开发的朋友相信都能给后来者一些建议,但是真正为此进行大致总结的很少.本文就给出了网上流传的对C++编程开发学习的50条建议,总结的还是相当不错的,编程学习者(不仅限于C++学习者)如果真的理解了这些建议,相信能够在学习时准确的抓住侧重点,少走弯路.下面列出这50条建议: 1.把C++当成一门新的语言学习(和C没啥关系!). 2.看<Thinking In C++>,不要看<C++编程思想>. 3.看<The C++ Programming Language>

Manual | BSD手册| Linux手册 | 数据库手册 | 编程开发手册 | WEB开发手册 | 软件应用手册 | 网络技术手册 | GNU手册

豆豆手册 □ BSD手册 □ Linux手册 □ 数据库手册 □ 编程开发手册 □ WEB开发手册 □ 软件应用手册 □ 网络技术手册 □ GNU手册 在线手册 首 页 BSD手册 ·FreeBSD Handbook 简体中文版 ·NetBSD Internals ·NetBSD 指导手册 ·FreeBSD Porter 手册 ·FREEBSD 使用者手册 ·FreeBSD 5.x 架设管理与应用 ·FreeBSD 6.0架设管理与应用 ·OpenBSD FAQ中文版 Linux手册 ·Turb

天天写业务代码,如何成为技术大牛

前序 在工作之余浏览公司的技术网站,看到了以下这篇文章,细细读来真心觉得不错,写得有价值很实在.于是想联系下作者,问一下是否可以转载.打开钉钉一搜,作者是资深技术专家,差不多就是技术总监级别啊,这也从侧面旁征了,以下的内容是有其亲身经历,切实体会的,而不是鸡汤口号之流.相较与作者的级别,自己确实惭愧汗颜,所以没好直接聊天询问而是在文章底下留言.在得到了作者的同意后将文章的内容贴到这里,作为分享也作为自己的鞭策和提醒.在这里谢谢我的大牛同事了^_^. ....................以下内

干货!总结19个提升iOS开发技术的必看教程!

又到了ibnShawari一周一篇技术推送的时间了,今天我为大家带来了iOS开发篇,绝对实用,绝对简单!!! 注意!!本课程采用了一种系统且全面的方式学习:赶快来学习,体验这种方法的魔力吧!! 干货!总结19个提升iOS开发技术的必看教程!        本系列教程采用了最新的IOS开发技术进行讲解,视频中所有的例子都在最新的编译器中调试通过.理论上所有的例子都可以在成功运行.本路线图提供的视频课程是全网最深入,最全.通过对本路线图的学习,学员可以充分掌握IOS的开发过程,并具有一定的项目实战经