上一篇是针对新手写的感悟,现在是针对我这个三年工作经验的阶段性的感悟做一次总结。
工作了三年,虽然做android还没有达到三年,但是对于软件行业这个三年工作经验,已经到了一个中级阶段。写得不好别喷,求前辈指点,如果是同经验的人士请多多留言交流一下。
不管做开发的什么领域,3年不能代表什么,尤其是IT类,范围是很大的,想要在某个领域专注地做好,3年是不可能达到的。3年的定义,只能说是就自己的而言选取未来主要开垦的领域的一个新的起点。不可否认,很多前辈都会很多种语言的开发,但事实上,他们并不是所有领域专注,所有语言都精通,这是不可能的事情。除了技术,3年的工作经验,有会想去做管理,3年是时间做一个项目经理,其实还是有点可能的。如果你不是只会移动端开发,可能性会更大。企业几乎不会让一个只懂移动端开发的人来做项目经理,因为任何一个项目的核心部分都是在服务端。所以,服务端做得牛逼的人,永远都是公司的核心。相反,移动端就不见得了。但是现在来说,移动端发展速度非常快,如果一个项目经理不了解移动端的开发的话,那么项目进度也会变得很糟糕。所以,未来项目经理的便是既然要懂服务端,也要懂移动端。当然,做管理,对于技术的要求不会太高,毕竟要了解很多领域,主要专注自己的一个强项就好了。
我发现我们这些80后,90后,甚至00后,都是很浮躁的一代。从提问开始,本身提问是一种学问,我不怕得罪一些有经验的人士,到现在为止,我遇到不少已经工作了两三年的依然是不会提问题。提问最忌讳就是自己不思考就去问,最忌讳自己不动手搜一下再去问,最忌讳问了别人还不懂感恩。虽然互联网这个社会主义很伟大,把所有东西都拿出来共享;虽然我们可以很轻易地在上面拿到自己的需要的东西,但是千万不要忘记了感恩这些愿意把资料共享出来的前辈们。子曰:三人行必有我师。只要某某在某一方面比你有经验,他就是你的前辈。但是很可惜,这个年代的人就是很浮躁,还有些故意叫你把源码共享出来的。对于这些人,我从来都不理。有些人会怨念我分享的东西不够全,或者回答问题的时候说得不够全,我只能说我一惯保持自己的风格,点到则止,剩下的应该留给提问的人自己思考。不是所有人都有义务回答你的问题,所以你必须有耐性为自己去寻找答案,实在找不出来,便要学会自己去制作答案。我看过一些自己在刚刚接触android的时候问了一些傻冒的问题,大部分是因为描述不清楚,所以没有人回答我,最后呢,还是靠自己解决了。当然也有一些深度的问题,潜伏在论坛的大神还是会回我的。大神喜欢高深的问题,所以一定要提高深的问题,才会得到大神的青眯。
已经有了三年工作经验,从最低爬了上来,到了现在的高不成低不就。有些人会选择转做管理,有些人会选择停留在这个阶段,有些人选择更高深的阶段,有些会选择创业。这个没有标准的答案,自己觉得自己适合做什么就好了。选择停留在现在阶段的人,其实属于最多的一类。他们通常是没有什么人生梦想,理想,混混日子,整天想怎么忽悠一下又可以过了一天,又可以领到一天薪水的人,大公司也有,小公司也有。转做管理的人,相对比较少,至少也是在同一家公司工作了两三年,得到了老板的认可,才可以升上去。有些人跟我抱怨管理不好做,但是话说回来,如果不喜欢做管理,干嘛要做呢?既然做了为什么要抱怨呢?有些人属于只求更高一层楼的人,这种人更少了。平时工作已经够累了,还要自己把休息娱乐的时间分割出来进行自我提升,虽然这样很累,但是如果能坚持,总监这个位置就是你的了。还有一种就是创业,最难的一种。创业需要一个团队,有些已经有家室的朋友比较担心创业会导致家庭经济不够稳定,当然创业人脉是最重要了,不管是做外包还是做产品,没有人脉是拉不到单,产品也很难推广。团队也是很重要的,如果招来了一只狼,团队怎么解散的都搞不清楚。当然,如果你已经有了天时地利人和,我还是建议你创业,因为现在是互联网发展比较稳定的时代,谁都有可能成为下一个百万富翁。我不能说这四种人谁好谁不好,毕竟每个人的追求是不同的。但有梦想的人绝对不会做第一种。
如果还继续做技术,当然聪明的人已经不会在局限于android,不再局限于java,开始追求更全面的发展。回到从刚刚毕业的时候会问,到底去小公司好还是去大公司好?谈谈我这三年在各种大小公司的感受吧,如果让我回到我刚刚毕业的时候再我选择一次,我还是会先选择小公司。小公司肯定会有个刻薄的老板,可能会天天叫你加班,但大多数绝对是工资少少,然后什么事情都要你做。在小公司,至少对于学技术来说,刚刚开始专业的东西什么模块都做一下,或多或少总比只做一个模块学的东西多多了,最重要的一点,并不是技术本身,而是软件工程的思想。小公司通常一个人独立完成项目,独挡一面,所以基本上一个项目从需求开始到架构,开发,测试,资源调度,所有过程你至少经历过一次,一个完整的软件工程思想,虽然这个思想可能不是很成熟,有可能只是占了软件工程的一个小毛皮,写的都是不规范的文档,但是有了这些套路,人就会自然而然地向去完善它。但是相对于大公司,架构师把架构搭好了,经理把分支整理好,文档都各种好了,你只要看着上面的“说明书”,一点一点地做出来就没事做了。大公司的好处就是可以然你专注于某个模块,做到精益求精,大公司的福利待遇好,容易让人产生安逸感,有些人一辈子打工,大概就是被这种安逸所宠坏。当然并不是所有大公司的制度和项目都是很完善的,尤其是那些非IT类,电商类,通讯类的公司,领导他自己也不太清懂,只要一个结果,准时完成就ok了,其他东西,不管。所以这样项目组开发的时候,时间非常漫长。但是,遇到一些不懂技术又觉得这种东西很简单的老大,这个时候你就会很苦逼了。如果这个老大非常苛刻不是那么善解人意,那么,我还是建议你离开这里的。
据我了解,大公司都容易养闲人,当然不是每个公司的老总都可以像马云一样“我宁愿公司倒闭也不养一个闲人”那么狠心去做好每一件事情,大部分依然是办公室政治。如果你能很好地处理好办公室政治问题,你绝对是一个很好的领导。但是,如果你没那种能耐去做这些,那么就好好地来当个程序员吧,谁给我钱,我就给谁打工。其实大部分大公司的大神们,或者已经工作了5年以上的人很多都是除了打一份公司的工资,另外还做一些副业,也许是理财,投资,炒股,炒房,也许是自己开公司,也许是开个奶茶店,也许是做本行业相关的其他互联网app都有可能。但是,他们都有一个共同点,那就是不可以把这些事情告诉你的老大们。其实这些都是废话,大部分老大都知道下属们都有这些副业,但是聪明的老大不会揭穿你,而是挖掘一些新的东西,让你的思路更好的回到打工这边的工作上来。所以,这个也是做管理也需要做好的事情。我听过不少人说做产品的公司,产品经理要经常请项目组的人吃饭,不然,项目组就会把项目做出偏离,导致产品经理挨骂。我觉得还好吧,至少我所在的公司也没有遇到这么恶略的情况。
工作了3年的朋友,到现在这个阶段边会开始思考自己的方向,管理,资深技术人员,副业还是创业?我想,我会在资深技术人员和创业之间。你呢?