职场菜鸡新人说说工作情况
本菜鸡入职已经有一段时间了,就谈谈感受吧。我是做C++后台开发的。
自从开始工作后,刷题变少,水群变少,在慢慢加班中度过。发现工作中和平时刷题和作业还是有不少区别的。
工作中基本上都是一个大工程,然后每个人在里面实现某个服务,写一些接口。所以基本上框架都比较成熟。
越来越觉得基础很重要,因为不知道什么时候你会发现之前学过的在某个项目中出现了。
就我工作中感觉,后台开发,真的很多东西,有意思但是也有难度。可能我比较菜吧,不过慢慢变强的感觉也很不错。
做个简单的总结吧:
1.会用工具
去了一个公司,第一步就是配置环境,所以各种工具、如何开发、代码如何发布到测试或者线上环境是必须要了解的。这一步就是多熟悉,慢慢都会非常熟练了。
2.熟悉并理解框架
后台一般都会有比较固定的框架,比如我们用的是某传(gu)统(lao)框架,然后在上面封装了自己的一层。熟悉框架、了解代码怎么加载,我认为这个是比较重要的。虽然很多框架可能看个demo就知道怎么写了,但是真正理解可能还需要一些时间的。
这一步一般就是深入了解代码如何在框架中跑起来的,这样的好处是出了问题能够知道怎么解决。从框架到加载,一步步理解了,慢慢就能定位问题。
3.熟悉整个后台架构
一般是接入层--server层---存储层。熟悉数据怎么从前端流向数据库,一步步都在心里知道。时间长了可能都会熟悉,不过每个步骤原理、有什么坑点我认为都是可以去了解一下的。
4.基础很重要
乱花渐欲迷人眼。虽然真的工作发现有很多新东西,比如说框架、存储等。但是实际上真的要写代码的时候还是看基础。各种框架可能公司都给搭好了,如何高效开发,看的还是基本功。
这个就包括学校里学习的语言、操作系统、数据结构等。这些基本功,其实很重要的。
5.要淡定
工作中难免遇到各种状况,无论是什么bug,首先要冷静,然后一步步分析,最终找出。程序员都比较闷?可能是比较淡定。有了问题不要着急,一步步解决,不会的找dalao,然后多总结。
6.读写代码和调试的能力
我在一个大工程中,能够快速读懂别人的代码,然后才能思考别人的设计,如何实现某个功能。写代码主要就是要多想,写的代码能不能cover多种情况?只能说尽量少bug,慢慢有经验了应该会好很多。
然后调试。初期我就体会到,90%的时间调试了哈哈。菜是原罪。写的代码,一不小心就出了问题,一自测就发现还有这么多情况没有考虑;这是真的需要注意,并且是非常非常重要的。所以写的时候就不要写太随意了。不然调试真的花时间。
7.抽时间学习
工作中很忙,基本上都是遇到的问题去寻找答案,然后就有经验了。但是还有很多知识,没有被遇到,但是确实存在,可能在将来的某一天就会出现。所以多学习、多思考、多总结我认为很有必要。但是有时候真的力不从心,只能多抽时间学习了。
8.学会分析qps
以前的作业,可能不需要想太多,分分钟写个版本1。然后可以大功告成了。工作中却不是,毕竟线上业务,对于负载是一定要考虑的。如果让你设计一个方案,可能许多地方需要考虑的,包括读写qps、数据库的压力。能不能hold住?不能需要怎么解决?
这些是真真实实会遇到的,这点我认为和学生时候差别很大。(然后解决办法,感觉基本是缓存了;这点我也就知道皮毛😪)
9.解决问题的能力
这个和6的调试有点像,但也不仅仅是6了。写一段代码后,先调试通过;然后开始自测,自测过程中也会有许多bug。这时候就需要去看log;学会看日志、找错误码是很重要的,然后分析情况。不过有时候日志上可能看不出,这时候我认为需要总结经验了。
比如说连不上服务是什么问题?一般是服务没有启动,然后开始复盘自己的操作是不是出了问题。这种有一个总结以后,就能更快的解决。
除了代码上的,还有生活中的;比如人际关系、如何有效的提问、如何顶住压力。在这个过程中要培养自己解决问题的能力。
10.想到再补
写的比较少,只是在加班后略有感触。对于学弟学妹们,我觉得要打好基础,并且积累一定的代码量,多努力,多看书。
至于刷题,我感觉可能用的不是特别多,但是能够帮助你扩展思维、熟悉数据结构、思考全面。如果工作后真的有兴趣,可以抽时间刷刷的。不过为了找工作的话,可能真的需要刷;毕竟某跳不动厂太可怕。
说一下工作中用的比较多的吧,操作系统的进程线程协程,这个我相信面试的同学也有感触,几乎是必问题,这个也真的蛮重要的。还有啥,想到再补。
如果是Linux的开发,可能需要熟悉一下shell命令。其他的基础,我也不多说啦(其实我就是调了一天bug😭,过来吐槽一下)
工作中的导师,亦师亦友,至少我很感谢。
(ps:9条是导师说的。顺便欢迎大家来投鹅厂;虽然maimai上吐槽技术烂,但起码我感觉周围同事都挺有技术追求的(虽然技术的确有点落后);pps:我不收简历😀)
#职场#