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

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

决定转岗

我在大概两周前,从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. webpack前期了解

    webpack的核心概念(四个) 入口(entry) 输出(output) loader 插件(plugins) Entry(入口)——指示 webpack 应该使用哪个模块,来作为构建其内部依赖图的 ...

  2. CSRF与auth模块

    目录 一.模拟实现中间件的编程思想 (一)impotlib模块 (二)实现功能的配置使用 二.跨站请求伪造CSRF (一)由来 (二)form表单的CSRF (三)ajax中的CSRF (1)通过da ...

  3. [ASP.NET Core 3框架揭秘] 依赖注入[10]:与第三方依赖注入框架的适配

    .NET Core具有一个承载(Hosting)系统,承载需要在后台长时间运行的服务,一个ASP.NET Core应用仅仅是该系统承载的一种服务而已.承载系统总是采用依赖注入的方式来消费它在服务承载过 ...

  4. C#中怎样获取默认配置文件App.config中配置的键值对内容

    场景 在新建一个程序后,项目中会有一个默认配置文件App.config 一般会将一些配置文件信息,比如连接数据库的字符串等信息存在此配置文件中. 怎样在代码中获取自己配置的键值对信息. 注: 博客主页 ...

  5. day07什么是方法、方法的定义、方法的调用

    复习 1.数组 1)什么是数组 数组就是一种能够保存 多个相同数据类型的数据的变量 2)为什么使用数组 3)数组的构成 3.1)数组名 3.2)数组元素 3.3)数组长度 3.4)数组下标 4)数组的 ...

  6. wepy框架关闭Eslint语法校验(error More than 1 blank line not allowed no-multiple-empty-lines)

    最近在学习使用wepy框架制作小程序,导入编译的项目后报如下错误(error  More than 1 blank line not allowed  no-multiple-empty-lines) ...

  7. 在Ubuntu 18.04系统上安装Pydio Cells详细图文教程

    前言   基于云的协作工具Pydio cell提供了一系列灵活的特性,包括应用内消息传递.文件共享和版本控制.下面逐步介绍安装过程. Pydio cell最初是一个简单的基于云的文件共享系统,但经过升 ...

  8. 安全性测试:OWASP ZAP 2.8 使用指南(四):ZAP扫描移动应用安全

    在做移动应用(APP,小程序等)测试时,需要关注应用安全性. ZAP是可以用来进行手机移动应用渗透性测试扫描的. 正因为ZAP是采用“中间代理”的形式,截取并扫描所有客户端与服务器的交互请求,作为客户 ...

  9. CSS(2)---css字体、文本样式属性

    css字体.文本样式属性 这篇主要讲CSS文本属性中的:字体样式属性 和 文本样式属性. 一.字体样式属性 CSS 字体属性主要包括:字体设置(font-family).字号大小(font-size) ...

  10. SpringMVC通过Redis实现缓存主页

    这里说的缓存只是为了提供一些动态的界面没办法作静态化的界面来减少数据库的访问压力,如果能够做静态化的话的还是采用nginx来做界面的静态化,这样可以承受高并发的访问能力. 好了,废话少说直接看实现代码 ...