Loading...

Archive for September, 2009

    AD: Jobsdigg | 很棒的男装店 | 网站地图

设计一个Web开发框架

入职3个月,参与的第一个大项目已经上线。于是开始思考对现有Web开发框架的改良,或者考虑另起炉灶搞一套。思考的过程中形成一些想法,现记录下来。

  1. 没有用过Rails的话,大概会想到把一切业务都抽成配置;使用过Rails后,更推崇约定大于配置。
  2. 约定大于配置,不仅体现在分发的过程,也体现在类、方法的命名,更重要的是贯穿在框架中的思想。不管是维护一大堆配置文件,还是维护一个庞大的配置文件,都不是个好主意。实际上,大多数配置都可以被约定的。
  3. 分发:对业务简单的页面,进行一次分发足够了;对业务复杂的页面,可能需要进行第二次基于业务的分发。应当假设框架不了解具体业务,但要保留二次分发的灵活性。
  4. 框架应该做多少事,是个需要拿捏的问题,过度设计非常容易。一个框架的目标不是把代码用配置来代替,也不是把代码用约定来代替。
  5. 引入AOP的机制很有必要。过滤器能帮忙做许多事,使真正业务部分的逻辑更清晰。
  6. 高来高去一通,其实最大的问题还没说。开发过程中发现,每次请求后台服务和向模板传递变量时,总会遇到数组中字段名称不一致的问题。可能后台给了一个trans_id,但模板需要user_trans_id,于是程序很多时候都在做“改名”。要解决这个,还得靠约定。

自己思考并设计一个框架的过程中,更加觉得Rails妙不可言,推荐没有使用过Rails的Web开发者关注下。

支招

开复离职是个大消息。他说“心中还有一个理想未完成”,于是离职创业。《做最好的自己》一书中说,4年之前开复离开微软时,说的是那句“follow my heart”;如今离开Google,依然是这句“follow my heart”。

我正式工作有两个多月了,两个月来感觉很多想法观念都发生了巨大变化,于是趁此机会,也写篇文章聊聊,希望对还没走出校门的朋友们有些帮助。

明白自己的价值

大辉在Twitter上

很多人可能关心招人的薪水,其实到了一定层级之后,薪水可能不那么重要了( NK 和 N+1K 会让你愉悦的程度有多大?),更为重要的是你的技术能带来的价值,你的技术对业界的影响,这些做好之后自然有你的收益。

很抱歉一开始就谈薪水,但我觉得从这里切入最直接。对正在找工作的大学生,假设承担一样的工作强度,我相信薪水从4k到5k、5k到6k甚至9k到10k,还是会让人更愉悦的。但问题就在于,自己究竟值多少钱呢?

技术人员的价值是很难估算的,不妨类比一下。比如学校里前几届的牛人都是个什么价位,对照一下自己的水平,应该就有数了。虽然Offer上都写明不准透露薪水数额,但大部分辅导员老师都会八卦地问到。这也让刚到工作岗位的人有个不好的习惯,就是愿意在同事聚餐老板不在时,交流一下各自的工资,然后感叹下钱少物价高。这真没什么用,不能给你涨工资;也许听到别人拿钱更多,还会让你不快乐。

有一篇网上流传的“孙振耀九大感言”,虽被证明是伪造,但其中观点值得玩味。在足够满足生活所需(武功高强也是要吃饭的)的前提下,第一份工作薪水的高低真的不那么重要;也不能单用工资来判断工作的好坏。当然,如果可以找到薪水更高更好的工作,为什么不去呢?

如何评价一份工作?

在决定接受一家公司的Offer前,最好对这公司和对应的职位有个深入了解。对公司的了解,可以放眼公司的业务、所处的行业,这样可以窥看到这家公司的发展前景;对职位的了解,不妨看看所用的技术,看看工作的职责,看看公司整体的技术水平。我只经历过几家互联网公司,所以不免说得窄了,但我想其他行业大抵也是如此。

越来越多的人都成了大学生,找工作不难才怪。找不到工作有一部分是人的问题,一部分是社会的问题;但选择了一家烂公司,那就只是人的问题。我有个同学,很早找到工作并去实习,但在毕业前和我说,他想走,公司一点都不重视技术,人很难有什么成长。后来,他果然离职了。

在评价一份工作时尤其要看重将来的发展,可惜我的同学去了之后才明白,已经错过了再找工作的时机。上一段提到了“价值”,只有发展才会增值。如果没有发展,凭什么给你更高的薪水,更好的位置?即使想跳槽,又有哪家愿意接盘呢?

用什么打动面试官?

用你写了5年的blog?用你有3000个followers的Twitter账号?还是用一个每天有两万IP的个人网站?

如果你应聘的是工程师,这些其实没什么用处,很难在面试中为你加分。当然,如果招Java工程师,大学期间用过SSH也并不会有很多加分(这里只是举Java的例子)。对应届毕业生来说,一个好公司所看重的,是基础知识、逻辑思维、可塑性这些方面。如果有公司要求你进来马上干活,要求你之前有xx、xx以及xx的经验,这十有八九是一家烂公司。当然,进去之后也不应该寄希望于公司给组织的培训,自己多充电多学习还是需要的。

面试官也会被欺骗,所以招聘这件事,有很大的可能招不到对的人。面试官因此很有压力,我在面试别人的时候,能深刻感觉到这种压力。我的建议是,不要尝试忽悠面试官,除非你非常确定自己遇到了一个菜鸟。在大学里,还是少打游戏,多学学基础知识吧。

大公司还是小公司?

在我找工作时,也面临过这样的选择。最终我到了一家大公司的一个小团队。从发展的角度来衡量,小公司意味着高风险高回报;大公司则相对稳定,也会有别人为你规划好的成长轨迹。但大公司之间也有区别,有的公司做项目有十几个甚至几十个工程师一拥而上;而有的公司(比如我所在的团队),即使大项目也仅一两个工程师参与。这种差异是巨大的,对工程师的要求不同,每个人得到的发展,自然也不一样。

即使是饭店的小工,也要有一颗做老板的心,仅仅想做大厨是不够的。

大学生创业?

工作不好找,想创业?三个字:省省吧。

大学几年,听到许多人和我说起过他们的“创业计划”。其中的绝大多数不值一哂。我也有一些朋友真的去创业,有一个大学几年亏掉20万,继续血拼;还有一个温州哥们家里在做钢铁生意,资金来往数以亿计,现在他自己的公司发展得挺好。他们创业就和玩儿一样,而且确实更容易成功。但对大多数大学生,还是趁早别做创业的梦了。

我还在学校遇到过一个很弱智的女生,在一次小范围交流会上,不无抱怨地说,她们的创业计划多么多么好,可是居然没拿奖;而且在她看来,创业的点子非常之重要,相比之下,技术是非常不重要的。当时虾米的思践也在场,不无诙谐地说了一句,“我想这位同学需要先调整一下自己的心态”。

杭州在推动“创业带动就业”,但大家都明白,把这希望寄托在大学生身上是不靠谱的。特别是工作都找不到的大学生,谁能指望他把一家公司从无到有从小到大做好呢?

————————————————

“follow my heart”是需要资本的,这一点,开复没告诉他的粉丝。我的一位老师,是国内顶尖的农业经济专家,在几家公司当过CEO。他也告诉我,他有个遗憾,没能从头搞出一个完全属于自己的公司。对很多人来说,follow my heart是个愿景罢了,我听到周围更多的声音,是攒钱买房子。

最后打一条广告,我们公司的校园招聘又要开始了,招聘的职位信息请看此处。我可以帮忙推荐,我的邮箱是 zhanglei909@gmail.com ,欢迎牛人的加入。