资讯专栏INFORMATION COLUMN

你只知道别人很牛,但是你知道那些编程水平很高的程序员是怎么练成的吗?

booster / 1682人阅读

摘要:要达到水平很高的程序员,第一要找能提供优质实践机会的大厂,第二要在诸如高并发或机器学习的项目里多解决实际问题,第三还要不断跳槽,不断地找更优质的平台和更优质的项目机会。

靠自学和培训班,程序员顶多只能达到能勉强糊口的程度。靠做增删改查业务提升经验的程序员,收入只能勉强达到中等水平,而且到了30岁就会被毕业生所顶替。

要达到水平很高的程序员,第一要找能提供优质实践机会的大厂,第二要在诸如高并发或机器学习的项目里多解决实际问题,第三还要不断跳槽,不断地找更优质的平台和更优质的项目机会。


接下来说下成为高水平程序员的流程,顺便提些中间可能会遇到的发展误区

在校生,或者是培训班的程序员,哪怕学得再多,学习阶段接触的项目看上去再高大上,只要没有项目实践机会,这些程序员基本没有价值,因为学习项目和实际做的项目差距很大,而且如果学成以后有三个月的时间不去软件公司,那么学到的技能很快就会忘记。所以这个阶段的程序员应当尽快找打一份工作,当然如果直接找到大厂工作最好,如果没有,别顾工资,也别看公司大小,尽快找到一份能接触到真实开发项目的工作机会。

在工作中接触到编程技术后,你就会发现之前学的技术很多是用不到的,或者精心学的语法或框架甚至项目里不是这样做的。这和学习无关,哪怕当时学得再好也会遇到这类问题,毕竟学习升级到实践总会有个过程。

这时,项目需要的技术才是你真正要学的。我这里不给出详细的技术,因为对没有实践机会的程序员来说,这没有意义,而对已经开始做项目的程序员来说,这方面的体会一定比我还深,也不需要我说。在这个阶段,甚至通过一周做项目提升的程度要比学习阶段一个月提升的还要多。


但如果程序员仅仅停留于此,可能会非常熟悉本公司的业务,凭此能在本公司混得风生水起,但技术上可能仅仅停留在增删改查。由于在大多数小公司里,未必能接触到高并发分布式,或大数据,或机器学习或深度学习之类的高级技能,所以如果在小公司呆就了,可能接触到的也就是增删改查的技术。

这种技术不值钱,任何一个毕业生顶多通过半年就能掌握。所以此类程序员社会上会有很多,能力上顶多成为初级程序员,哪怕能力是在初级程序员阶段的天花板,但如果仅仅会增删改查,也只能是叫初级程序员。

我见过太多的初级程序员,在30岁之后,只能在多个小公司之间辗转,工资也就维持中等水平,或者工资比毕业生还低。为了能从初级程序员提升到高级程序员,办法只有一个,进大厂,或者进独角兽企业之类的好一点的平台,因为大多数小公司只能提供增删改查的项目实践机会。


怎么进大厂:背面试题,或者按大厂的面试机会,好好准备简历上的项目,同时准备大厂面试时需要的项目说辞和技术说辞。这个阶段是很难的,因为平时只做增删改查业务的程序员,很难在项目中挖掘出分布式组件等技术亮点,而且大厂面试官眼睛很毒,只要通过三言两语就能甄别出求职者是真有值钱技术的项目经验还是只会说。

说句题外话,进大厂要早。虽然现在有很多所谓的面试秘籍,或者面试项目,其实大厂面试官通过提问,一定能甄别出哪些没相关项目经验,但靠所谓面试技巧发挥的程序员。

这点大家别有侥幸心理,本人在大厂做了若干年技术面试官,哪怕求职者之前背了太多的题,只要求职者没在项目里用过技术,这一问就能问出。但比如求职者比较年轻,比如25岁到27岁,面试官会在看穿的基础上,感觉求职者有一定潜力,所以面试也可能让过。但如果求职者过了30岁,或者年级更大,那么如果仅具备增删改查技能,可能就未必能进大厂了。

进了大厂,或者接触到诸如分布式,集群或者深度学习等技术的项目后,程序员会发现一些高级技能的进阶途径。所谓实践出真知,只有具备相关技术的实践经验,程序员才能进阶到高级。

如果程序员在项目里多上点心,多解决些实际问题,或者多接触些搭建集群等运维的活,可能进步起来会更快。

到了这个阶段,程序员自己根本就不用主动进步,甚至能被驱动进步。这话怎么说?在平时开始时会接触到大量值钱技术没,在解决日常问题时,也可能会接触到值钱或者是底层源码,这样一来二去就有经验了。也就是说,有值钱项目的实践能力外带多通过解决问题积累经验,程序员能升级到架构师,这从技术上可能就非常强了。

量化一下吧,100个程序员里可能最后能达到架构师水平的,未必会超过5人,我在上海,达到架构师水平的程序员,一年70万年薪都不算多。

后面再要怎么进步呢?其实就是更好地变现技术,提升技术变现成金钱的能力。比如可以找个小公司做技术头头,或者找个风头行业的公司,或者干脆找个创业公司。 这个阶段,提升就不能单靠编程水平了,而是要靠提升解决实际问题的能力。


最后做个总结:

1 程序员的编程水平不是单靠训练出来的,而是靠做项目积累出来的。

2 程序员做的项目,或者说程序员所在的公司也有三六九等之分,要提升能力先要找个更好的平台或包含值钱技术的项目。

3 单纯靠学习提升编程水平很不现实,提升编程水平其实更靠准备面试的能力,面试发挥的能力和跳槽找好公司的能力。

4 程序员毕竟也是吃青春饭的,如果不提升,可能会舒服一阵,但如果不升级到资深开发甚至架构师,程序员在30岁或者35岁以后,会很难。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/121129.html

相关文章

  • 知道别人很牛,却不知道那些1-5年的Android开发者如何提升的

    摘要:作为开发年的开发者该如何系统的提升自己如今,国内移动互联网的红利期已过,开发工程师也从最初的一人难求,到现在的一个岗位百人竞争,僧多粥少的情况直接导致整个行业对求职者的要求越来越高。另外,开发越来越规范,间接导致项目对质量要求的提升。 ...

    lpjustdoit 评论0 收藏0
  • 如何快速成长为技术大牛?阿里资深技术专家的总结亮了

    摘要:上班太忙没时间自己学习很多人认为自己没有成为技术大牛并不是自己不聪明,也不是自己不努力,而是中国的这个环境下,技术人员加班都太多了,导致自己没有额外的时间进行学习。 写在前面 不管是开发、测试、运维,每个技术人员心里多多少少都有一个成为技术大牛的梦,毕竟梦想总是要有的,万一实现了呢!正是对技术梦的追求,促使我们不断地努力和提升自己。然而梦想是美好的,现实却是残酷的,很多同学在实际工作后...

    warkiz 评论0 收藏0
  • 一名靠谱的JavaScript序员应备的素质

    摘要:当我尝试为招一个程序员时,我发现这项任务相当艰巨。我承诺给其中一位侯选人一辆凯迪拉克,但最终没有打动他。你会得到一辆年的凯迪拉克作为签约的报酬。大神是一名还不存在的产品的前端工程师。 周五,2010年8月13号, 作者:anutron 编者注: 这篇文章写于2010年作者工作在Cloudera期间,当时node.js还没有流行,很多人还瞧不上javascript这门简陋的脚本,文章提...

    pf_miles 评论0 收藏0
  • 用什么PHP框架最好?框架?还不如用开源系统吧

    摘要:最近这六年来,一直使用开源系统来做项目,如等,虽然也有接触过主流的框架,不过并不多。互联网快速迭代我是互联网比较早的用户了,我学的时候还没有所谓的框架,所以那时候开发出一个好用的框架无疑是提高生产力最佳的方案。 最近这六年来,一直使用PHP开源系统来做项目,如drupal, joomla, wordpress, magento等,虽然也有接触过主流的框架,不过并不多。也许我会有一些偏见...

    Steven 评论0 收藏0
  • 浅尝一个排程引擎Optaplanner - 前序

    摘要:近些年一直在制造业,做过,当过小组负责人。要满足智能制造中,实现对机台进行分钟级甚至秒级的生产指令下达。这个核心是怎么实现的呢那就需要一个很牛的引擎。事实上业务规则分两种,很多个层次。这个时候排程引擎就派上用场了。   当码农有10多年了,由建筑行业软件,各种MIS,通用物流定制平台,CCTV客户端(是闭路电视,不是央视喔)啥都做过。最后小试一下创业,不过那都是闹着玩的,不到一年就回到...

    OBKoro1 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<