不论是开发、测试、运维,每一个技术人员心理多多少少都有一个成为技术大牛的梦,毕竟“梦想老是要有的,万一实现了呢”!然而“梦想是美好的,现实倒是残酷的”,不少同窗在实际工做后就会发现,梦想是成为大牛,但作的事情看起来跟大牛都不沾边,例如,程序员说“每天写业务代码还加班,如何才能成为技术大牛”,测试说“天天都有执行不完的测试用例”,运维说“扛机器接网线敲shell命令,这不是我想要的运维人生”。。。。。。
小编今天引用一个资深技术专家坤健的分享,但愿让更多同窗在技术大牛的路上可以少走一些弯路。程序员
坤健是反对这种方法的,主要的缘由有几个:1)大牛很忙; 2)大牛原本就很少。
要想成为技术大牛,首先仍是要明白“主要靠本身”这个道理。适当的时候能够经过请教大牛或者和大牛探讨来提高本身,但大部分时间仍是本身系统性、有针对性的提高。shell
业务代码同样有技术含量,这点是确定的,业务代码中的技术是每一个程序员的基础,但只是掌握了这些技巧,并不能成为技术大牛。要成为技术大牛,你要不断的提高本身的水平,而后面临更大的挑战,经过应对这些挑战从而使本身水平更上一级,而后如此往复,最终达到技术大牛甚至业界大牛的境界,写业务代码只是这个打怪升级路上的一个挑战而已,并且是比较初级的一个挑战。框架
不少人认为本身没有成为技术大牛并非本身不聪明,也不是本身不努力,而是中国的这个环境下,技术人员加班都太多了,致使本身没有额外的时间进行学习。
这个理由有必定的客观性,但这个因素只是一个须要克服的问题,并非不可逾越的鸿沟,毕竟咱们身边仍是有那么多的大牛也是在中国这个环境成长起来的。 其实,上班就是一种学习环境,咱们应该在工做中学习和提高;其次工做后学习,不须要大段时间,而是要挤出时间,利用时间碎片来学习,学习随时随地。运维
作的更多,作的比你主管安排给你的任务更多。
怎么作得更多呢?能够从如下几个方面着手:
1)熟悉更多业务:不论是不是你负责的;熟悉更多代码,不论是不是你写的
2)熟悉端到端: “系统性”、“全局性”、“综合性”这些字眼看起来比较虚,但其实都是技术大牛的必备的素质,要达到这样的境界,必须去熟悉更多系统、业务、代码。
3)自学:通常在比较成熟的团队,因为框架或者组件已经进行了大量的封装,写业务代码所用到的技术确实也比较少,但咱们要明白“惟一不变的只有变化”,框架有可能要改进,组件可能要替换,或者你换了一家公司,新公司既没有组件也没有框架,要你从头开始来作。这些都是机会,也是挑战,而机会和挑战只会分配给有准备的人。学习
要知道这个世界上没有完美的东西,你负责的系统和业务,总有不合理和能够改进的地方,这些“不合理”和“可改进”的地方,都是更高级别的怪物,打完后可以增长更多的经验值。识别出这些地方,而且给出解决方案,而后向主管提出,一次不行两次,多提几回,只要有一次落地了,这就是你的机会。测试
在作职业等级沟通的时候,发现有不少同窗确实也在尝试Do more、Do better,但在执行的过程当中,几乎每一个人都遇到同一个问题:光看不用效果不好,怎么办?
这里分享的就是3个词:learning、trying、teaching!
1)Learning
这个是第一阶段,看书、google、看视频、看别人的博客均可以,但要注意一点是“系统化”,有些基础技术不能只经过google或者博客学习,个人作法通常是先完整的看完一本书全面的了解,而后再经过google、视频、博客去有针对性的查找一些有疑问的地方,或者一些技巧。
2)Trying
这个步骤就是解答前面提到的不少同窗的疑惑的关键点,形象来讲就是“本身动手丰衣足食”,也就是本身去尝试搭建一些模拟环境,本身写一些测试程序。例如:
• MySQL:既然有线上的配置能够参考,那能够直接让DBA将线上配置发给咱们(注意去掉敏感信息),直接学习;而后本身搭建一个MySQL环境,用线上的配置启动;要知道不少同窗用了不少年MySQL,可是连个简单的MySQL环境都搭不起来。
• 框架封装了DAL层:能够本身用JDBC尝试去写一个分库分表的简单实现,而后与框架的实现进行对比,看看差别在哪里。
还有不少方法,就不一一列举,简单来讲,就是要将学到的东西真正试试,才能理解更加深入。
3)Teaching
通常来讲,通过Learning和Trying,能掌握70%左右,但要真正掌握,我以为必定要作到可以跟别人讲清楚。google
成为技术大牛梦想虽然很美好,可是要付出不少,不论是Do more仍是Do better仍是Do exercise,都须要花费时间和精力,这个过程当中可能很苦逼,也可能很枯燥,这里我想特别强调一下:前面我讲的都是一些方法论的东西,但真正起决定做用的,其实仍是咱们对技术的热情和兴趣!spa
参与话题视频