怎么成为技术大牛

一直很羡慕实验室的那些技术骨干,好像什么都懂似的。大家有事情都问他们。感觉他们的技术涉猎确实很不错。今天读了天天写业务代码,如何成为技术大牛 。感觉这篇文章写的蛮能解释很多对未来的不安的,因为看到那些搞机器学习,深度学习的同学,进各种高大上的部门,说着很潮流的词汇,看着各种厉害的paper。想想自己以后要搞研发,有什么能深入的?

误区

拜大牛为师

作者说拜大牛为师,很难成为大牛。我倒是感觉,对于很多人,这个问题还不太成立。更普遍的是,如何建立“不耻下问”的性格吧。以前,跟同学讨论,遇到什么不懂的名词。顿时心里很难受,好像自己犯了什么愚蠢的错误,丢脸了。能破除掉这种“羞耻心”,时时跟同学,老师讨论,才是好的。
我现在最大的问题,一是有点钻牛角尖,什么问题,张口一问就知道了;就想自己一个人解决出来,显得自己很牛逼。二是,不敢问老师。有什么问题,想自己憋大招,给老师点惊喜,显示自己能力很强。但,最后什么也没做出来,误事误人。
以后还是有问题多跟同学聊天,讨论。我跟实验室的人讨论政治,聊经济。最后,大家有什么政治新闻,娱乐八卦都跟我分享。。。也真是另类的人以群分了。

业务代码一样很牛逼 Vs 业务代码一点技术含量也没有

作者抛出一个论点:业务代码都写不好的程序员肯定无法成为技术大牛,但只是把业务代码写好的程序员也还不能成为技术大牛。
这个问题,于我自身而言,我想起来自己的两个实习经历。一个是在腾讯做图数据库,一个在头条做业务逻辑。两个都不算很好的体验。腾讯的是我完全不懂,对方又催的特别急。不知道主动跟导师联系。最后什么也没做出来。只是看了一个数据库的源代码而已。第二个,我还是很满意的。实实在在的干了一些事。但是最后遇到稍微复杂的业务,几天没做出来,leader很不爽。总之,做业务跟做技术还是差的很多的。有限的精力只能集中于一方面,而做业务,大量的时间确实用于应付各种琐碎的小需求。我个人认为提升确实比较慢。得到锻炼的是,时间管理和与PM的沟通效率。技术,还是要花费时间去沉淀。
当然,业务代码是立身之本。起码在上班的8个多小时里面,应该尽可能高效率的完成各种任务。如何提高工作效率,这个本身就值得各种学习。

怎么做的更好

Do More, Ask More

  1. 如果只负责一个模块,那么其他模块的原理主动了解过么?如果只使用工具的一个功能,那么其他的功能主动了解过么?
  2. 自己的工作做好了,周围同学的工作,了解过么?整个Case的运转流程,各个人负责部分,知道么?
    上述是自己认为应该怎么Do More。我想,如果精力不够,那么应该更多的Ask More吧。
  3. 周围同学的工作,我好像连问都没有问过。
  4. 解决完一个问题,好像从来没跟人分享过。
  5. 跟大家聊,一遇到自己不会的,就不好意思问。为什么不继续说,自己不懂呢?
    作者也提供了技术方面怎么Do More。
  6. 熟悉更多业务模块
  7. 熟悉端到端
  8. 深入探究成熟框架的底层机制,哪怕用不到。
  9. 自学开源软件:Ngix, Redis, MongoDB,ElasticSearch

    Do Better

  10. 代码能不能更简化?
  11. 性能能不能更好一点?
  12. 稳定性呢?
  13. 怎么测试更高效?
  14. 要不要更新?
    我感觉还是不要怕,多提问题,多问人吧。

    Do exercise

  15. 系统性学习
  16. 多动手实现
  17. 多总结,写博客

综上,我感觉归结到一起,其实最重要的是跟人讨论和分享。没有天赋,闭门造车,水平提升的太慢了。什么时候能改掉自己的玻璃心呢。[囧囧囧]