二狗的胡思乱想

  这篇文章只是我自己一些胡乱荒唐的吐槽,记录下来,希望多年以后再看到这里时能有不同的想法吧。

  2013年9月,二狗在OUC入学,从此从一个只会用电脑打游戏的傻小子,开始逐步变成一个靠电脑维生的“秃头”码农。我的大学生涯,可以算是相当的普通又珍贵了。当然,普通是和别人相比,珍贵是我自己的回忆。最近总是十分怀念ouc,怀念青岛,猛然想起了舍友的一句话:人混的不好的时候就会想家。确实,这几个月以来确实“混”的不是很开心。

  大学学习成绩也就那样,普通的课普普通通,专业课还凑合,实验课甚至当了几次“大腿”。大一大二贪玩,与奖学金无缘。与奖学金最接近的一次,几门专业课都考得很好,可惜有一门慕课的通识课上,在网上刷完视频之后就被我遗忘了。导致几次线下的课都没去,遂挂科,与奖学金无缘。算是不小的遗憾吧。大学刚开学时某老师曾说过:这四年怎么过都可以,尽量少一点遗憾,但你总会有遗憾。四年转眼就过去了,确实是这样。没到手的奖学金,没去看过一场海鸥剧社的演出,在青岛四年却没有痛痛快快的海鲜啤酒宿醉过瘾。。。

  概括起来大概就这样,普通的成绩,略好的专业课,亲如兄弟又毕业后各奔东西不常联系的基友,一直陪在我身边的女朋友。普通的大学生活,唯一有点不一样的是大一上父亲检查出有重病,好在母亲从事保险行业多年,家里各项保险还算齐全,经济上倒也没有变得多么拮据。看过许许多多这样的故事,一旦发生像这样的事,故事里的主人公总是会奋斗起来,改变人生轨迹云云。可我没有这样,也许我太过懒散,胸无大志,只想平平凡凡的过一辈子吧

  

  目前在这家公司工作了两年零两个月了。这是校招时我拿到的第一份offer,自那之后也没考虑别的,觉得这家公司还不错,也就来了。2016年10月份拿到offer,2017年2月底至4月底在扬州实习(培训),2017年7月3日正式开工。还在学校时Java和C#都有选修,当时找工作的时候也期望能找到一份Java开发的工作。毕竟工资高嘛。在扬州实习培训时也确实是Java的内容更多一点。不过最后还是做了c#。

  17年2月底至4月底的实习培训其实说来挺好的。虽然9 12 6的作息真的很反人类,但好在毕竟只有两个月。实习培训什么真正的项目都不让你做,做的只有纯粹的培训与培训项目,也算是从学生到码农的第一步吧。除了公司内部的视频教程以及相关文档外,每两周还会有公司的前辈来做trainer,负责解答各类问题。对我而言印象最深与收获最大的是,代码规范。学生时代的所谓规范,不过是某个方法的花括号换行不换号,并且基于学校实验课的代码量,很难看出来这类规范的意义是什么。说来也是最近几个月维护老代码的折磨,让我越发觉得规范真的是太重要的一件事了。

  17年7月3日起的两个月,先是一个月的考核项目,然后根据考核结果以及个人意愿分配前后端。后是在某18禁电影 开头的行业所在的项目组写UT。这个组几乎与公司是同龄的,公司与澳门那边合作多年了,所以项目代码也是“祖传”的了,这个暂且不提。这个组的老大人挺好的,只是面向有点凶,哈哈。老大的意思是让我通过写UT来熟悉熟悉代码,但这种陈年老code,对当时的我来说实在太过挑战,连几个方法的ut这样的task,都拖了一两周才完成。边做边纠结,我是不是不是干程序员的料啊。

  纠结迷茫中等到了试用期通过的邮件,也等到了我的第一个真正的项目。大概是17年9月左右,进入了我个人而言成长最快的项目,东亚某国房地产行业的信息化应用。其实就是把我们软件开发测试trac那一套流程搬入到房地产的业务中。与天朝不同,买方市场的该国人民是有退房退押金的权利的,所以客户那边也希望通过这个来提升成交率云云。刚进组时还私下里和某大佬R聊过,是不是我做的实在太差了,短短两个月就换了三个项目组。没想到这么一问反而给大佬R留下了一个还挺好的印象。

  这个项目就暂且称之为A。A组开发人员算我在内只有四人,前后端的tech leader各一人,我和另外一个刚进公司的小伙伴分别去做后端,前端(iOS)一些具体的实现。二狗子是做后端的,当时是从这些东西一点点学起来的。.net core 2.0,Abp,Dapper,Mysql 5.70,PHP。对你没有看错,PHP!。当时更上一层老大的意思是,trac那一套东西没必要我们自己开发,用开源框架改装一下,可以减少一些基础的工作。而这个选中的目标就是Mantis。Mantis本身还是不错的,各位小伙伴如果需要一份看起来清爽,用起来不错的trac系统,可以试试这个。不能说是更上一层老大不够英明吧,前期确实是省了我们不少工作量,但后期维护或者拓展,真的是哈哈,怎么一个可怕了得。最后交付最终版的时候,我们的API几乎没有再使用mantis提供的了。

  第一期表现不错,客户那边也十分满意,虽然中途很辛苦,各种加班,但很多时候是在补自己知识或技能上的不足,所以也没觉得什么。后端的Tech leader:Y哥对我也很好,给了我很多技术上帮助。Y哥这个人技术上很牛逼,对人也很亲切,平时也挺搞笑的,这么一个领导,谁不喜欢呢?哈哈。可惜好景不长,一期做完没多久,Y哥离职了,我身上的任务一下子多了起来。虽然R大佬来接替Y哥,但毕竟对项目不是很熟悉,所以有时一些逻辑还是会来问我,这一段时间还是有些小得意的。事实证明,人一得意,就容易忘形。没多久R大佬就在某次code reviewer中发现了我写的一些不规范,或是很低级的错误,严肃的说了我几句。R大佬平时也总是笑呵呵的,所以我猜他当时应该是真的生气了。好在二狗子在技术方面是这样,技术上有问题你随便骂我,只要告诉我对的是什么样,或者怎么改就行。所以别的也没多想,加班加点修改好,也比较顺利的通过了下次的code reviewer。

  从二期开始,项目组逐渐变大了,最多的时候安卓4人,iOS3人,backend4人同时开发。对于公司这种类似于外包的形式来说,不能说是一个小的项目组了。用到的技术也逐渐多了起来,Jenkins,quartz / hangfire ,redis,js-report,google的语音识别,图像识别,云打印。AWS的服务器,SNS,S3等等。以至于后来R大佬常说我们这个项目,很适合新人来做,麻雀虽小,五脏俱全。

  到二期快结束,项目组刚成立时的四人只剩下我和前端的小伙伴了。两位大佬都已经离职,我和前端小伙伴也在等着第一年的调薪。但有一些风声是说第一年的调薪很少很少。前端小伙伴先被约谈,1.5k,他当即申请了辞职,公司也同意了。没过多久,领导也找我谈话,一样也是1.5k。虽然有一些同期的小伙伴调薪在0.5k-1k,但人总要和更好的比嘛,并且1.5k说实话也确实不高。我心里挺难过的。一方面是觉得自从Y哥走后好长一段时间内,这个项目的后端都是我自己在维护,开发虽然有R大佬帮忙,我也是开发的主力。另一方面和我一起进公司的舍友,半年左右时跳槽已经拿到了1.2w的薪水,相比之下我涨了工资仍然不能突破万元大关,觉得多少有点不能接受,于是决定辞职。可能是平时表现还不错,也可能是我再一走短时间内也不好找人继续维护这个项目了,领导帮忙争取到了更多的调薪,辞职的事也就不了了之了。

  在那之后继续维护了一段时间的,然后被调整进了某银联相关的项目。托项目组的福,还去银联的信息总中心出过差。在某个房间还可以看到一个巨大的屏幕,就小时候在电视上看的那种屏幕,看数字都是几百亿几百亿的跳,具体是啥玩意儿咱不知道,也没敢问。这个组除了更新一下技术栈,node.js+mongoDB以外,感受最深的反而是git的使用相关的内容。一个正式的,具有一定规模的项目组,是怎么使用git的各种功能的。除了基础的branch,tag这些,相较之前的项目组还多了一个要求。每次只有一个提交,对应的解决办法是git rebase等命令,好处是这样git的提交记录就是完整的一条线,方便之后的复盘或是版本控制。另外银联的食堂是真的好,羡慕,又便宜又好吃。

  再之后就是一个银联的试水小样+某房地产项目的三期+房地产项目的新的小组,没什么特别的,就不谈了。这些结束后就又回到了让我脑壳痛到现在的某18禁电影 开头的行业所在的项目组。二狗之前是这样的想法,不在乎具体的编程语言,项目需要哪个,我就学哪个,因为我不想做某种语言的码农,想做能解决问题的码农。在这个想法指导下,觉得去做老的项目也没什么不好的,毕竟能运行十年的东西,多少有点奥妙在里面。这几个月干下来,感受却和想法不太一样。要说写的精妙的地方吧,不能说没有。但是它和十年各种良莠不齐的代码,五花八门的实现,百花缭乱的coding style比起来,也许算是微不足道吧。结结实实的体验了一把边写代码边骂娘的感觉。也同时提醒自己,规范这种东西,注释的运用,真的是聚沙成塔的。小一点的项目看不出来,一旦数量上去了,就会发生质量的变化。尤其是当你明明只改了一行,结果提交时由于之前的版本没有控制规范,满屏幕的change的时候。尤其是当你参考之前的一大段逻辑,一路追踪,发现这个是被弃用根本不会有人调用的时候。尤其是你因为这些东西加了一个又一个班,晚上打车发票拖很久然后找财务报销他还要你提供加班证明的时候。真的想骂娘。妈的,说出来心里舒服多了。

  刚刚回到这个18禁大组(下称G)时,熟悉熟悉代码。感觉自己这两年还是有点收获的,从UT写一周,到快速了解逻辑,多少涨了点见识。熟悉之后就开始了G下面第一个项目c的工作。c是为G的其他项目提供一个高层的配置管理。二狗之前一直在做后端开发,因为想尝试一下前端的内容,并开阔一下眼界,申请之后就承包下了这个功能的前后台的所有task。噩梦的开始。后端不必说了,简单的api,很快就完成了。十年老项目的前端,可怕的噩梦。据二狗子了解,前端的变化与技术栈是十分迅速的,十年前的老技术+上面提到的各种代码魔鬼,真的折磨的够呛。Silverlight您听说过嘛,如果听过,您一定是位前辈了。这个东西是微软搞出来为了对抗Flash的,而对手Flash已经快被干掉了。类WPF的代码,缺不完全遵循MVVM的方式,找一个事件的逻辑分部的到处都是。

  c做了三周左右的时间,没来及测试,就被分配去了m项目。m项目是这样,由于该18禁项目所在地区政府政策要求,他们的一部分操作必须变为数字化,政府政策落地是有规定日期的。所以我们必须赶在那之前完成。好在内容不是很多,又是在iPad这样的移动端开发,对二狗来说是个全新的体验,所以接到通知时还挺兴奋的。技术方面,虽然我之前完全没做过移动端的开发,但组内成员有一位公司工作多年的大佬H,所以也不是很担心。哎,谁知道第一个给客户内部review的版本开发时间只有三周,这三周H大佬休!了!一!周!的!年!假!即使在他不休假的日子里,也是每天到点就下班,而二狗子只能加班到十点赶工。如果您之前看过我的博文,应该知道这件事。不提了不提了,苦逼的日子提升最快,人觉得累的时候是在上坡,只能这样安慰自己吧。

  再来说说技术,也许客户或者大领导真的英明吧,我是看不懂决定用Xamarin.Forms开发的决定。甚至有点憎恨Visual Studio for Mac。VS这么强大的东西,在mac上简直弱不禁风。三天两头的崩溃无响应,做前端开发不能及时的看到样式的变化,只能每次重新build,run...(有个HotReload的插件,可以看,但是会引发更频繁的崩溃)。在这样的折磨下,四个工作周拿到了六天的调休,四周总共只有八天啊乡亲们。

  在m组时我心态还没有现在这么差,觉得学习新东西付出努力是应该的。但回报呢,国内真的有人用Xamarin嘛,有嘛?我靠这个找工作嘛?抱歉,回家啃老我也不打算写Xamarin了。我用这么多的时间,换了一个没卵用的前端经验嘛?多少有一点经验吧,知道大致是怎么回事,有一点视野的提升吧,但是主流的东西呢,抱歉我还是完全没做过。简单来说,投入产出比实在太低。

  好不容易熬到了m的release,因为有了一丢丢Xamarin开发的经验,我就被分配到了a组去帮忙。刚从一个熬夜加班准备release的项目出来,又进去了另一个熬夜加班准备release的项目。好在在a组也有一些收获,a组的前端leader F大佬人很和善,给了我很多帮助,十分感谢。

  c,m,a三个组并没有结束,临时有prod的改动,我又被分配去g组改代码,说好的小改动,越改约复杂。g改的快完成时,c终于要上线了。对于c,m,g的其他小伙伴来说,他们只要做好自己的事,我呢?三个组分给我的任务都等着我做,三个组分开上线我都得陪着,嗨呀我就是一块砖,哪里需要哪里搬,我可搬你大爷的去吧。

  

  其实写到这里我也不知道我再说些什么了,不过好在只是想记录一下自己的胡思乱想,不是写给别人看的,也就无所谓了。现在很迷茫,钱少,活多,离家远。学的技术没卵用,工作两年多,这么下去怎么办呢。是C#不差,但为啥我不直接去做流行的java,java就不好么?为啥总要搞非主流呢?但目标没变,我还是想做架构师,想变强,加油吧。

  

                                                                           --2019.9.27

                                                                             二狗子

原文地址:https://www.cnblogs.com/dogtwo0214/p/11582285.html

时间: 2024-11-05 19:43:06

二狗的胡思乱想的相关文章

[电影分享]陈二狗的妖孽人生第一季--网剧

剧情简介 讲述了以陈二狗为主的底层群体辗转于大城市之间热血逐梦的励志故事.聚焦小人物,释放大能量.该剧着力于四大家族命运交织的传奇人生,勾勒出一幅怀揣英雄主义理想的小人物众生相.此次烽火戏诸侯也亲自操刀,担当本剧的艺术总监,对角色挑选.剧本改编.场景还原进行总体把控和监督,更有实力班底配置护航,电影级服化道加持,强强联合聚力精品打磨.一部刁民奋斗史,三代江湖恩仇录,“中国式江湖”即将拉开帷幕. 豆瓣 链接:http://pan.baidu.com/s/1crCDlW 密码:1gj4

数据库访问工具 DBUtl(公孙二狗)

数据库访问工具 DBUtil DBUtil 用于简化数据库的访问,只要准备好配置文件,调用 DBUtil 的静态函数就能直接得到查询数据库的结果. 本文主要内容有: 数据库访问的思考 DBUtil 实例 DBUtil 的 API DBUtil 的实现 把 SQL 语句放到文件里 ORMapping 1. 数据库访问的思考 以查询数据库中 id 为 1 的 user 为例,思考访问数据库存在的问题以及优化. 常用的访问数据库为以下几步: 设置数据库驱动和连接名 设置数据库所在电脑的 IP,数据库名

[电影分享]陈二狗的妖孽人生第二季--网剧

百度网盘链接: 链接: http://pan.baidu.com/s/1jHF4RRo 密码: xmus

二狗的小程序

#include <stdio.h>#include <stdlib.h>main(){ int i; for(i=0;i<30;i++) { int a,b,c; a=0; while(a%10==0) { a=rand()%90+10; } b=0; while(b%10==0) { b=rand()%90+10; } c=0; while(c%10==0) { c=rand()%100; } printf("%d+%d×%d=?\n",a,b,c);

Python(二十一)

一 多态与多态性 很多人喜欢将二者混为一谈,然后百思不得其解,其实只要分开看,就会很明朗     1.1 多态 多态指的是一类事物有多种形态,(一个抽象类有多个子类,因而多态的概念依赖于继承) 1. 序列类型有多种形态:字符串,列表,元组. 2. 动物有多种形态:人,狗,猪 import abc class Animal(metaclass=abc.ABCMeta): #同一类事物:动物 @abc.abstractmethod def talk(self): pass class People(

二维数组sort排序

和副本任务完全无关的奇怪感慨: 完全搞不懂我为什么会在搞图论的时候学这种奇怪东西,需要的时候不会,不需要的时候又莫名增加了奇怪的技能点. 之前的假期规划在十多天的放飞自我中彻底泡汤,简单的图论都一点不会,sad. 在想要不要把分治 贪心 递推 哈希 大根小根堆再看一遍,我似乎又忘了. 刘神刷题比我快了,我应该好好学习不能这么浪. 大概我永远没有大神们的智商优势吧,所以要更努力. 毕竟没有贯彻意志的希望一无所有,所以努力成为hal一样的绿灯侠吧少年[bushi]. 好了回归正题. 要想知道二维数组

hadoop计算二度人脉关系推荐好友

https://www.jianshu.com/p/8707cd015ba1 问题描述: 以下是qq好友关系,进行好友推荐,比如:老王和二狗是好友 , 二狗和春子以及花朵是好友,那么老王和花朵 或者老王和春子就有可能也认识,可以对老王推荐春子和或花朵作为好友. 注意以下是制表符:tab建,所以程序中用 /t进行分割 老王 二狗 老王 二毛 二狗 春子 二狗 花朵 老王 花朵 花朵 老王 春子 菊花 问题分析 问题分析: 主 ---> 从 从 --->主 分别列出每一个关系,然后都列出从--&g

二:C#对象、集合、DataTable与Json内容互转示例;

这个过程没有什么需要说的,撸个简单一点的代码说明下:先定义一个人员类,这个类里面的属性有string,int,list,枚举,这几个差不多够了. public class people { public string Name { get; set; } public int Age { get; set; } public DateTime Birthday { get; set; } public EnumGender Gender { get; set; } public List<str

python基础--接口与归一化设计、封装、异常、网络编程

1 接口与归一化设计 1.1 归一化概念: 归一化的好处: 1.归一化让使用者无需关心对象的类是什么,只需要知道这些对象都具备某些功能就可以了,这极大降低了使用者的使用难度. 2.归一化使得高层的外部使用者可以不加区分的处理所有接口兼容的对象集合 继承的两种用途 一:继承基类的方法,并且做出自己改变或者扩展(代码重用):实践中,继承的这种用途意义并不很大,甚至常常是有害的.因为它使得子类与基类出现强耦合. 二:声明某个子类兼容于某基类,定义一个接口类(模仿java的Interface),接口类中