其他|编程入门与产品设计
之前参加几个与编程相关课程,全部完成率远低于 10%,做不出的可以归纳以下借口:
- 加班、孩子生病导致时间不够
- 我是文科生,太多新东西让我一脸蒙圈,难以上手
- 老师讲得有问题,都觉得我们都明白
还有一些我个人观察的:
- 不懂但没有勇气去问,认为问题太白痴了,会被笑
- 不知道怎么表达自己问题(这个真的会有)
- 花了 N 久时间都解决不了,放弃
以上都涉及一些产品设计常见问题,没有考虑用户心理层面内容。
时间不够
人类喜欢高估自己,另外预估短时,只预估近 1 个月时间投入状况,而忽视后两个月时间投入,尤其后两个月难度越来越大。
解决方法也比较简单
- 先预估投入时间(每天 1小时),然后在此基础加一倍(每天 2 小时)
- 回顾历史做同类事情,是否真的这么顺,再认真思考是否值得去学
文科生,难以入手
本质上是「文科生」心智模型难以匹配「编程」,比如工程涉及全流程、精确每一个变量类型、输入、输出,每个函数拼接,一般人没有这个心去了解。
新东西重来不好使,这个问题往往是讲师和课程设计问题。最好有些前期铺垫,用文科生已知内容去理解新东西。
-
深度学习涉及的物理学「张量」,用大家知道「向量」迁移就比较好,对比解释为什么要用前者,而非后者,类似产品设计用隐喻引导用户理解新功能、新图标等(拟物化)
-
新的编程框架快速理解,用大家知道的框架对比,Numpy vs Tensorflow (入学都知道 Numpy ),道理同上,正常新框架设计者会考虑参考现有用户常用工具
人类不喜欢高度不确定,喜欢有个总体感觉,心中有个 Roadmap。
- 机器学习一般流程(从读取数据到输出成果)是怎么样的,至起码知道现在写到哪一步,卡在哪一步
- 编程基本运行:输入 → 函数 → 输出、数据类型、维度、结构、值确认
最好有视频讲解示范,一图胜千言,在于人类对图像反应时高于文字逻辑
讲师问题
接触的讲师都是一线互联网企业的,能做出 N 多成绩,专业资质是没问题的。
但专家认为新手懂得基本内容,这里面包括显性知识(能看到,课程内容)和隐性知识(不容易看到,如背后决策思考)
这个不容易解决,需要访谈双方,寻找之间 GAP,比较正常(专家)与异常(未能完成新手)的差异有哪些?
不懂但没有勇气去问,认为问题太白痴了,会被笑
这个倒不完全是国内人从小内向不敢向老师提问习惯所致,或者英文不那么好有关,而是提问解答社区氛围没有构建起来。类似产品社区对新用户很不友好,有问题不反馈或反馈不到位,没有建立规则规范用户行为。
回到遇到编程提问,如果你在国外社区问得不好,会被人提出质疑,但重要的是人家会给你提示怎么提问、需要补充什么细节,正常情况下 24 小时内就会有反馈,快的 1 分钟内就有。但国内虽然有规则,但社区成员对新手提示不那么好,只会谩骂,反馈也不那么快。
不知道怎么表达自己问题
类似用户对这个产品感觉很好,但就是说不出所以然,就一味说好。正常情况会让用户举个例子说明什么是「好」。对于怎么表达自己编程问题,单纯举例子不是一种好方法,编程社区会有一套规则明确。比如报告环境、问题、尝试、期望效果,问题会可分解成「输入」→ 「处理」→ 「输出」,就是只解决单个具体问题。
花了 N 久时间都解决不了,放弃
相当于用户拿到 APP ,各种 BUG 、崩溃,容错性太差,用户体验不好,不像 Win 系统死机蓝屏重个启、加上 360 各种管家软件,容错率大大提升。编程经常处于 Linux 动态开发状态,DEBUG 是日常饭,很多新手就在这里放弃了。
- 工具:没有安装推荐,不懂得常用快捷键
- 思路:单步调试、从运算结果与输入反推程序问题(而非从程序中间件入手)