先说一下自己的情况吧,13年7月研究生毕业,然后面试进入现在这家公司B,当时面试的时候面试的是后台服务器的开发,来了之后才发现不是做那方面的,被分到了做一个PC客户端的产品(不知道该不该说具体的组),当然主要就是windows编码的工作,也没多想,反正知识和经验都是想通的。
工作的第一个月被安排熟悉客户端的一小部分逻辑代码,一个月后,老大跟我说别的部门把服务端那边的项目移交给我们了,然后就边学python边接手了服务端的项目,接手之后根据需求改了一些小的东西,服务端虽然有三个项目(核心的东西是自然语言处理的部分),要改的东西不多,也就是差不多半年才会重新跑一次,主要为客户端跑数据。三个月之后,组里觉得新人也要接手客户端的一部分逻辑(当时我都闲的有些害怕),然后就让我去熟悉客户端网络库的部分(WINNET做的),熟悉了两三个星期,把整个处理流程都搞通了,还提了个可能导致崩溃的bug,这样工作了差不多一个月,PM觉得我们客户端给用户的结果不够好,怀疑是客户端和服务端的查询逻辑不一致,然后就又派我去接手服务端负责为客户端提供查询的项目,然后就一直到现在,不过听PM说貌似马上又要变了。
回望着半年,感觉自己每天就是跑些数据,然后处理一下,评估一下效果 (效果就从来没有比原来别的部门负责时好过),看到同时进来的应届生一直做着客户端都做出了一些东西,感到好失落,觉得自己就像个打杂的。还没毕业时,就希望以后做服务器的开发,然后看了APUE和UNPv3,现在每天晚上都拿出一个多小时来分析陈硕大哥写的muduo网络库。有时想内部转岗去别的部门做服务器的开发,但是都是要求有经验的,像我这样没经验的恐怕没人愿意要。现在感觉就两个字:迷茫。
PS:自己无聊时就去smashthestack上刷刷题目。
程序员是需要积累的,你比那个专心做app的强多了,你有时间,可以接触到客户端和服务器端的代码,那么你可以自己把代码搞明白。然后做拆分,把有用的功能拆分出来,把有用的算法拆分出来,把框架接口拆分出来,都分别保存到自己的移动硬盘里,这就是积累,以后工作用得上。
那个程序员只会做点客户端的东西,比你弱爆了。
要记住,程序员是否厉害,不是以产品好坏决定的,而是以能解决多少问题决定的。