前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >在这个行当,不做程序员也得懂技术

在这个行当,不做程序员也得懂技术

作者头像
KyXu
发布于 2019-04-11 08:32:29
发布于 2019-04-11 08:32:29
48900
代码可运行
举报
文章被收录于专栏:KyXuKyXu
运行总次数:0
代码可运行

先来捋一捋思路,关于各个岗位合作打造(移动端)产品的一点想法:

  1. 为什么只有程序员是不够的
  2. 如何做一个好的非程序员

声明: 本人是程序员,截止到目前,我用的设计都是自己设计的,我用的产品策略都是自己的思考。 本人并非专业设计师或 PM,如果勘误,欢迎指正。 本文并非对设计师和 PM 的吐槽,但如果您觉得您作为设计师或 PM 或其他职业者被冒犯了,我只能说我并无此意,请您立刻关闭此页面。

为什么只有程序员是不够的

首先要消除一下歧义,我们见过无数的一人独挑大梁完爆数十人团队的例子,所以事实证明,只有一个程序员,某些时候是足够的。不够背后隐含的是,这个程序员做了很多非程序员岗位的事情,这种情况下其实相当于是一个 Product Creater 在做东西,他(她)不仅仅是程序员这么简单。

即便是在移动端出现之前,大家在 PC 上用软件,也是需要有人来做设计,有人来思考产品的。

用户完成一个操作,需要做几次操作,需要做什么样的操作,PC 上是鼠标左击、右击、滑动还是其他,移动端是滑动、点按、长按亦或重按。这个产品解决了什么样的问题,用什么方式解决的,其他产品解决了这个问题吗,它们是怎么解决的,你和它们相比有什么不同……这款产品有自己的设计风格吗,如果是依照平台的风格,那么有什么地方没遵循平台的规范吗,能不能先破再立,开创一个新的形态……

类似的问题太多太多,于是有了【程序员+设计师+PM】的模型。

最近想明白了一件事情:为什么身边好多人我明确地知道他们代码写的比我好,但是做不出好东西?

去年 8 月份我做了自己的第一款在 App Store 上架的 App,花了 12 天,2000 行 Swift。这个项目如果是现在做的话,从 0 到打包 ipa,两天以内,最多 800 行代码就可以搞定。然而就是这份臃肿不看、风格丑陋的代码,带领这个 App 杀进了 App Store 中国区付费榜 Top 50。

还有就是现在的编码能力相比从前有了十足的进步,面向协议编程、函数式编程也都有了了解,对可以重构的项目大刀阔斧地更改,改代码的时候心潮那叫一个澎湃啊,觉得自己写出了多么多么厉害的代码。等写完了,冷静一看,原来不过如此。代码是变了,App 表现起来和原来并没有什么区别,这种努力用户是看不见的。

所以逐渐开始认识到,代码和产品是多么割裂开的事情。当然好的程序员可以把这些事情想办法联系起来,融会贯通,知道什么样的 App 导航模式可能对应背后什么样的设计模式(举了个不好的例子)。但说到底这是完全不同的两件事。

如何做一个好的非程序员

做外包的经常觉得甲方很蠢、各种难沟通,所谓隔行如隔山,甲方或许会说出 “这个设计看着不大气啊” 或者 “我想做一个淘宝那样的网站,得多少钱” 这样的话,然后乙方就在内心嘲笑人家,但是身体上还要表现的无所谓,最终把钱搞到手。

但其实真的没必要这样,因为对方是来提出需求的,假如让我进入一个完全没有概念的领域,比如说挑选木材,我也只能说我想要像什么什么一样的木材,我叫不上名字的。所以甲方这样无可厚非。但同时我们也知道,一个好的甲方,我们可能希望他懂技术、懂设计、懂产品,和我们交流起来纵享丝滑。

程序员、设计师、PM 三方对接的时候,其实就是这么个甲乙方的关系,而理想状况下,这三方中的任何一方充当甲方的时候,都应该是一个可以进行无障碍对接的甲方。

比如说颜色,设计师眼里的颜色是这样的:

KUWAZOME

同样的东西在程序员眼里是这样的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let kuwazomeColor = UIColor(red: 100/255, green: 54/255, blue: 60/255, alpha: 1)

那么好的设计师应该是以这样的方式把这个颜色传递给程序员的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 颜色
KUWAZOME: R 0.39 - G 0.21 - B 0.23

而不是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
KUWAZOME: #6B4449

作为设计师,你可以不会写代码,你可以不知道什么是 UIColor 什么是 CGColor 什么是 NSColor,但是你要知道用你的东西的人此时此刻是以 RGB 或 HSB 的方式用的,而不是 CSS HEX,这是非常基本的要求。再甚者你还应该知道你的程序员使用的 IDE 可能不会帮他补全 <code>/255</code> 这一内容,所以为了让他不再打出无数个 <code>/255</code> ,你给他的值应该是 <code>R: 0.39</code> 而不是 <code>R: 100</code> 。

那么作为程序员,你应该能看得懂 <code>#6B4449</code> 是什么意思,并具有把它转换成 RGB 或 HSB 数值的能力,这样可以保证你在遇到了相对糟糕的设计师的时候,也能完成任务。

好的设计师应该把程序员培养成设计领域的废人,程序员指定图片名,设计师这边把相应图片导出,名称、尺寸分毫不差,并附带 1x、2x、3x 给 iOS,各种 dpi 给 Android。而程序员这边即便只拿到了 .psd 或 .sketch 文件也能把项目做完。

另外,无论是程序员、设计师还是 PM,都应该了解大家共同面对的这个平台,依然拿 iOS 举例。

UIAlertController

上面这个是 iOS 系统提供的控件 - UIAlertController,这个东西在程序员眼里表现起来是这样的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let alert = UIAlertController(
    title: "A Short Title Is Best",
    message: "A message should be a short, complete sentence.",
    preferredStyle: UIAlertControllerStyle.ActionSheet)

alert.addAction(UIAlertAction(title: "Cancel",
    style: UIAlertActionStyle.Cancel,
    handler: nil))
alert.addAction(UIAlertAction(title: "Choice One",
    style: UIAlertActionStyle.Default,
    handler: nil))
alert.addAction(UIAlertAction(title: "Choice Two",
    style: UIAlertActionStyle.Default,
    handler: nil))

所以程序员此时需要的信息是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# UIAlertController
title: "A Short Title Is Best"
message: "A message should be a short, complete sentence."
Action: "Cancel" - Cancel
Action: "Choice One" - Default
Action: "Choice Two" - Default

这样就足够了。当然你可以把上面那张图也做出来给程序员预览,防止出错,但是你要明白这个东西是 iOS 系统提供的,UIAlertController 是现成可调用的 API,你要做的是只是提供调用这个 API 需要的参数,而不是做一个一模一样的 UIAlertController,还把图片裁成 1x、2x、3x 以为这个东西是程序员手动做的。如果这个东西真的是程序员手动做的,那么显然你应该把 Cancel、Choice One、Choice Two 这三个东西分开提供图片资源,否则怎么可能会有三个可点击的地方?!

又或者说某个可点击控件被点击之后的效果,iOS 有自己的 Human Interface Guidelines,Android 有 Google 提供的 Material Design,你只要给 Button 提供里面的 Image 资源就可以了,告诉客户端开发的程序员阴影模糊几像素、向右偏移几像素、向下偏移几像素是极其不专业的行为。同样的,作为设计师,你可以不懂 UIButton 怎么创建,但是你要搞清楚 “iOS 里面的 Button” 或者 “Android 里面的 Button” 到底是什么,了解你的设计应该以怎么样的形式被融入到程序员的工作中,这才是设计,否则只是美工,更何况连图片资源都不能正常提供,连美工都算不上。

类似的例子太多太多了……


或许这篇文章的标题还可以改成:

  • 在这个行当,不做设计师也得懂设计
  • 在这个行当,不做产品经理也得懂产品

不想吐槽,只想分享一点自己的看法,我觉得真正的专业,不仅是把自己份内的事做好这么简单,因为常常和你合作的人并不能把他份内的事做好。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016.04.17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
程序员的鄙视链
最近这几年在世界各地突然吹起了一股全民写程序的风潮,连美国总统欧巴马都在写 JavaScript 了,但是身为一介靠写程序(以及在上班时间胡乱上网)来谋生的 developer(所谓的 develop
用户1667431
2018/04/18
7930
程序员的鄙视链
美工请假了,程序员来做个图顶一下!
如果哪天设计师消失了,这个世界会变成什么样?在互联网行业,你经常会听到这样的抱怨: 设计师:“你妹的!技术写出来的代码跟屎一样,老子用 AE 做的那么碉堡的效果,看你给我弄成了什么狗样子,你怎么不去死
java思维导图
2018/03/15
1K0
美工请假了,程序员来做个图顶一下!
程序员的职业方向: 技术?管理?
  程序员职业生涯发展到一定程度都会面临一个选择,是走“管理 + 技术”方向,还是选择纯钻研技术走“技术 + CTO”路线。程序员职业生涯发展的问题,这是所有程序员都在关心的问题,未来究竟要怎么走,30岁之后还能不能再做程序员.......
阳光岛主
2019/02/19
7250
程序员你要知道:技术不是全部
源 / 程序员之家 什么是程序员的全部? 程序员回答一定是技术啊,学技术、用技术、研究技术。但是今天小编要告诉你的是:对于程序员而言技术是非常重要的,但是它不是一个程序员的全部. 接下来我们来详细聊聊: 一、技术性思维 技术人最大的优势就在于思维缜密,考虑事情比较全面,逻辑性较强。产品经理提出一些天马行空的想法时,总能第一时间评估可行性,给出实现方案,让看似缥缈的想法变成现实。 然而这种技术性思维很容易形成一种思维定式,直接导致的结果就是不管任何事,总是if...else,总是从技术的角度出发去考虑
顶级程序员
2018/05/03
5220
程序员你要知道:技术不是全部
谈谈程序员的职业方向
如果你是学计算机的,将来想进入软件和互联网行业, 恭喜, 这是个好行业, 薪水很高, 也不需要靠关系, 一切靠实力说话, 不需要有个好爸爸。 坏处是, 这个行业需要极为繁重的脑力和体力劳动 , 加班也
老九君
2018/03/06
8750
悄悄告诉你,在硅谷,有一种工作比程序员挣得多
不管在上地、南山还是硅谷,程序员从来都是高薪的代名词。即使是两年前,硅谷的实习工程师的年薪就已经达到了81600美元(超过人民币56万),相当于美国平均工资的两倍。
量子位
2018/11/08
9360
8个技巧让设计师和程序员好好沟通起来
设计师和程序员在构建产品时扮演着截然不同的角色。设计师通常专注于图形和界面功能,比如菜单布局和配色方案。程序员负责处理能让产品运作的“幕后”工作,通常涉及代码。所以,设计师和程序员之间存在断层也正常。有时候,只有在设计师把设计文件交付给开发团队的时候才会有交流。这种断层可能因为双方是在构建产品的流程的两端工作,也可能因为双方由于全球化是在不同的城市工作。无论是什么原因,架起填补断层的桥梁都可以产生更具凝聚力的产品。
mixlab
2019/08/23
3880
从程序员到技术总监,分享10年开发经验
在中国有很多人都认为IT行为是吃青春饭的,如果过了30岁就很难有机会再发展下去!其实现实并不是这样子的,,在这里在下想凭借自己的亲身经历,与大家一起探讨一下。
java架构师
2018/08/23
5370
程序员转型产品经理:懂技术或许是把双刃剑!
👆点击“博文视点Broadview”,获取更多书讯 过去一年,我完成了迄今职业生涯最大的一次职业转变,从熟悉的开发转岗到了陌生的产品。身边不少朋友都表示不理解,毕竟已经码了六年代码,为什么不继续深耕技术,而选择转岗。 其实我也认真思考过这个问题,但之所以决定转岗,是因为我发现自己遇到了职业生涯的瓶颈:随着年龄的增长,精力不如以前,而技术革新的太快,需要随时学习新的技术,所以我这才有了转岗的打算。 而最终下定决心转岗成一名产品经理,是我结合自身情况做出的重大决定: 相比每天持续敲代码,我更喜欢并擅长与人打交
博文视点Broadview
2022/05/12
5290
程序员转型产品经理:懂技术或许是把双刃剑!
程序员在 GitHub 上都分享过哪些技术路线图?
记得以前我刚开始学某项新技术的时候,我都会先大量搜集该项技术相关的学习资料,其中包括视频、书籍、博客等资源,然后再根据这些资源绘制一个详细的思维导图,结合这张图,在脑中搭建一个相对完整的学习框架。
GitHubDaily
2019/05/06
9210
程序员在 GitHub 上都分享过哪些技术路线图?
程序员,都去写一写前端代码吧
你可以认为我是一个极端的人,就像有许多人专注于自己的领域而不屑于其它“ 肤浅” 的工作范畴一样。比如我见过不少认为做 portal 没有技术含量的判定,做工程都是充满苦逼行为的言论,最近则还有那些“ 大数据” 崇拜者的疯狂吐槽…… 我的极端则有些不同,我的极端在于我认为绝大多数优秀的程序员,都要尝试多方面的事情。并不只有底层开发或者机器学习充满睿智的挑战,我做了几年网站,很难说这就是我最初的兴趣,虽然也在接触和学习其他的领域,但是依然觉得,做网站仍旧充满挑战,互联网真是一个奇葩充斥的地方。
四火
2022/07/15
5660
程序员,都去写一写前端代码吧
不懂代码的,但是这些都看懂了。程序员段子合集
程序猿要了3个孩子,分别取名叫Ctrl、Alt 和Delete,如果他们不听话,程序猿就只要同时敲他们一下就会好的。
一墨编程学习
2018/10/08
9490
不懂代码的,但是这些都看懂了。程序员段子合集
设计师一小步,程序员一大步
首先,从产品人员这里,如果一开始就不信任开发人员,总想把东西往简单了说,或者排上了时间又插需求,那么开发人员也会产生相应的不信任:反正你是要插需求的,不多估算点时间怎么行?
姬小光
2018/09/05
4080
设计师一小步,程序员一大步
BAT资深架构师告诉你从程序员到架构师,你需要掌握什么能力?
架构师和开发者一样,也经常写代码,简单的说,开发者和架构师之间最大的区别就是技术领导力。
java架构师
2018/08/23
8330
万恶的PM是推动程序员技术不断进步的不竭动力
万恶的PM是推动程序员技术不断进步的不竭动力。产品汪,你不仅仅是一只可爱的狗,你更是一只藏獒,因为我们程序员都是一群饥饿到边缘的草原狼。—题记 PM与猿猿入行需知 在IT界,猿猿们一入行,就注定要
非著名程序员
2018/02/09
9200
万恶的PM是推动程序员技术不断进步的不竭动力
程序员懂业务有多重要?
程序员懂业务有多重要?印象中我从来都说,“很重要” 这句没有营养的废话。在许多项目中,业务才是真正驱使价值兑现(冠冕堂皇的说法,基本上意思就是 “赚钱”)的法宝,而技术实际上有诸多选择,选择某一项并无太大区别。可是,老实说,下意识地,在技术和业务难以两全其美的时候,我还是倾向于选择那些从技术角度更有趣,但是业务上显得没 “那么” 重要的项目。我不讳认这一点,但是随着这些年的经验积累,或者说经历的项目的洗礼,业务的分量已经越来越大了。
四火
2022/07/19
6920
程序员到底是一个什么职业?
为什么有人在技术造神 大家应该已经感受到,技术圈这两年已经和娱乐圈创业圈差不多的氛围了,这其实是有原因的。 最主要的原因是,创业公司和创业媒体越来越多,他们需要大量的程序员投身到创业这个高风险的行业中,而造神,正是让程序员们自动跳进火坑的绝佳办法。不是说程序员不能创业,我是说,创业媒体们故意模糊了创造和创业的界限,把程序员们的创造冲动偷换概念,鼓吹了太多不适合的人去创业。 另一个原因是,招聘成本高涨,CTO 们为了能提升影响力,不得不频频出席各种大会刷脸。文笔好的再做做自媒体和技术社群,既能强化个人品牌提高
老九君
2018/03/06
6710
程序员到底是一个什么职业?
写给即将离开校园成为一名程序员的几句忠告
转眼间又到了一年一度的毕业季,如今回首自己真正意义上的大学生活已过去整整两个春秋.谨以此文献给那些即将毕业的和还未毕业的学弟学妹们.
哲洛不闹
2018/09/18
3350
写给即将离开校园成为一名程序员的几句忠告
ios开发之xcode环境介绍
作为一个刚入门ios开发的人来说,对于ios开发,对于xcode一切都是那么的陌生,那么我们如何开始我们的第一步呢?首先对开发的ide是必须要了解的,其实要对开发的语言要慢慢熟悉起来,今天我们先来熟悉
xiangzhihong
2018/02/05
2.7K0
ios开发之xcode环境介绍
程序员的迷茫:前端能做什么?还是后端?全栈?
在我的职业生涯过程中,发现很多人会跑来问我这样的问题,前端能做什么?这条路怎么走。然后他们会分开来问一些子问题,例如说到底我进入了前端我应该做产品呢?我应该做基础架构呢?还是应该做产品基础架构呢?可能有些公司不存在产品基础架构这样的概念,通常来说的定义就是在于产品和基础架构之间。有点像是做一些框架、AB测试平台,测试工具等等的方案。其实一个更好的问题应该是问到底我想服务于什么样的客户?因为想要服务于什么样的客户才是真正决定了你要做什么?
一墨编程学习
2018/10/23
9910
推荐阅读
相关推荐
程序员的鄙视链
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验