Category Archives: 感悟

[zz]新职业:全栈工程师/全能工程师(Full Stack Developer)

期望一个凡人掌握开发过程中各个方面的知识,合理吗?也许不合理,但是Facebook正是要寻找这样的人。在一个OSCON会议上,一名Facebook的工程师告诉我的,他们只聘请“全能(Full stack)”的程序员。那么,全能是什么意思呢? 对于我,一个全能的程序员应该熟悉每一个层面的技术知识,如果不是全部掌握,也要对所有的软件技术有真正的兴趣。 熟悉整个技术体系的程序员,可以使得周围的人的生活更加容易。这就是为什么我反对在工作场合的技术鸿沟。当然,大公司里的政治和沟通的问题往往会影响他们的发展。我想Facebook招聘策略的目的就在于,如果聪明的人身心俱到,一个好的产品可以在更短的时间内发布。 技术知识体系的分层: 1.    服务器,网络和主机环境 这包括理解什么会宕机,为什么会,没有任何资源是理所当然的。 合理使用文件系统,云存储,网络资源,理解数据冗余和可用性。 在硬件受限的情况下,如何扩展应用。 那么关于多线程和竞争呢?你猜怎么着,你在你的开发机器上看不到,但是在现实中却经常发生。 全能程序员可以与DevOps协同工作。系统应该提供有效的错误信息和日志能力。DevOps会在你之前看到这些信息,使它们有意义。 2.    数据建模 如果数据模型存在缺陷,那么业务逻辑和更高的层次将要用奇怪、丑陋的代码来弥补那些模型没有覆盖到的边界场景。 全能程序员知道如何构建合理规范化的关系模型,包括外键、索引、视图、查找表等。 全能程序员熟悉非关系数据存储的概念,理解其比关系型数据存储的优点。 3.    业务逻辑 明白应用程序提供的核心商业价值。 需要扎实的面向对象知识。 需要理解框架。 4.    API层面/Action层面/MVC 理解外部如何与业务逻辑和数据模型进行交互。 框架在这里会用得很多。 全能的程序员有能力写出清晰,一致,简单易用的接口。一些API的复杂得使我感到厌烦。 5.    用户界面 全能程序员a)知道如何创建可读的布局,或者b)明白自己需要帮助艺术和图形设计师。无论哪一种,实现好的视觉设计是关键。 掌握HTML5/CSS3。 Javascript在将来会是非常重要的一门语言,很多令人兴奋的作品都是用Javascript完成的。(node, backbone, knockout……) 6.    用户体验 全能程序员明白,用户只是想让产品可以正常工作。 一个好的系统不会使得用户患上腕管综合征和眼痛病。一个全能程序员会将一个需要8次点击3个步骤的工序,修改为1次点击。 全能程序员会添加有用的错误信息。如果有什么出错了,要向用户道歉。有时程序员漫不经心写的错误信息会让用户觉得很傻。 7.    理解用户和业务的需求 现在我们模糊的进行的架构设计,但这会远离了真正的需求。 全能程序员会预先看看当用户在使用软件的时候,会发生什么。同时,他们也会关注业务部分。 其他问题: 能够编写质量单元测试。顺便说说,Javascript现在也可以进行单元测试了。 理解持续自动化集成,包括构建应用,测试,编写文档和部署扩展。 安全意识也非常重要,因为每一个层面都会有其易受攻击的地方。 总结: 将代码紧紧的绑到一个特定的环境(库,操作系统,硬件等等),是非常糟糕的实践来的。全能程序员理解所有的知识体系,不意味着他们可以走捷径。然而,他们确实会这样做,如果只是建立一个原型的话。 技术型创业公司需要全能程序员的多才多艺。但是,一个成熟的公司,需要更多的是专注的技术。 我不确定在你使用多种语言,使用多个平台,甚至为多个行业工作之前,你是否可以自称为全能程序员。全能程序员要在“高级程序员”之上,因为他们与通晓多语言的程序员在同一线上,但是对各个模块的关系更有全局的意识。注意我刚刚的列表,只有3-5项包含了编写代码。     Is it… Read More »

[zz]如何做好一份前端工程师的简历?

原文连接:http://dancewithnet.com/2009/02/17/how-to-make-a-resume-of-f2e/ 春节前在蓝色理想上发了个“雅虎口碑招聘前端工程师 ”的启事,节后收到很多简历,加之HR通过专业招聘网站得到的简历和朋友同事推荐的简历,数量上是相当的多,把这些简历一一看完真是一个漫长而幸苦的体力活,何况我还要仔细认真的去提取和核查有用信息评估其能力,尽量不错过任何一个埋藏在大量简历中合适的人,这绝大部分时间并不是一个相当愉悦的过程。所以,我感觉有必要来谈谈:如何做好一份前端工程师的简历。 一、你是前端工程师 虽然简历都会有一些常规信息,但职业决定了这份简历核心内容和求职成败。所以,这份简历应该尽可能体现你自己是一个合格的前端工程师。专业的前端工程师是什么可以看看去年Nate Koechley的演讲《Professional Frontend Engineering》,前端工程师应该关注的内容可以从克军总结的“前端工程师应该关注什么”的思维导图中窥出一二,学习内容聚合可以看看陈成总结的《前端开发大众手册(包括工具、网址、经验等)》。 毫无疑问,前端工程师应该知道如何用简历体现其专业技能和职业精神,这是每个应聘者应该考虑的问题。 二、内容为王 个人信息 姓名 (必需) 性别 (必需) 年龄 (必需) 联系电话 (必需) 学历及学位 (必需) 薪资期望 个人照片 邮箱 Blog 外语能力 职业技能 HTML、CSS、JavaScript/ActionScript等 Web标准、可用性、可访问性 一门非前端脚本的语言(Java、PHP、Python、C#等) 任何有利于前端开发的技能和兴趣 职业和教育经历 起始时间、单位名、职位(学位)和收获 简而精 按照时间倒序排列 代表作品 能体现自己现在前端技能或者重要经历的作品 简而精,且可以简要附上自己在这个作品中的收获 和别人合作的作品要注明自己具体完成的内容 在线链接要测试以保证可用,如果有其他人的变更应注明,较大变更就无需提交了 提供附件要注明与之对应的文件名 按完成时间倒序排列 依据实际情况,代表作品也完全可以直接融入到职业技能和经历中体现。当然内容不仅仅是这些,可以任意增加能体现前端工程师职业素质的信息。 三、Web是平台 毫无疑问,Web才是真正的平台,当这个平台的后端逐步被云所统治时(Amazon的很多服务和Google App Engine都初见端倪),那么云端的用户代理(比如浏览器)就是前端工程师的战场。前端工程师是可以长期从事且有前途的职业。 简历作为前端工程师迈向新征途而提交的第一份作品,应该毫不迟疑的用它来体现其专业技能和职业精神,所以Web页面是前端工程师简历的最好载体。它能体现前端工程师诸多专业素质: 知道为什么选择的DTD是下面中的一个而不是其他,这是对HTML标准的理解和思考 。 < !DOCTYPE HTML PUBLIC "-//W3C//DTD… Read More »

[ZZ]大家都是怎么拼命的

作者:豌豆与花妮 回复日期:2010-03-12 23:27:34 大学的时候减肥,每天至少1500米吧,外加不怎么吃东西,坚持了两三个月吧,减掉35斤吧。 然后考研,每天6点差10分起床,接近凌晨1点睡觉坚持了8个月,暑假的时候上海刮台风,学校的树连根拔起来好几颗,水漫到和图书馆的台阶齐平,我穿拖鞋去图书馆看书,整个图书馆只有4个人,就是我所在的考研小团队~,呵呵,最后大家的成绩可以说是惊人的高了。 然后考CFA,准备时间不充分,考前5天统共睡了10个小时,飘去考场,再飘回来,回来以后鞋都没脱睡了16个小时 这是我最拼的几次了,接下来又要考CPA了,学习和考试简直是无止尽的。。。。。。真挺郁闷的。。。。 作者:verylovelyo 回复日期:2010-03-19 09:30:10 我是在毕业后,本来是学计算机的,结果找了一个证券公司的工作,隔行如隔山,真是啥都不懂啊,股票基金都傻傻分不清楚,更别提什么期货期权权证。。。公司下的规定,必须一个月内考下证券从业资格证,考不下来就全铺盖闪人。好几本书呢啊!!!最后,在公司旁我租的房子里,整整宅了十多天,连吃泡面都觉得好浪费时间,每天火腿肠加沙琪玛,后来连嘘嘘都是火腿肠的味道,严重缺乏营养和维生素,每天起床来头晕眼花,手指头全是肉刺,牙龈每时每刻都在流血。。。每天两点睡觉,七点起来,除了睡觉,眼睛没有离开书。。。肩膀也肿了,想捶又够不到,就拿雨伞狠狠地敲~~~~~~不过后来我还是顺利的完成了这个艰难的任务。。。 PS:非常感谢TY里的那个考试必过神位。。呵呵~~~出成绩前我每天都去虔诚祈福~~后来终于以公司第一高分过啦~~~~~还愿之~~~~~~ 作者:长短亭31 回复日期:2010-03-22 09:04:32 早上七点起晚上十二点睡,持续半年考研复习。天天早上去国图排队进门闭馆出门,为的是死磕一本国外专业书,每天按照页数计算进度。最后虽然考上了,但是看看人家的成绩才知道自己跟本不算拼命。 作者:风在左右 回复日期:2010-03-28 21:09:06 上大学的时候整学期不去听课,某科老师让同寝的人带话,考不到八十分以上,铁定给不及格。第二天上午九点开考,头天晚上九点还没借到这门课的书。晚上十点开始看,入定状态,看得左鼻孔流血,堵之;右鼻孔再流,再堵,最后张着大嘴,点着蜡烛看了几百页书,记不清页数了,反正是很厚,然后在开考前几分钟坐在考场手捧课本看完最后一页…及格。考完后回寝室休息半小时,开始准备下一门考试,反正从没挂过科,在我们学校也不容易。但同学别学我,文科的东西虽然适合临时突击,但太伤身体,回回考完至少昏睡一周… 作者:maomj 回复日期:2010-03-29 01:15:34 我最拼的那会儿应该是高考的时候。 每天早上5点30左右起床,跑到学校跑步。6点跑完步,开始上早自习,中间去买个买早餐,然后继续自习。白天上课,中午除了吃饭和午休30分钟外就继续自习。下午下课后就吃个晚饭在学校继续自习到晚上11点学校熄灯就回家,洗漱,继续自习,一般学到晚上1,2点,睡觉,然后第二天早上5点30起。。。。 每天从学校到家里的路程大概有十几分钟我都嫌浪费时间,自己做了学习小卡片路上边走边看。每周大概周六是休息的,其他的时间都是按照这个作息。就这样坚持了快1年,最后高考成绩是我们班的第一,大概全市2,30名的样子吧。是我整个读书生涯中成绩最好的一次。成绩出来之后还是有很多人很吃惊的。 再后来读大学,还曾经想考研的时候都没有这么拼过了。现在在一个公司混一份收入不菲的工作,感觉自己很懒散。有时回想觉得当年自己也曾经有过这么一段很有毅力的日子,觉得还有点不可思议的。 作者:爱琴海的寓言 回复日期:2010-03-29 04:50:29 考GRE的时候吧。 一直是一个比较散漫的人,结果大三快结束的时候忽然非常想出国。为了能敢上当年的申请,报了暑假的GRE。那时候一本厚厚的红宝书,上面的单词我只认识20%。 期末考试完直接回家开始复习,45天后考GRE。45天里出过2次家门,共计不到2小时,每天从起床开始到晚上睡觉一直在学习,不是在背单词就是在做题目。到了考试那天红宝书上的单词竟然能认识80%了。 后来再也没有这么拼命过了,但是很怀念那样单调的生活——原来人有理想的时候是那么的强悍! 作者:era306603993 回复日期:2010-03-29 09:36:56 给想减肥的男女看吧 我是男的 大四以前每天11点起床,一天电脑各种吃喝,晚12点睡,160斤 大四每天早5点半起,学习一天,晚上跑10公里,一周吃一次饭有时候不吃,12点睡,两个月过后120斤 作者:soleine2009 回复日期:2010-03-29 12:52:16 考SAT的时候……那时候还在学校上课,每天晚上一两点睡,第二天再六点爬起来去班里上课,一个月做掉了一千多页的书,顺便干掉了GRE红宝,每天唯一看的课外读物就是china daily,考完后一周看见英语就想吐,至今没有再背过一个单词…… 现在弄美国历史,一周一本全英文的教材,可能也是我阅读速度比较快~ 能真正为自己的理想奋斗就是快乐的事。 作者:我本良家女 回复日期:2010-03-29 13:10:55 就记得自考法律的时候了。临考前三天决定要考。 于是在宿舍呆了整整三天。狂背。累了睡,醒了接着背。 最后以全班最高分考过了。于是我成为了教育学弟学妹的完美教科书。我成为了一个传说。 作者:公共马甲真好用啊 回复日期:2010-03-29 14:57:36 最苦最累的时候连着加三天三夜的班,为了赶工作,大冬天的,凌晨两点多往单位走,白天有人抢机房,只有晚上去,俺是做电视节目的,之前。那个机房各个节目组都要排班。 如果晚上回家,都要写稿件到深夜,广告文案,专题采访,人物传记。。。熬夜是家常便饭,有次连着三天三夜节目做出来,播出后,开完会回到家12点。。。竟然觉得太早了。。。实在睡不着,翻起来洗衣服,洗到三点多,才睡了。 最他妈累人的是有熟人找我写稿件,写到夜里三点实在熬不住睡着了,早上六点醒来发现没写完,继续写。。。答应人家的。。。赶八点上班写完 我还同时干过两个节目组,那时候觉得自己就是个工作狂。 作者:duoluocheng殇 回复日期:2010-04-01 19:38:07 备战艺考那会儿,每天画到晚上三点,八点起床,吃喝拉撒洗衣服等除了画画以外的事所花的的时间一天绝对不会超过一小时,就是三点了,躺在床上还睡不着,担心考试,只好拿那本英语四级词汇打手电看,只为催眠,结果那些四级词汇几乎全背下来了,汗~~~当时脑子里就想着:要想以后活的像个人样,首先高中就就不能像个人那样活着。一直持续了两个多月,天天如此。从来没对自己那样残忍过。怀念啊。 作者:stream1234 回复日期:2010-04-02 00:43:44 我也来说下 考研前4个月每晚2-3点睡觉,早上6点起来(我们是军校,必须起) 不过白天上午都在教室自动入眠 还好考上了 去年报了两门cpa 因为工作的关系,拖了好多没看 于是考前两个月每晚2点睡,早上8点起,中午睡1小时,其余时间不睡 还好这两门考过了 今年把剩下来的4门都报了,还报了注税的全科 现在还没开始看书 估计又要学到吐血… Read More »