好好的从学生转变为职场人

       在写这篇文章的时候,算了算工作的时间,1年的实习(ebay+捷尚),2年的兼职(酷博),1年的悠然科技,5年的百度,9个月的滴滴,很尴尬的看起来,差不多已经工作10年呢;10年,好长呀,青涩的少年已经变成猥琐的大叔了,打着回馈社会的目的,稍微写了写,将一些经验做个简单的抽象,希望对社会有帮助;
       这篇文章主要集中在基础阶段这个时期,这个阶段我定义是从学校到社会刚开始的3-5年,我们把学校里学到的知识开始运用到实践,从一个学生逐渐转变成一个职场人。这个阶段做的事情,就是将学校的知识融会贯通,逐步明白工作中需要的是什么本领,同时养成知识沉淀的习惯:
 
经验也比较简单,主要是4点:
 
1.      踏踏实实写代码,一定要踏踏实实写代码。就算觉得自己写代码再牛逼,工作后没写个5-10w行代码,不要说你已经会写代码。请注意写代码的基本要求是:
         a)        代码是对的
         b)        代码是稳定的
         c)        代码的性能很好

 

        这是写代码最基本的要求,体现在作为初级工程师的你,做出来的产品,别人打开快,不会出错,而且得到的结果是对的;这个过程不同的人经历的时间不一样,有些人也许一辈子都停留在这个阶段,这个过程需要对自己严格要求,有点强迫症的精神,不停的积累,不停的review,只有不停的写,不停的写,写到一定程度,你才会突然发现眼前豁然开朗,之前的那些代码,已经是一坨屎了,以后还想再也不想写一坨屎的代码呢;
 
        但是仅仅达到这个阶段是不够的,要从初级工程师毕业,你还得有接下来的两个能力:
 
        a)        实现快:这个来自于你的经历,之前的项目积累,以及对自识的掌握,这个也是练出来的。
        b)        沉淀代码多:这个是有经验和没经验的工程师的最大区别。每个完成的项目,如果不能从中学到知识,不能代码沉淀,都可以说是巨大的损失,也就是说:当再次面对同样问题的时候,还会用很多的时间来处理以前做过的事情。
 
       总而言之,代码是工程师整个职业生涯中最基本的能力,也许在不同的阶段侧重点不一样,但是如果这个基本能力没有,这个工程师就可以认为不是合格的工程师;
 
 
2.      阅读框架
        框架也是工程师的基本功,一个好的框架可以帮助你减少大量的重复代码,让你的系统逻辑简单而且不容易出错,了解且熟悉一些通用的框架可以帮助工程师快速的开展工作,主要的方法如:
 
        a)            阅读前人留下的框架,想想别人为啥是这么设计的,有什么可以改进的;职场和学校最大的区别,就是在工作中,你可能会发现很多丑陋的设计,但是先别急着拍他,先想想,设计者的初衷是什么;想明白了,如果确实比较挫,那就算了;如果不是,这么设计是满足特定时期的特殊需求,你就有更多可以想呢;为什么这么搞,有没有更好搞的方式;和比武一样,刚开始都是招式、武功、秘籍,但是到后面你就会发现招式都是浮云,你得看招式下面的东西。这个时候,就是无招胜有招,即使你是小孩子的打法,也会打败牛逼的系统。因为对项目来说,只有合适的架构,没有最优的架构,明白了这一点,框架也基本过关了。
        b)            开源的框架,这个我用的不多,最开始做图像处理、还有后面做搜索的时候稍微看了看,也没有仔细看,就不提了。
 
        框架也是个基本功,不过在你无招前,请先至少对大部分的框架有所了解。
 
 
3.      读书
        持续学习是优秀同学的基本能力,我经常看到简历里面写我的学习能力很强,让其证明又没啥好说的,其实从个人来看,持续学习才是更重要的能力:
        作为工程师,主要推荐以下学科的知识:
        a)        计算机的书籍:对我来说,大部分都是在学校读的,找工作的前后也会集中起来大量阅读,也是属于基本功,不列书单了,不过作为计算机的同学,数据结构至少应该是精通的;操作系统、计算机网络应该也是非常熟悉的;自己常用的语言至少是了如指掌,然后也知道出了问题,应该如何找到正确的解决方案
        b)        最新的行业知识:计算机是变化最快的学科之一,如果没有快速的学习能力和适应能力,是无法在这个行业生存的,关于这点,我是非常认同公司的文化:拥抱变化;做计算机的,要一直保持自己的竞争力,一定要持续的对这个世界最新的行业、科技要有所了解
        c)        辅助知识:比如概率论、统计学,比如机器学习、数据挖掘,比如微观经济学、宏观经济学,还比如一点历史和军事知识,这些书籍可以帮助你对这个世界有更真实的认知,可以帮助了解我们的业务为什么要这么进展,处在什么阶段;这些知识不是提高你的代码能力,但是可以让你少写点没必要的代码~

4.      其他渠道
       我一般到新的公司,第一件事都是去找他的学习渠道。这是因为大公司和小公司对新同学最大的区别,就在于大公司有更多的积累,有更多前人踩过的坑,有更多前人总结的经验,通过这些,你可以快速的在1-2年内,完成别人3-5年的积累,但是如果你不从这些去学到东西,那样和待在小公司有啥区别,好好利用这些渠道,将来都会变成你和别人竞争的优势;
公司有learn.xiaojukeji.com可以看视频,还有wiki可以看其他工程师的架构,公司外可以看看知乎看看别人的观点和想法;
马太效应是一天天积累的,也许刚开始你没感觉,但是到了某一天,你会发现,你已经远远的把别人抛在身后了;
         
 
       工作的前几年是每个同学从学生到职场人所必经的阶段,这个阶段很痛苦,因为他是我们人生中面临的几个重大转折之一,这个阶段养成的习惯、性格,也会带给你之后很多年,所以慎重的对待自己这个阶段,好好加油;
 

One thought on “好好的从学生转变为职场人

发表评论

电子邮件地址不会被公开。 必填项已用*标注