研发公司扁平化管理的一个坏处

现在工作的公司比较扁平,上千人的规模,从我这个小碎崔到最大的老板也就四级吧。而且头头脑脑都是搞研发出身。一直认为这种扁平的结构很好,做事情不繁琐。但是现在有了项目的压力,逐渐有不舒服的感觉了。

工程师着眼于技术,老板着眼于项目和产品。把我们分成1/2/3/4层的话,2层的长官就是要对项目、产品以及产出的效益负责的人了。2层长官夹在客户和产品中间,不容易。虽然他也是工程师出身,但是现在的工作不允许他再从技术的角度考虑问题了,奔命于客户和会议之间,满脑子都是下一个可以卖钱的产品的模样。基本上他不再考虑具体研发方法的细节了。

太扁了,我上面只有3层的老大罩着。这层老大直接受到来自2层长官的产品压力,要把产品目标转化成技术问题,交给我们这些4层小喽啰来开发研究。3层老大夹在产品和技术中间,不容易。

当项目和产品接踵而至的时候,压力在这种扁平的层次上很快就渗透到底层来了。当3层的老大对设计不再讲究设计的优美,而是催促4层喽啰为了交货红了眼似的打patch,修bug的时候,整个工作就变得没有意思了。不可一世的IT工程师也开始以民工自居,不停的加班,迷迷糊糊地写垃圾代码,然后互相推拖责任,“这个bug肯定跟我无关”之声此起彼伏。

这就是最近感觉到的,研发公司管理过于扁平的一个坏处。市场的压力渗透到工程师太快了。打破了工程师宁静思考的空间,贬低他们自以为优雅巧妙的设计,使他们自卑,感到自身的庸俗。于是没有创造性,开始为了生产而生产,哪怕是垃圾。

Python 2.5 发布,支持Conditional Expressions

曾经笔记过用 and 和 or 来实现 Conditional Expressions。在刚发布的Python 2.5版已经明确的实现了这个功能

可以这样用了:
x = true_value if condition else false_value

当然,这只是Python 2.5 众多新特性中不起眼的一个吧。

9月9日购书单

书都还不错,好几本是看别人blog上的推荐积攒下来的,希望都能仔细看过。还有一个结论,就是机械工业出版社的书,印刷质量实在是太次了。好些影印版让他们出了,真是白瞎这些书了。

敏捷软件开发(中文版) ¥39.00 ¥17.55
深入浅出设计模式(英文影印版)(2005年第15届Jolt获奖作品) ¥98.00 ¥76.44
北京法源寺 ¥20.00 ¥18.60
算法导论(第二版 影印版) ¥68.00 ¥56.44
C++编程思想(英文版.第2版) ¥58.00 ¥45.24
滇缅公路-第二次世界大战中国-缅甸-印度战场的壮丽史诗 ¥29.00 ¥26.97
铁质时尚烟灰缸(购物满200元,加2元赠)(赠品) ¥10.00 ¥2.00

抽象归纳数据结构,重用算法

有一句古语

程序 = 数据结构 + 算法

说得还是有深意的。在接触C++、面向对象、STL、Design pattern、消息机制等等技术过程中,逐渐发现,它们都包含围绕着那句古语而展开的思路,目的是重用

一般来说,都是对不同的数据结构(类型),应用同一个算法。算法被重用。

template method这个pattern是个典型的例子。

template method

基类(Abstract class)中的TemplateMethod()是个算法。这个算法对于所有派生类(Concrete class)都可以重用。

STL中很明确地实现了这个概念,对不用的container,算法都可以实现。

不论是template、inherintance还是任何其他的机制实现的重用,约束都是把代码重用到一类有相同接口(interface)的结构上

也就是说,把需要研究、表达、操作的对象,抽象出他们的共同特征(也就是接口),然后归纳为一个类别之后,就可以把同样的方法和手段,无差别应用到所有这个类别中所有的实例上了。这是就是重用的思想。是个个门类的科学技术的最重要的思路。

最近接触一些应用了消息机制的工作,归纳起来看,也可以把消息机制看作一种类似的抽象与重用的例子。消息循环是一个算法,它负责取从消息队列中出消息,然后把它实现执行。之所以能够执行是因为每个接受消息的object都可以把消息映射到对应的消息处理函数上,这些函数的接口固定。于是根据不同的消息,不同的程序就被执行了。整个消息队列机制实现了在一个任务(task/thread)中,用有限的代码(消息循环),无限地执行动态演变的程序。强大的算法,不是吗?

消息处理的接口,是个一致的接口。消息处理者之间也可以互相调用(SendMessage),避免了调用函数时要遵守的复杂的函数prototype,也不必因为函数prototype的更改影响其他程序。实现重用了。

Random posts

  • Gridview排序和分页的基本机制
  • [电子书 ] Chemoinformatics: Theory, Practice, & Products
  • I am Charlie Zhu
  • 观山寨手机有感
  • 同是底层的人