2016.03.07 ~ 2019.11.01。
这是我在 JG 待的日子。
这是我离开 HW 想当小码农后面的第一家公司。谁曾想,一待就是近四年。
那个时候,我对互联网公司都是咋玩的一点概念都没有。稀稀拉拉地学了一段时间的 python,刷了几道 leetcode,然后稀里糊涂地就进了 JG。后来,面试我的同事打趣道,要求不高,性别女,会写 hello workd
就行了。
在某些时候,幸运女神肯定是站在我身边的。
一入职,狂补知识。
Restful API 是啥?nginx+uwsgi 要咋用呀?RabbitMQ 是什么鬼东西?这个统计用 shell 咋写?Lua 半天从入门到改线上代码了解一下。客户找上门来找不到问题查不出原因怎么破?
当你打开新世界的大门后,走进去,一切的一切对于你而言都是新的。努力搞明白向前走,滚是不可能的。毕竟路是自己选的,跪着也要走下去。
当然,也没那么惨。没什么是不能谷歌的。谷歌不到肯定是你关键字不对。实在找不到关键字,可以请教同事。大多数时候,周围的人都是很愿意帮你的。
于是啃了许多入门书,看了许多文档,慢慢地也能够称职地当个 python 小开发。再慢慢地,能够当场撸线上代码直接发布。不得不说,ansible 救了我无数次。而学习的过程,挺过最开始的苦逼后,就是充实的愉悦了。
美滋滋的日子没过多久,便面临了量上来了,机器不能无限往上堆。怎么办?重构呗。于是面前两条路,要么两眼一闭安于现状,要么转学另一门语言。
To be or not to be, that's a question.
其实也没得选,学呗。
被 python 惯坏的我,学起 golang 那是真的痛苦。当然,痛苦之处不是基本语法,而是并发。幸好学来即用,看了几天语法书,便开始撸了第一版 API golang 版本。重构第一个 API 的时候不熟?没事,还有第二个第三个第四个……,第 N 个。后来回去看自己撸的第一版代码,真丑呀!埋了一片雷,goroutine 泄露,空间随意申请…… 简直愧对后来接手的兄弟。但不得不说,其性能确实吊打 python。此外,当你学会了怎么玩好 goroutine 和 channel,并发编程就成了一件极其简单的事情。
当然,python 仍然是我最喜欢的语言。需要写点无伤大雅的小工具的时候,它依然是我的首选。毕竟不是哪都性能至上的。
于是乎,从 python 开发工程师到 golang 开发工程师,也就是一个 API 重构的事情。