如果你是电脑设计师,你准备给电脑开发那些功能

时间:2021-11-11 10:30:07 意向书

篇一:《什么是计算机开发?什么是计算机研发?》

开发与研发:区别很大(上) 2011-01-07 08:51 |

论】发表评论 12379次阅读 | 来源:zhuoqun的博客 【已有50条评

关键词:开发,研发 | 作者:zhuoqun | 收藏这篇资讯

导读:zhuoqun原来是雅虎(中国)和淘宝的一名技术工程师,目前正在一家公司做前端工程师。他最近的一篇博客《开发与研发》引发了业界的讨论和思考。在他看来,“程 序开发大概可以划分成两类:开发和研发,相应也就有开发工程师和研发工程师。很多人觉得做开发和做研发没什么区别,都是一样对着电脑写程序,但其实这两者 是完全不一样的,zhuoqun抛开公司对员工的期望、社会对工程师的需求等其它因素,单纯从国内互联网行业“工程师个人发展”的角度解读了自己对这两类 工作的看法。”

CSDN在经过作者同意后,将本文转载过来供大家参阅,也欢迎大家发表相关看法。

以下是作者的博客内容:

按:这几天我一直在写这篇东西,本来是胸有成竹,没想到后来越写越发现自己在这个题目下有太多话想说,而以我现在的能力又不能很好地概括总结,以至 于越写越长,文章结构也变得混乱,到后来修改的时候每次都要考虑好久才能下笔,所以决定拆成两部分来发,以便阅读。这篇写得我心力交瘁,质量不算好,凑合 着看吧。

同样是写程序,不同的岗位工作内容不一样,对程序质量以及工程师的要求也不一样。程序开发大概可以划分成两类:开发和研发,相应也就有开发工程师和 研发工程师。很多人觉得做开发和做研发没什么区别,“都是一样对着电脑写程序啊”,但其实这两者是完全不一样的,下面我想抛开公司对员工的期望、社会对工 程师的需求等其它因素,单纯从国内互联网行业“工程师个人发展”的角度来说一下我个人对这两类工作的看法。

开发

开发一般是指产品开发,开发工程师直接为产品贡献代码。每个公司都有自己的产品线,拿 Google 来说吧,它有 Gmail, Chrome 等产品,每个产品都有很多开发工程师在后面支持,这些产品的开发、维护以及升级都是由相应的开发工程师负责的。由于开发工程师的工作直接关系到产品的质量 和在线情况,所以开发工程师的责任是很重的,他可能经常为了下个版本的发布而加班,为了产品的故障不得不在休假的时候打开电脑工作,甚至在过年的时候都会 接到领导的电话。所以你看到那些总抱怨加班太多,总是说自己是“IT民工”的,大部分都是开发工程师。在工程师当中,大部分人都是做产品开发的,毕竟公司 都是要靠产品盈利,招聘的大部分人也要直接为产品服务。

做开发是很辛苦,但也有好处,因为需要对产品线负责,所以会是公司的核心,裁员对你威胁不大,如果你负责的产品恰好又是盈利产品的话,那么加薪、奖 金、集体出游等福利都不会少。如果你足够幸运地加入了一家快速发展的创业公司,说不定一下子就发家了。还有很重要的一点是,作为产品的开发人员可以看到自 己做的东西被那么多人使用,那是一种莫大的鼓励和肯定。

苦闷的开发工程师

尽管我很尊重开发工程师,但是我不得不承认,在国内大部分的公司,做开发工程师是没有前途的。首先,从微博到开心,有多少国内的产品不是山寨的?这 也罢了,最恶心的是有一些产品经理连产品设计图都懒得自己画,直接去截取别人产品的图片,假如我是一个人人网的开发工程师,每天看到产品经理把 Facebook 新上线功能的截图拿过来让我做,你让我如何对产品有荣誉感和认同感?而如果一个开发工程师对自己做的东西没有荣誉感和认同感,那么他坚守自己的岗位要么是 因为公司给的钱多,要么是因为他还没有找到下家。我个人认为,做开发最大的一个好处就是可以亲手实现一个“自己的作品”,就算平时很累,但最后完成它的时 候也还是会无比满足,这点被剥夺了之后,和饭店打工的服务员有什么两样?不一样是为了糊口吗?

我不知道别人怎样,但我自参加工作以来就一直纠结于此——甚至开发的大部分产品都不好意思写上自己的名字;直到前不久有机会去做一个公司内部使用的 平台,才终于有个作品让自己觉得满意。相信很多开发工程师参加工作之前都对互联网上很多诸如Gmail, Facebook 等优秀的产品耳熟能详,自己也常梦想做出那样的产品,但万万没有想到的是,工作之后要学习的第一课就是“不要对自己做的东西有感情”——有了感情你就不愿 意做广告弹窗,不愿意看到它下线,不愿意为了短期利益伤害用户。与此同时,你还要继续听产品经理和老大们满怀激情地说“我们一定要让用户喜欢我们的产 品”。一个连开发工程师本人都觉得无聊的产品如何让用户真正喜欢呢?拿搜索巨人来说吧,Google 把社交网站看作是某种形式的娱乐而不是有用的工具,所以它会在社交领域失败,再牛的技术也无法遮盖情感上的空白。不过话说回来,这好像对于国内大部分的公 司都不是问题,因为它们做一款产品只是想从用户那里拿到钱,如果以后用户流失了就下线,然后再开发一个新的。他们要的不是用户的长期感情,而是一夜情,开 发工程师就是一夜情的工具。

其次,国内几乎所有公司的技术流程和技术积累都做得很烂,大部分都只是片面地追求开发速度。我们在大学里受到的教育是“文档和注释很重要”,工作之 后才发现文档和注释是很稀有的东西,只有特别负责任的工程师才会挤时间去写。有一个很有意思的现象是,国内很多产品发布之后会特别自豪地说“XX 是我们开发团队在时间紧迫的情况下,封闭开发了X 天就完成的!只有最牛的工程师才能创造这样的奇迹!!多少个凌晨,XX写字楼上只有我们办公室的灯还亮着„„”,然后你会觉得“好感动啊”,但冷静下来想 一想,这种拼命赶工做出来的东西质量会过硬吗?抛开产品质量不谈,没有时间写文档、没有时间写注释、没有时间做 code review, 没有时间做阶段总结„„没有了这些,作为一个开发工程师你通过这个项目可以提升多少呢?所以好多开发工程师一开始是

“代码民工”,过了几年还是“代码民 工”,而一个人年富力强的时间又有几年呢?怪不得那么多人说工程师和妓女一样,都是吃青春饭的。

发展方向

我个人认为,国内的开发工程师大概有三个发展方向:1.做管理。 2. 去做架构等与产品关系不那么紧密的研发。3. 提升其它方面的能力,做 “A+ Player”,然后自己创业。我对管理没有研究,也没有兴趣,这里就不说了。研发我会在下篇中细说,这里主要说一下第三条。

为什么要关注代码之外的事情

如果你只会埋头写代码,那么代码写得再好也可能不会是一个好的开发工程师。做开发不是做学术研究,你的任务不是去钻研技术,而是利用自己的技术把产 品做出来。尽管技术能力是基础,但如果无法把能力很好地应用到开发当中,那么你在团队中就没什么价值。举个例子,如果你不能很好地理解产品需求,那么就会 根据自己的理解去做技术方面的架构和编码,等到后来发现了再去修改就特别麻烦,这个时候技术能力强反而成了坏事,南辕北辙的故事我想大家都听说过。 很多开发工程师属于那种“很本分”的人,从来不会提出意见,不关心产品形态和细节,只是去做产品经理提出的需求。我觉得别人把工程师叫做“代码民 工”也就算了,但是工程师对自己做的东西完全没有看法,那就是甘心沦落为民工了。这也有文化的原因,国内的公司都喜欢那些不爱抱怨的员工,因为他们听话而 且符合中国传统的价值观,但我更喜欢那些爱抱怨并且抱怨得有道理的人,因为国内(不只是互联网上面)粗制滥造的东西实在太他妈的多了,不抱怨才不正常,有 不满才会去思考如何做得更好。

曾经听到有人谈论如何管理技术人员的时候说:“管理技术人员很简单,找一个比他们都牛的人就行了。” 这个人很了解工程师的脾气。工程师去判断其他工程师的时候,往往只看他的技术能力,觉得谁的技术好谁就最牛,其它的都无所谓。没错,技术牛的工程师写的代 码质量很高,但这只是一个方面而已,判断一个人在团队中是不是“很牛”要看他对团队对产品的整体贡献,而不是他的个人能力。他能很好地理解产品需求吗?能 很好地理解设计师的意图吗?和团队其他成员沟通顺利吗?写出的代码方便测试吗?会对产品提出好的建议

吗?„„这些都是判断一个开发工程师的标准,整体素质 越高在团队中的价值也就越大。

所以要想做一个好的开发工程师,就要在写好代码的同时努力提高其它方面的能力。我知道大部分的工程师都喜欢和机器而不是和人打交道,所以遇到和产品 经理、设计师以及 QA 等部门协调沟通的时候就皱眉头。协调沟通确实是一件闹心的事情,但从另一方面来说,这是开发工程师的一个得天独厚的优势:你可以深入接触产品生产线上的所 有环节。需求评审的时候,你可以了解产品设计;开发界面的时候,你可以了解到视觉和交互设计;测试的时候,你可以了解到产品测试的细节;上线的时候,你也 可以多观察 Ops 同事的操作。如果你可以在协调沟通的时候学会换位思考,多从对方的角度看问题,多想一下“他为什么要这

么做”,那么不知不觉就会对各个领域有一些了解,进 而发现原来每个领域都大有学问,就不会因为周围那些学艺不精的人而轻视他们所在的领域。 学习设计

对于工程师来说,测试和上线都是技术性的工作,和开发有很多相通的地方,而产品设计、交互设计和视觉设计等设计领域则比较陌生。对于自己不了解的东 西,我们的看法往往会趋于两个极端:要么是看得高深莫测,要么是看得一文不值。其实对于大部分的东西,只要不笨并且愿意下功夫学习,总是可以学会的。尽管 达到大师的水平可能需要传说中的“天赋”,但做到中等水平并不是特别困难。关于设计领域我一直在断断续续地在学习,到现在可能连略窥门径也算不上,这里只 是说一下我个人对设计的理解和心得,供大家参考。

产品设计

产品设计看上去比较简单,因为只要清楚自己想要做什么,那么自然可以慢慢勾勒出产品的形态和功能。要做好产品设计,就需要平时多下一些功夫,多研究 一下互联网上那些已有的产品,另外还需要多看一些诸如社会学、历史等“闲书”,举个例子,假如你想开发一款针对台湾用户的产品,那么了解一下台湾的文化肯 定是有必要的。总之,学习产品设计是慢功夫,没有什么速成的捷径,只有一点一滴地不断积累才能培养出敏锐的产品意识和深刻的洞察力。

工程师学习产品设计有一个优势,那就是设计出来的产品是自己亲手实现的,你可以在实现的过程中不断重新反思原来的设计,然后加以修改和完善。这就好 像写文章一样,很多时候你写东西的时候并不清楚自己具体要写什么,但只要是下笔开始写,写着写着就会发现新的想法,写作的过程同时也是思考的过程。写作和 写代码很像,它们不仅可以表达想法,还可以创造想法。

视觉设计

很多工程师听到视觉设计会立刻退避三舍,觉得自己“不会画画”、“不懂配色”是不可能学习视觉设计的。诚然,视觉设计是需要更多艺术方面的基本功, 要完全掌握需要长期的训练,但我们还是可以从简单的学起,慢慢培养对设计的感觉。我个人在这方面所知非常有限,但是对视觉设计中的完美主义印象深刻。 编程的时候,如果你的某行代码多了一个空行可能不会有什么问题,但在视觉设计中差了 1 个像素或者 10% 的透明度就是不可容忍的,很多设计师要求的都是 “Pixel-Perfect”——像素级别的完美。如果你不苛刻地追求完美,几个这样的“小瑕疵”就可以把整个作品毁掉。在我没有接触过视觉设计的时候 很难理解这一点,切页面的时候并不会特别仔细地去看设计图,而且为了降低技术难度会想当然地篡改设计师的意图,比如把一些微小的渐变用纯色代替,这是很无 知的做法。所以当设计师要求你做一个 1px 的修改的时候,即使会花掉你几个小时的时间也要听他的——只有这样才可以把界面做到百分之一百的完美。当然,设计师自己做不到完美另当别论。

此外,作为一个页面设计师,从职位名称上来看他的最终作品应该是页面,而不只是视觉效果图。所以我觉得页面设计师应该精通 CSS,只有自己才可以精确实现自己的设计意图。对于那些没有受过设计训练的工程师来说,很难注意到页面上色彩、字体和渐变的细节,让他们精确实现一个设 计师的意图几乎是不可能的。精通 CSS 对于页面设计师来说并不算一个过分的要求,很多国外的设计师甚至可以自己用 PHP 写出产品原型,相比之下,国内的页面设计师进化得实在太慢了。

交互设计

交互设计是有关行为的设计,它更关注如何让产品更好用。举个例子,网页中一般都有很多超链接,当你把鼠标移动到超链接上的时候,鼠标形状会变成手型,暗示它是可以点击的,而且访问过的超链接和普通超链接的颜色是不同的,这样就很好地引导了用户行为。

之前我一直把设计和“视觉设计”等同起来,但在深入了解了之后发现,对于互联网产品来说,交互设计要比视觉设计重要得多,而且交互设计相对于视觉设 计也更加有迹可循,对“感觉”要求没那么高,工程师完全可以把重点放在交互设计上。如果交互设计做得好,视觉设计遵循一些标准,那么完全可以做出一款“不 难看并且好用”的产品。没有人特别夸赞 Google 的产品“好看”,但它们都特别好用,Google 注重的是易用、快速,用户体验是很棒的。

互联网行业的大部分页面设计师(Web Designer)都是学习平面设计出身的,但我觉得网页和软件设计更像是“显示器里面的工业设计”。很多平面设计师设计出的页面很好看,好像海报一样, 非常适合打印出来,但往往对交互方面重视不够。不太好看影响不会很大,但不好用就没有办法留住用户,而且有时候太注重外观的视觉效果反而会分散用户的注意 力进而影响产品的使用,这种 “eye candy” 是糟糕的设计。现在专门培养交互设计师的机构不多,我很希望对互联网有兴趣的工业设计师们到这个行业中来。

关于设计我就说这么多,以后有机会再另外撰文专门探讨这些主题。值得一提的是,没有人可以真正把设计和开发全部精通,如果深入到细节,无论设计和开 发都会占用你大量的时间和脑力。单从设计来说,需要掌握的就有颜色、字体排印(Typography)、排版(Layout)、交互设计等,其中每一种技 能又涵盖无数细节,真的是要皓首穷经才可以在其中的某个领域成为大师。不过,即使你对这些知识只是有一个大致的了解,以后在看一款产品的时候也可以从功 能、交互、排版、页面代码、整体性能以及URL语义化等各个方面进行全面而细致的分析,明白它哪里做得好,哪里做得不好,而不是在那里想当然地说“真酷” 或者“狗屎”。真正了解什么是好的什么是差的,自己做东西的时候才会心中有数。 一专多能的好处

很多人可能会说:“一个人要是可以把所有事情都搞定,那还要其他人干嘛?我更相信团队的力量。” 没错,一个人就算从设计到开发都精通,如果只有他一个人做东西,开发效率也不会高。但是若你真的花心思去了解那些“与代码无关

篇二:《设计的21问答-面试注意些什么》

这个是今天下午,特意抽了点时间,在群里给大家回答下职业上的困惑。

1-13群都发了告知,选择了回复最活跃的几个群的同学们的问题来回答。

希望对大家有帮助。

1.如何能有更多的灵感,创作不一样的东西?

答.如何能有更多的灵感,创作不一样的东西。 灵感来自于你对世界上各种事物的深入理解,例如你非常懂星座,那可能你会做出一个产品+星座的设计来,如果对星座不感冒的人绝对不会往这个方向想,那么你懂得越多,你的创意层面就会越广。 这个是对创意的解读,不是设计手法。

2.怎么判断是一个成熟的作品?

看它的合理性,没有基本的错误和矛盾点。例如前几天我看一个抽奖的界面,她在上面加了草原和小鹿,我问这个是有什么关联性吗?答,没有关联,只是填充好看点,这个就不是一个成熟的作品。

在合理性解决之后,其实已经分数不低,要如何更好?

3.面试注意些什么?

表达的流畅性,对事情描述的完整性。态度要诚恳,不要过度夸张自己,还有不要不懂装懂,如果说的东西超出你的认知范畴,基本上就一定挂了。

如何成为一个牛逼的面霸,这个要单独写一篇文章。毕竟我在2011年,为了去锻炼陌生人交谈的前提下,去面了近10家公司,然后大部分都通过了,最后都没有去。

1.怎样让客户接受自己的设计?

首先,设计是为了帮客户解决问题,而不是标榜自己的设计水平和技巧,更加不是制造障碍。只要你站在客户的角度去思考,你这个设计到底帮他解决了什么?是让客户的顾客更快地接受他们的产品呢?加强标识呢?还是什么?如果你换位思考了,肯定很快得到客户的接受。当然了,前提你的设计能力不要太水,否则出来的东西都谈不上美,谁都无法接受。

2.有没有什么素材免费下载的网大家分享一下

在庞门正道回复:素材网站

3.想问一下音乐专辑的封面是唱片公司内部设计的还是外包的啊?

答:都外包的,专业的事专业人去做,音乐公司干嘛要养一个设计师?而且还得是顶级的设计师?专门做你们公司的艺人的包装?显然是不科学的。

1.logo设计有什么技巧?

这个问题问得非常笼统,你在庞门正道回复:LOGO,会有答案(LOGO教程)

2.UI设计狗必备的技能? 进阶成设计专家必备的技能?进阶成设计祖师的必备技能? 设计师有非常多种,如服装,珠宝,城市规划,建筑等。目前最大人群还是平面设计师,国内大概有150万左右,UI是不是必备技能?答案:不是。 很多专门做品牌的设计公司不一定会把UI包揽下来,但是目前趋势是大家都在转型,UI是目前最热门的技能,也是比较高待遇的技能。 你选择自己喜欢的做就行,不过还是那句,技多不压身。

3.为了长远发展,是不是应该学画画?

会画画的设计师,表现技法上肯定比不会画画的要多一些,而且造型能力要明显强一些,如果你是打算长期从事设计,无论是平面还是UI,凡是跟视觉有关的,都是会画画的占优势一些。如果你是转型做交互设计,视觉方面可以弱一些也行。

1.如何快速提高设计水平?

首先,一个人为什么会在技能上得到提升?当然是因为他做了之前做不了的事情。如果想段时间内得到设计水平的提升,那么你就去学习一些你认为优秀,或者公认的优秀设计师的作品。记得,不要去对着临摹,而是再脑海中去记住,再按照记忆去做,第一次做出来完全不像,那就做第二次,第三次,一直到你可以凭借记忆都可以模仿出几位大师的多个作品,那么你自己已经掌握了不少技巧了。途中记得恶补一下设计理论来中和消化。

2.五年内设计的趋向是怎么样?

设计趋势,更多是看技术的发展,科技进步,我们的载体变化了,设计趋势就跟着变化。就目前来看,暂时没有发现什么全新的信息载体会变成流行(智能手表基本上宣告失败了) 欢迎看我的一篇《拟物扁平话题终结者》,站酷或者庞门正道公众号底部菜单都有这篇。

3.如何两年内凭自己搞到房子首付?

关于这个话题,有2个方式,第一种,去九线县城买,2年还是可以搞定首付的。第二种,我等会发一个新闻你看,一男子15秒抢劫了1家金铺,大约抢走价值百万金饰。

1.阿门 请问,现在H5现在这么多,以后会不会成为一个主流呢?

目前流传度最广的H5目前主要用于营销活动,也有用于一些程序功能开发上,它会不会成

为主流?目前已经非常主流了,看你从什么角度去看,那么有没有人会用它来开发一套商城出来?我想没有人这么干。回到设计上,H5的页面,大多也就是平面设计或者是流媒体换一个载体而已。

2.做了一段时间设计个人感觉没什么进步了怎么办?@阿门

答:做设计不应该是按照时间来算的,应该按照作品量,有人做了好久都没有出来几个项目,有人一年做十几个大项目,这样的2人能比较吗?如果你觉得没有什么进步,要么就是想得多而又动手太少,要么就是每次都按照上一次的思路方式来做,从来不求突破昨天的自己。所以你自己好好思考一下是不是。

3.@阿门 在一个老板拖欠工资、蛮多情况下说话不算数、公司也没什么福利、(这个我都不说啥了刚开始没关系) 但对于我一个新人来说可以有项目做还是不错的 但这样的公司值得待吗?

答:我是一个比较无情的人,如果作为一个基层员工,老板总拖欠工资,是影响吃饭问题的,也就是生存问题。可能企业也面临生存问题,但是我又不是股东,不可能让我富贵不同