scribble

吕小荣

Blog Friends RSS About

SAP 大学,我毕业了

19 September, 2019

2015年4月加入 SAP,2019年8份离开,四年半的时间,和读大学的时间一样长。在这段时光里,我有了孩子,初为人父,忙乱不知所措,经历过短暂的混乱。身体健康也崩盘过,反思人生的意义,不再过分追逐工作的成就。

SAP 宽松的工作环境,给我了我足够的时间面对人生中这个忙乱阶段。

礼貌

刚做程序员时,看到仰慕的程序员做演讲,经常把 Fuck,Bullshit 挂在嘴边,更奇怪的时,当他通过这种方式贬低别人时,听众们就被戳中了G点开始哈哈大笑。年轻的我觉得这些技术专家真是风趣幽默,我很羡慕,我也经常说脏话。

但是在 SAP 的四年多里,我认识很多有礼貌的同事,尤其是一位经理 Francis Lui,他从来没有说过脏话,总是在鼓励别人,看到别人的闪光点。

此外我的圣经老师也鼓励我不说脏话,于是我转变了想法,不再说脏话。这可能让我缺乏幽默感,但是至少让我变的友善,走到哪里都会给别人带来一点温暖。

技术

SAP 号称张江养老院,从不主动辞退员工,所以养了一票闲人,吃喝玩乐混日子。当然,如果一个人足够自律,SAP 也很适合静下心来学习。工作不像其他互联网公司那样忙碌,工作之余,可以深入研究工作任务背后的计算机基础知识,比如:

  • HTTP 协议
  • SSL/TLS 握手
  • 各种垃圾回收策略
  • Ruby 线程安全
  • Memcached 的内存分配,LRU,分布式
  • CDN 与 Memcached 的一致性哈希
  • 时间复杂度,空间复杂度
  • Unicode/UTF encoding
  • 数据库索引结构 B+ tree,查询优化,锁,buffer pool, Aries
  • 日历的 iCalender 协议
  • Linux 基础知识

同事们觉得我沉在技术里,不抬头看路。被别人这样评价,心里难免难受。但自己要走的路,自己最清楚,难受也要走下去——我要进入一家数据库公司,或者医学公司。如果造化弄人去不成,至少努力尝试过。

英语

刚进入 SAP 那会,我英语不是很好,只能听懂 40% 会议内容,胆子也小,不敢乱说话。每次都是老板和加拿大沟通好,然后给我派单。

在 SAP 工作一年之后,胆子肥了一些,开始在一些会议上插嘴。工作到第二年,开始主动的和加拿大的一个架构师 Kyle Richter 每周开例会,分享工作中遇到的难点,好的书籍,职业规划。一直坚持了两年。第四年的时候,老板允许我主持一些小场面的英文会议。可以轻松搞定欧美同事,面对印度人连蒙带猜也能混下来。

学英语存在马太效应,口语越差,越没有人给你锻炼的机会;口语越好,被委托的责任越大,锻炼的机会越多。

无论学什么,还是要主动争取机会,少靠别人喂。

谦虚

我是在 2013 年互联网浪潮时开始全职做程序员的。在那几年,全民创业,随便写个 PPT 就可以融到几百万,Ruby 通常是创业公司首选的编程语言。“10分钟用 Ruby on Rails 搭建一个博客” 是 Ruby 程序员挂在嘴边的口头禅。

当时的 Ruby 程序员很贵,瞧不起 Java ,更看不上 PHP。

写了几个库,写了很多技术文章,用了最新的 NoSQL,熟悉了几个框架,还当上了 Ruby China 的管理员。我的心态开始膨胀,懂的虽然不多,但是自信却越来越足。

当我加入 SAP 时,面对陈旧的技术框架和闭源工具,特别生气。

  • 为什么 SAP 要重复造一堆闭源的轮子,比如仿照 NewRelic 造了一个性能监控工具,重写了 DelayedJob 基于 RabbitMQ 的后端,发明了分布式的测试系统。
  • 为什么要自己控制数据库 analyze table?
  • 为什么代码会允许有5分钟的数据库查询?
  • 为什么要自己控制垃圾回收?
  • 为什么用 MySQL 来存储 Feed,而不是 Redis?
  • 一堆为什么

生气了半年,开始意识到自己的愤怒来源于无能。

我喜欢开源工具是因为开源工具封装了所有的技术细节,HTTP 协议,系统调用,数据库查询语句,缓存过期。我不需要搞懂技术细节,只要做个熟练工,就能保证职业生涯步步高升。

SAP 内的很多闭源的工具和技术非常优秀,我讨厌他们,有很大一部分原因是因为无力面对技术细节。

认识到自己是个半瓶子醋 / 无才傲物 / 骄傲 / 人云亦云的三流程序员后,我开始谦虚下来,认真读代码,补习计算机基础知识,好好学习。

此外 SAP 有很多技术专家,我在 Kyle Richter,Joseph Wong,Tao Zhang,Vincent Huang,Felix Chen 身上学到好多知识。

和社会钟对抗,是有代价的。

妈妈8点钟要准时把孩子送到学校;员工9点要准时到公司;过年人人都在攀比工资和职位;职位要越爬越高;教授的论文发的越多越好。这个社会有其固定的节奏在运行,有人称之为 社会钟。这节奏可能是时间,节日,同侪压力,社会角色,习俗。

SAP 工作环境非常弹性,我尝试挑战一下社会钟,干了一些特立独行的事情,比如:

  • SAP 是跨国企业,为了和加拿大的工作时间有重合。我早晨 7:00 就到公司,下午16:00 下班。参加早晨的技术会议,练习英语听力。
  • 年会时偷偷溜到星巴克写代码。
  • 不参加团队建设旅游,溜到办公室写代码。

这种模式看似节省了三五天的学习时间,但是却让老板心里不舒服,最终浪费了我很多精力。

当无力和社会钟对抗时,所以最好还是尊重老板的意见,不要特立独行。(或者换老板)

因为年少轻狂,心高气傲,我遇到一些挫折。

每个人的人生,总会经历过一次年少轻狂吧,这些挫折就当我人生的学费了。

雅各书 James 1:2–3
2 我的弟兄们,你们落在百般试炼中,都要以为大喜乐;
3 因为知道你们的信心经过试验,就生忍耐。

雅各书说,信心和品格经过试炼就会像金子一样。我没有变成金子,却认识到自己终究是凡夫俗子,淡泊明志,宁静致远,说起来轻巧,做起来难。遇到不平的事情,内心苦闷无比。感谢教会小组的李燕和小蓝为我代祷,让我度过了那段愁苦的日子。

谢谢你,伙伴

感谢我的好伙伴 Tao Zhang 的陪伴,天天吃完午饭遛弯逛湖,讨论宗教,经济学,哲学,职业规划。

感谢加拿大架构师 Kyle Richter,没有嫌弃我英文差,每周都和我 One on One meeting,坚持了两年多,让我在技术和英文口语上都稳步提升。

感谢我的三位经理, Gene Wu 把我领进门,Roger Wo 尽最大努力给我舞台,Jingjiang Huang 不断挑战我的舒适区,让我突破自己。


最后时光匆匆,四年弹指之间,前途亦未知。希望不管到哪,在发挥聪明才干的同时,也能留给别人一点温暖。