标签:
导语:马斯科特(ma_scott)毕业于三流大学,在大学中学习了java,SQL,数据结构等理论知识,怀揣着技术改变人生,自己改变世界的梦想进入了程序员的队伍。匆匆十载,在卖桃君的领导下,平台部门各个人员的努力下,GAP平台已不只是一个开发工具,它已经成为了一个体系。
个人简介:马啸,本科毕业,十余年的JAVA开发经验,目前任瑞友科技IT研究院技术研发部经理。
访问:
时间很快,转眼已经十年过去了,先谈谈你的感受?
时间过得太快,如白驹过隙,我进入瑞友科技已经十年。十年间,我从一个热血青年,变成了一个稳重的中年人。再也没有了熬夜通宵玩耍,第二天精神奕奕上班的精力了,也变得不再为了一些困难怨天尤人。
这十年来通过在平台部的工作,使我的技术能力有了大大提升,技术知识扩展了很多,从一个初级开发人员,成长为经验丰富,技术能力过硬的高级开发人员。在平台部的十年间,我认识了一帮对技术有梦想有追求的同事,非常感谢他们在工作上对我的帮助和支持,在这里就不一一列举了。
在这十年间,我很庆幸自己一直在坚持运动,保证每周五两个小时候羽毛球的运动量,现在再加入了慢跑计划,我自己在这两年中通过运动减肥,使自己的体重恢复到了比较正常的标准,这是我最自豪的事情。呵呵
十年前,刚刚大学毕业,请问当时你是如何想到加入瑞友呢?
我高考的时候发挥不理想,只报考上了一个三流大学,在选择专业的时候,因为当时正好是计算机软件开发的浪潮,大多数人都选择了计算机专业,我为了大学毕业后容易找到工作就随波逐流,选择了计算机软件开发专业。
大学虽然不入流,但是课程安排紧跟潮流,当时正好Java语言风潮,Java号称一次编写,到处运行(Write once, run anywhere)。语法简单,学习门槛极低。大学课程中安排了Java课程。我为了毕业后能更快的找到工作,在大学期间参加了中软集团组办的SCJP和SCJD课程,并通过考试获取了SCJP认证。
SCJP认证也帮助我在大用软件公司面试的时候脱颖而出,作为初级程序员进入了该公司对日开发项目组。在初期和团队的合作下,经历高强度的加班,完成两个对日项目的交付。我也是在这个时候认识了胡捷,这段时间个人能力有了很大的提升,知识面也拓展了很多,提高了我自己在技术方面的自信。
我在大用软件公司呆了差不多两年时间,大用软件毕竟是小公司,又因为高层人员替换,造成了业务断档,对日开发项目组员各自寻找出路,我经项目组成员胡捷的介绍,加入了当时名字还是用友工程的瑞友科技公司。
你喜欢编程吗?什么时侯发现已经爱上编程并且无法自拔,呵呵?
我怀揣着技术改变人生,自己改变世界的梦想进入了程序员的队伍。
在我的第一份软件开发工作中,当我在一次为了解决一个问题,在网上不断的搜寻资料,不断的和同事讨论,寻求最合适的解决方案。经历了和同事小声探讨,大声争吵,直至到拍桌子反对,摔门而出,冷静一阵后,再次继续讨论的过程。终于在凌晨三点多,确定了解决方案,并且获的了客户的认同,这时候所有的同事都非常兴奋,每个人都大声的叫喊着,好像比赛胜利后的庆祝,这种场面我记忆深刻。
我喜欢不断的研究各种开发语言,学习各种开发框架和工具,提高自己的技术能力和知识水平,我非常享受当我了解,熟悉,精通某一个新语言,新框架,新工具的过程,并实践到工作中带来的满足感和成就感。
在公司期间,什么时侯个人能力得到了很大的提升,有贵人相助吗?
加入平台部后,我自己总结个人能力快速提升有三个阶段。
第一个阶段是负责单个组件开发和维护期间,在此期间熟悉使用Struts,Spring, hibbernate框架,单数据源和多数据源配置,前后台逻辑分层解耦的设计模式,掌握领域对象设计模式, 熟悉多种设计模式并应用到实际开发中。
第二个阶段是负责平台部署阶段,使用python和shell编写自动化部署的脚本,使用Ant编写数据库初始化脚本,掌握单机部署和集群部署的设置,提供集群部署时Session共享,缓存同步等解决方案。使用Docker技术搭建部署环境。
第三个阶段是平时外出支持阶段,在此期间和项目组人员分析问题,讨论需求,提供解决方案,加强自己的问题分析解决能力。在和客户方进行技术交流的时候,可以拓宽知识面,发觉自己能力的不足。
在此我非常感谢池建强平时对我的提拔和帮助,平时经常和池建强求教和讨论技术问题,得到他的大力帮助和支持。
在瑞友工作十年了,期间想过跳槽吗?
当然想过,我要是说没有想过,你肯定也不会相信,呵呵。我的性格比较沉稳,在适应了现在的工作环境后,很不情愿再去跳槽到其他公司的工作环境。我是很喜欢研究技术,对于业务不是很感兴趣,所以以前有其他公司联系我跳槽,去开发维护业务系统,都被我拒绝了。
加入平台部后,在池院的领导下,给了我们去钻研技术的环境和氛围,让我感觉如鱼得水,也让我认识到自己的定位,就是一个努力钻研技术的普通开发人员。我不适合去开发业务系统,和客户讨论业务需求,我只是去喜欢研究技术。在我认清楚自己的定位后,就坚持留在平台部,去研究自己喜欢的技术。
你认为成功标准是什么?自己是否想成为成功人士?
每个人对成功标准定义不一样,每个阶段对成功的定义也不一样。刚毕业的时候,我对成功的定位就是,通过自己的努力找到工作,努力提升技术能力,得到公司和同事的认可,开发的系统上线后得到客户的认可,我就算成功了。
加入平台后,我对自己的标准是,开发出帮助用户和项目组减少开发量,缩短开发工期,不断复用的技术组件。不断的去学习新技术,新框架,去给现有技术组件升级,保证平台的技术前沿性。
GAP平台已经被很多项目组使用,也获取客户方的认可,很多客户采购GAP平台作为基础平台进行开发,GAP平台的成功,就是我们部门的成功。
在这个职位上,如果想获得成功必须拥有并保持什么样的能力?
平台部开发经理这个职位很看重综合能力,首先要有很过硬的技术能力,了解平台各组件的功能和使用场景,熟悉平台的提供的各种解决方案,了解平台开发中使用的多个开源框架,熟悉并在开发中灵活的运用设计模式。
其次要对技术充满热情,要不断的去学习新的技术知识,跟上技术潮流,在技术圈中不被抛弃。要花费很多时间去了解新的开源框架,对框架进行技术预言,考虑如何把新的框架引入到平台中,替换或者升级原有的框架,保证平台的技术先进性。
再次需要有良好的沟通能力,平时要和组员不断的对开发过程中遇见的问题进行讨论,如果沟通不顺畅的话会浪费很多时间。因为平台还有对项目组进行技术咨询和技术支持的责任,外出支持的时候,要和项目组人员或者客户进行交流,如果没有很好的沟通能力,大家对技术难点或者问题定位不准,很可能会花好几倍的时间才能够解决。
你怎么看待这个领域工作的将来的变化趋势?
随着互联网、移动信息化技术的迅猛发展,云计算作为新的商业模式和新的技术,逐渐在基础设施、开发环境及应用等层面,成为主流。 在企业IT领域,大型和中型企业,除了选择公有云以外,也在利用新技术改造机房和服务器群,实现私有云平台。 但市场上依然缺乏成熟、易用的私有云构建平台。
计算资源的集中化利用,以及按需分配计算能力和存储能力的模式,是云计算最为基础也最令人称道的两个特性。但在此基础上,也随之带来了更多有益性能,包括安全性、可靠性、健壮性。都是过去传统的非云结构和非云模式,所无法比拟的。当然,云计算在当前的技术能力水平下,最重要的使命是,为共享、互联各种运算资源提供了最经济、也是最现实的技术支撑。
云计算平台,包括公有云和私有云,将给信息化、互联网行业带来巨大的集约化效应。将会极大的推动互联网、软件的发展。将计算资源、存储资源的获取变得简单、将计算成本极具降低、将信息和数据的海量流动变的更加快速。而这一切,都将进一步带动其它行业、乃至整个经济的发展。
都说做编程的人很内向,话不多,对此你怎么看?
这个看法有点偏执了,程序员因为工作性质的原因,需要把全部精力集中到程序开发,技术研究中,需要高度的集中力,又因为程序要性格大多数比较沉稳内敛,所以给其他人留下了内向,说话不多的印象。
其实程序员话不多,可能是因为他对该话题不感兴趣,君不见在技术讨论时,程序员都是肾上腺素急升,瞳孔放大,满脸通红,手舞足蹈,可见程序员在感兴趣的话题面前,绝对不是说话不多的现象。
平时喜欢打游戏,看韩剧吗?
我已经不经常玩游戏了,平时的娱乐方式就是上网看美剧。我最早看的美剧是《24小时》,当时正好放假在家,我花了一天多的时间一口气全部看完了第一季,当时给我的印象非常震撼。自此以后我就爱上了看美剧,我喜欢看罪案类,律师类和医院类的美剧,包括《犯罪现场调查》(CSI) 《罪案终结》,《傲骨贤妻》,《生活大爆炸》,《猫鼠游戏》,《金装律师》等。
我还买了好几块移动硬盘,把喜欢的美剧都下载下来,存在移动硬盘里面,等到春节放长假的时候,可以独自一人慢慢的播放欣赏。
生活中是如何跟小孩子相处的呢?你希望当一个怎样的爸爸?
我很孩子平时相处时间不是很多,我家小孩心里的地位是,妈妈,奶奶,爷爷,爸爸,我是最后一位,呵呵呵。我家小孩不和我们住在一起,他住在爷爷奶奶家,我们自己单独住。有一次,我们晚上准备回家,我家小孩就抱着妈妈的腿说,妈妈不要走,妈妈过来,爸爸自己回家吧。这就看出我在孩子心中的地位了,呵呵。
我平时对孩子管教的不是很严,不会刻意的去要求孩子干什么,学什么,只是想让孩子自己有个不太限制的童年生活。但是我会教导孩子有哪里地方危险,有什么动作会伤害到自己,让他从小知道如何避免使自己陷入危险。
我希望当一个慈祥的爸爸,哈哈哈,肯定不是这样了。我希望有时候可以跟孩子做朋友,可以让他跟你谈心,帮助他建立争取的人生观和世界观。但是当他犯错误的时候,我又要有严厉的一面,不留情面的批评他,让他认识到自己的错误,并保证以后改正。
总的来说,我就是希望自己可以做孩子的知心朋友,严厉教导他的师长。
未来,你希望你的小孩也从事编程工作吗?
我对孩子的未来没有太多的规划,也不想强制要求他向哪方面发展,全部取决于他自己的意愿和兴趣。我只是希望我的孩子以后,锻炼身体,保证身体健康,有正确的人生观,懂得各种生活技能,可以自己很好的独立生活,并不去过多的要求他去从事哪方面工作。参与哪种工作,获取多少酬劳,都是由他自己决定,我只是希望他不要轻言放弃,要知道自己的定位,坚持下来,而不是轻言放弃。
公司的一些重要决策,比如GAP,为什么要做这个决策,在这个决策的背后大家都做了些什么?
GAP平台当时是给公司项目组内部开发使用的,为了项目统一开发标准和规范,减少开发周期,快速开发以及公共组件复用。
GAP平台中基于SSH开源框架构建(Struts+Spring+Hibernate), 统一管理前端请求,前后端解耦。支持四种数据库(Oracle,Mysql,SqlServer,DB2),支持四种主流浏览器访问(IE,Chrome,Safari,Firefox),提供国际化机制,快速开发工具。GAP平台中还包含组织权限,工作流,业务日志,任务调度等各种组件,实在是开发不可多得的工具。
匆匆十载,在卖桃君的领导下,平台部门各个人员的努力下,GAP平台已不只是一个开发工具,它已经成为了一个体系。GAP平台提供了数据库设计规范,开发规范,接口规范等标准,提供了单点登录,集群部署和基于Docker技术搭建集群环境等解决方案,提供了快速建立数据库,自动化部署的脚本。可以在Windows和Mac系统下,使用GAP IDE来编写程序,通过GAP IDE在本机部署执行。
现阶段,GAP平台致力于组件服务化,PAAS平台和移动互联平台。组件服务化的目标是把GAP平台中的组件通过WebServices的方式串联起来,不用再向以前GAP平台的组件都集成在每个系统中。现阶段组织权限组件完成了服务化改造,组织机构信息由服务端系统集中管理,授权信息各个客户端系统维护,通过Dubbo+Zookeeper搭建分布式组织权限管理系统。PAAS平台管理Docker镜像,容器和基于Docker的部署环境,Docker技术可以分离应用,统一部署环境,减少因测试环境和生产环境不同而造成的程序问题,横向追加集群节点。移动互联平台提供了服务端和客户端程序,服务端提供资源管理,OAuth授权机制,授权管理(APP授权和用户授权)。客户端支持Android和IOS两套系统,使用原生程序开发,提供了GAP平台部分组件的展现和功能。
这个行业存在的困难及前景如何?
软件开发这个行业的技术更新是很频繁的,技术框架更迭快速,开发语言频出不穷。两三年前开发的系统,使用当时比较热门的技术,到现在很可能就已经落后,有其他开发更简便,效率更高的框架,更适合业务场景的框架替代了。这样就给企业维护升级系统带来很大的困难,企业的系统维护人员要不断的去学习,预言和选择新的,适合业务发展的技术框架。在企业内容系统中使用开发语言不统一,给系统升级,数据交互,业务合并拆分带来很大的不确定性。
使用GAP平台帮助客户统一了开发语言和技术标准;共同业务抽取为技术组件,复用到不同的系统中,减少共同业务功能的开发;提供代码生成器,减少公共基础代码的开发,统一代码风格。GAP平台有专业的开发人员来维护技术组件,保证技术组件的更新,修复技术组件的Bug,保证技术组件的质量,客户不再担心技术框架不统一,代码规范不一致带来的升级压力。
GAP平台除了提供了开发IDE,开发框架和技术组件外,还提供了很多的解决方案,包括单点登录,国际化设置,单机部署,集群部署,Docker化部署环境,Dubbo服务化管理等。
GAP平台正在不断的向新技术领域拓展,保证技术前瞻性,给客户带来更多的帮助,给公司创造多更的价值。
如果要给大家推荐一本书,你希望推荐什么?
我是一个技术人员,所看的书都是技术领域的,推荐给大家的也是偏向技术性书籍,非技术人员或者不关心新技术的人可以跳过此段,呵呵呵。以下内容技术性十足,语言枯燥,建议读者掐着大腿耐疼读完。
2014年至2015年间,Docker如火箭升空般,发出了阵阵热潮,迅速的进入了开发人员和运维人员的眼界,很多人都把它看做一场“革命”,许多公司已经要求运维部门来使用Docker管理部署环境,并且组建专门的人员来基于Docker开发运维系统。如果你没有听说过Docker,OK,你可以回去当奥特曼了。
Docker是一个重新定义了程序开发测试、交付和部署过程的开放平台。Docker也是容器技术的一种,它运行于Linux宿主机之上,每个运行的容器都是相互隔离的,也被称为轻量级虚拟技术或容器型虚拟技术。而且它有点类似Java的编译一次,到处运行,Docker则可以称为构建一次,在各种平台上运行,包括本地服务器和云主机等(Build once,run anywhere)。
Docker相比虚拟机来说,占用磁盘空间很小,启动速度快,资源利用率高,一台宿主机可以启动成千上百个容器,性能开销小, VM 通常需要额外的 CPU 和内存来完成 OS 的功能,这一部分占据了额外的资源 。因为VM 的 Hypervisor 需要因为VM 的 Hypervisor 需要实现对硬件的虚拟化,并且还要搭载自己的操作系统,自然在启动速度和资源利用率以及性能上有比较大的开销。
《第一本Docker书》是全球第一本Docker技术图书中文版,Docker中文社区鼎力支持。这本书在内容编排和语言表达上都非常好,让初学者阅读起来非常轻松,毫无枯燥感,里面既介绍了Docker是什么,Docker的应用场景,讲解了Docker的基本命令,也提供了几个镜像搭建的样例。非常适合作为学习Docker的第一本入门书。
对于一直在这个行业里行走的人,你有什么建议?
首先要对技术保持好奇心,要不断的去学习新技术和新知识,保证自己不会在技术上落后,其次要有一颗耐得住寂寞,抵抗住一些诱惑的心态,做技术这条路很枯燥,很寂寞,当你去学习新技术的路上,会发现自己可能很孤独,没有人跟你同步学习,网上的资料都可能是陷阱,包括官方文档,这时候你就要保证耐性,不断的去试错,不断的去判断和分析,直到你发现了解决的办法。
所以如果你想在技术上有所发展,可以考虑加入平台部,我们很需要人才。
标签:
原文地址:http://www.cnblogs.com/mascott/p/5587189.html