华为工作一年分享
工作与生活
- 工作。每天琐碎的事情特别多,不能安心的写代码,各种找你定位问题,思路不断被打断,这个是我最厌恶的地方。最流行的一段话就是在华为工作之后,拉通对其端到端。
- 生活。找女朋友最好找华为的吧,因为大家都没有时间吵架,我觉得应该会比较和谐(只是想想,本人单生狗一只),加班还是蛮严重,8点出门晚上10点回家是很正常的吧。前几天听一个妹子说通宵了,我还是很幸运的。反正如果来的话还是要准备好加班和我说的这个时间表吧,也许更夸张。哎,最近公司又来了一个夜宵,8点半之后就可以去拿,可是我不想成为小胖子啊,只能不吃晚饭,夜宵吃个水果啥的就好了。
机会
- 作为一个世界500强,机会确实是蛮多的,见到一个主管不到3年从13级升级到17级的(非常少数的),年薪绝对是有百万的,所以只要你技术足够好,会来事,年薪百万绝对的不是梦。
- 有一个比较好的就是部门出差机会很多,特别是国外,可以见识很多不同的文化,同时也能够了解到一线的工作和自己在家开发的区别。对于我这种渣渣已经到海外出差了4个多月,去过巴黎与开罗,虽然工作做的不咋好,但是人还是蛮开会的。也学到了不少的东西。巴黎真的是一个不错的城市,对开罗的影响感觉真想给一个负的分数。
编码能力
- 编码能力很重要,特别是异常的场景太多,如果没有做过完整的测试或者对系统进行一个全面的理解,你以为没有问题的代码我保证会在转测之后给你一个surprise---我虽然讨厌测试,但是感觉测试真的很重要,大家要重视多考虑异常场景,如果出错之后怎么定位,怎么找出来错误,所以规范的编码和打印日志非常的重要。
- 有时候感觉大家都是为了完成对应的需求,代码就像一坨翔,但是有时候自己写的很多时候也是不忍直视,为什么呢?太忙啦,没太多时间去想和实现。
技术深度与广度
- 这个深有体会,之前认为只是学一下框架,会使用就ok了,没有必要深入学习内核的东西,现在感觉是被啪啪的打脸的。 由于做的事基础框架的研发,随着业务量上来,各种性能问题出来,消息中间件各种奇葩的问题出来-----建议还在学习的孩子们一定找一个优秀的开源框架深入的学习看代码,提升源码阅读能力和分析能力,我现在在埋头看kafka源码啦,scala语言。如果对一个内核分析吃透了,后面你学习其他的也就会举一反三。
- 对于广度,这个也是很重要的话题,由于本人工作之前只做java 开发,其他的都不涉及。工作之后使用python语言,几乎不再接触java。出差4个月左右也是啪啪的打脸,由于对linux,虚拟化,网络和计算的东西理解不透,工作时举步维艰。这些东西真的是太重要了,如果没有这些广度的东西作为支撑,你很难快速解决你所遇到的问题。
- linux,再强调一次,真的很重要,有时间一定要认真的阅读一个模块的源码。虽然没有直接遇到linux内核的问题,但是如果对于一些原理理解了,定位问题和解决问题是会让你事半功倍的。
- 网络单独拿出来吧,为啥呢?之前工作时,遇到当业务量上来之后,性能遇到瓶颈。特别是对于haproxy和nginx这类组建,定位都需要一些网络手段,比如抓包分析请求的走向,以及在那个步骤出现了问题。一定要学会转包分析,有些孩子就会想我都没有遇到性能的问题(我学生的时候就是这样下给你的),怎么分析和解决呢?这确实是个问题,但是仔细想想,你可以做一个大规模的性能测试,使用多线程,同时能够提升你的编码能力。保证类似rabbitmq和haproxy此类组件会给你surprise的,但是你得把它解决。特别是在工作中,不管多难你遇到问题之后你都得把它解决,所以遇到一个问题就一定要把它跟踪到底,最好是能够把源码撸一遍。
总结
也是对自己想法的一个总结,也希望在学校有迷茫的孩子看到之后能够有一小点点的启发。
#华为#