我是一个码农,起个引人注目的标题名称咋这么难,就叫神奇码农吧

来源:互联网 发布:淘宝店铺怎么营销 编辑:程序博客网 时间:2024/04/30 21:23
下面的故事是根据真实事情改编,故事中所涉及的技术皆为真实 
 工程师们 你是公司的一根草,却是家里的一片天 能耐得住寂寞看完的 我保证您此生会有很大的收获
人物:
办公室里坐着5个人
高级java工程师  大B     工作6年 经验丰富 成熟稳重 高可用
中级java工程师  小B     工作3年 自我感觉良好,好像啥都会,啥都知道
实习java工程师  小小B  刚毕业,我要好好学习java技术
神秘程序员         XXOO 刚来的 不太熟悉 

产品经理               大C   工作年限不详 工作经验不详 爱好改需求

背景:
经过一周的策划,大C终于设计出了自己超级无敌美少女产品,这个产品一定会震惊世人,获得成功

-------------------------------------第一周---------------------------------------------------------

======================第一天=================================
--上午
周一的早晨阳光明媚,大C拿着自己的产品原型和需求文档提交给技术部审核。

大B看了看:
    原来是个电商项目,我先设计框架,这个项目我们采取当前比较稳定和轻量级的SpringMvc+Mybatis来搭建吧。
    用户登录信息统一放缓存服务器memcache,这样只要memcache正常,前面重启服务器都不影响已经登录过的用户,我们做多个memcache节点负载,用户的购物车信息我们也存缓存服务器吧,设置好超时过期时间。
    数据库就选免费的mysql吧,至少配置2个备用节点,自动同步主库的数据。后期数据量实在大了要么咱们分库,要么咱们尝试下hbase分布式数据库吧。恩这个以后再说
    通知下后方运维的兄弟,给我们准备3台dibian服务器,帮我们安装好nginx,我们上线的时候要负载均衡,tomcat也装好,jdk先使用1.6吧,memcache也安装好吧,一个命令的事情。
    咱们的项目用maven 和 git管理吧
就这样大B觉得自己的设计差不多了 按照这个来做应该没问题

随着时间的推移 小B和小小B接到了任务,开发启动了,XXOO新来的先熟悉一周吧,打打酱油。

小B:原来使用SpringMvc+Mybatis 这个我太熟悉,没问题
小小B : 哇老大们好厉害,我跟着你们后面学哈

过了3天 大B把表结构也设计好了,用户表 购物车主表 购物车子表 订单主表 订单子表  商品表 类目表 规格主表 规格子表 促销表 促销分类 促销规则 促销关联规则 促销的商品表 ....... 

紧张的开发工作开始啦,办公室里弥漫着一股加班的气息 上面催的紧 同志们加班加点 赶紧搞上线

小B:嗯 表已经出来了 终于可以干活了。先做商品模块吧,商品要有个后台管理,我先把基础代码弄好吧,于是 新建GoodsController,实体类Goods,对应MybatisMapper.xml ,service接口写下,dao层也编写一下,差不多商品表的接口这些应该够了。

   2个多小时过去了。。。

小B 终于码好商品表了,开始做商品后台吧,这样我们网站运营人员就可以录入数据了,于是开搞 先把增删改查,导入导出等做好最基础的,还好我熟悉这些开发 哈哈,小小B,你来负责页面的校验吧,我们今天把商品表后台操作功能做完,上传图片组件,ajax验证 富文本编辑框 等等这些咱们有现成的js插件.

小小B : 哇老大们好厉害,好的 ,我来负责js验证,我刚学会jquery,我跟着你们后面学哈

-- 下班了

  小B:累死了,还好商品模块的功能我已经弄得差不多了,小小B你的校验也写好了吧
  小小B:恩大部分都好了 就是有个小问题 我一直没弄好,为什么点击bootstrap的radio的事件,jquery获取不到,再等等 我很快的

大B: 同志们 今晚加班...

小B:次奥...

===========================第二天==============================
--上午
早晨一大早 大家都来了
大C找到大B
大C:大B,我的商品模块需求有点小变更,帮我加几个字段吧,我要控制下商品发布规则和一些属性
大B:我看看,噢确实,好吧,加字段改下表结构就行了,小B,商品表加几个字段,你们这边改一下

小B: 怎么不早说,好吧 改改吧,找到Mapper.xml加上,找到jsp页面 字段增删改加上吧,找到js处.....次奥 烦死啦 启动试试 希望一次性改好
  10分钟过去了
小B:  Unkown Property on Goods.class .....  噢原来漏了个Goods.java,改好,再测测...
折腾了20分钟,终于产品经理的字段加上了 产品经理啊 你们总以为加一个字段是很简单的事情,到底是为什么呢

今天该开发一下商品分类模块了
小B:商品分类好做,产品之前说了最多三层,好吧 程序里面写死 ok 应该很快做好,小小B,今天你来做这个商品分类模块吧,不懂的及时问我,我这边做一下规格部分的功能
小小B:好的,老大,我跟着你后面学哈

--下午
小B:小小B怎么样了?
小小B:我在弄那个Mapper.xml的编写,很多sql语句还没弄好,我不太会写
小B:你速度点吧,不懂的问我

大C:Hi大家好,需求里面有点更正哈,商品分类模块之前定的是三级,现在改了 老板说三级太少了,为了扩展,可能很多级

大B:随便,反正我设计的表结构是树形的
小B:我次奥.... 这是要改成树状结构编辑啊
小小B:啊树操作啊 这个怎么做 我没弄过

小B:这个是树形结构,找下ztree来搞定下吧,额麻烦了ztree之前用的不熟悉,临时抱佛脚看看他们官网api开发吧,小小B 这个模块要用ztree稍微比较麻烦点,还是我来弄吧
小小B:好的,老大,我跟着你后面学哈

很快下班又到了
大B: 同志们 今晚加班...

小B:次奥... 要累死了

===========================第三天==============================
开发中...
===========================第四天==============================
开发中...
===========================第五天==============================
小B:我已经连续加班四天了,再加班老子要累死了...周末在家不干活,睡觉,哎总算是把商品模块弄得差不多了,起码后台运营的人能用起来啦,
就这这个时候大C走了过来
大C:对不住啊诸位,我们有个地方设计不太合理,要改动一下....

群起而攻之.......

---------------------------------------------第二周---------------------------------------------------------
===========================第一天=================================
--上午
大B:今天产品经理呢?
集体:在医院,上周需求改动太大,被打成工伤

大家好我是新来的产品妹子 小C 工作上还请大家多多指教

大B:好了 这周我们继续开发,把上周遗留的问题改完,XXOO你也加入开发吧,上周我们的框架应该熟悉的差不多了吧,这周起你负责一下一些基础表的功能,比如快递公司管理,支付类型管理,订单支付方式管理,订单退款方式管理,配送地址管理,优惠券管理,促销分类管理,促销规则管理等等,这些基础表建设,你先上手做一下吧,2周内把这些东西做好应该没问题吧
XXOO:好的,没问题!

小B:呵呵,还居然说没问题,牛逼啊,到时候看你完不成怎么办

同时大家也开始了新的一天的工作
XXOO也开始了自己模块的开发

--下午

小C:XXOO哥,我想小范围改下需求可以吗,之前大C哥的设计感觉缺少个状态管控,有些配置我希望能人为的后台控制
XXOO: 没问题,改什么你直接跟我说吧

小C哔哔巴巴的描述起来...

10分钟过去了...
XXOO : 改好了!
小C : 啊 这么快!

20分钟后
小C : XXOO哥 关于优惠券的那块,我想加个表,现在我们这边的优惠券管理太单一,不好筛选 加个优惠券类型可以吗?我已经跟大B哥说过了,他说没问题
XXOO:好啊,稍等

10分钟过去了
XXOO : 改好了!
小C :哇塞 这么快!牛 谢谢XXOO哥

临近下班了
XXOO:小C 还有没有要改的地方,我这边改倒是很方便,不过你还是把所有的改动一起整理好 讨论完毕再跟我讲吧
小C:好的,XXOO哥 我下次一定一起说

大B:今晚各自安排下 根据自己的进度适当加班

小B : 我加还是不加呢
小小B : 小B哥,你加我就加(you jump I jump)... 我跟你混

XXOO : 诸位我先撤了...
小B : 要不我们也撤吧,明天再搞
小小B : 好的,小B哥

===========================第二天=================================
早会
大B:诸位模块开发的怎么样了
小B :商品模块的话 产品老是改需求 我们可能还要2天能完成

大B : 进度有点慢呀 抓紧 今晚加班。XXOO你这边怎么样 有什么问题吗?
XXOO: 噢,昨天下班的时候我已经把 快递公司管理,支付类型管理,订单支付方式管理,订单退款方式管理,配送地址管理,优惠券管理,促销分类管理,促销规则管理
这几个模块的后台运营管理功能做好了,今天上午可以测试

小B :   啥!!!!!你别胡说好吗!!!!那么多功能怎么可能一天内搞定
小小B : 啥!!!!!
小C :     真的吗!!!太期待啦!!!!超牛啊!!!

大B : 是啊 XXOO,没做完没关系,你刚来,你是不是打算不想做了骗我们大家才这么说话
........

XXOO : 哦,对不起大家,实际上我没用1天,仅仅用了一下午的时间就做完了,小C中间不改需求可能会更快。

小B : XXOO 你要不带我们去看看你做的功能吧,哈哈..

XXOO : 好的

当XXOO把功能展示完毕,大家都傻眼了,惊呆了,是啊 这么多代码量,你就是复制粘贴也不可能一天内搞好

XXOO到底是怎么做到的

小B:XXOO 你是不是雇佣其他程序员帮你写代码啦,国外现在特别流行这个...
XXOO : 额这,就我现在拿的那份微薄的薪水,我哪有那个魄力

大B : 别卖关子了,XXOO 跟我们讲下你的方法吧,分享出来,大家共同进步
XXOO : 好的 老大,让我整理下吧 下午我跟大家讲一下我的方法...

下午
 
XXOO分享会,会上座无虚席,连老总也来了,因为XXOO的事迹,上午就传遍了整个公司。

XXOO : 大家好,感谢大家的光临,其实这一切并不是我的功劳,而是我平时比较喜欢研究新技术,偶然间我发现一个网站,可以帮人自动编程,这谁信啊!要是有这东西,程序员早失业了。

XXOO : 试试总没什么损失,于是我就好奇间仔细研究了下网站,注册了个账号,网站上面都有视频教程说明,说的很详细,看来作者很用心,完全是傻瓜式的操作,全程不用写一行代码,只需要把建表语句输入进去,然后就可以根据自己的需求定制功能。

XXOO : 在日常开发中,我们有很多模块的代码其实都是一样的 ,只是内容不同,但是每一个表 我们都要手动从最基础代码开始做起,不过也有些工具 可以帮助我们把sql语句生成实体类和Mapper.xml,不过这个网站不同的是,它大到Mapper.xml 实体类 service各自接口 小到js验证,表单各种类型等等全部帮我们生成出来了,我要做的只是在它生成的第一版代码上简单的稍微修改一点,至于产品说的增删字段,我全部用网站提供的工具来做,手动找的话要累死了。

XXOO : 我现在也是这个工具的一名贡献者,有些代码还是我写的,虽说工具不能像我们理想的那样,能真正的帮我们编程,但是做我们这种web开发后台功能,已经没问题了,而且它还智能的支持多表关联,父子关系等等,帮我们考虑了很多。

XXOO:卖了这么久的关子,这个网站MagicalCoder网址是 magicalcoder.com  大家可以自己亲自试试,以上所言绝对属实,我们的团队现在应该全部用这个,把有限的精力放在核心业务上,把大C无限的改动交给MagicalCoder吧,目前只支持java,以后可能会支持各类语言。

XXOO : 谢谢大家

掌声雷动.....

===============================================结语==============================================
世界上最难的事情不是把别人钱装到自己的口袋
而是把自己的思想塞到别人的脑袋

    让人接受并研究一个新东西总是很难的,就好像你对一个使用eclipse的开发工程师说IntelliJ Idea才是世界上最好的java编辑器,但是这位工程师可能一辈子也不会主动去研究Idea,除非有人强迫他。
    好东西就是值得分享,作为一名WEB后端开发工程师,我深知后端工程师的苦逼之处,在我的工作中自从用了MagicalCoder,反正我就很少加班,而且工作效率很高。虽然常常被质疑走的太早,呵呵,算啦咱不计较这些 只要把工作做好就行。

    你是公司的一根草,却是家里的一片天。

    同样的工作效率与开发速度下,让MagicalCoder帮助大家少些时间加班,多点时间陪陪家人吧。
    如果您的家人有程序员,请把这篇文章推荐给他。
    如果您的团队有java工程师,请把这篇文章推荐给他们。
    如果你讨厌一个java开发工程师,请永远不要告诉他关于MagicalCoder的一切。

    
0 0
原创粉丝点击