我最近大多数时间都胡思乱想,乱想我到底适合干点啥。因为回顾自己的大学生涯,我发现我做什么都是浅尝辄止,没有连贯性,导致我现在找工作的时候非常吃力。做 web 和 Android,哪个都没有做精通,导致每次面试时考官问我更想做什么的时候,我一般都很含糊和犹豫。这绝对是一个很大的教训。如果,我要是给学弟学妹们建议的话,就是一定要找一个自己比较喜欢的,做的慢不要紧,但是一定要持续的关注某个技术,这样才能持续得到提高。
转回话题,在今年的四月份之前,我的想法是在毕业之前,能把做移动互联网的技术都学学,主要是PHP、Android、iOS,想着毕业之后去家互联网公司去玩这个所谓的“移动互联网时代”。但是,我现在今年四月份的时候,开始非常厌烦我之前的创业团队每天更改他们的需求,导致项目一拖再拖。当时,给我最大的感觉就是,我不想以后常常围着什么“用户需求”转,也不想说围着这些所谓的“项目经理”转,虽然开发什么,都有项目经理,反正我当时下定决心去不玩儿application了。
这也是影响到了我暑期实习的机会了,我当时面对三个选择:腾讯的PHP开发工程师、联想服务器部门的OS Team,以及红帽的一个硬件测试团队(具体的我忘记了)。我想了想,选择去联想的服务器部门了。其实,如果,我当时选择了去腾讯写PHP,现在找个做PHP的工作还是很容易的。
来到了联想,我才知道所谓的OS Team 并不是根据Lenovo 的server 去做优化的,而是拿到每个OS厂商提供的Beta RC GA的OS版本在自己的server 上做认证。其实,就是测试这些OS 的功能是不是work well。但是在这里面最最有价值的东西有两点:一个是做哪些测试项才能证明一个OS work well,另外就是如果测试过程中出了问题,分析issue出在哪里。也正是这两个原因,对OS 工程师要求很高,需要他们有很多的经验。OS Team的主力工程师都在30岁以上,基本上之前都在相应的OS厂商待过。所以,我想着我如果不去OS厂商那里学习,就不会有太大的进步。
但是在这个过程中,我确实收获了许多别人不能轻易得到的经验:比如server的构成。作为一个软件工程的人,我现在可以直接组装出一台服务起来,也能简单得分析机器的一些硬件故障。最为重要的是,我参与这两个OS分别是:VMware的ESXi、Citrix 的 Xenserver。从这个过程中,我第一次接触到企业级虚拟化软件,开始自己看些资料,开始慢慢得了解。其实无论是云计算还是大数据,最基础的平台都是通过虚拟化实现的,那么虚拟化的核心是啥呢?我觉得就是网络和存储。
好了,写了这么多,我的思路也逐渐清晰了,我个人还是非常希望可以留在服务器这个行业里面,学习这个上面的平台,比如OpenStack等等,还是很想去做开发的工作,因为确实一段时间不coding,心里很没有安全感。希望我最后可以能做我想做的事情。