欢迎光临散文网 会员登陆 & 注册

我是如何做到快速成长,快速涨薪的?

2020-03-01 07:47 作者:小明哥会飞  | 我要投稿

   大家好,我是小明哥,疫情至今还宅在家里,有空整理我的一些经验。今天跟大家分享我的编程入坑史和踏入社会后进入两家公司前后,我的成长、加薪的过程。就聊一下在大学、第一家公司和第二家公司的经历吧。

   小学到初中,一直名列前茅,使得我在高中时期得意忘形,第一年我没考上理想的学校,我复读了一年,第二年勉强考了一个普通的学校。没考上一个好的大学是我一生的遗憾。 我不是211,也不是985。学校非常的不起眼,家里希望我学土木工程,但阴差阳错我被计算机学院录取了,悲剧就这么开始了。

 1 

    在大学的第一年学导论、C、汇编,第二年学C++、算法,之后是VB、计算机图形学、Java等啥的,这是学校的课程,说实话我也没认真去上课,因为很多东西我是超前学了,我害怕像高中那样蹉跎岁月。我买了很多的书提前瞎折腾。非常感谢我哥在我第一学期就给我买了一台屁股很大的电脑。我最着迷的是动画设计flash,除了可以做动画,还有很多脚本语言可以写,当时有个网站叫“闪吧”很出名,我就是那里的常客。

     在大学期间的兼职经历,值得拿出来分享一下。我有个同学给深圳的一个老板做兼职,这家公司刚走了一个Flash动画设计师,就急需一个可以改动画的人,只要会改那种。由于平时在寝室瞎折腾被同学看到,于是我就成为了那个人。做兼职的我一个月有点生活费,500元。很兴奋,整天改改flash(其实flash当中大量使用ActionScript脚本),做了2~3个月就基本熟练了,因为他们也是拿国外的动画成品来反编译(当时的三剑客很流行)再改。后来我同学不做他们兼职了,老板问我会不会写代码,我说会(其实当时我心虚)。于是我又有做兼职开发的机会,用的开发语言是ASP、.NET。我大概做了2年的兼职,记得毕业答辩前晚还修改bug到2点多。

     第一个月很悲催,我改一个小问题几乎都花费2到3天。因为时间不允许这样,所以自己经常加班到半夜,旁边的兄弟在打游戏,时不时的瞅一眼看我在干嘛,然后四眼相对没说话,我满脑子都是改bug。记得修改购物车之类的功能时,刚接触会话、cookie、缓存等,我用了一周多。现在想想挺简单的为什么要那么多时间呢?可能当时还是太嫩了,无法将业务需求和技术结合。遇到问题不知道用什么技术去解决,这是新手遇到一个最常见的问题,没有领路人就比较悲剧,自己需要一点一点的网上查阅、验证可行性。不过任何人都有菜鸟时期,不要放弃就好。

      我总结了我这段经历,非常辛苦,但学到了很多东西,概况起来就是“代码改改改,模仿、重构、提炼,没有创新”。为什么说“重构、提炼”呢?因为做了不少相同类型的项目,我就自己搞了一套符合自己开发所用的东西,中途我自己还接了三个私活(哈哈)。有意思的是,ASP脚本来来去去都是Response、Request、File等这几个对象,写ASP脚本也写烦了,于是就用VB程序做一套代码生成的工具,从数据库读取数据库表生成ASP代码。在做这个代码生成器的时候,我抽象了大量的ASP脚本程序成组件,打成 Dll文件,提供给我应付繁杂的编码。这个过程我觉得有很大的进步,觉得使劲折腾才有感觉。至今还能在“编程中国”论坛上找到当时分享的帖子,现在看起来感觉有点傻,还没完全做好就使劲分享。

      我上学期间的那点臭事就聊到这吧。只想和大家说,只要你找到乐趣,使劲折腾就好,不要在意别人怎么笑话你。


 2 

       我一共待过2家公司,2015年之后我就在广州创业了。聊聊创业之前我就职的这两家公司吧,从面试、入职干活、到加薪的过程吧,或许对大家有一些帮助。

    我在学校做兼职是ASP和.NET,我觉得写这种代码很烦,始终没有java那么好,于是我坚持找一份java开发的工作,所以我在做兼职过程中我做了好几件事情:做兼职、接私活、自学Java(当时主流是Struts,书店满地都是),还做了一件最牛逼的事情是挂科。

    我去的第一家公司是北京一家公司(重庆的分公司),是专门做中国联通下的IT业务,主要负责客户经营分析系统。面试时我们有3个人,两个是已经有工作经验,而我没有踏入社会面试官不认可我的经验。我们分开面试,问了很多跟关于java基础的,集合、栈、哈希表、队列啥的,还有一些算法如怎么实现二分查找、什么是链表、什么是二叉树。MVC三层架构工作原理之类的,java我是没有实际的项目经验,但是有asp和.net的经验,所以我就绕着回答一些业务问题。最后,发了两页纸给我们做题,一看蒙逼了,根本不是什么技术题目,全是一些图形,奇形怪状的图,然后回答一些问题。

      这里想告诉大家,面试没那么玄学,就轻松聊开就是了,如果确实不会,就老实说不会,但是,可以说出自己思考的方式方法。

      最后,我们3人都被录用了,我工资是2K、1年经验是2.5K、有3年经验的兄弟是3.8K。3个月之后转正了,我工资是4K,1年经验的那哥们是2.8K,3年经验那哥们被淘汰。这是为什么呢?这是真实的故事,听我慢慢道来。

     先说3年经验的兄弟吧,他比较有个性,平时写代码不太喜欢按公司那套规矩。当时我们用SSH框架,公司开发文档中有很多的开发规范,例如:Java类的命名、变量该怎么定义、等号该空两空格、数据库查询的SQL缩进格式化、MVC层各层命名规则和不允许写多余的类等等的约定吧,反正一本开发规范书有几十页,还有代码示例。3年经验的兄弟说公司这样的要求很烂,架构很垃圾等等。他总是喜欢按自己“更加规范”的写代码,没必要的地方也“封装”起来显得“更加高大上”。平时不太喜欢沟通,老带个耳机,有几次和主管争论一些技术问题还面红耳赤。由于我们三新来的,所以经常结伴吃饭,在吃饭的时候他还喋喋不休的说刚才为什么吵,这家公司如何如何,我们两没说话,只是笑笑。他始终觉得这家公司不咋地,干着不爽。我现在想想都觉得他自己挺幼稚的,任何一个公司都有自己的一套开发规则,代码一定是标准的,为什么印度软件水平比我国高?人家的代码非常的规范,所以,提醒各位小伙伴,在团队中千万别认为自己很牛,不按公司或者行业标准来。

    1年经验的兄弟其实真的没什么经验,很多东西都做不出来。但是他很聪明,先照着模仿,经常私下问我和同事,最后他也留下来了。

    最后,谈谈我自己吧,我做的业务板块是联通的客户通话分析模块,主管只丢给我一个50多页的需求文档,跟我说“先看看文档,看完文档再看oracle的设计结构,然后设计一个客户通话分析模块的原型”,我问他需要多久时间,他没回答我,就说,你先弄嘛。我当时的时间表大概是这样的:

    1)2天时间看了公司的开发规范,代码示例;

    2)3天时间看了oracle是设计表,实在太多了,2000张左右,我能懂的记录下来,

        不懂的就只能瞎猜了;

    3)第二周,看客户通话模块的业务需求,刚开始看还是比较复杂,这个业务是覆盖整个西南区的联通客户,我记得是分了小灵通用户啦,长途拨号用户啦,还有什么各种套餐用户,反正看了一周多的时间,然后自己归纳了一些主要的需求。

   4)中途找主管汇报了3次。说是汇报,其实没那么严禁。第一次是代码规范的事情,问他为什么MVC建议是三层,而公司去掉了model层,他就说简化Struts层的model的原因。第二次是oracle中表那么多,还分的DW、DDS、还有什么维度表、度量表什么的,当时没那个概念,后来聊了才知道这个后面要做BI分析。我曹,第一次听说BI就从这开始的。第三次汇报是我对需求有了了解,我整理了一个稀巴烂的PPT给播放出来。这半个月就过去了, 我们三啥也没干出什么东西,都还在琢磨文档的事。

 5)第三周,我就开始画原型了,也是第一次使用Axure工具,我大概花了4天时间把原型给弄出来。找了主管说我搞出来了,叫他到电脑前面看。我是第一个搞出来的,另外两个哥们听我叫主管过来看,心中应该急可能也有鄙视,因为他们还没弄出什么名堂。而我还没参加工作比他们快,不太可能,我不是装B就是出风头,主管过来看了之后,说原型做的真可以,需求理解也差不多。然后甩给我一句话“你漏了一个角色,以这个角色再画他的功能页面”。之后 ,我就来劲了,下班回家我还用U盘拷贝回去,哼着小曲在家里继续整,我为了弄得更好,我把原先在Axure中画的死图(BI展现成)做成活的HTML页面,用数据填充成几个图,通过在Axure中的嵌入进来,通过点击按钮的方式加载不同的动态图达到更好的效果,如:小灵通用户每月消费统计趋势,套餐用户每月消费趋势,这样切换就看到两种效果,加强了产品设计感。

6)1个月之后,我们首次交出成果,毫无疑问我比他们两个做得好得多,我还自己整理了文档。通过这一个月,主管知道我做事有方法,对我也确实上心一些。

7)第二个月,主管安排在原型的基础上,使用公司的框架套出功能模块,曹。我们又慌神了,这么快就进入开发节奏?好像不对啊。我去问了主管这就算是开发了吗?他没回答我,就说你们先弄嘛。于是我开始在自己本地搭建项目,之前的环境也搭建了,我的做的模块重点是BI,当时用的一套插件叫啥我忘了,很炫酷。当时什么FreeChart、EChart、JSchart、FineBI影子都还没有,能数得出名字的就水晶报表了。

8)我大概用1个多月的时间套客户通话模块,由于公司用Java封装了一层BI,我对封装之后的BI用了又用,很多属性设置我都很熟悉,我不满足于把参数设置死了,于是我自己添加了“设置”模块,添加了用户自定义BI配置效果,可以自己选择饼图、柱状图、表格+图混合、添加背景色等参数化的设置。中途主管看了几次,很满意。

    3个月满期,我们分别谈转正的事情,主管主动问我要涨多少工资,我不好意思说。后来他自己说给我说“4000,明天给总部发邮件汇报” ,其实我当时狂喜。 谈完工资后给我们说,其实那些功能他们去年就做了,叫我们重新做只是要试一试我们能不能做真实的开发,我X,还好我是认真的。  

     我在这家公司干了快2年的时间。熟悉环境了,发现企业内部比较闲,老人比较多经常闲得很,而年轻人做事情很多,我们之后又来了一波人。在这期间,使用最多的技术是Struts2+Spring+Ibatis(MyBatis前身),东西也就那样,做烂了。其实我也不满足于现状,开发之余去研究Oracle Business Intelligence ,因为公司有用到这块业,和数据仓库,尝试做一些数据建模。在第三次谈工资的时候,有点谈崩了,北京那边规定加薪固定是10%。我觉得大家都一样没啥意思,于是,我走了。去了第二家公司。

   在这家公司干得都是BI,所以我在空闲的时间也整理了一些自己想做的产品,当时想做一个分析淘宝、京东商品的销售,设计稿至今还在:

     这个设计稿至今还有原型图,文档已经丢失,如果当时铁定一点就做这款产品了。


 3  

     第二家公司是IBM的实施厂商,说真的面试不怎么样,全问跟IBM相关的技术,我基本上没法回答。技术很高端但很偏门,他们也不好招人,所以只能开3.5K,因为怕高了后面我搞不定他们也受不了。这工资比我在第一家公司少很多,唯一打动我的是IBM原厂技术,SOA架构路线,在当时技术还是非常先进和热潮的,业务范围也很广,涉及制造业、能源、军工、互联网,我在技术上有点得不到满足,想多接触业务,自己也了解到作业务分析、咨询待遇更好,于是鬼迷心窍老是想去尝试。老板也承诺只要有能力工资后面转正重新谈。其实我当时很犹豫的,当时的消费水平比现在低很多,在第一家公司4.5K左右了,2008年按揭了一套80多平的房子,月供也才900元。每个月开销其实也不大,还是可以的。因为在里面混几年后带几个小弟,自己整天打打游戏都可以(几个大佬就这样)。最终我决定还是去第二家公司尝试,还有个原因是我同学推荐的,不去感觉又不好。

    初进第二家公司,有个哥们带着,做一个基于BI整合IBM Portal+Portlet Dashboard +IBM WAS。我一看,擦,这不是我在第一家公司做的东西么?只是换成IBM那套产品,唯一需要掌握的是IBM产品技术,一些中间件技术。我觉得机会来了。果不其然,20天不到,老板在一次深夜(应该是12点多)给我发QQ“明天来公司谈一下转正的事”。第二天谈得很爽,直接开6K。09年6K不少了,和现在15K差不多。当时在重庆的房价是4~5k/平方,现在是3万/平方。反正我打那之后乐了一段时间。

    各位想知道为什么能转正那么快么?我当时要完成新技能的学习和一个组件的开发。在动手开发之前打听过公司的其他人,这个功能其实在公司已经要求做几个月了,没人能做出来,原因是新技术的学习和创新的思维,就是他们不知道老板想要的组件是怎么样的,大家都是在讨论,那哥们只带我学了IBM的产品后就溜之大吉,让我自己整,他当时的语气是我肯定没办法完成老板想要的东西。其实我抓住了公司现有开发人员的弱点,把自己强项表现出来,只是大家根本就不知道我之前在第一家公司做了那么多的积累。

       功能是这样的:用IBM的技术Portal容器技术和Portlet结合BI商业智能,设计一个基于Portlet的动态配置BI组件,放到门户集成容器Portal上。很快在一周学完IBM的相关技术知识,然后再用一周多时间设计和开发,BI那块我很熟悉了,整个组件完工从学习新知识开始用了3周多的时间,文档也写了,超出了所有人的预料。这个组件至今我还保存完好,由于需要依赖IBM的多个中间件环境,现在没有环境了,还好有录屏,分享给大家看看:

文档也还在:

组件实现模型

配置组件过程

提供多种数据展示方式:


      这就是我在这家公司的第一个开端,我想跟大家说一点就是,抓住任何可以表现的机会,大家看我那个东西其实也不咋地,但是我可以在短时间内,用百分之百的精力做好它,不要觉得工资开低了,就不干活,或者干出低劣的产品。

       之后,我在这家公司一干就是7年的时间,我从一名软件工程师干到成为第三大股东。从几千的月薪到领年薪,最后拥有股份(我是花了60万购买的原始股,不是白送)。2013年我去了广东负责公司的华南区业务后,我的职位的华南区负责人、SOA架构师、项目总监,主要是和IBM顾问做售前,业务分析、解决方案之类的工作,那些年我们跑了很多地方,深圳、广州、湖南、广西、贵州等地,涉及业务领域有制造业、能源、地产、军工、政府、零售、互联网、物联网、大数据、智能设备等。

    2015年我决定创业了,公司在广州天河区的建工路,和网易公司是一个园区。正式结束了我的打工生涯。确实在第二家公司学到了很多很多东西,老板也不亏待我。首先是薪资方面的给得都比较满意,多次调薪都不是主动去找老板的,我从开发人员到业务分析、到架构设计、到技术顾问、到售前方案、参与投标、讲标,还能和IBM原厂工程师切磋工作,这很棒。让我眼界打开了不少,技术只是我其中一方面。产品规划、项目规划、管理等也得到锻炼,在写作能力上提升了很多。在这家公司参加的、主导的项目大大小小,通宵熬夜,有泪有喜。

   最后,归纳一下:

   1) 入职第一“炮”很重要,一定要打响,否则后面很不好混;

   2) 有点小钱一定要想办法投资,如果公司给机会自己也看好的一定要投,捆绑除了工资会比别人高,升职的机会你肯定优先。不看好就做点靠谱的事情,但千万不能放高利贷。

   3)除了技术,业务很重要,只懂技术不懂业务,很多需求你仍然很难能拿出一个解决方案

  4)沟通真的很重要,沟通并不是要你侃侃而谈,需要你听明白对方讲什么,包括你的领导下达任务、你的同事描述问题、你的客户讲需求。如果不认真听、不诚恳的听,你会吃大亏。听到一半就说“我懂了”,有些开发人员甚至跟客户开战“你别再说了,我听明白了”,后开发出来客户傻眼了,理解有误,重来。有些老手,听小弟描述问题很不耐烦,没听下去就火冒三丈,直接甩一句“你给我写邮件”。类似这种的沟通方式,在团队里你很难有更高的提升。

  5)要有一手拿得出手的写作能力,如word、ppt。这点很重要,不要求你像散文一样写得多洒脱,但要很熟悉技术方案、设计、工程类管理、开发手册、测试方案等各类文档的编制套路(也就是格式);

  6)汇报,是日常的工作,写邮件需要有技巧。需求、bug的邮件来了,上来就憨对方是极大 的错误。在没有明确的情况下先回复“邮件已收到,我会花时间仔细看看,稍后回复。”,不要让对方觉得是石沉大海。微信也一样,同事、领导,看到后想清楚了要回复一下,有很多人收到消息看了就看了,啥也没回复,如果是领导发来的,领导会怎么想呢?

      好了,今天就分享到这吧。不知道对大家有没有用。如果有用,加个关注,我还有《全栈工程师修炼之路》4本书可以分享给大家。

 

     


我是如何做到快速成长,快速涨薪的?的评论 (共 条)

分享到微博请遵守国家法律