创业路上 – 你伴我闯荡

人总是容易记得那些不好的东西,然后对比现在,有一种“苦尽甘来的快感”。一年来,我所承受的压力、痛苦,经历的彷徨、悲伤,如同电影胶片一样,反复眼前。一年以来所发生的种种,我也曾面临崩溃和绝望。

引子:昨晚“研发基地”做了大扫除。我们终于拥有了一个单纯而tough的技术团队。很不容易。很不简单。

其实,这是一个痛苦的历程。改革,意味着痛苦。对此,任何传统的模式和架构,都会表现出极其强烈的抗拒力。仍记得Web2.0这一发展到某一程度的时候,凡是沾了“2.0”边的,都是过街老鼠,人人得而诛之。如同我刚开始提出SEO、UCD、XHTML+CSS等一些“奇怪的”理念一样,吃力不讨好的事情,我似乎一件又一件地抢。从始至终,我一直不明白为什么明明是正确的观点,非但很难说服别人,还会惹来一身“脏”。别人不愿意做div+css,我来。其实,我又何尝想把大把时间花在div+css的基础学习上?眼看着AS3AIR等我真正感兴趣的重要技术没有机会第一时间投入,实在是一种莫大的遗憾。然而,今天看到Keso的一篇《钱闹的》,我更加坚定了。

我曾试图证明,试图不惜一切代价。遗憾的是,多数情况下,都是无功而返的。偶尔,会陷入沉思。以我浅薄的阅历,陷入哲学家般的沉思,是可怕的;但以一种单纯而简单的目的出发,往往能坚定自己的想法,也能获取智者和领导者的信任。

很遗憾,由于一次病毒入侵导致系统重装,进而无法查找我刚到公司的时候撰写的无数的PPT和DOC文档。从刚到公司提出SEO、UTF-8,到后来成立“UI-UE组”,到现在初具规模的Web产品开发部门。我们的路还很长,我们的路还很艰苦。

纵有千难万苦,创业路上,有你伴我闯荡,何惧之有!

AIR – 携创业梦起飞(含大量AIR资源)

Okay,Okay… 纵有再多的”Known Issues”,Adobe AIR的时代还是到来了:)

Digg.com的创始人Kevin Rose在利用Digg.com搞定Slashdot.com之后,除了从Google获得每月25万美圆的广告收入之外,又有新的举动了:Pownce

可惜,目前注册需要邀请码,我已经向在Pownce的Blog发表评论寻求,已经拿到了6个Pownce的邀请

虽然一时间还体会不到AIR-IM的快感,但另人兴奋的是,昨天已经尝试了一些利用AIR制作IM的思路并有了具体的code,实在等不急咱自己也做一个:)

对于想要动手玩AIR的Flasher和WebDeveloper,可以看看如下资源(不分先后):

Continue reading “AIR – 携创业梦起飞(含大量AIR资源)”

创业的8个代价+Web创业的心得感触

在我全数取出个人来北京半年来的几万块钱为公司张罗研发基地时,我才意识到创业如同吸毒一般的激情。我渴望与所有人分享这段激情岁月。转载请保留链接:http://www.awflasher.com/blog/archives/926

  • 意识形态矢量(Ideology Vector)
    这是最重要的,如果一个喜欢做服装行业的人跑到一家互联网公司来创业,我觉得对这个人,对这家公司都是极大的浪费。《高效率法则》中提到的”时间矢量”在这里已经远远不是提高效率的辅佐概念了,而是你创业的决定因素。如果有一天,我的公司决定进军服装行业,哪怕我再有感情,除非我也决定转换行业,否则我也会毫不犹豫地离开。
  • 理想(Faith)
    在创业之后才发现,理想是创业的必备因素。在每一个低谷和绝望的时刻,理想给与你继续生存的希望。通过我的大体观察,理想跟年龄也是不无关联的,因此一定要在有限的生命之内去实现理想,去经历当理想照进现实的那一刻。
  • 信任(Trust)
    这是一个很复杂的问题,涉及到很多方面。成员对团队的信任,以及团队对成员的信任。毛主席一句”与人斗,其乐无穷”,似乎被很多人曲解了。当”针对个人”的动机逐渐取代”针对事件”的动机后,许多结论都会变得非常可怕,人心随即而来变得狰狞。创业公司面临的信任问题,我认为是非常严重的。
    对于员工来说,承受不高的工资和福利,还要承受不尽规范的工作流程,更要承受投资到回报之间所发生的风险和其他损失(例如时间投入),这实在是一个不小的压力。我曾认识许多优秀的朋友,比如我的两个师兄,在被第一家公司”忽悠”之后,甚至对任何创业公司的邀请都感到望而生畏了。
    相信别人同时也是相信自己。自己的选择,自己负责。我相信总有一天我们的产品会击败竞争对手获得更高的市场占有位置!
  • 定位(Ego Orientation
    虽然毕业后才加入现在的团队,而且也只是一个拿着工资的普通员工,但我一直把自己当作”创业合伙人”这样对待。对公司的归属感、对团队的归属感是不可简而言之的。你如何定位自己决定了你最终的定位。如果我只是简单的像”劳动合同”上说的那样在这里打工的话,我觉得生活就没有意思了。毕竟人不是动物,我们不是为了生存,而是为了生活,创业是一种生活。
  • 提高(Enhancement)
    很遗憾,创业公司没有太多的精力去组织培训以及各类活动。在大公司尤其是跨国企业,所获得的培训机会是非常宝贵的。我们虽然无法完全拟合这种培训机制,但我们可以自己努力去改变。例如我要求自己组内所有成员阅读英文文档,设计工作流程,培养与人沟通的技巧,等等,等等。在创业公司,很多时候需要自己去提高。如果自己没有找到”提高”的切入口,那极可能坐以待毙了。
  • 责任(Responsibility)
    很多时候,你无路可逃;很多时候,黑锅也得背。脏活累活,不像大公司那样有专人帮你解决。我又一次回想起我当初只是一个”Flash技术主管”,后来来公司一个月就转型为”UI-UE组主管”的日子。其实那一次转型虽然说Title看起来有所提升,但具体的工作量和工作压力更有极大的增加。SEOUCD这些概念是之前公司不重视Web而一再回避的,现在没有人提,必须有人站出来。Okay,”站出来”的结果就是我必须无数个日夜加班学习JS和DIV+CSS,光调试IE6+7+FF的兼容性我就花费了多少大好青春啊;另一个结果就是被人误会,甚至被人”算计”。去年公司甚至有人对觉得我不搞Flash跑去搞WebDev是”锋芒毕露、多管闲事”,那一刻我真是感到伤心和绝望,满脑子只有”吃力不讨好”这五个字。但当我定下神来仔细一想,我仍然为当初的决然选择和言行而感到自豪。君子坦荡荡。我相信自然会有那么一天,所有人肯定我当时的做法和说法。
    反过来看,自我大学明事理(我年幼的时候受中国应试教育毒害,不明事理)以来,很多人曾给我提出尖刻的意见,甚至耻笑我。这些过往都将成为我的财富。
  • 孤独(Loneliness)
    欲望是无处不在的,无论是物质、生理还是精神活动。孤独意味着物质的孤独和精神的孤独。我在北京这一年来,经历了反复挫折和伤感后,得出一个无情的结论:除非你和你的爱人一个是公司的CEO,一个是公司的CTO,否则一旦你准备创业,就做好单身的准备吧。我怀念在北京陪伴过我的女人,我在绝望的时刻,常常非常想念。但我知道,我追求的”浪漫爱情”,不是现在的我能消受得起的。
  • 失败(Failure)
    我忽视了最重要的一个因素,那就是失败。时至今日,就我认识的人里面,离开web而转行的已经有不少了,包括今天得知我一位前同事也要回老家做服装生意。用”失败”或许不如用”结束”,但”失败”更能体现创业的风险和特色。我似乎还没有考虑在我离开Web的那一天,我会从事什么行业。在我刚写Blog的时候,曾经转过一篇《IT人,离开IT怎么办?》,我自己也曾在许多失落的夜晚彻夜不眠地思索这个问题。但在思考失败的时候,是否思考过失败的原因?在我们不停地算计着失败之后的退路时,失败往往已经悄悄的靠近了。不知大家是否知道三十六计中”上屋抽梯“,其实真正想要创业,就要有这种置之死地而后生的含义。我隐隐认为,这是一种Philosophy。我租下公司附近最贵的房做”封闭开发”,而不给自己留下”每月存款以便养老”的后路,也算是一种”上屋抽梯”吧。感谢我的兄弟们认同这种philosophy,大家一起”背水一战”。

以上是我认为的”创业的8个代价”,我没有以《创业的8个因素》做标题,也是因为我把这8点,看作创业者所不得不承受的。除此之外,在不同的行业创业,肯定又有不同的细节,我对Web行业创业的感触如下:

Continue reading “创业的8个代价+Web创业的心得感触”

【更新整理】Web前端工程师技能列表

我自己的公司正在招聘前端工程师,有兴趣者烦请移步此日志

要打造一流的Web产品开发团队,在团队成员基础能力上一定要下功夫。对于Web前端产品开发来说,仅仅掌握Web1.0时代简单的”网页套接”是完全不够的。我结合自己的团队配备,特此罗列了Web前端产品工程师所涉及的技能列表如下:

通过许多实际项目,个人认为一个完备的前端产品开发团队,必须拥有如下的人才配备,也希望大家补充:

  • 团队全体成员达到所有技能中的a级标准
  • 团队全体成员必须掌握两项技能中的b级标准,并保证所有的b级标准在该团队中有50%以上成员能达到
  • 团队全体成员必须掌握一项技能中的c级标准,并保证所有的c级标准在该团队中有25%以上成员能达到

具体技能描述:

  • 【必备】UserInterface
    1. PhotoShop/Fireworks Design
      a – 配合美工将草图形成具体的符合WebPage的设计
      b – 有快速制作分层高品质PSD、PNG的能力
      c – 能迅速将PSD、PNG的内容构思成div+css或者table等HTML代码
    2. Flash Design
      a – 基本动画效果
      b – 复杂的交互体系设计,了解第三方swf辅助设计软件
      c – 复杂的交互体系设计以及较强的对各类外埠资源(PNG、JPG、MP3、WAV等)的整合能力。精通部分第三方辅助设计软件(AE、SwishMax、Swift3D等)
  • 【必备】Browser-side (Web Application)
    1. XHTML/CSS
      a – 基本的layout实现
      b – 严格跨平台的layout实现以
      c – 优雅的HTML code,尽可能符合标准并有SEO的考虑因素。在任何平台、浏览器下基本保持一致。不要求了解各种CSS的hacks,但要求知道遇到问题应该如何查阅资料以在第一时间内解决。能够为JavaScript开发人员提供最好操作的DOM结构,让JS开发人员在开发的时候认为”一切都已经准备就绪了”,而不是”捉襟见肘”。
    2. JavaScript/Ajax/DOM
      a – 基本的DOM操作,了解AJAX,可以实现数据通信
      b – 基本的DOM操作,能写高效率的OOP代码,以降低维护成本
      c – 基于需求,进行不同的开发,选择合适的框架,做到代码效率最高,用户体验最好,代码下载量最小,并且可以在单独甚至更多产品线中最大限度重用代码
    3. Flash Developement
      a – 基于Timeline的ActionScript操作,能实现简单交互
      b – 掌握a外,能实现数据层通信(与服务器以及本地SharedObject)
      c – 精通AS1-3,能根据需求进行各类RIA开发。无论是要求支持FlashPlayer8的,还是FlashPlayer9的,都能做到开发效率最高、灵活性最大(比如对HTML层的接口设计,等等)。
  • 【必备】Client-side (Desktop Application)
    1. Apollo
      a – 产品级的封装,基本技术了解(如何打包、如何加入HTML和JavaScript等)
      b – 掌握a的同时,能利用Apollo的API独立设计、开发OS的文件I/O功能。
      c – 掌握基本技能的同时,对”3D概念体系”有所认知。这里”3D”即:Design(设计)、Development(开发)、Deploy(产品部署)。能用Apollo
    2. Windows Presentation Foundation、WPF/E(Silverlight)
      (待定,欢迎补充)
  • 【增补】Server-side (修改:经考虑,这个技能不参与评级)
    本来列举了”1、Server端简单的技术、脚本”和”2、MediaServer(Red5)接口”作为”Web前端工程师技能列表“的一种(服务器、数据逻辑层技能的)评判标准。但似乎很多朋友对于前端工程师是否应该掌握Server端技能的必要性表示怀疑。确实,要掌握好上述的展现层技能不是意见容易的事情,而且前端工程师的确非常辛苦。但是,站在另一方面来说,辛苦的原因是什么,我不知道在你日夜奋战div+CSS的时候思考过没有。就我的经验,前端的辛苦在于以下几个方面: 

    1. 重复劳动多,大量的div+css都是重复的,即便可以复制粘贴,但几千行的div海洋中去寻找一个入口恐怕都非常痛苦
    2. 需求变更多,往往你折腾几个小时终于把跨平台问题解决好了,而且在IE6、7和Firefox下面都能显示同样的效果了,甚至连JavaScript交互都已经快搞定了。突然上面说需求要变。这无疑是莫大的痛苦。

    也许表面上看,这跟Server端技能无关,但我觉得有好的Server端的意识,一定会有所帮助(当然不可能解决所有的问题)。毕竟信息结构和数据库是密切相关的,而Server是连接数据库的唯一渠道(至少大多数B/S应用是如此)。掌握Server端的基本技能,对于同逻辑层开发人员设计接口是非常重要的。而且HTML表现层在开发时与数据的分离,也与Server端的各种模板技术有关。例如PHP中的Smarty模板(我曾经用的)、jsp的model2概念等等。HTML结构如何设计,如何让HTML重用,甚至在HTML层进行OOP的开发(我现在在新产品线中设计的前端开发流程),都需要Server端的支持。最起码,你要告诉php程序员你需要什么。如果你完全对PHP一无所知的话,那也无从谈起了。
    此外,对于创业团队,往往人手非常有限。为了让运营成本降到最低,所有的技术人员都有义务对Server端技术有所了解。如果为了修改一个网页的标题还要跑去喊PHP程序员连接Remote Server的话,那实在是增加了整个公司的运营成本。
    总结:我认为,可以不了解技术细节,但应该知道原理,最好能掌握一两套设计思想(毕竟数据逻辑都在这里走,光看HTML和JavaScript,对人的见识还是有局限的,这种局限限制了我自己很久的时间),那将是一比宝贵的财富。

  • 【增补】Mobile-side(不参与评级)
    1. Flashlite
      (待定,欢迎补充)
    2. Java?
      (待定,欢迎补充)

看到很多朋友留言说前端工程师没前途,我在想,同时掌握移动设备的技能是否也是拓展前途的一个必要性?这里再多说几句,关于技术人员的前途,目前在国内确实得用”惨淡”来形容。浮躁的氛围让技术人才往往过早放弃了自己的技术生涯,而尔虞我诈的整体道德水平也让单纯的技术人员痛不欲生(我身边太多了,恩,不说具体细节了,呵呵)。

作为一个技术人员,开发人员,在保持纯粹地敬业心态(这是前提,这么没有,啥也别谈)外,更要学会如何保护自己,如何壮大自身,社会不会同情你,只有你自己才能保护你自己。

沟通成本

仅为我个人的理解,欢迎理性批评。

沟通成本是一个很可怕的东西,这个看不见也摸不着的东西有时候会让一个人乃至企业付出高额的代价。如何降低,我以为最好的办法就是理性真诚。足够理性的沟通方式和思维方式能最大限度地降低沟通成本。
沟通成本的衡量标准也是如此,我们常常会看到会议室里两个同事为了一个目录结构而争得面红耳赤;也常常会参加一场寂静无声、全票通过的会议。哪一种沟通成本更大,乍一看,可能认为第一种沟通成本大:两个人为了达成一个结果几乎“无法”沟通;而第二种则非常顺利地进行了“沟通”。我以为不然,第一种虽然激烈,但真正起到了“沟通”的作用,大家交换了信息量。第二种虽然安静,但是没有任何沟通,没有信息量被传递,谈何成本呢?所谓沟通,其目的就是为了传达信息,较好的传达信息才能让一个项目的各个环节更好的配合,整个项目更加良好的运作。如果什么话都拖到项目做跨时再说,那估计每个项目都要做跨。

我更大胆的人为,创业公司,应该多一份“锐气”。“锐气”不等于霸道;不等于不讲理;不等于光说不练
顺便解释一下:
霸道是什么?霸道是不顾他人的能力范围以及工作习惯,尤其是不顾产品的最佳流程方案,强行地安排工作计划、技术架构;
光说不练是什么?光说不练就是不断地理论性的重复一些东西好,比如光说div+css是个好玩意,可是自己不亲自动手去做。
我自豪地觉得,我在这两点说做的还是问心无愧的。

一个公司,在内部决策型会议中(越是层次关系紧密),不断地出现第一种场面是,而长期出现第二种场面,肯定是很危险的。
当然,也不是什么会议都面红耳赤才能有较低的沟通成本。而在对外的合作性会议中,则需要注意方式方法了。场面上千万不可“面红耳赤”,能够各取所需。

一个创业公司需要两种人

一种,能侃的.能吹牛逼的.
这种人北京其实挺多,他们能把你吹得趴下.

另一种,能埋头做事的.
这种人北京也不少,我就认识很多.

如果一个人同时具备这两种能力…那么,这个人就无敌了.

其实从现在招人的情况来看,伪第一种人很多(就是吹牛逼无法把你吹趴下),真正的第一种人并不多;第二种人不管真伪,少之又少.

为了事业,我似乎要亲自完美一回了,嘿嘿