一名优秀的设计师应该会编程吗?有关这个问题的争论每天都在博客上、Twitter 上,以及公司召开的会议中不断上演,永无休止。人们更多地关心设计师本身有没有编程的能力,却没有考虑到是否应该在设计团队中直接引入一名程序员。这真的是让人遗憾的事,甚至会为他们的争论感到着急。因为对于一场有关产品设计的讨论中,程序员其实能够起到非常重要的作用。
但令人遗憾的是,许多设计师对于他们的工作来说都有一种「精英主义」,觉得只有他们才能打造出专业的、符合潮流的设计。可是事实上这并不正确。
事实上,每个人都有能力为一部好的设计作品建言献策,其中当然包括了程序员。当然,一名经验丰富的设计师也许在设计方案的寻找上显得更加老练专业,但是设计师们都应该不断的提醒自己,时刻保持一颗谦虚的心,保持开放的心态面对所有人提出的建议,尤其是那些来自程序员的建议。以下是程序员为什么要加入设计团队的若干理由:
设计团队里面缺失程序员的风险
在 Digg 还特别流行的那段时间里,我记得曾经在丹尼尔·博卡(Daniel Burka)(Digg 的首席设计师)和乔·思汤普(Digg 首席程序员)之间有一场非常著名的争论。那个时候丹尼尔想要在 Digg 的「按钮」上做出一次设计上的变动。对于丹尼尔来说,这个变动就是微小的一点;但对于首席程序员乔来说,即便设计上微小的一点变动都会对整个网站的响应时间产生巨大的影响。为了适应这一点点的变化 Digg 网站必须提升自己的处理效率,改善服务器的内部架构。
这就是程序员没有融入到设计团队中的一个典型案例,它由此带来的结果有可能是灾难性质的。设计方案的出炉有可能无法付诸于现实;更有可能大大提高系统的复杂程度。当设计师提出的某种方案在他和程序员之间反复拉锯争论的时候,方案一改再改,一拖再拖,所有的时间都浪费在上面。而这一切就源于一个原因:从设计最初就没有引入一名程序员。
程序员能够提升设计上的「现实可操作性」
我们不仅需要程序员来消灭那些不切实际的想法,同样还需要在我们某个忽视掉的环节上建言献策。我们也许由于自己的专业受限,会将一些可能性给过滤掉,这个时候就需要程序员将这些可能性找回来了。
程序员不仅会在某些时候否决掉我们的想法,更有能力带着我们的想法去向更远的地方。曾经我就与一些程序员们就具体问题展开讨论,他们提出来的东西完全是我之前没有想到,也觉得不可能成真的事。如果当时场上没有他们把关并且评估,我们对一个项目的判断和研究上会缺失很多东西。
程序员的「主人翁意识」更加强烈
最后一个重要的原因决定了设计团队中程序员不可或缺的地位,他们拥有更加强烈的「主人翁意识」。他们在介入到一个项目中的时候,往往更加投入,更加积极。有些时候,他们是决策链的最后一环,他们的声音之所以被人忽略,是因为他们太晚才介入到项目中去,很多意见已经不符合当时的发展状态。越早地让他们介入,他们越能积极主动的地去从技术的角度给出最合理化的建议。
相关推荐
要成为一名高级程序员,尤其是专注于Web开发领域的专家,你需要掌握一系列技术和方法论,并不断提升自己的技能树。根据提供的文件信息,我们可以将关键知识点归纳为以下几个方面: ### 一、基础编程技能 1. **脚本...
在IT行业中,成为一名合格的程序员不仅需要扎实的技术基础,还需要一系列软技能和个人素质。以下是成为一名真正合格程序员所必备的七种关键素质。 #### 1. 团队精神和协作能力 团队合作是软件开发中不可或缺的一...
综上所述,成为一名合格的程序员并不简单,它要求广泛的知识和技能,涵盖从解决问题到个人发展,再到团队合作等多个方面。文件"解决问题,创造力及个人知识管理.ppt"可能进一步深入探讨了这些关键能力,提供了具体的...
无论你是刚刚起步的新手,还是希望进一步提升自己的资深开发者,都可以从《成为一名更好的程序员》这本书中获得宝贵的知识和启发。通过阅读并实践书中提供的实用方法和建议,你可以更有效地提升自己的编程能力,同时...
标题中的“一名程序员,实用的一些工具”提示我们,这篇内容可能涵盖了程序员在日常工作中会用到的各种实用工具,包括但不限于开发、调试、版本控制、协作等方面。描述中的“NULL”意味着具体的工具清单或介绍需要...
在IT行业中,从一名程序员成功转型为架构师是许多技术人员的职业发展目标。系统架构设计程序员向架构师转型之路是一项艰巨但充满挑战的任务,涉及到技术深度、广度、沟通能力以及业务理解等多个方面。以下是对这一...
对于任何一名程序员而言,掌握扎实的基础知识是至关重要的第一步。这包括但不限于数据结构、算法设计、计算机网络原理等基础知识。这些基础学科构成了后续技术发展的基石,为解决实际问题提供了理论支持。同时,...
作为一名程序员,职业水准的提升是职业生涯中至关重要的环节。这不仅关乎个人的技术能力,还包括团队协作、项目管理、沟通技巧等多个方面。以下是一些关键的知识点,帮助你修炼成为一名高素质的程序员。 首先,扎实...
作为一名程序员,注重细节是至关重要的。这不仅关系到代码的质量,还直接影响到项目的成功率和团队的效率。在软件开发过程中,有许多方面需要我们关注,以下是一些关键的细节要点: 1. **编码规范**:遵循良好的...
"中英文程序员输入法"是一款专为编程人员设计的高效输入工具,旨在提升程序员在编写代码过程中的输入体验。这款输入法的独特之处在于它能够同时处理中英文输入,这对于经常需要混合输入编程词汇和中文注释的程序员来...
"如何成为一名优秀的程序员" 本文将详细介绍如何成为一名优秀的程序员,包括程序员的...成为一名优秀的程序员需要具备技术水平、学习力量、聪慧和虚心、求知欲、诚恳、沟通与合作、制造力和纪律等多方面的能力和特质。
成为一个优秀的程序员并非易事,它需要的不仅仅是一两门编程课程的学习。...总之,成为一名优秀的程序员是一个长期的过程,需要不断地学习、实践和反思。只有这样,才能在这个充满挑战和机遇的行业中立足并不断进步。
为了达到这一目标,可以采取以下几种方法:使用有意义的变量名、遵循一致的编码风格、避免过长的函数和类等。此外,通过重构现有代码以提高其可读性和可维护性也是非常重要的实践。 #### 尽可能让代码精简 编写精简...
成为一名优秀的程序员,既需要扎实的技术基础,也离不开良好的个人习惯和团队协作精神。通过不断学习、实践和反思,每个人都可以在这条道路上不断前行,最终实现自我价值的升华。《如何成为一个优秀的程序员》所提供...
例如,一个专注于后端开发的程序员可能会成长为一名优秀的系统架构师,负责整个系统的结构设计和技术选型等重要工作。 #### 二、项目管理路线 对于那些具备一定技术基础同时又善于沟通协调的程序员而言,转型成为...
总之,成为一名优秀的程序员需要系统学习,持续实践,不断适应新技术,并具备良好的团队精神。亚嵌老师的讲解会提供一个良好的起点,但真正的成长在于自己的努力和不断的探索。通过不断积累和提升,你也能在编程世界...
综上所述,这位程序员硕士不仅拥有扎实的理论基础,还在实践中积累了丰富的项目经验,具备多语言编程、机械设计和数据分析等综合能力,是一名极具潜力的复合型人才。他的简历对其他求职者来说是一个很好的参考,展示...
本文将深入探讨成为一名程序员所需要掌握的基础知识,以及如何通过PDG格式的学习资料来提升你的技能。 首先,编程语言是程序员的基石。你需要至少熟悉一到两种编程语言,例如Java、Python、C++或JavaScript。Java是...
综上所述,作为一名程序员,不仅要在技术层面不断提高自己的能力,还应该注重代码的质量和个人职业素养的发展。通过遵循上述提到的各项准则,我们可以逐步提升自己在编程领域的修养,成为更优秀的开发者。
1. **基础知识构建**:成为一名程序员的第一步通常是学习一门或多门编程语言,如Python、Java或C++。理解变量、数据类型、控制结构、函数等基本概念至关重要。同时,还需要掌握计算机科学的基础,如算法和数据结构,...