3

SAP 大学,我毕业了

 3 years ago
source link: https://mednoter.com/What-I-have-learned-at-SAP.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

SAP 大学,我毕业了

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 不断挑战我的舒适区,让我突破自己。


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

吕小荣
19 September 2019

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK