大学毕业两年了,大学学的java,通过校招进入的第一家公司是家游戏公司,业务都是用python写的。干了一年多的游戏后端开发,感觉技术上的进步有限,只是有了一些开发经验。现在公司环境不好,可能随时被炒,但是自己现在的技能只有熟练使用python,也没有深入了解底层源码。大学学的java也基本上忘了,现在处于一种不知道应该怎么去提升自己技能能力的窘境。如果换一种语言的话,自己又没有相关开发经验,感觉也不好找工作,希望能够了解下各位对于这种情况,会如何走出这样的窘境。
下面总结下目前个人的情况:
1.工作一年多,差不多两年了,目前主要使用python开发游戏业务,主要负责后端。业务也基本上只是实现功能,具体的一些负载均衡、网络交互都是公司自己维护的一套框架,代码量较大,且中间还隔着一个游戏引擎,不容易去学习。
2. 自己想着找技术书籍丰富自己的技能,但是不知道是继续往python的方向深入学习还是另外找一门语言学习。导致不知道该学习哪些技术栈。
3. 个人感觉游戏行业和web差距挺大的,目前在公司使用python开发只需要能够将需求翻译成编程语言就行,不需要掌握太深层的技术。所以自己目前仅仅只是会用python,如果想去web做后端,又没有掌握相关技术栈。继续做游戏,也不清楚当前自己应该去学什么。
看你的情况,我有以下几点建议:
如果你不懂游戏引擎的话,倒不太建议继续做游戏方面。
因为你不懂游戏引擎,所以你在游戏方面能做的东西十分有限。首先,画面,动作,UI之类的都与你无关,你又不懂引擎,所以你大概率能做到的也只有数值的计算,数据库的增删改查,以及数据交互了。这些方面做久了几乎没有进步,甚至消磨自己的耐心。
既然你一直使用python,想必python基本功不会太差。要么后端开发,全栈开发,运维开发又或者爬虫开发,都是你可以尝试的路。
python的后端开发与其他后端开发并无太大差距,无非就两种:一种web框架+模板,另一种就是restful。
框架你所需要学习的就3-4个,使用量最为广泛的几个:django(重型框架),flask(轻型,意味着大多数功能都要靠自己或第三方库),以及tornado(异步框架),最多加上一个近几年异军突起的fastApi(与flask相似,但更侧重于restful)。前三个框架都是既可以模板,也可以restful,比如django就有django restframework(DRF)来适配开发rest接口。
全栈无需多说,后端会的你都要会,还要会点前端。
运维开发则要求你得会点linux,容器相关的,目前的运维开发绝大多数都是开发自己的cmdb,ci/cd工具,自动化平台等。
爬虫更无需多说,只要熟练使用requests,bs,urllib,socket等库就可以,剩下的就是一方面与反爬斗智斗勇,另一方面注意别爬不该爬的内容被高就行了。