本文发表在 rolia.net 枫下论坛小公司和大公司是不一样的。
大公司的分工比较细,写软件的,基本上,就写好软件就好了,算法,硬件什么的,都有人做。分工太细,如果管理不好的话,反而令内耗大为增加。
小公司的话,软件人员也要研究硬件手册,甚至写信号处理的算法。
在那小公司,虽然是自己做硬件(很多国内的同类型公司都是买国外的现成设备再开发软件的),软件人员还是比硬件的人多。
硬件做好后,他们试了一下,基本通了,就给软件了。
软件要自己定方案,如何把硬件充分利用起来,如何把数据在系统内高效流动,如何分配管理各种资源,等等。
别小看资源管理,有一个处理器的50%的代码,都是干这个的,大概有10000行的代码了。
另外,还有总线的管理,谁可以用那条通信的的信道,这里,有10000行代码了。
我提了个要求,所有程序员不允许随便使用软件开发系统提供的API。我其实有点不相信现代的软件开发环境,现代软件开发环境,提供了无数的API,究竟里面有多少bug.我可没有把握,减少使用奇怪的API,只使用最常用的API,可以减少风险。多年后看回去,这一决定,暗合日本的操作系统设计思想,日本人的电器,这么厉害,他们的软件思想也是有独特的地方的。其实,我们的系统,其可靠性要求,比电器和普通个人电脑还是要高几档的。死机是代价很大的。
我写了软件检查程序中API的使用情况,每有一个新的API被用到。我都要知道。
后来,老总要求换一个操作系统,我10来天就干完了,我在新操作系统里,仿真了旧操作系统(os)的所有我们用到的API。
另外,这个还可以迫使程序员写出来的程序比较象,而且比较容易理解,如果程序员用了些怪怪的API,别人就难读了。更多精彩文章及讨论,请光临枫下论坛 rolia.net
大公司的分工比较细,写软件的,基本上,就写好软件就好了,算法,硬件什么的,都有人做。分工太细,如果管理不好的话,反而令内耗大为增加。
小公司的话,软件人员也要研究硬件手册,甚至写信号处理的算法。
在那小公司,虽然是自己做硬件(很多国内的同类型公司都是买国外的现成设备再开发软件的),软件人员还是比硬件的人多。
硬件做好后,他们试了一下,基本通了,就给软件了。
软件要自己定方案,如何把硬件充分利用起来,如何把数据在系统内高效流动,如何分配管理各种资源,等等。
别小看资源管理,有一个处理器的50%的代码,都是干这个的,大概有10000行的代码了。
另外,还有总线的管理,谁可以用那条通信的的信道,这里,有10000行代码了。
我提了个要求,所有程序员不允许随便使用软件开发系统提供的API。我其实有点不相信现代的软件开发环境,现代软件开发环境,提供了无数的API,究竟里面有多少bug.我可没有把握,减少使用奇怪的API,只使用最常用的API,可以减少风险。多年后看回去,这一决定,暗合日本的操作系统设计思想,日本人的电器,这么厉害,他们的软件思想也是有独特的地方的。其实,我们的系统,其可靠性要求,比电器和普通个人电脑还是要高几档的。死机是代价很大的。
我写了软件检查程序中API的使用情况,每有一个新的API被用到。我都要知道。
后来,老总要求换一个操作系统,我10来天就干完了,我在新操作系统里,仿真了旧操作系统(os)的所有我们用到的API。
另外,这个还可以迫使程序员写出来的程序比较象,而且比较容易理解,如果程序员用了些怪怪的API,别人就难读了。更多精彩文章及讨论,请光临枫下论坛 rolia.net