你的公司ooa/d 吗

最近我一直在找工作,找合适的公司做我喜欢做的软件设计和开发。

我从事的是j2ee业务系统设计和开发。关注j道也有好多年了,从一开始在j道上学习设计模式,慢慢地学习开源框架,到这几年的领域驱动设计。我明白一个系统应该如何去做,从需求分析,领域建模,迭代开发,而我也非常向往这样的开发过程。但是现实是残酷的,我一开始工作做的系统是一个小型的ERP系统,技术构架是jsf+spring+hibernate,而做的面向数据库的开发过程。虽然没有写业务存储过程来处理业务逻辑,但是系统的开始是基于数据表结构,没有领域模型。随着工作经验的增加,我的角色也从一般的开发人员变化为核心开发人员,也涉及到系统的设计,但是项目上资深的项目经理往往是一套瀑布式的过程,和面向数据库的设计思路。随着我自己ooa/d的思维的觉醒,发现这样面向数据库的开发过程很痛苦,很无奈。我需要一个新的环境。

但是遗憾的是,虽然我在51job上投的职位都是要求具有良好的ooa/d的思想,但面试的时候,几乎从来不涉及到这些知识,而更多的是hibernate,spring,struts,jsf,js,ajax熟不熟悉。当我问起有关软件开发过程时,好多公司都是很自豪的跟我说,他们公司是按照CMMX标准在做(不同的公司对应不同的X)。这个时候,我只能若有所思的点点头,因为我一直都是在规模不大的软件公司,很少讲CMM的。而我所了解的开发过程,也是通过《UML和模式应用》这本书里了解的。在我这几年的工作经验中,领域模型建立,迭代设计开发,客户参与,客户反馈,继续这样的迭代过程,是比较好的一个软件开发过程,客户参与的越早,需求变动的越早,项目最后的满意度越高。

找工作过程已经持续1个多月了,也被面试了一些公司,但是结果不是很理想。并不是我的要求高,对薪水我并不是有太多的要求,我只是希望能在一个公司快乐的做设计,写代码,可以与同样的软件思想的人一起沟通。

所以我在这里写下这点东西,我想了解各位论坛上的兄弟们的公司,是不是在用ooa/ood的思想和迭代的方法在做项目?如果是的话,还需不需要人,我很想进入这样的团队去工作,去提高自己的ooa/ood的能力。先谢过了。

MSN:ahcen001@hotmail.com
QQ:15737455
手机:13816214104
本人简介:
04年毕业,5年的j2ee系统开发,在上海工作生活。

职业技能:
1, 掌握java语言,C语言,C语言,js脚本语言,ant脚本,shell脚本,html网页语言,sql语言等,并具有良好的java语言基础。

2, 掌握主流的j2ee系统开发框架应用,了解每层次的框架实现的原理,熟练进行层次解耦及扩展。
1) 熟练运用servlet作为控制器,jsp+tag+js作显示端,javabean作为表现层数据,spring服务层,hibernat/jdbc数据库层的架构体系进行开发。
2) 熟练运用struts作为mvc框架,spring服务层,hibernate/jdbc数据库层的架构体系进行开发。
3) 熟练运用 jsf作为mvc框架,spring服务层,hibernate/jdbc数据库层的架构体系进行开发。
4) 熟练使用 netweaver的webdynpro表现层框架进行开发
5) 熟练使用 ajax进行系统中的某些异步请求需要,提高页面响应速度。
6) 熟练在win系统,linux suse10系统中进行j2ee系统的发布。

3, 掌握移动设备的界面开发应用。
1) 熟练运用 j2me 进行手机,pda等移动设备上的界面开发。
2) 熟练运用 C# 进行手机,pda等移动设备上的界面开发。

4, 熟练使用jbpm4.1,或者状态模式进行系统中的状态建模。
5, 熟练使用 quantz 进行系统中的任务调度。
6, 具有良好的面向对象设计的能力,熟悉设计模式,了解各种模式在框架中的应用。在项目中,熟练应用一些模式,如合成模式,状态模式,代理模式,门面模式,等等。
7, 具有面向对象分析和设计的思想,了解一些分析方法,如四色模型,面向领域驱动设计等。
8, 熟悉uml工具,熟悉系统顺序图,活动图,类图等。

会的东西挺多, 不过你投简历的时候应该看公司主营什么, 然后针对性的把那一块多写一些, 这样可能更有吸引力

支持楼主,高水平的设计师是不甘被公司挑三拣四的,而是要对公司进行选择,良禽择木而栖。

也支持在中国诞生大量freelancer自由职业者,以consultant参与某个公司的项目,提高项目的设计质量。

向楼主学习。。。msn加上。。和楼主有一样的心情。一样的感慨。。

2010年04月22日 09:49 "icycrystal4"的内容
会的东西挺多, 不过你投简历的时候应该看公司主营什么, 然后针对性的把那一块多写一些, 这样可能更有吸引力 ...

谢谢你的建议,我会考虑的。

囧 同楼主啊。。在一个所谓的数据仓库项目耗了近5年。数据量都真的是挺大的,十亿级,不过真的是很痛苦,工作无非就是画报表,还有祈祷ETL工具别抽风。最近2年才觉醒,也打算另外找份快乐的设计工作,不过,真的有那样的公司么?Orz~~~

2010年04月22日 12:05 "banq"的内容
支持楼主,高水平的设计师是不甘被公司挑三拣四的,而是要对公司进行选择,良禽择木而栖。

也支持在中国诞生大量freelancer自由职业者,以consultant参与某个公司的项目,提高项目的设计质量。 ...

谢谢banq的回复。闻道有先后,术业有专攻。一直觉得自己在软件设计开发上属于天资愚笨的类型,只能通过默默的耕耘来达到自己的目标。我一直在往好的设计,好的编码努力着,也希望若干年后,能够做consultant,成为自由职业者,做自己喜欢做的事情。作为一个技术人员,我觉得banq是我的偶像,不光技术精湛,而且能传业授道。世事都讲究因果善缘,如果能用技术为善与人,能用技术结缘与人,更是件快乐的事情。

感同身受,也希望最终能做优秀的consultant。在中国这个关系社会,技术变得有点像附属品了,深深怀念谷歌!

2010年04月22日 16:43 "ahcen001"的内容
能够做consultant,成为自由职业者,做自己喜欢做的事情 ...

要做到这点,还是用道友在另外一个帖子中转贴的古语来表达:

止而后有定,定而后能静,静而后能安,安而后能虑,虑而后能得!

止就表示松手,在感情上你要知道松手,在事业赚钱上你也要知道松手,没有人雇佣你,你也要淡定,不要一辞职心就慌,要定,定静后有虑,虑有得,这就是舍得,舍也表示止 放弃的意思。

如果一直沉湎于某事,或做某个职业,反而容易有忽视的地方,比如健康 等其他问题,没有人是完美的,与其让上天趁你不注意时来夺取你,还不如自己主动进行得失平衡,这才是命运真正掌握在自己手里。

不要以为那种早死在工作岗位上的人就是楷模,那其实是不能主宰自己的悲剧,他被事业 工作 所谓追求,也就是贪婪主导。同样,也不要以为整天忙碌于工作,非常有财富有地位的人是楷模,连自己的时间都无法主导,更别谈命运,同样是杯具。

[该贴被banq于2010-04-23 13:46修改过]

对于一切人事物的执着,都会很辛苦。如果喜欢的东西可以并不执着的喜欢,那就得自在了。banq老师说的很有道理.

我觉得楼主的心态没有调整好。那种符合完美开发流程的项目只有在ThoughtWorks这种公司才能找到,而且他们的项目要满足条件1,条件2,……,条件N,所以这些方法流程论都只能用DEMO项目来演示,一具体到实际项目,根本没有条件实施。而且,软件工程只是项目的一个技术原因,还有其他因素远比软件工程重要。

你完全可以用自己的设计思想做开源产品,这样不会有任何外部因素干扰你。工作嘛,就是挣钱,至于挣钱的同时实现自己的理想,那是小概率事件。

很现实的问题,但也很难避免,毕竟你去的公司是有十几年的开发经验和方案的,不可能会因为突然有更好的方案而随便去改的,而十几年前的开发方案,也就是那时即使不算最好,也算比较好的开发方案。随便改变一家软件公司的开发方案,犹如换血一样,是很大风险的,因为需要改变公司核心部分,如公司架构,一个不小心就倒闭了。而对于新开的公司,它得考虑有没有借鉴的存在,没借鉴的话对于中小型软件公司也是一种冒险,因为它并没有足够的资金用来探索。所以,现在很难找到这样的公司是理解的。

当然新事物总得经历洗礼的,而在洗礼中更加倔强成长,说明着新事物具有无比的生命力。

你需要认清这一事实,也就是客观实在,再作出对策,而不是抱怨这个社会无法满足你。这个社会不如意的地方大有存在。需端正态度,问自己到底主要是为了赚钱,是为了程序界的奉献,还是为了其他。你需要钱,则你需适应社会现状;为了奉献,你可以继续钻研、探索,生活靠外界(援助、赞助等);当然两者兼顾也有存在,如贴中有人说到,用你的技术去自主开发,当然这需要实力,包括技术管理推销等。

至于banq提到consultant,在中国挺难的,主要是还没有流行起来。中国以中小企业为主,成本花不起。而大公司的聘请,是需要高资历。freelancer倒是可以考虑,它的工作模式的确很不错。

5, 熟练使用 quantz 进行系统中的任务调度。
我若是面试官,就这一条,我就不会要你.

2010年10月19日 11:32 "walnutprince"的内容
1
顶一下
5, 熟练使用 quantz 进行系统中的任务调度。
我若是面试官,就这一条,我就不会要你. ...

你为什么就不要人家了?