先说说背景 1、普通二本17毕业生,软件工程专业,在校参加过ACM比赛,虽然只有个区铜牌(丢人)。 2、现在在一下小公司做棋牌类游戏服务器后端(node),已经做了快一年,项目只有我一个node(公司范围内不止,也不多),感觉自己在养老。 3、很喜欢游戏制作,属于梦想那种,但是想做的方向明显不适合做吃饭工具(类似于独立游戏制作),倾向于往游戏这边靠,但是不会强求。 4、初中开始就有些许的编程经历大概(c,vb,bat,vbs,e…),大三前主要学习cocos2d-x(只做过一个小音游,很烂的那种),之后被忽悠去做node,另外就是刷刷算法题,不过现在感觉基本忘光了。 5、cpp和算法啊cocos这一块,太久没弄,跟不会差不多,捡起来需要一点时间。java大学的时候就学了些皮毛,js好一点,剩下其他语言跟没接触过差不多。 6、户口毕业时候弄过来的深圳,出省比较需要契机和勇气以及诱惑力。 7、node水平还算可以,代码风格上比较es6,eslint因为之前用egg的关系,现在比较习惯eslint-config-egg(除了他是2我是4, 敲变量已经习惯const起手了),基本上一个一年水平该懂的应该都会,node深度上还没到研究源码水平。稍微看过redis的实现分析,mysql倒是学得很烂除了写写简单sql其他的不行(最多到简单事务),mongodb普通水平(最多到写简单聚合),剩下的什么docker啊elk啊zookeeper,hadoop之类的。。。。。。。。。。。。。。仅限于知道名字,部分可能搭过折腾过,但是没在业务上用过就不多提(我也很努力想在业务上运用上,奈何现在小公司量级太小,之前想装个eslasticsearch被运维阻止说别瞎折腾后我就放弃了), egg,koa,thinkjs之类框架和库的js源码看过一些(就是没文章产出),代码产出上的话现在工作上用的服务端框架就是拿egg的一些思想和加载机制瞎改的(好像稍微带动了大家风格上往es6发展,打死该死的callback,笑),零零散散写的一些小demo,剩下的好像都是大学时候的玩具和一些不宜公开的东西。 8、前端上js那一块同理的会一点,vue从0.x开始接触,陆续有用着,相关技术栈还算比较熟悉,css和html水平比较糟糕,因为基本没有实际业务的关系,比较modern写老版本浏览器肯定凉,一些小技巧和小坑点基本不知道。。 ===========================以上是背景===========================
现在在公司比较咸鱼,主要现在的问题不知道以后该怎么办,用游戏的话来说就是我现在初级职业点满了,现在要转职,但是选择太多很迷茫,上泥潭让大家参谋参谋。
1、 继续node服务器这一块 讲道理,萌新时候看着拉勾上面不到3页的node招聘的时候我是一脸蒙蔽的,就算现在稍微好了一点,但是总感觉这一块继续做下去💊。 缺点就是💊,感觉没前途,另外基本只有小厂要我,大厂node服务器这一块几乎没有,其次即使有我也进不去(我现在在广东,其他地区不熟悉)。 优点就是我熟悉啊,吃饭没问题。
2、继续做服务器但是转换语言 这个其实挺好,殊途同归,但是工作上没什么契机让我能转,转了也会丢掉node这样块积累,另外不知转了要多久才能找工作。。 语言上比较倾向于go或者c或者java这些强类型,弱类型写久了才知道强类型的好(这时候,我想起c转过来js的时候惊为天人的灵活度)。。 缺点就是除了服务端通用知识,语言及语言的生态圈都不熟悉,还面临游戏还是web的选择问题 优点是java那n页的招聘,大厂的怀抱。
3、往游戏前端方向发展 背景上,其实之前是在学这个cocos的。你说我一个好好的游戏前端怎么就被忽悠过来做web,甚至还是node后端。。。 缺点就是,虽说学过一点cocos,但是实际上积累实际上是比2号选项要少的,转过去的困难程度可能比2号选项要大,面临着重拾c或者学个c#,还要熟悉生态圈,哦还要面临学u3d好还是cocos好。另外,浪费了后端这一块的一些知识积累。 优点就是,我离梦想又近了一步,前端💰也不少。
4、往web前端这一块发展 前端现在的发展。。。。我真的不知道怎么吐槽,一路看过来除了一脸懵逼就是一脸懵逼,这千变万化啊啊。 说实话还是比较看到大前端这一块的前途的,看着各个大厂都有相应的发展,至少比node的尴尬低位好(因为我在广东),泥潭不是有句话说“所有优秀的前端不是在去阿里的路上”,虽说现在咸鱼进不去这样一个级别的,但是有个标杆也是挺好的(但是为什么在杭州啊啊啊啊) 缺点就是,现在这么多前转后的,我后转前总感觉。。另外要是进不去稍微大点的厂,走不过去大前端那一块,陷在在普通业务,可能是比我继续折腾node更加没有前途。 优点是,发展好,有机会去大厂,转这个知识损失比较小
5、 滚去考研 缺点:脑子不好,还没开始感觉感觉要跪。 优点:考上了,出身稍微好点,又多了几年可以周转丰富技术水平
===========================以上是选择===========================
迷茫终归是视野不足,所以希望下一步的主要目标能扩展视野。
1、最重要能扩展视野,能往大厂走。 2、利用现有的知识资源 > 捡起以前的知识 > 学习新姿势 3、维持工资水平 > 损失工资水平 4、深圳 > 广东内 > 出省(北上杭)
终归是不能两全,希望就是牺牲一部分能换来一部分。。
请前辈们如果有时间给点指导或者提示,或者指出我以上分析的一些错误的地方,或者提供一些资讯或者新的选择。。
语言只是解决问题的工具 From Noder
天猪 你的菜吧?
刚好做过PC网游开发,也用过Node做过后端开发,我的建议是继续1 & 2两个方向。首先,游戏客户端渲染引擎和逻辑完全不同于服务端,除非特别喜欢3D渲染否则没必要转。其次,后端服务很多时候不想前端开发只用js一种语言,而是js/python/java/go/ruby/php等等多语言混合使用,根据业务场景选择不同的语言环境,所以做后端至少精通一门,掌握3-5个开发语言。既然选择了node,建议把它精通了,然后再掌握一下python/go/java等其他语言和开发框架。
来自✨ Node.js开源项目精选✨
@RooQs 话虽然是这样说,但是自知之明还是有的,你看我现在就一小菜鸟。 暂时还是掣肘于语言的限制,现在语言选择对于我来说还是比较重要的。。。
@JacksonTian 天猪是egg的那个吗,为啥这样说?
@vendar 谢谢指导,给了我一点排除项上的的支持,3D渲染这一块我确实直接抓瞎,我上面也说有自知之明,明白转过去难度极大。。 梦想和吃饭其实可以分开的。
go与java这一块的选择上,一直很纠结,工作中又没有其他契机导致迟迟没有动手。
大佬觉得那个现在选择比较好,或者。。。我开心就好
选择困难症?如果是我的话会选go,原因:更简单、更高效。当然,喜欢最重要,假如写java使你更快乐那就选java吧。
来自✨ Node.js开源项目精选✨
。。。。跟我是同一届的,面向工资编程吧,node 后端服务中间件也不错,一般来说高薪资是由深度决定的,或者 CTO 好几十年的经验,所以能走的是先做好一种。
我和楼主差不多,经历不同。大学 ACM ,大学写 iOS 两年,大四拿到投资创业一年失败,也是 17年 毕业菜鸟。
写 Node 2年差不多了,看过 Koa Express 源码与一部分 Egg 源码,C++ 看不动原来就刷过题,也用 Canvas + Node 独立写一些实时在线互动的小游戏 = =。 MongoDB用的可以大概的坑都知道,mysql 用的乏善可陈。末流 211 本。
目前主要用 Node Vue React 搬砖。
我也是蒙得一逼,但是我还是想创业= =,最近又琢磨准备搞个空壳公司,搞一些事情。
@AnzerWall 天猪大大 UC 游戏啊 多符合你的技术路线
@dengnan123 天猪大大啊,大大们技术上倒是有关注动态,对他们在哪工作不太了解。。。我去了解一下。。。。
@liangtongzhuo 握爪啊。。。
好歹你学校比我好,好歹是个211,真的大学毕业出来才知道出身能减少多少难度。。
写的挺好的,先支持下。 我和你相反,我是从PHP转node的程序员,并且打算长期从事js服务端开发。
来自酷炫的 CNodeMD
@AnzerWall 同行握个手
我也是做棋牌的,前后端都做,后端用的go,前端用的egret。
楼主自己列了几个方向,如果继续做后端,node继续,其他语言也要学习,尤其是C语言,后端基础知识,这些掌握了,语言就真的不是问题了。 后端语言node之外go,java,php都要涉猎下,有的时候难免会要参考其他语言的实现思路,能够看得懂其他语言自然就会多很多选择。不同语言的编程模型也不同,通过对比也可以对主语言有更深入的认识。
前端,不管是游戏还是web,转都不是一朝一夕的事情,如果楼主决心够大,可以考虑。但我个人还是建议和工作结合起来,既然现在在做node后端游戏开发,就沿着这条路探索下去,各种棋牌的算法,AI等,这些都是跟语言无关的,换成go怎么实现,服务端设计和node有什么区别?游戏后端也要涉及web的吧,这样就很自然的延伸到web了。如果后端这块你能够完全独立完成,可以试着搞一搞egret之类的游戏前端,看看自己能不能从头到尾把一个棋牌游戏实现出来。
能不能独立编程,哪方面有瓶颈