京剧,对于我而言是什么?它是国粹,很多老人喜欢它,里面有生旦净末丑,布满灰尘的京胡,还有各种叫不出名字但一定布满灰尘的中式乐器,脸谱,变脸,看到马上换台的戏曲频道,春晚的发短信时间,梅兰芳电影……好了,我拼命在我的记忆里搜寻也只能找到这些印象。直到昨天,一张珞珈山剧院的第六届京剧艺术节邀请票让我联想到另外一个记忆,一个童年的缩影。
直到我收到这个邀请票,我才知道,那个胖子回来了。他就是@董洪松, 这次在第六届京剧艺术家出演一场戏的主角,他的家人邀请我在内的一票小巷的邻居前去捧场。于是,回到开头的第一段,京剧,对于我而言是什么?老乡聚会。
一部国粹京剧,往时一直是老一辈人的喜好。如今虽然年轻人的兴趣在互联网,各种移动设备,各种社交,但是通过这场戏我觉得中国的京剧工作者们在努力,努力使京剧变得活泼有趣,兼容包并,使得京剧融合在其他外来异族文化中继续发扬光大。这需要一种胸怀。京剧正宗?如果没有人看,再正宗也是孤家寡人而已。
最后再次回到文章第一段,京剧,对于我而言是什么?开放!
前同事离职,我接手他的项目,到现在为止,缝缝补补敲敲打打接近2个月(包括十一休假)。中间有大量的技术重构情节,于是总结和思维拓展一下关于重构的话题。当然,接下来不会讲技术细节。
项目背景是要将原来一个程序从本地版移植成在线版,说白了就是从本地读数据变为发web service从服务器拿数据。这么说其实这个项目本身就是一个大的“技术重构”,因为程序的关键点在于拿数据的方式不太一样,大部分的业务逻辑是可以复用的。当然由于在线版取消了SD卡,所以需要考虑性能和磁盘空间的问题,比如展现数据的列表就需要加上分页的功能,所以部分的表现层逻辑也需要相当的修改。编程语言是面向过程,特定平台的移动开发方式也是逻辑和界面混合编程,再考虑服务器端的编程,这确实不是一个简单的工作。
接手原来的同事的项目为什么也需要技术重构?坦白讲,前同事离职期间比较赶工,加上在原来的代码基础上修改,而且项目的需求又不太明确,所以很多情况下做出来的东西像半成品 -- 表面上一个普通的bug,实际分析后可能需要重写相应模块才能从“根本”上修复掉这个bug。苦不堪言,为什么苦?不是因为重写模块多么复杂,而是表面上的这一个bug给客户的管理层,公司的管理层,以及自己带来了“一个bug应该马上可以修复掉”的期望,但重写相应模块甚至重新设计相应的技术架构又需要相对较长的一个时间并且没有产出!这对于软件服务公司来说“没有产出”是很让人hold不住的事情。奋战了将近两个月,这个项目基本稳定了。
现在的项目组所工作的移动平台有两个,一个便是大家熟悉的iOS,另一个便是所服务的公司(以下简称GB)自己研发的W平台。W平台是实现一个类似于虚拟机的机制,对各种操作系统透明,开发者只要学会使用该平台上特有的API便能快速开发移动程序,并且配合强大的Synchronization机制和W平台的Server端,建立一个解决方案也就变得非常敏捷。可以这么说,这么一套W平台便是GB公司赖以生存的家当。由于GB公司的战略上只针对企业信息化而不是面向普通消费者,这套平台还没有实现开放也暂时没有必要,因此如果客户的IT部门在购买解决方案后有兴趣实现二次开发,不得不购买昂贵的SDK以及各种文档。
正是由于W平台的特殊的封闭性,所以在互联网上基本上找不到任何的学习资料。基于这个事实,一旦有新人加入团队,那么学习的途径唯一来自于内部的文档。更进一步的说,任何开发者不论是应届生还是有工作经验的人士,对于W平台来说都是新人,因为之前不可能接触到这方面的知识。于是,所有新人在进行正式商业项目开发之前必须经过一轮培训,还要做培训项目。这样的培训属于在职培训,即公司希望受训者能够在保证效果的情况下更有效率的完成培训,随后开始产出。
如何保证培训即有效果又有效率?
断断续续地花了两个月的周末时间,中间也暂停了好几周。起因是因为团队里面的新人以及公司新人写邮件实在太不着调,而且公司又恰好没有这方面的培训,于是便推出了这样的系列课程。第一部分已经推出,在公司里和网上反响都还很不错,而且还得到了@秋叶语录 老师的指导,有时间写第二部吧。点击这里下载。
今天是7月23日,距离这次.NET Training A班开始的日子整整3周。当初一共有16名同学,其中的4名研究生到这周为止已全部放弃。剩下的14名本科生,除了1名因为违反安全规则和触犯诚信价值观被离开,其余都各自为自己的Training project坚持奋斗中。
我在跟同学们群聊和私聊中了解到,大家都不约而同的发现一个现象:放弃的恰好都是研究生。面对这些研究生的放弃,剩下的同学并没有表现出因为他们的放弃而影响士气,反而有了一种另外的自信。无疑,研究生和本科生的话题再次被端上了大家午饭和晚饭的饭桌上。
他们常常会有的几个想法:
1. 来公司实习是来学东西的。
2. 来公司实习应该和研究生学习一样轻松快乐的,至少不能相差太大。
3. 我的学历比本科生高,能力应该也是。
4. 我的专业是A语言,我就对A语言有兴趣。
5. 我做不好这个是因为我没有兴趣,我只对我有兴趣的东西做得好。
最近做一个项目,带着团队里面的两个新人。两个新人在平时的评价都是非常聪明,学东西很快,可是因为项目原因不得已一直在做一些维护项目,只是修复下软件缺陷,从来没有做过新的项目。而这次恰好赶上我工作比较忙,便有了这次机会。
前两天,随着我开始做代码评审,发现项目上的质量问题越来越多,最后导致其中的一位新人昨晚通宵了,因为他做的一个模块被我看了之后需要全部重写。另外一个新人虽然没有通宵,只是因为他的模块在之前看过,结果也是全部重写。这两个新人的错误很有代表性,在这里马克一下,我认为这些是很多新人编程容易犯的错误。
1. 不读懂需求就开始写代码。
2. 写代码没有任何思考。
微博,是一种和时间有非常紧密联系的社交工具。一般来说,用户只会看当前时间点的“我的首页”,而对以前发生的事情,不管是关注的人还是自己,通常都不会去“挖坟”。
博客,普通的浏览便是一种“挖坟”。
5月26日 07:45 我很庆幸我在大学的时候就学了驾照,这样不用在工作的时候还辛苦考驾照。我认为如今驾驶技术应该至少成为大学生的选修课。有人肯定会说,现在交通这么堵,还鼓励人去学驾照?拜托,交通堵是相关部门的工作不给力,和我们自身想提高而学习驾驶技术有何关系?#菠萝头说#
......
我所在的公司专注于世界级软件服务,在刚刚成立的时候是全英文环境,据说甚至包括走廊和厕所里面。我没经历过那段创业时代,但是我却相信是真的,因为人少,而且老大们都是华裔美国人。但是随着公司规模的不断扩大,不可避免地,英文环境在退化。这其中我认为主要有两方面原因:一方面是公司员工扩张很快,所以价值观从上到下从老到新的传承时会有失真;第二方面是越来越多的中国业务的兴起,在中国项目组面对中国客户时“仍然坚持说英文”确实不太恰当。
所以结合公司目前的情况,我认为一个比较可行且符合事实的标准应该为:欧美项目组应该保持英文环境,中国项目组不做强制要求。
