很早就买了这本书,也断断续续的读了一点,但很难一口气读太多,主要还是我的心境问题,总想看看具体的技术文章或者在网上闲逛。现在想想,有些东西真的很浪费时间,例如电视、电影、小说等等。记得谁说过,要想学习的话,第一件事就是把家里的电视给砸了。不过这个就有点极端了。

 

废话就不说了,比较郁闷的是读到本书119页时,发现下一页是132页,悲剧,居然差这么多。书是在当当网买的。

 

只好上网下载电子版,放到电子书中阅读,总算是没有漏下什么文字。设备:Onyx BOOX M92s

 

一、写在前面

从序大概可以看出,本书并不是专业的技术类或者管理类的书籍。就像阿朱说的那样,本书并不是技巧书或者电子书,虽然其中列举了很多解决实际问题的方法,各种书籍,各种管理经验。但这些东西都是在阿朱自己所在的行业、技术背景、环境下产生的,除非条件等和作者神似,否则这些东西很难生搬硬套。

 

我以为,这些知识、经验,更多的是引发自己的思考,然后集合自己所在的环境,思考适合自己的解决问题的方法。所有书籍传播知识的方法应该都是这样的:了解、学习、引发思考、发展。

 

二、各章的阅读笔记

《微软的秘密》写文章的时候,我已经开始阅读这本书。

 

引子

这个是作者阿朱的博客地址,刚刚我才从csdn来到51cto并开辟的博客,因为51cto支持blog api,那么我就可以使用live writer写日志了。

 

双龙会

老板在公司运营层面考虑开源节流;

CTO在产品运营层面考虑开源节流;

我,作为研发中心的软件部副总监,是不是应该在软件开发和软件部管理方面考虑开源节流?

 

2009年硕士毕业,专业是机械制造;转行到软件开发领域,因为这是我的爱好和梦想所在的地方。

入职深圳巨龙科教,研发总监和分管副总都是女的,很强势。转正后,以项目经理身份带领团队开发项目。其实那时候很菜,主要是因为原项目组中2人不和,2人不受领导喜欢,所以这个机会才给了我。

2009年10月,在公司追到现在的媳妇。

2009年11月,项目组内2人离职,我成了光杆司令。

2010年经过一年的努力,累的要死,终于熬得技术过关了。我的第一个项目虽延期,但还是在过年前发布了。

2010年农历年后,从OEM组掉过了一个同事,成为我真正意义上的下属。我从0开始教他Qt和开发,并完成了第二个项目的发布。

2010年中,陆续加入3个同事,并顺利完成了第三个项目。1同事离职。

2011年开始,公司内部高层震动,没有大的项目启动,我就不停地思考怎么改进部门内部的管理,因为实际我是项目经理也是整个Linux部门的老大。那时候还很自豪的,因为自己引进了Hudson、redmine等管理工具,并不停地尝试怎么让开发的过程可以产生积累、怎么更好的管理下属的任务。

2011年中公司考虑用Qt改变现有的Windows平台使用VS开发;Linux平台使用Qt开发;Mac平台使用XCode开发的现状。陆续开了2-3个项目进行大量的验证工作。并和Mac组的一个同事一起去广州参加了一周的架构设计培训,因为公司现有的架构已经不能满足后续的开发要求,不能快速的相应需求的变更。我们研发上层的决定是重新设计架构,并重写软件。实际证明这个决定是错误的,因为这样会导致很久没有新的软件产出,且新作出来的东西风险很高。因为我们之前没有现成的需求文档,虽然和测试部门合作写了一个初稿出来,但是很多细节的需求完全隐藏在代码中,要完全剥离出来,很不现实。我现在认为当时的做法应该是在原有代码的基础上进行重构,先解决函数、类、文件、模块、架构、框架。然后分离业务逻辑和界面实现,用Qt重写界面实现部分。

这样就可以在重构和重新设计的同时,也可以开发新的功能,发布新的软件版本,给公司创造新的收入点。

2012年合同到期,开始考虑续签和换工作的事情,由于年终奖和项目奖金的问题,一直拖到5月中,才正式离职。虽然最后金钱上面没有损失什么,也有3个月左右没做任何工作却照常领工资,但损失的近半年的时间,却让我想在都觉得大大的肉疼,因为金钱才是无价的啊。现在想想当时离开那家公司是多么的正确,因为居然近半年的时间可以没事做白拿工资,而且不是我一个人是几乎整个软件部门,公司真是冤大头啊。

本来是准备休整3个月的,顺便和已经结婚了的媳妇出去旅游下。结果6月,接到现在公司的邀请,进入刚成立的研发中心,任架构师一职。新公司和原来的公司是同一行业,同样的产品,区别是这里之前用的软件是买别人的,现在准备自己开发软件。也就是说我可以在不损害公司利益的前提下,继续我的白板软件新架构和框架的开发。

2012年剩余的时间,我都在开发这个新的架构、框架,由于有了上一家公司的经验,这次的架构我进行了调整和简化,但其实现在看来还是很复杂。犯了阿朱说的“新人、新团队、新技术”的错误,而且一开始就开发了基础框架。

2013年一眨眼就到了,老婆怀孕5个多月,因为新公司的地方有喷涂的公司,污染较重,所以怀孕后一直在家待产。我们开始进入开发插件阶段,框架已经完成了最基础的部分。因为我们框架的理念是微内核,所以前期的插件开发还是比较顺利的。当然这里的微内核,并不是真生意义上的微内核,是伪的。

目前已经是2013年6月5日,但软件的第一版本还是没有发布,总是bug不断,软件的功能和效率都不能让我满意。我也很焦躁,中间也想了各种办法,比如Hudson、svn、资源FTP、测试团队、MS Project、Bugzilla、Qc、Teamlab、xxx、每日任务列表,但软件开发和管理上还是达不到我心里想的效果。

2013年6月13日我来新公司将满一年,我的目标是:完成软件第一个版本的发布工作。总结完本读书笔记。在六月份打一个漂亮的翻身仗,改变软件bug不断的现状,引入需求和任务管理系统、内部论坛、内部wiki、内部定期知识分享,真正的打造一个学习型的分工明确的有责任心的乐观的团队,打造一个稳定,高效,多功能,基础功能完善的软件,打造一个开放、美观、功能可快速开发的班级管理、试卷管理、评测管理、资源管理系统;完成多平台多系统的软件体系规划,windows、linux、mac、android、web;综合软件和硬件整理考虑课堂和会议解决方案。从切实的意义上,使整个公司的软件系统能够帮到老师、学生、学校,是教育更自然,最重要的是使公司能够赚到更多的钱,销售能够更省力的抓住一个个客户。甚至希望能够帮到中国的整个教育事业的发展,使任何老师都能很好的完成教学任务,减少一般老师和高级教师的区别,促进教育公平。