最近很久没有更新博客了,实在太忙。因为在这段时间里我做了一个改变了我现在职业生涯的一个决定,而我现在正在为这个决定而加倍的努力付出。

我认为我还是有必要把这个比较重要的节点记录下来,我也是第一次在自己的博客里面写这种偏阅读非技术类的文章,虽然没有技术细节,却又与技术息息相关。

决定转岗

我在大概两周前,从Web开发转到了游戏服务器开发。很多我周边的人知道后都认为跨度太大了。的确,Web后端跟游戏服务器相对比,虽然都可以归类为后端,但是不管从技术上还是业务上,两者之间都存在很多本质上区别,例如语言、架构和通信协议等等。

转岗前的状态

那么我是在什么情况下做的这个决定的呢?

每天朝九晚七,偶尔系统上线前加加班。做的都是内部系统,每个系统几乎都是针对不同的用户群。

业务在技术上没有什么阻塞点,框架和集群都已经慢慢稳定了,每天唯一需要下功夫去做的就是梳理当前要做的东西的业务,然后用符合现有框架的代码去实现这个业务。

几乎没有遇到过什么重大BUG,也没有遇到过什么无法解决的技术难题。然后我还维护着部门的所有环境的集群,也维护着部门每天都在用的自研发的自动化部署工具,时不时的对其进行功能上的更新和BUG的修复。

由于在部门呆的时间比较久,又维护着集群和一些部门公用的一些工具,在技术还算是比较有权重。

为什么要转岗

看到这可能有有些疑惑,不是挺好的吗?为什么要转岗,并不是那个环境有任何的问题,可能会有很多人甚至向往那样的环境,我把这归结为我自己的“毛病”。

我比较喜欢"自虐",喜欢给自己施加压力,一旦让我闲下来我会浑身不自在,觉得自己实在浪费时间。这也是为什么会在每天下班之后先去健身, 然后再回去上班,9-10点下班。但是我仍然会给自己休息的时间,但是这个时间比较少但是对我足够了。

我在刚刚描述的那个环境里,就觉得比较不自在。我自认为自驱动力还是可以,我驱动自己在工作之余做了很多事情,例如维护集群,更新自动化工具,然后优化代码,写博客,自我提升。但是长期这样下去,我感觉自己push的力度已经很大了,但是仍然没有办法满足我内心的预期。

大家都知道,一套牛逼的框架诞生背后是什么驱动。是业务。

人也一样,或者说具体一样,对程序员也一样。只要 强大的业务在背后做驱动,我们才会为了解决这个业务去做一些事情,这个”事情“诞生的过程,可能对一个程序员的提升才最大。

为什么不离职

这存粹是个人的原因,我17年就来这家公司实习了,在里面认识了很多人,大家都很nice,公司有免费的健身房、图书馆。还有健身教练,我个人跟这位教练虽然没有私下的交集,但是每天一起撸铁互虐还是很开心。图书馆里有很多好的书籍可以看,然后公司的办公环境也很不错。

而且最开始我加入的时候就是冲着游戏来的,但是事与愿违,没有进到项目组。

转岗意味着什么

从Web到游戏服务器,我放弃了很多东西。你在Web那边可能是一个老鸟,对一切需求技术得心应手,甚至还可以重构框架和服务。

但是到了这边,在业务上是一个十足的菜鸟,可能你会跟刚刚进公司的实习生做同样的事情。你得有一个很好的心态来面对这个事情。

同时你还需要在短时间内快速的转变思维,学习大量的东西,尽快的熟悉业务。这个挑战很大。同时转岗有可能会对你的职业生涯甚至规划造成比较大的影响,所以首先你得有一个明确的职业规划,知道自己想要做什么。

为什么要写这篇博客

我写这篇博客,首先是纯粹的为了记录自己的职业生涯,同时把自己的经历和做决定的过程分享出来,帮助那些想要踏出自己的舒适区,但是仍然在犹豫的人提供一个参考。

one more thing

在最近这段时间,我渐渐的改变了对某些事的观点。

以前我写博客,都会考虑很多,这样写会不会太水了?这个技术点是不是没有什么可以分享的?因为有这些顾虑,本来有很多本来应该发表出来的博客就这样躺在了草稿里。

就比如这篇文章,创建的时间是7月16号,今天已经是7月24号了,磨磨蹭蹭的,改了又删。我索性就一气呵成,把自己想说的完完全全的说出来。

总结下来就是一句话,Done is better than perfect

最后

我的经历仅供大家参考。如果你不甘现状,那就去改变现状。

从web到游戏,走出舒适区的更多相关文章

  1. C语言(简单游戏)-走出迷宫

    #include <stdio.h> //宏定义 maze[ROWS][COLS];行和列; #define ROWS 7 #define COLS 6 //绘制迷宫(全局变量) char ...

  2. WEB与游戏开发的一些区别

    WEB与游戏开发的一些区别 前言 ​ 最近由于在准备期末考,以及准备实习.其实都没好好写过博客,但今天由于个人身边的一些事,所以对做web和做游戏开发的区别做个记录,以下都是从网上搜索到的资料文章,感 ...

  3. 刻意练习,逃离舒适区——怎么样成为一个高手[罗辑思维]No.183_知识笔记

    2016/10/30 14:31:32   一.对事物的见解分为两类:         1.评论性的见解               说的内容都是对的,符合常理的,但是却是不解决问题的.       ...

  4. 将服务费用DIY到底----走出软件作坊:三五个人十来条枪 如何成为开发正规军(十)[转]

    前一段时间,讲了一系列开发经理.实施经理.服务经理的工具箱:开发经理的工具箱---走出软件作坊:三五个人十来条枪 如何成为开发正规军(三) ,实施经理的工具箱--走出软件作坊:三五个人十来条枪 如何成 ...

  5. Sql Server查询性能优化之走出索引的误区

    据了解绝大多数开发人员对于索引的理解都是一知半解,局限于大多数日常工作没有机会.也什么没有必要去关心.了解索引,实在哪天某个查询太慢了找到查询条件建个索引就ok,哪天又有个查询慢了,再建立个索引就是, ...

  6. 异数OS-织梦师-PBFT(六) 走出区块链,加速破解PBFT

    . 异数OS-织梦师-PBFT(六) 走出区块链,加速破解PBFT 拜占庭 本文来自异数OS社区 github: https://github.com/yds086/HereticOS 异数OS社区Q ...

  7. ofo走出校园观察:市场定位导致产品错位?

    Ofo和摩拜单车虽然同样都是做单车共享,但实际上两者在最初的市场定位是有明显的差异的,因此提供的产品方案也存在巨大的差异. 市场定位不同,导致产品方案的巨大差异 摩拜单车一开始就定位于开放市场,充分的 ...

  8. 为什么DIY报价----走出软件作坊:三五个人十来条枪 如何成为开发正规军(十二)[转]

    前段时间,写了一个开发.实施.服务费用计算三部曲. 水清则无鱼--走出软件作坊:三五个人十来条枪 如何成为开发正规军(八) 实施费用也能DIY--走出软件作坊:三五个人十来条枪 如何成为开发正规军(九 ...

  9. 走出测试,走向CEO

    飞测说:大家好,我们又见面了,我是黑夜小怪.不巧,今晚加班回来路上,湿身了,淋了个落汤鸡,不过明天也许可以看海了,也就呵呵了,原本想回来后聊些技术的,现在突然想先聊聊我的一些想法,仅供交流. 走出测试 ...

随机推荐

  1. C语言每日一练——第1题

    一.程序功能 程序的功能是:将大于整数m且紧靠m的k个素数存入数组xx.并把in.dat文件的内容输入到程序,并把输出结果输出道out.dat文件夹中例如:若输入17,5 则应该输入:19,23,29 ...

  2. ubuntu16.04修改ssh的端口

    直接修改文件   /etc/ssh/sshd_config文件,

  3. sql为什么用0,1表示男女?在sql语句里转好还是在页面转好?

    转化语句:SELECT CASE `user_gender` WHEN '1' THEN '男' WHEN '0' THEN '未知'ELSE '女' END AS gender FROM `info ...

  4. 《Java基础知识》Java类的基本运行顺序

    我们以下面的类来说明一个基本的 Java 类的运行顺序: public class Demo { private String name; private int age; public Demo() ...

  5. conda pip 安装 dgl 并运行demo 出现:Segmentation fault (core dumped) 错误

    安装dgl 并运行的时候,出现了如上错误,很是郁闷:使用 gdb python; run train.py 进行调试,发现是torch的问题:我猜测估计是torch 安装的版本过于新:于是重新安装 1 ...

  6. .NET机器学习 ML.NET 1.4预览版和模型生成器更新

    ML.NET 是面向.NET开发人员的开源和跨平台机器学习框架. ML.NET  还包括Model Builder  (一个简单的UI工具)和  CLI  ,使用自动机器学习(AutoML)构建自定义 ...

  7. Flutter - flutter desktop embedding / flutter 桌面支持

    2019年5月9日,随着谷歌在IO19宣布Flutter支持Web平台,就标志着Flutter已经全面支持所有平台(移动.网页.桌面.嵌入式). 现编一个跨平台小段子: 微软Xarmarin:喵喵喵? ...

  8. C++ STL容器

    不定长数组:vector vector是一个模板类,作用为创建一个不定长的数组 声明方式:vector<int>a或者vector<double>b这种类型的方式. 基本操作: ...

  9. 大部分人都会忽略的Python易错点总结

    python中复数实现(-2) 0.5和开根号sqrt(-2)的区别** (-2)**0.5和sqrt(-2)是不同的,前者是复数后者是会报错的. print((-2)**0.5) #输出:(8.65 ...

  10. CF140C New Year Snowmen

    题目链接 这道题其实吧,水,我们教练说过,不要看标签,这只是CSP第一题的题目 思路嘛,priority_queue和贪心,就这样,很水 这是代码 还有,一定要在cf上交,不然--可以看一下提交记录, ...