Skip to content

【问答】如何看待“代码没有写到10万行不要碰设计”这样的观点?

2018年7月29日

本文来自知乎问题如何看待“代码没有写到10万行不要碰设计”这样的观点?

有些答主可能误解了题主说的“设计”的意思。这里不是指代码设计或者工程设计,指的是交互和视觉设计。

1 前端需要对交互和视觉设计有一些认识,这是完全没有问题的

比较硬的关系是,你会接设计同学出的设计稿,如果一点不了解设计领域的知识,拿到稿件会手足无措。适当地了解设计理论、方法、软件使用以及设计稿的常用处理(蒙版、切图、切片、变换、拼接等),是前端必备的工作知识。

比较软的关系是,前端是离用户最近的工程师,需要对用户体验负责。很多时候设计稿输出来的是静态的,但是用户交互的是一个动态的页面,如何把这些交互做好,设计和前端基本上各有一半的能力和责任。

2 分清楚输入和输出

很多新人弄不清楚自己能力的输入和输出是什么关系。所谓输入就是学习,你的代码能力、设计能力、审美的学习培养,这些都是输入。把你的代码能力、设计能力和审美应用到工作中,输出好的产品,这是输出。

我个人认为,公司的工作是没有义务为输入负责的,更多的是需要输出。换句话说,你的学习、培养,不应该由公司的工作来承担,公司为你付工资,是希望你能输出自己的能力,为公司的产品添砖加瓦、锦上添花。

因此这就很容易理解了,你作为一个不会设计的前端,要去参与交互设计的过程,这对你来说是一个输入的过程,是你学习怎么做交互的过程。对于公司的工作来说,这很可能是一个负效率的事情。因此,公司/leader不予答应是天经地义的,不要有什么抱怨。

如果真的觉得自己需要学习锻炼,可以放到业余时间去学习。你总会有上下班的时间,有休息的时间,有项目间空档的时间,用这些时间去学习和锻炼,甚至与你们项目的产品、设计同学去探讨设计、实现上的细节,探讨用户体验、用户价值等。这是一个更合理的方式。

3 借力公司资源

如上一段所说,让不专业的人参与专业的工作,对公司来说不一定是好事。但是公司总还是有专业的资源,包括设计的流程、设计的资源库、方法论积累、规范以及专业的设计师同学。这些都是学习过程中非常难得的资源,可以先静下心了解、学习。甚至在自己的工作时间允许的时候,参与设计评审等环节,但只能以旁听、学习者的身份参与。如果真的可以的话,经过一段时间积累,会有比较大的提升。

4 注意专业深度和广度的关系

上一段说的借力公司资源,理论上是可行的。但是实际操作中,可能引发一些问题,比如Leader会担心你是否不想在开发上做深入学习和实践了,是否想转设计岗,甚至是否是想离职。

所以更为重要的是,要认清自己的身份,你首先是一个工程师,需要对代码负责。接下来才是一个前端工程师,大部分对代码负责,少部分对用户、交互、体验负责。(如果公司/项目的要求没那么高,那只对代码负责也可以的。)因此,所谓“代码没有写到10万行不要碰设计”,本质上是希望你首先打好作为工程师的基础,把手上的代码写好。先学会好好写代码,再去学设计。

这其实也就是常说的专业深度和广度的关系。你说前端的基础不包括设计知识吗?当然也包括,第一段就说了。但是在一个人入门还不深入,工作刚能上手的阶段,更好的学习路径必然是先把更为基础的代码学好。设计作为前端进阶甚至外延的知识,在打好第一阶段的基础之后再去了解学习更好。这个道理其实也适用于其它领域的知识,比如对前端来说,后端、客户端、测试等,都重要。但是没有这些知识,你同样能干活,但是没有前端基础,你干不了活。

从公司的角度来说,招你过来,也是为了让你输出前端方面的能力,而不是培养你的设计知识,否则为什么不招设计师呢?可能还更便宜一些。也就是说,你的价值首先是100%的前端,然后才可以叠加10% 20%的设计,这属于你在前端之外为公司创造的额外的价值。如果你是50%的前端 + 10%的设计,还有一堆的前端问题都搞不定/搞不好,那公司可能更希望招一个80%但不会设计的前端。不管是在自身学习还是在参与公司工作、解决产品问题,都要非常清醒地认识到这一点。

所以个人建议的学习通道是,好好学前端知识,好好码前端代码。先把知识学深,觉得技术上基本上没有太大的难题,什么问题都有解决方案了,再去追求更广的领域,比如产品、设计、用户体验等等。