大大话话已经工作两年了,也应该写写总结了。
最近,转入半管理状态,这和之前纯代码开发有了很多不同。
1.良好的实现是必须的,良好的架构更必须!
“编程至于今日就像是软件工程师们和这个世界的一场较量。一边是软件工程师不停地努力编写更复杂更、且不会在傻瓜用户手下崩溃的程序;一边是这个世界不停地努力制造着更多、更大而且是更笨的傻瓜。目前为止,这个世界暂时领先-----Richard Cook”
今天的软件更应该像是一个工业产品而不是一件工艺品。我们需要的是一个外科团队,而不是一个手工工匠,表现在代码层面,我们更需要美丽的架构,而不单是奇妙但略带怪异的实现。这当中表达了两种美学,一种是工业化标准统一美,一种是独特风格的多样美,他们并不冲突,但我认为更应该着重前者,毕竟现在社会分工越来越细,这就要求我们使用统一的规范的标准和风格,以减少交流成本。
2.软件交付的不应该是功能,而是客户价值
一个良好的设计所最求的,简而言之,就是中庸之道。没错,折中。一个项目,一个软件,每个参与者对其关注点有一致也有冲突。而作为主导者,我们应该综合考虑各个参与者的利益,权衡轻重。应该是站在项目的角度考虑问题,而不是站在代码角度。一个典型的栗子,一个开发项目中,投资方关注的是产品市场大小与前景,项目时长,产权保护与销售;而开发工程师关注的更多是使用语言,使用平台,需求;而最终用户则关注软件易用性,稳定性,价格。
3.求道者
开发就是开发,和金钱什么的没有太直接的关系。只不过是想做自己喜欢的事情而又不至于挨饿罢了。我是个求道者,追求心目中软件的美而已。我希望怀着一个艺术创造的心去做开发。
最后,就是存在的问题了
1.英语需要提高,不然代码的表现力真的太差啦,沟通成本负担不起
2.架构思想,设计概论还不是非常统一,原因应该是自己技术还没有很好的定型,果然大学没有好好“解剖”几个开源项目是硬伤。恩,要寻求一个自己的哲学
3.更广泛的知识面,更深入的钻研。足够的高度才能更好把握方向,更深入的了解才能更好实现设计。恩,努力
BTW,说句题外话,今天看了《宁花4000买手机,不花6元买游戏》,里面说到国人对软件价值的轻视,私以为这是最大的原因,这样真的对软件行业发展不好啊。唉
补充:
之前想到,但写的时候忘记了。。。。果然好记性不如烂笔头
1.有生命的架构
架构应该是有生命的,是变化的,而不是像建筑那样,一开始就有了很全面的设计。有时候我会陷入过度设计的状态中,总希望把系统设计得足够灵活、足够的解耦,而往往忽略了对瓶颈的足够分析。记得以前刚接触.net的时候,读的教材就有一节“开花结果式编程”演示着怎么从hello world慢慢演变到最终程序。一个美丽的架构何尝又不是这样呢?就犹如一幅画,应该是不能再减,而不是不能再加,以后要注意了。
浙公网安备 33010602011771号