23

孟岩2003年我加入CSDN,6年之后离开。在2003年之后,我的技术身份就很难界定了。曾经有个朋友称我为“技术文化人”——不以软件开发为生,但整天都在拿软件开发来说事,与这个行业的整体关系可能比任何一个具体的程序员或者架构师都更密切。听上去像是一种恭维,又好像是暗讽,似乎我是站在戏台下面带头起哄的票友。其实在我看来,我与一线技术人的根本区别,在于关注的问题不同:他们关心的如何做好软件,我关心的是如何做好软件人。更确切的说,我关心的问题是,对于一个普通的程序员来说,如何能够通过软件开发这一职业,实现精神上的自由,获得专业上的成就,生活上的安全感,以及对未来的信心。当然,这是很高的目标,在任何社会、任何时代、任何行业,最终都只有一部分人能够到达这个境界。但是,我确实是曾经把这当成工作的中心,毕竟人的问题才是最根本的问题。所以,我在这篇文章里想讲述的,并不是个人的那一单流水账,而是我自己所见所闻所经历的一些点滴片段,其目的也是希望能够就“做好软件人”这一命题,对自己的感悟做一点概括。

时势可用而不可恃

与很多同龄人相比,我接触电脑的时间比较晚,一直到1996年,我才开始学习电脑操作。最初我的目标很简单,就是打打字,画画图,打打游戏,看看影碟。如果说想写程序的话,主要也就是用来应付一些专业课,确实没有在程序设计上深究的想法。但初步学会了一点编程基础之后,意识到编程并不复杂,我就不能自禁地在编程学习上投入越来越多的时间,并最终决定放弃本专业,转行软件开发。后来我了解到,很多同龄人都跟我有相似的“转行”经历。而之所以我们会放弃自己的专业优势,串行到软件开发领域,“兴趣”固然是一方面原因,而更重要的原因,恐怕还是当时的时代潮流。 阅读全文 »

阅读:28,299 次
22

——记 Trunk.ly 联合创始人董洵

记者 / 付江

编者按:本文的主人公董洵是微软2004年评出的全球56个架构师MVP中唯一的中国人,在知名外企工作多年,此后经历了多次的创业历程,有苦有乐。他兴趣广泛,除了历史和艺术,还喜欢品南方茶、看书、听各式音乐以及运动。他还在继续创业,最近的项目是一款新型的社会化书签服务Trunk.ly。关于创业,他给记者留下印象最深的一句话就是,创业可能会把一个人在十年里受到的苦和误解,以及对未来的恐惧压缩在两到三年里承受。当然,你的成长速率可能也是加倍的。

去蹭计算机系的课吧

董洵与计算机的渊源可从吉林工业大学(现在的吉林大学)时开始,他当时的专业是机械工程。在大学之前,董洵其实并没有真正接触过计算机,第一次正式与计算机的亲密接触是在大学二年级的时候:“当时就特别喜欢,可以说是一见钟情。”从那以后,他开始在大学里“跳课”,每天去蹭软件学院的课:“当时学校上机费用挺贵的,45分钟要8毛钱,而在学校食堂里吃一顿带荤菜的饭也才1块多钱。”

好在当时不少计算机系的同学并不是真正喜欢这个专业,也不喜欢做课程设计和实习实践,于是董洵就帮他们代劳了。这样不仅上机费有人买单,还能把计算机软硬件专业知识都跟着自学了。

不仅如此,他还帮计算机系的同学上机写作业,按照机时收费,比如当时机房收1块2每小时的上机费,董洵则每个小时多收计算机系的同学两毛钱,帮他把作业完成,存放到软盘上,然后他再用剩下的钱请人帮自己写机械系的作业。由于当时计算机系的作业收费贵,机械系的便宜,行情好的时候,董洵还能剩下钱买软盘用(当时安装中文版Windows3.11需要13张三寸盘)。董洵在大学里的很长一段时间内,都在乐此不疲着。

后话是,董洵在第一、第二学年的时候成绩还是机械系里前三名,到后两年基本上就是混及格的分数了。

董洵正式做软件,是从毕业前跟着学校博士生做项目开始的。离开学校来到北京后,董洵在上地的研华做Windows和Linux驱动程序开发。由于研华是一家硬件公司,而他更偏爱软件,所以在研华待了两年后又去了奥博杰天。 阅读全文 »

标签:
阅读:25,072 次
21

招聘是第一位的

作者:chenqiuge 分类:架构实践 8 Comments »

文 / 黄易山

Facebook前工程总监黄易山(Yishan Wong)撰写了一系列文章,很好地总结了Facebook卓越研发文化中的宝贵经验。本刊将陆续连载这一系列,本文是第一篇。

从2006年底到2009年初,我有幸在Facebook的工程部门先后担任了不同的管理职务,包括几个不同团队的经理,以及工程总监,也见证了工程部由约30个人发展到200人左右。这段时间基本上跨越了从动态消息功能(NewsFeed)、Facebook平台(FacebookPlatform)在第一届F8大会上的发布,到自助式广告系统(现在是我们现金流的主要来源)、网站国际化以及Facebook连接(FacebookConnect)的推出。 阅读全文 »

标签:
阅读:24,296 次
18

文 / 马如悦

本文是作者在充分阅读和理解Yahoo!最新发布的技术论文《S4:Distributed Stream Computing Platform》的基础上,所做出的知识分享。

S4是Yahoo!在2010年10月开源的一套通用、分布式、可扩展、部分容错、具备可插拔功能的平台。这套平台主要是为了方便开发者开发处理流式数据(continuous unbounded streams of data)的应用。项目官方网站为:http://s4.io/。同时,S4的开发者也发表了一篇技术论文《S4:Distributed Stream Computing Platform》来介绍S4的设计。下面我们就来学习这篇论文。

开发动机

“We designed this engine to solve real-world problems in the context of search applications that use data mining and machine learning algorithms.” … “To process user feedback, we developed S4, a low latency, scalable stream processing engine.”

Yahoo!之所以开发S4系统,主要是为了解决它现实的问题:搜索广告的展现。搜索广告是当前各大搜索引擎的主要收入来源,用户发出查询请求,搜索引擎在返回正常结果的同时也会返回相关广告,而广告是按照点击付费。为了在最好的位置,放置最相关(也就是用户最有可能点击)的广告,各大搜索引擎使用了大量的数据挖掘和机器学习算法来进行相关性计算,以便提高收入,满足用户需求。其中很重要的一点就是要不断分析用户的点击反馈,以便捕获用户的行为。S4最初主要还只是用来处理用户的点击反馈。 阅读全文 »

标签:
阅读:29,659 次
17

作为面试官,在面试程序员时,都会关注哪些问题?而程序员应该从哪些方面做好面试的准备?本期话题相信对面试官和程序员都会有所启示。

刘秋伟  深圳市万兴软件有限公司研发总监

刘秋伟与其他岗位相比,程序员相对来说会内向一些,思维也会更严谨、更有个性。企业招聘程序员就是要求他能和团队一起完成既定的开发任务,所以重点从技能水平、学习能力、团队合作及工作心态等几个方面考察程序员。

技术水平是对程序员最基本的要求,很多企业会通过笔试来辅助考察。技能的考察主要看面试者技能匹配度、对技术发展趋势的了解以及自己的职业规划。

1. 你认为自己最擅长的技术是什么?

2. 谈谈你对XX行业/技术发展趋势的看法?对最近XX技术问题发表下你的看法?

3. 在五年的时间内,你有什么样的职业发展规划?

技术快速更替,员工的求知欲和学习能力比他现在的技能更为重要。宁愿招聘一个学习能力很强的员工,也不要一个靠吃老本、不愿学习的员工。

1. 你最近有看哪些书或参加过什么样的培训?有灌技术论坛的习惯吗?

2. 今年有什么学习计划?今年有什么目标?

3. 研究过开源项目吗?有什么收获? 阅读全文 »

标签:
阅读:39,894 次
16

文 / Peter Seibel  译 / 米全喜

以啤酒收取程序调试报酬

Seibel:你是如何开始学习编程的?是从什么时候开始的?joe armstrong

Armstrong:是从中学时开始的。我出生于1950年,上中学那会儿还没有几台计算机。到了中学最后一年,那年我应该是17岁,我们当地的议会得到一台大型计算机,好像是IBM的。我们可以在上面写Fortran程序。通常,我们在编码纸上写好程序,然后发出去。一个星期后,等编码纸和穿孔卡拿回来的时候还必须确认一下。但是制作穿孔卡的人总会出点错,所以可能要反复1~2次才能弄好。最后这些穿孔卡就可以送到计算机中心了。

卡片进入计算机中心后会再拿回来,因为Fortran编译器会在程序中出现第一个句法错误的地方停下来,后面的程序就都不处理了。你的第一个程序似乎需要3个月才能跑通。我认识到,不能每次只送一个程序,应当并行地开发多个单一子例程并且一次都送去。我记得写过一个显示国际象棋棋盘的小程序,用打印机绘制出来。但是因为中间等待的时间太烦人了,我不得不把所有的子例程都当做并行的任务一次写完。

Seibel:你学的是物理学,是从什么时候开始转向编程的?

Armstrong:嗯,有一些本科生的课程需要编写程序,而我又特别喜欢编程。我还非常善于调试程序。如果别人程序出了问题,我就会去调试别人的程序。标准调试的开价是一杯啤酒。也可能提价,还有两杯啤酒、三杯啤酒的问题。

Seibel:在给他们调试程序时,是以他们必须给你买多少杯啤酒而论的,对吗?

Armstrong:对,等我修复了程序时他们要给我买啤酒。我在读程序的时候总是在想:“他们为什么要这样写程序呢,太复杂了。”我会重新编写并简化程序。看到人们编写复杂的代码我感到很吃惊。有些问题用几行代码就能解决,但是他们要写上几十行。我有点好奇,他们为什么看不到简单的方法呢。而我就颇为擅长采取简单的方法。

我真正开始编程是拿到第一个学位并打算读博士学位的时候。我开始读高能物理博士学位并加入了那里的气泡室小组,他们有一台计算机。那是一台DDP-516,是Honeywell公司的。我可以独自一人使用它。它是穿孔卡式的,但是可以在上面直接运行程序,只要把穿孔卡放进去,按一下按钮,答案刷地一下就出来了。我特别喜欢那台计算机。我在上面编写了一个小象棋程序。

那时的实际磁心存储器是由妇女编织而成的,能够看到磁心和一块块的小磁铁和穿进穿出的线路。它的价格高得惊人,有一个大约10MB的磁盘驱动器,上面有20个小底板,大约15公斤重。它还配了一个电传文本的界面,可以在上面输入程序。

后来又出现了“玻璃电传打字终端”,那是最早的视频显示器设备,可以在上面输入并编辑程序。我觉得这太神奇了,再也不需要穿孔卡了。我记得当时和计算机管理员说:“要我说,将来有一天人人都会有这样一套机器。”他说道:“我看你疯了,Joe,你真是疯了!”“为什么不可能呢?”“这些东西贵得离谱。”

正是从那时我真正开始学习编程了。当时我的导师对我说:“你不应该再读物理学博士了,改行吧。你热爱计算机,应当搞计算机。”我说道:“不,不,不。我不能半途而废。”但实际上他的话是对的。 阅读全文 »

标签:
阅读:34,677 次
16

记者 / 杨东杰

蒙洋是北京中芯优电信息技术有限公司的CEO,兼任北京航空航天大学软件学院讲师,主讲《嵌入式应用》课程。他善于教学并乐于分享,发表过多部技术著作和学术论文。在2010年,蒙洋当选为微软嵌入式最有价值专家(MVP)。蒙洋

从普通的技术人员一步步成长为创业者,蒙洋认为明确的职业规划和高效的沟通技能对技术工作者最为重要。

记者:根据您与技术开发学员的交流经验,他们比较集中的困惑是哪 些?

蒙洋: 首先,很多学员不知道如何选研究方向。例如,嵌入式学员经常会问该学Linux还是WinCE。我个人的建议是学生应该先精通一种,另外一 种也很容易学会,其中很多知识是相通的。

其次,有些学员迷信学习捷径。 我认为没有一蹴而就的快速学习方法。 对开发者来说,唯一有效的方法就是动手实践,只有潜心钻研,虚心请教,精益求精,才能真正掌握技术的精髓。

记者:您如何看待微软WinCE技术在国内嵌入式市场的发展情况?

蒙洋:目前国内嵌入式开发技术正呈现百家争鸣的态势,随着物联网和云计算等新兴技术和服务的发展,嵌入式技术正经历重新洗牌。

在手机市场,Android系统已占据领先优势,但在电子开发板、工业人 机界面等行业领域,WinCE还保持着一定的优势,最新的Windows Embedded Compact 7系统功能强大,而微软对嵌入式市场也格外重视。

对于开发者来说,虽然WinCE有着不开源、需要授权费用等缺点,但相对其它技术性能稳定、开发周期短、开 发难度低。我在大学期间就考过微软嵌入式方向认证工程师,之后一直从事基 于WinCE嵌入式开发。 阅读全文 »

标签:
阅读:9,969 次
15

iPad上的设计工具

作者:chenqiuge 分类:产品酷览 6 Comments »

文 / 苍浪

iPad可能是2010年最受欢迎的电子产品,作为前端设计师,本文作者教你如何在iPad上完成产品设计,让你同时收获工作成果与快乐。

美国《时代周刊》日前评选出“2010年十大电子数码产品”,苹果平板电脑iPad力压其他产品,位居榜首。2010年自iPad发售以来得到了各方青睐,以至于不管是什么促销活动,奖品如果不是iPad或者iPhone4都不好意思说自己有奖品。随着越来越多的人使用iPad,AppStore的iPad应用也越来越多,社交、新闻、游戏、工具、导航等等,很多人成了应用的“收集控”,但大多数应用就打开用过一次就再也没用。我认为从如此多的应用中找到适合自己的,并能用于持续提升生产力、改进生产效率的应用才算得上好应用。经过几个月的不断试用,我整理了一些不舍得删除的应用,把这些应用按照产品设计不同阶段(需求采集、需求设计、需求展示)进行分类,接下来分别给你介绍适合思维导图、交互设计、需求展示的应用,另外还附带了一些同步工具,希望也可以对你有所帮助。

思维导图类:Adobeideas、ibrainstorm、Mindo

Adobeideas是一款画图板,其实就是N张白纸,随时记录你的想法,这就是这个软件的全部功能。

插图一:Adobe ideasAdobe ideas

(本图版权归白鸦http://uicom.net所有) 阅读全文 »

标签:
阅读:27,067 次
14

文 / 杨丰盛

游戏是一门综合的艺术,作者以铸剑为喻,形象地展示了移动游戏架构的艺术之美。

艺术是人的知识、情感、理想、意念综合心理活动的有机产物,是人们现实生活和精神世界的形象表现。文学可以是艺术,雕塑可以是艺术,音乐可以是艺术,电影可以是艺术……那么游戏呢?

游戏是一门综合的艺术

无论是单机游戏还是网络游戏、PC游戏还是手机游戏,都需经过如图1所示的逐步进化的过程。pic1

图1  游戏研发的流程

任何一款游戏,都有故事情节、人物、场景、音乐和音效等内容,因此其中每一部分内容都需要追求以艺术化的手段,将游戏的意象情景更生动地展现给用户。作为程序员的我们,之前可能只是以为只有策划人员需要通过艺术来表达游戏的内容、测试人员需要带着艺术去欣赏并完善游戏的体验,那么程序员对游戏的架构和艺术之间又是怎么挂上钩的呢? 阅读全文 »

标签:
阅读:13,419 次
11
3月11日,由教育部示范性软件学院建设工作办公室主办、云南大学软件学院承办的2011年第四届“英特尔杯”全国大学生软件创新大赛暨MeeGo程序开发大赛正式拉开帷幕。这是全国大学生软件创新大赛连续第四年举办。本届大赛邀请了全国58所高校的在校本科生及研究生参加,广泛征集基于开源操作系统MeeGo的应用程序参赛作品。
软件产业是国家战略性新兴产业之一。日前,国务院发布鼓励软件产业和集成电路产业发展的政策,提出高校要“紧密结合产业发展需求及时调整课程设置、教学计划和教学方式,努力培养国际化、复合型、实用性人才”。尤其是当前移动互联网发展风起云涌,智能、互联的个性化设备层出不穷,软件和应用创新日新月异,对相关软件人才的需求日益强烈。本届大赛在继承前三届比赛成功经验的基础上,首次采用统一的竞赛平台、全新的操作系统,并且在软件项目开发之前增加了在线学习技术培训和资源支持,将有效提升参赛学生的创新创意水平、新技术应用与软件过程实践能力。
教育部示范性软件学院建设工作办公室副主任、大赛组委会副主任卢苇表示:“我国的软件产业发展需要培养和储备大批具有国际化视野和创新能力的软件应用开发人才。加强产学合作,是培养软件人才的有效途径。我们非常高兴能够与计算创新领域的全球领先厂商英特尔合作。希望全国大学生软件创新大赛可以帮助高校学生了解和掌握现在市场上主流的最新软件开发平台,促进优秀的软件人才脱颖而出,为新一代信息技术等战略性新兴产业的发展贡献力量。”
本届大赛将会采用最新的MeeGo操作系统版本作为统一的软件开发平台。在持续八个月的比赛中,丰富多彩的移动应用开发将有助于激发学生的创新构思。在学习阶段,大赛将评选出在线考试优胜团队15个,得到项目硬件平台或项目资金资助;进入项目阶段后,大赛将依据作品的创新、性能、用户友好程度等标准评选出进入决赛的20支队伍,最高获得3万元的奖励。进入应用开发阶段的作品都可以上传至英特尔® AppUpSM 应用软件商店,参与“市场最受欢迎应用特别奖”的评选,从而加强对优秀作品的产业化引导,真正促进大赛作品面向市场、面向实用,同时培养同学们的学习能力、实践能力和市场眼光。
作为大赛支持单位和组委会成员之一,英特尔公司不仅致力于以芯片、平台、软件和应用的创新推进“互联计算”愿景,而且通过英特尔®高等教育项目和英特尔嵌入式大学合作项目,促进软件学院学生创新思维、开发实践及软件过程管理能力与水平的提升,助力国家软件产业培养高素质人才。
英特尔亚太研发有限公司总经理梁兆柱博士表示:“作为计算创新领域的全球领先厂商,英特尔深知教育对于推动创新人才培养、带动产业创新的重要意义。我们愿意与同学们分享世界最前沿的技术成果,帮助创新型人才学以致用。本届大赛采用崭新的MeeGo平台进行开发,而MeeGo是‘互联计算’的创新利器。基于MeeGo的软件创新将广泛应用于未来的智能手机、平板电脑、智能电视、车载信息系统等设备中,将给用户带来跨设备平台、激动人心的个性化应用体验。”
MeeGo是由Linux基金会管理的开源平台,可以同时支持多种计算设备,具有广泛的应用前景。中国开源软件推进联盟主席陆首群教授指出:“开放的MeeGo平台吸收社区、第三方、用户以及广大志愿者广泛参与开发创新活动,充分调动他们的积极性、创造性和集体智慧,适应并解决用户需求快速变化,追求个性化、多样化、差异化以及时尚、潮流等服务目标,符合移动互联网时代开放的精髓。2011年的第四届全国大学生软件创新大赛暨MeeGo程序开发大赛,旨在吸引和培养中国本土的MeeGo开发者,必将为打造MeeGo这一开放平台,贡献无穷的创新动力。”
大赛承办单位云南大学软件学院院长李彤也表示:“在继承前三届比赛成功经验的基础上,本届参赛选手将在统一的起跑线上学习一个全新的开源操作系统,应用于项目开发实践,并将项目成果上传到统一的市场平台接受市场检验。我们期待着大赛能充分发挥MeeGo开源软件平台的优势,进一步促进学生创新思维、开发实践及软件过程管理能力。”

3月11日,由教育部示范性软件学院建设工作办公室主办、云南大学软件学院承办的2011年第四届“英特尔杯”全国大学生软件创新大赛暨MeeGo程序开发大赛正式拉开帷幕。这是全国大学生软件创新大赛连续第四年举办。本届大赛邀请了全国58所高校的在校本科生及研究生参加,广泛征集基于开源操作系统MeeGo的应用程序参赛作品。

软件产业是国家战略性新兴产业之一。日前,国务院发布鼓励软件产业和集成电路产业发展的政策,提出高校要“紧密结合产业发展需求及时调整课程设置、教学计划和教学方式,努力培养国际化、复合型、实用性人才”。尤其是当前移动互联网发展风起云涌,智能、互联的个性化设备层出不穷,软件和应用创新日新月异,对相关软件人才的需求日益强烈。本届大赛在继承前三届比赛成功经验的基础上,首次采用统一的竞赛平台、全新的操作系统,并且在软件项目开发之前增加了在线学习技术培训和资源支持,将有效提升参赛学生的创新创意水平、新技术应用与软件过程实践能力。 阅读全文 »

阅读:9,491 次
preload preload preload
京ICP备06065162