前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mintalk | 后端开发体验小记

Mintalk | 后端开发体验小记

作者头像
HelloMin
发布2022-08-11 15:06:07
2830
发布2022-08-11 15:06:07
举报
文章被收录于专栏:Pair ProgrammingPair Programming

几个月前,我从一名互联网公司安卓前端开发,转为了一名外企后台服务器端基础架构开发。当时还写了一篇面经,给有类似想法的小伙伴做参考。

面经写起来容易,总之噼里啪啦一番操作,楼主就顺利的拿到了心仪的offer,有点类似王子和公主终于在一起的故事。然而结过婚的人都知道,结婚只是一切的开始,入职也同样如此。如今,几个月过去了,虽然积累的经验还不足以让我分享些什么金玉良言,但在这个特殊的转型时期,记录一下现在的感受,对那些想要考虑转型又有所顾虑的朋友来说,也许更有价值。

希望有一天,当手上的工作已经得心应手游刃有余,在转过头来看看今天的这篇记录,还能想起当时步履维艰,苦苦经营的自己吧。

老员工说一周就能做完的任务,我已经做了快两个月...

第一次参加关于任务需求的讨论会议,好像已经是上辈子的事情...犹记得当时负责带我上手Loadtest工作的老员工(实际上是一位比我年轻的刚毕业两年多的校友...),大致听了下要做的事情之后,很淡定的对对方同事说,这个应该一周就能出报告吧。然后就是我折腾的开始...到今天,已经快两个月了,说好的三份报告,我只倒腾出来一份!内心的焦灼可想而知...

如果是前端页面,一个需求要么能做,只是要花些时间编写详细的界面动效或者数据逻辑代码,总归在一个可控的范围内;要么手机根本就不支持,提需求的人也没什么好说,再能折腾,手机不支持的东西你写出来又有何用呢?

然而进入了后端的世界,我才发现事情原来还可以这么复杂...看起来简单地一个任务,给一个服务做压力测试,似乎只需要把服务程序运行起来,再对着它发一大堆请求折腾折腾,最后收集一下返回数据的时间等信息,就好了呗?

谁能想到,就是把服务运行起来这一步,就耗散了我全部的运气...

前端的页面,就算没有数据,稍微mock几个需要的api,界面总归是可以画起来的吧。而当我开始尝试运行服务器,这才发现,原来这个服务器背后,还有各种周边服务器需要搭建和同步...

一个简单地创建用户,创建信用卡,下单,购买的过程,就要调用到周围负责管理用户信息的服务,负责交易流程的服务,以及各种数据库用于交易过程中信息的保存检索,更别说还有Memcache,Redis这些,用于加速数据存储的缓存服务。然而,没有人能清楚地告诉你,这个交易流程需要什么服务,这所有的联系,都需要在出错之后,从密密麻麻的日志中,寻找出蛛丝马迹,判断到底是哪一步出了问题...

于是,我之后的工作基本就是,每天看Log日志,判断到底是缺了啥少了啥,然后再去看这玩意儿在我的环境中是压根儿就没有呢,还是版本和我当前需要的对不上呢,还是它的url没有正确的设置给当前服务。最简单的,就是一切都好好地在哪里了,只是需要你给他们牵线搭桥就好了。最惨的,就是这玩意儿压根儿就还没有呢,于是又要先把另一个服务搭起来,过程还是一样,看日志,找原因,解决问题,再看还有没有ERROR...

在搭了大约3-4个周边的服务之后,我的服务终于运行起来了哈哈!真觉得自己是个天才!

然而我高兴地太早了!

开始运行脚本才发现,原来服务运行起来,并不代表一切就正常了啊!稍微多加几个用户同时发难,服务器就崩的不要不要的,各种ERROR满天飞,给我气的胸口疼。于是又开始出现之前从没见过的其他问题,什么数据库有脏数据,新的数据插不进去啊,什么交易设置了熔断机制,多来几个就撑不住要散架了呀...然而刚接触代码的我,哪里知道这里还有这么多花花肠子哎~于是又开始在我们的压测环境数据库里满世界找脏数据擦擦干净,又是一番折腾,哎!好像终于能抗住一会儿了!

然而,还没等我高兴一会儿呢,发现数据量再上去一会儿,又开始出现花式报错了...哎,下班前看到这些问题,心情真是差成了渣渣...

啥时候能做完呢,每天早上醒来,我都在想这个问题。努力啊!!!敏敏子!!

刚开始参加远程会议,感觉自己在参加英语听力测试 ...

虽然由于我刚入职,还没有什么需要和米国同事交流的内容,所以在远程会议上还没有发言的需求,但第一次参加全英文的会议,还是有那么一丢丢紧张和期待。

结果呢,自然是如我所料,大部分都没有太听懂!特别是印度同事开始发言的时候,有一种开启了另一种语言的错觉...

随后,我果断的接受了老板的邀请,参加了公司提供的的英语培训课程,每周至少有一次外教课,像三岁小朋友一样,和米国友人聊天...最喜欢的是一位住在佛罗里达附近的老奶奶,和蔼可亲。有一次当她要求我用“如果我能改变这世界上的一件事情,我希望...”造句,我想了想回答“I would stop my dad from smoking~”老奶奶特别理解的笑了,然后告诉我,她的父亲94岁去世,去世前还在医院的房间里抽烟呢,嗯,于是这个可爱的奶奶成了我最喜欢的口语老师~

也许真的是Practice makes perfect,听多了吧,再参加英文会议,感觉能听懂的东西在慢慢增加,也许这和自己对整个工作内容的理解在慢慢增加也有关系?不过,每当印度同事开始讲话,我还是觉得自己的英语还是渣渣...

每次向同事提问,都要如同准备签证一样预备材料...

一开始遇到自己无法解决问题,吭哧吭哧跑去问老员工小朋友咋整,他听完我的问题,免不了反问我十个问题:这个问题是怎么触发的呢,那xx的日志你看过没有,里面有没有什么错误呢,具体是哪一步的请求出错了呢,这个端口还活着吗,等等等等...让没有准备直接带着问题就去了的我哑口无言,只得再吭哧吭哧回来找齐这十个问题的答案,再去找他,而人往往已经忙别的去了...

于是,吸取了经验教训的我,一直懒得多多记笔记的我,开始按照Mars一开始就提醒我的那样,把错误的log都仔仔细细的记录下来。相比于前端的界面错误一目了然,后端的错误追查过程如上文所说,总是环环相扣,等你找到最终出错的服务,前面的服务到底怎么顺藤摸瓜摸过来的,很可能就已经全忘记了。等到下次类似错误出现,没有记录的话,靠记忆去回想当时的解决思路,真真是一件异常痛苦的事情,也可能是我老了。记笔记的习惯我还没练好,更多时候只顾着想解决问题,忘记了记录。不过,为了不再吃类似的亏,这个习惯,我是如论如何都要开始养成了。

呐,这就是我这几个月做后端开发的感想了...虽然我感觉自己菜成了渣,但是Mars同学还是对我trouble shooting的能力给予了肯定。相比于之前呆呆的写代码,整天解决问题的日子真是心塞,特别是服务又挂了,提需求的同事又来邮件询问进度的时候,每次绞尽脑汁用英文遣词造句,告诉他不好意思大哥,我还没搞完呢的时候,是我最艰难的时刻了...

每次解决问题都特别开心,觉得自己真是天才,然后发现下一个问题又蹦了出来,于是只能耐着性子再接再厉...

啊,我想我还是有进步吧!等我把这次任务搞完,也要写一篇trouble shooting的经验分享才是~

Schönes Wochenende!

我的2019周更计划已完成:25/52

[********............]

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-10-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Pair Programming 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档