上周同学生日,晚上去他家吃饭,饭桌上遇到他的一个小叔,华为虽然已经搬到松山湖去了,他还是住深圳。席间听说前段时间刚升到了华为19级B,由于我也是做技术开发的,于是和他小叔(下文简称老邬)兴趣相投的聊了起来,听老邬讲了如何在深圳一步一步扎根下来的事情。一路走来,实属不易。根据老邬的口述,记录成这篇文章。

首先了解下华为19级B,是个什么概念。如应届本科硕士入职通常是13级,博士是14级,社招需要看工作年限及所需岗位的重要性,普遍在15级至17级,18级起便属于管理层。目前,华为17万员工中,基干、中干及以上干部约1万人。年薪是否达到百万的关键条件主要在于股票分红。众所周知,华为是任正非创办的私营企业,但任正非仅持有1.4%的股份,其他98.6%的股份均由员工持有。这种全员持股的制度,让华为员工极具“主人翁”意识:在公司大发展时,一起享受公司发展带来的红利;在公司困难时,能迎难而上与公司同舟共济。在华为内部流传着这样一段话:“三年一小坎,五年一大坎。”意思是入职华为三年内大部分靠工资,三年后奖金逐步可观,五年后分红逐步可观。二级部门主管20A-20C,这应该就是20级的核心力量,一般业务线岗位是SPDT经理,如果技术线则应该是产品线级SE,如果资源线差不多4级主管。20级员工大概有2~3千多人,98%的华为员工是无法企及这个级别,这些老员工绝大部分2000年前加入华为(后期空降不算),几乎完整见证了华为从弱小的电子厂到世界500强的整个过程,中间很多人离开,只有他们坚守到了华为开花结果的今天。所以,我们也不用艳羡人家工资高、分红多,这是卧薪尝胆、先苦后甜的典范,不经历风雨怎么见彩虹,世间万物皆有因缘。

先介绍下老邬,老邬和我是一个地方,湖南农村,过去我们那里以打渔为生,所以关注我这个号,我自我介绍第一句就是:“我叫鱼哥,从小生活在水边”。由于临近湘江,2000年以前,我记得大家都是在老家打渔、种田、种花生、养猪获取经济收入的。2000年后,陆续很多人开始去外出打工,后面背井离乡打工已经变成一个潮流。老邬,只上了大专,02年数控技术毕业后,南下广东深圳,那时的深圳还有很多厂房。数控专业是做啥的呢?一般是机电学院,开设的在机械、模具、电子、电气、轻工等行业广泛应用的专业,首先这个专业是很不错的,现在很多高校依然有。但是我们都懂的,网络工程也是个好专业,被不少人调侃成做网管,制作网线。所以,学校学的和社会上用的,是两码事。老邬毕业后和其他数控同学一样也进了车间,主要是做操机,天天12小时,2班倒。其实每个人工作前1-2年,并没有想那么多事情,刚入社会,干什么活不是干活。思路和想法也是有限。第2年过完的时候,老邬觉得不能这么干下去了。没有太强的竞争力,操机后是调机,调机后是编程,编程后,才是真正的工艺员。工作几年后,发现工资还是如此低。于是老邬开始有了转行的想法。那年他24,看来看去,想来想去,只有互联网工资高点。但是又没有技术,入行都不容易,老邬是个聪明人,做不了开发,可以去做测试哇,再加上自己之前是操机的。做个黑盒测试人员,应该问题不大。于是开始去投简历找工作,上天并没有给老邬好运气,由于没有相关工作经验,并不受别人认同。当然,尽管每次都失望而归,但是老邬是个会总结的人,把别人问他的那些问题,通过互联网寻找答案。同时也是一种学习的方式。抱着没有放弃的心,那时华为在招大量测试人员做产品线测试,对于老邬来说,但凡是有一丝机会,他都要去尝试。但是这次,招聘他的人愿意给他一个机会,老邬也很意外,多年后,老邬自己当领导时,才慢慢明白,面试官在面试有些候选人的时候,发现身上有自己的一些影子,更愿意给这样的人一些机会。。老邬,就是这样,进了华为做了黑盒测试。

从工厂车间到坂田华为基地的办公室,这种变化,我想只有老邬自己才知道。所以,他很努力工作,不懂、不明白、不确认就第一时间问。很多测试场景,越写越奇葩,但是这恰恰是开发忽视的地方。所以提前避免了很多Bug。做了半年后,越来越觉得黑盒测试中很多事情,可以像数控那样自动化起来。只需要设置一定的参数。带着这种想法,老邬开始学习一些编程,主要是用于提高工作效率。华为对于上网是控制很严的,所以老邬晚上加班后回家,还在学习。如果环境不能给你帮助。那就靠自己去冲。每个进华为的人都要有足够的抗压能力,加班是常事华为至今没有上市,但是员工非常有钱。狼性文化是华为树立行业领先竞争力重要基因。老邬是湖南人,打小吃得苦,耐得烦,霸得蛮。学编程更是要耐得住性子。他不断列TO DO的目标。完成一项,持续下一项。在华为工作1年半时,鉴于开发了很多提高测试效率的工具,迎来了他一次升级加薪。以及他认为足够多的年终奖。

这时,已经算半个开发,半个测试,当时所在业务线要成立一个新的产品线,需要招大量人力启动项目,对于懂开发的测试,也是可以去面试转岗的。老邬发现,还是编程时,让他更热爱,并且为解决某个问题,可以一直打鸡血。所以他去试了。技术leader也是知道他做了很多提高效率的事情,所以开发团队同样是希望有这样的人的,尽管有些深度上没有那么深。加上他的测试领导也极力推荐,就成为开发人员了,项目组主要是Java,之前老邬很多工具都是C/C++写的。Java会一点,但是还是个菜鸟。他自己边说都变笑。所以有时我们总是会在一种语言和另外一种语言中变迁,也许形态和结构长的不一样,但是思想总是不变的。所以依然要学习。

编程是个体力活,老邬每天早上都要早起,在坂田华为基地跑几圈。再去工位上,才能元气满满的持续面对新的挑战。从测试转过来的开发,更知道哪些地方容易出Bug,所以老邬做的比大部分开发要好。加上不懂就问的风格。当大家以为他是菜鸡时,实际他在加速的成长。在一些方案解决上,更能多想一步。超出领导的预期。自然升级也是自然而然的事,进华为3年时,他们中有不少同事有嫌工资低、加班多,跳槽了。老邬觉得自己有很多成长和进步的空间,没有动摇,依旧保持热爱和学习的心态。在第5个年头,开始成为小leader,带领一些应届生,也成了导师。在华为第7年,成为名义上的领导了。这年31岁了,30而立,老邬31才找了对象结婚,之前不找对象,主要一个是穷,二个是没有时间。都成了小领导了,自然也没有想跳槽去其他地方了,因为大风大雨都过来了。

成为领导之后,他说思想开始变化了。要思考团队信任度的建立、团队和团队之间关系的处理等等。复杂度是几何级上升了。不是之前写代码那样纯粹,一些人际关系,沟通技巧,谈判能力等等,都要与时俱进,不能说你搞不定,而是要想办法搞定。每天有会要开,要与团队成员保持有效沟通。还有领导汇报工作。晚上还有抽时间review代码,辅导团队成员。加班更多了。

当然这一切,有付出,终有回报,越到后面晋升越难。从工作14年,做到19B。也许不是最牛逼,但是农村出身,半路测试转开发,一路升级打怪,已经超越很多人了,从老邬身上,更多看到是坚持,相比现在更多开发人员的浮躁,老邬说:要时刻反思自己本身问题,而不是老想着跳槽来逃避,虽然跳槽薪资短期是上升的,如果没有解决根源问题,长期来看,走的也是有限的路。

农村出身,半路测试转开发,他一路升级打怪到华为19级B相关推荐

  1. 加固技术一路“升级打怪”,会封顶于第五代虚机源码保护技术吗?

    目前加固对于App开发人员来说,不管是App Store的审核4.3问题,还是为了防止逆向工程.篡改.反编译等问题,加固都算是一个必备的选择了. 但是加固技术在一步步升级的同时,其固有的安全缺陷和兼容 ...

  2. 裂变增长如何一路升级打怪

    主要从三个方面进行分享:第一,裂变增长的底层逻辑:第二,裂变增长的系统思维:第三,裂变增长的玩法模型. 一.裂变增长的底层逻辑 做裂变增长的项目,做多了之后,你会发现这样的一个现象: 使用同样的玩法, ...

  3. 解读 TDD 测试驱动开发

    转自:http://www.jianshu.com/p/62f16cd4fef3 本文结构: 什么是 TDD 为什么要 TDD 怎么 TDD FAQ 学习路径 延伸阅读 什么是 TDD TDD 有广义 ...

  4. 零基础学习测试还是开发?

    软件测试作为IT行业的刚需职位,其实是非常适合0基础的小白同学加入学习的但是具体选择测试还是开发还是要看你个人的兴趣爱好以及学习能力,对哪个感兴趣,哪个能学的会就选择哪个就可以了 平时说起程序员印象中 ...

  5. 在敏捷中应用测试驱动开发

    在敏捷和DevOps领域,企业越来越关注持续集成和持续部署问题.他们更频繁地更新软件,给软件测试造成额外的时间压力.而测试驱动开发可以成为解决这个问题的一剂良方. \\ 什么是测试驱动开发? \\ 测 ...

  6. jest java_✅使用jest进行测试驱动开发

    前言 本文将使用jest进行测试驱动开发的示例,源码在github.重点说明在开发中引入单元测试后开发过程,以及测试先行的开发思路. 本文的重点是过程以及思维方法,框架以及用法不是重点. 本文使用的编 ...

  7. 测试驱动开发 测试前移_测试驱动开发:它是什么,什么不是。

    测试驱动开发 测试前移 by Andrea Koutifaris 由Andrea Koutifaris Test driven development has become popular over ...

  8. 【软件测试】测试驱动开发

    TDD,测试驱动开发,从敏捷软件开发方法开始流行,是一种非常实用的质量保证执行方式.敏捷软件开发方法使得TDD流行起来. TDD的思想就是要在开发(设计和编码)应用程序代码(要测试的单元)之前,必须先 ...

  9. 测试驱动开发_DevOps之浅谈测试驱动开发

    "测试驱动开发(Test-Driven Development, TDD),以测试作为开发过程的中心,它要求在编写任何产品代码之前,先编写用于定义产品代码行为的测试,而编写的产品代码又要以使 ...

最新文章

  1. python第一周小测验_Python小测试
  2. 打开完成查看的CAD图纸如何一键进行打印?
  3. 远程Gitlab新建的分支在IDEA里不显示
  4. Ubnutu虚拟机怎么修改开机密码?(在已知旧密码的情况下,开机后设置新的密码的方法)
  5. 通过View.post()获取View的宽高
  6. 进度管理计划7个过程及相关重点
  7. IOS UIPageControl的设置点为一张图片
  8. 事务管理基础:数据库的并发控制相关知识笔记
  9. JavaFX技巧13:学习Modena CSS文件
  10. oracle 客户端_【数据库 常见术语1】 客户端,服务端
  11. 324. Wiggle Sort II
  12. Delphi编译指令了解学习
  13. Pycharm修改图片大小
  14. HarmonyOS:Preferences的封装使用与避坑
  15. 电子行报告:从海外龙头发展历程看国内半导体设备企业投资价值
  16. python zlib_【python】使用zlib进行压缩解压
  17. 第五章:MySQL主从复制
  18. QGIS插件python开发环境配置和PyCharm配置调试环境
  19. css和html是什么关系,css是什么,CSS和HTML有什么关系
  20. 解决打开Android sdk manger D:\BaiduNetdiskDownload\开发工具\android' 不是内部或外部命令,也不是可运行的程序问题

热门文章

  1. FZU1492 地震预测(链表模拟)
  2. python 做一个简单的计算器
  3. Python自学编程开发路线图
  4. 【Linux基础编程】ifconfig命令
  5. python实现简单的神经网络,python搭建神经网络模型
  6. python efficientdet AttributeError: module ‘gast‘ has no attribute ‘Num‘
  7. AutoCAD 出现“安全系统(软件锁许可管理器)不起作用或未正确安装”的解决方法
  8. 手机号区分运营商 php
  9. unity 发光字体_Unity UGUI 使用艺术字体
  10. 2022-2028全球与中国长租公寓市场现状及未来发展趋势