#53 谈谈远程办公的思考

2022-11-26

这三年,由于疫情,已经有好些次远程办公了(有时是在老家,甚至有次在旅游景点),相信很多人都是这样。

我没有体验过那种真正远程办公的工作氛围,只是迫不得已的把远程当做备选方案而已。所以现在只能基于我的这些经历说一下自己的思考。

  1. 通勤时间可以省了
  2. 在家吃更健康,起码更放心
  3. 要是就一个人吃,买菜、洗菜、做饭、吃饭、洗碗,这个时间成本,我觉得是不划算的
  4. 不要久坐,多站起来动动,看看窗外风景也是好的(我在公司也是时不时走一下)
  5. 最好要有一个属于自己的空间,没人打扰
  6. 总是被打扰,工作的体验也不好,任务没完成的压力会让人更累
  7. 和同事之间的沟通应该找一个更好的途径(目前没有)
  8. 在线通讯只能等回复,要是在公司,三分钟没有回复,我就可以找过去了
  9. 开发过程中无法保证一直盯着微信,我是做不到的,我也不喜欢总被打断
  10. 合理的值班制度安排很重要,值班者完全不安排其他需要投入较多时间精力的工作,保证在线回复和处理问题的速度

#52 用户和客户

2022-11-11

先说一句,文章链接中的单词不小心写错了,customer,不要在意这些细节。

我司曾经强调过在内外交流中区分客户和用户,不要混用(主要是统一表达方式)。今天突然想到这个问题,特意来仔细琢磨一下。

我司的定义

我记得大概是说:

  • 客户:购买我们产品的人
  • 用户:客户使用我们产品去服务的对象,也就是客户的客户

我们提供的是消息触达服务(邮件和短信),落到产品中,基础功能可以免费使用(定量),增值功能需要收费。这是背景。
在这个过程中,客户是我们产品的使用者,客户使用我们的产品给他们的客户发送消息。
客户的客户,也就是消息的接收方,就称之为用户。

PS:客户又分成付费客户和免费客户。

这个和原义不大相符,作为内部规范,怎么定义都行,上面怎么说就怎么来。

我认为

  1. 客户和用户

    1. 客户,Customer,这描述的是商务关系,认为是购买产品的人,没毛病。
    2. 用户,User,应该是使用我们产品的人,也就是我们的服务对象。

    我在网上找了一遍,大概都是这个意思。和我对这个两个词语义上的理解是吻合的。

  2. 客户内部的角色

    1. 决策人(KP)
    2. 购买人/付款人
    3. 使用人

    他们应该整体作为一个客户,不能区分开来,认为是决策人,或者购买人是客户,使用人是用户。

    比如爸爸为孩子挑选了一款平板电脑,妈妈付钱,孩子使用。在平板电脑公司来看,应该认为他们是一个整体,然后找到 KP 做营销,告知这款平板多么利于学习,价格多么合适,还有最后一天的节日优惠。然后为了企业的品牌形象与二次营销,应该提升产品的质量和使用体验(持续更新的学习资料 + 游戏性能)。

  3. 客户使用我们的产品去通知也好,去营销也好,这些消息的接收方,应该就只是叫做收信方。


通过上面的定义,我们应该很容易理解下面几个观点:

  1. 仅根据是不是有商务关系(付钱)判断是不是客户。
  2. 用户分成免费用户、付费用户。
    1. 免费用户一定不是客户。
      免费用户:仅在免费额度范围内使用基础服务、部分产品提供的免费试用。
    2. 付费用户不一定是客户,因为可能是客户购买之后提供给其他人使用的。
      1. 我以前做过的一款产品就是客户购买之后,客户的客户使用。

因为日常生活中,很多时候,客户(购买者)往往就是用户(使用者),我们才容易搞混。
在一些业务场景下,我们假定购买者就是使用者,那么付费用户也可以说成是付费客户。
免费用户不能说免费客户(因为没有商务关系)。

产品和服务

在写这篇文章的时候,我又想起另一个概念来了,我们是提供产品,还是提供服务?

如果没记错,在内部会议上讨论过,老板阐述了自己的观点。
当时的讨论内容我忘了,我这里就说说我现在的想法。

比如,我买周黑鸭送给了客户,客户转手把周黑鸭送给朋友吃了。
周黑鸭的客户是我,没有问题。周黑鸭的用户是谁?

如果按照提供产品的观点,最后产品被老板的朋友吃了,那么老板的朋友是用户。
周黑鸭应该为我提供体面又具有性价比的产品,同时为最后吃到鸭脖子的人提供美味(产品体验)。

如果按照提供服务的理念,周黑鸭公司提供的是礼品服务,那么是我在使用这个服务,所以我既是客户,又是用户。
周黑鸭应该为我提供体面又具有性价比的礼品服务,同时为我提供最好的送礼效果(产品体验),就是让我的客户收到礼物之后觉得满意,然后我和客户的友好度 +1。

这个例子可能不太恰当,但是我想表达的意思都说清楚了。

再补充一个,账户与账号

账户 Account 用户 User
账户名 Account Name 用户名 User Name
账户 ID(账号) Account ID 用户 ID User ID

账户是用户在系统内的身份,理论上一个用户可能有多个账户。

  1. 大多数情况,一个用户一个账户。
  2. 更重要的是,用户是服务对象,落实到管理系统中,用户就是账户。
  3. 就算一个用户使用多个身份信息(手机号)注册了多个账户,也没人会特意去调查、区分它们。

所以用户和账户也经常混用。

如果一个用户有多个账户的时候还是会发生一些沟通上的不便,严谨一点,内部对齐客户、用户、账户这几个概念,在不同场景下根据上下文区分使用,还是有一些必要性的。


就系统开发来说:

  • 用户表:user_id, username, password, customer_id
  • 客户表:customer_id, customer_name

  • 新用户注册的时候,自动同步到客户管理系统 CRM 中(潜在客户)。

  • 到了商务对接阶段,也就是成为了付费客户之后,如果发现客户创建了几个账号,可以在 CRM 中将这几个账号关联到一起。
  • 后台就客户信息进行管理,也就是基于 customer 表,支持账号搜索就行。

#51 CSDN 免登陆复制

2022-10-27

CSDN 会拦截复制,提示需要登录。

近日在网上学到一招,在控制台输入一行代码就好了:

document.designMode = "on";

#50 我的 OKR

2022-07-02

冯·诺依曼的故事 启发,我觉得我应该更明确一下我的重要目标是什么。

重要目标

不说长了,就说接下来,这 2022 年下半年,工作和技术两个方面的目标。

工作

  1. 保质保量完成开发
  2. 帮助新人融入项目
  3. 推动自动化单元测试和项目文档
    至少在两个项目中落地。
  4. 理解相关产品设计

技术

  1. Python 的几个技术点
  2. 元类
  3. asyncio
  4. Redis
  5. Golang

目标分解

  1. 工作以周为单位,每周应该完成几个任务 (TAPD)
  2. 本月开始,让新人参与分析问题,解决问题
  3. 完成 out,sch 两个项目的单元测试和项目文档
  4. 先写文档,再写单元测试
  5. 测试应该尽量不改动原有代码
  6. 代码覆盖率达到 70%
  7. 重点逻辑的用例应该尽可能覆盖所有可能的场景
  8. Web 上所有功能点和项目的代码串联起来,补充到文档中
  9. Django 模型相关代码阅读,输出笔记
  10. asyncio 文档,uvloop 文档,tornado 文档阅读,输出笔记
  11. 几个小型 Golang 项目开发(练手)
  12. httprouter, Gin, gocmpp
  13. Go Redis, Go MySQL (GORM), Go RabbitMQ

#49 冯·诺依曼的故事

2022-07-01

本周的《科技爱好者周刊》讲了冯·诺依曼的故事。

学计算机的,应该没有人不知道冯·诺依曼架构,冯·诺依曼也被称为现代计算机的发明人。他结合了数理逻辑、信息论和生物学,开创了自动机理论,并希望在这个领域做出更大贡献。但是他总是插入其他相对不重要的工作,比如政府相关事务,以致于最后并没有为自动机理论的发展做出应有的贡献。

他本人并非不知道这一点,但就是这种性格,喜欢同时研究很多事情,一旦对某件事情产生了兴趣,就会放下手头的工作,推说稍后再回来接着做,可惜人生并没有为他留出"回过头再做"的时间

尤其是这句话,我感觉扎心了,妥妥的就是在说我。

我感兴趣的事情实在太多,以致总是被各种事情打断而很少能实现预定目标。我一直就有一种感觉,感觉自己是一只在追赶沙丁鱼群的、“没有经验”的小旗鱼,悲哀!

我要安静下来,仔细思考我的目标到底是什么,它们有一个怎样的优先级。

#48 杂事

2022-04-28

请赐予我力量,全力改变那些可以改变的事情,平静接受那些无能为力的事情,拥有智慧区分这两者。

  1. 2022 年已经过去三分之一,希望今年的年度计划能够落实。年初定的五个主要目标:

  2. 深挖现有技术栈

  3. 公司业务熟稔于心
  4. Golang 达到和 Python 相同的掌握程度
  5. 英语和数学,达到大学时期要求的水平就行
  6. 个人项目

目前全部毫无进展。要是再不抓紧,年底又会觉得一年过去啥事都没有做成。

  1. 技术债越积越多, 不知道何年何月能补齐。难道是退休的时候?
    要是我可以不工作也有工资拿, 半年时间, 应该够了吧。
    总结已有知识,查漏补缺,然后对想要了解的方向进行一个全面深入的学习。
    顶多一年...应该可以了吧...也许。
    如果工作中学不到什么,单靠挤一点空闲时间自学确实有压力。
  2. 希望收入跑赢通胀, 然后房价便宜一点。
    不贪心, 打个七折 (➘ 30%) 就够了。
  3. 二胎计划
  4. 希望新冠能在今年夏天结束。
  5. 我想要工作中能有更多机会锻炼自己的表达能力。
    我思考过这个表达能力的培养问题,其实质应该是应急情况下的思维能力问题,我习惯于安静的环境思考问题。
    在向别人阐述自己观点,或者一般的技术交锋过程中,需要思维能够更加活跃,跟上话题发展的节奏。

PS: 我说的表达能力就是普通的语言能力,不是社交能力。我对社交并不热衷,也没想过那么活蹦乱跳。作为一个技术人员,做好分内工作就行,其他事情爱咋咋地。

#47 我的中年危机

2022-02-21

已经 30 几了,生活一团糟。

如果能有些事业,好歹有一个方面可以让我感受到自己的价值,至少可以分散一下注意力。可是,也没有,反而也是个令人糟心的事,让我常有髀肉复生之叹,感觉人生就要荒废。

我感觉我在一个漩涡中无法自拔,想逃离却又不能逃离。我不知道该怎么做。我时常想起《阿甘正传》中珍妮的祈祷。

这个可能就是中年危机的前兆吧!

#46 输入法

2022-01-19

我用的最多的输入法:

  1. 搜狗
    搜狗在中文输入法方面确实是做的不错,没得说。
  2. 百度
    百度输入法是小米自带(我是一个资深小米用户),有时懒得换也就用了。而且百度输入法还有一个好的地方,就是如果手机接入物理键盘后,它会只显示一个横条,不占界面。
  3. RIME
    RIME 是我在 Linux 上的输入法, 一转眼就用了好几年了。

RIME 是一个开源项目,没有搜狗、百度那样的云服务(那种智能的全句输入)支持,在使用方面不如他们顺手,本地词库也确实有些单薄。话说回来,也够用了,几年的真实感受。

而且一旦习惯了 Linux 的折腾,这种全部在自己的掌控之中的感受就很上瘾。你要是熟悉 RIME 的话,你就懂我说的了,词库全部在掌握之中。
PS: Ubuntu 中的 IBUS 智能拼音(libpinyin/ibus-libpinyin)也是可以自己控制词库。

搜狗和百度都是封闭的,他们的用户词库都不支持导出(加密的不算)。我常常觉得要是可以把搜狗和百度中的词库导入 RIME 就好了。他们自己弄的那些个词库就不指望了,只是希望可以把我输入的那部分给我。

最近发现讯飞输入法效果不错,不输搜狗和百度,而且支持导出词库(目前只发现手机端可以导出,PC 端我已经在线反馈,等回复中)。

现在已经全部切入讯飞输入法。
PS: 讯飞的词库和搜狐比差太多,不见得比 Rime 强多少,但我相信运行一段时间之后会越来越好的。

关于讯飞输入法在 Debian/Ubuntu 上的安装

# Index of /deepin/pool/non-free/i/iflyime/
# ../
# iflyime_0.9.972_amd64.deb                          18-Dec-2019 13:31     27M
# iflyime_0.9.988_amd64.deb                          14-May-2020 17:49     49M

wget http://packages.deepin.com/deepin/pool/non-free/i/iflyime/iflyime_0.9.988_amd64.deb -P ~/Resources

gdebi ~/Resources/iflyime_0.9.988_amd64.deb
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Reading state information... Done
此软件包不可安装
Dependency is not satisfiable: fcitx-frontend-qt4

看起来是 Qt4 被砍掉了的缘故,应该可以解决。但是从上一次发版(2020/05/14)到现在已经一年半了,没有出新版本,可能是讯飞输入法 Linux 版项目被停了,所以就算了吧。

#45 对个人职业生涯的一点展望

2022-01-02

维持之前的设定,走技术专家的路线。

  1. 能处理工作中的难点问题,需要对业务有全局性的认识
  2. 对技术有深刻的理解,尤其是基础技术一定要扎实
  3. 方案设计能力:1. 对产品更多思考 2. 架构能力 3. 编码规范 4. 了解产品测试和运维
  4. 良好的沟通能力,培养个人影响力

第一点,今年会得到改进。
第二点,需要更长时间周期的投入才能见效。
第三点,比较泛,需要更多思考。
第四点,可能是最难的。我不知道该怎么做。

#44 对过去工作的一点总结和反思

2022-01-01

新的一年,岁数又会 +1,在这个一年开始的时候,对过去做个总结,对将来做个展望。

对过去的反思

  1. 工作这么多年,还是缺少拿得出手的项目经历,不足以支撑我对自己的定位或者目标
    工作年限越长,这个问题就会更加突出
    新的一年需要思考思考这个问题
  2. 技术深度不够
    1. 主力开发语言 Python 应该更加深入,完成 CPython 源码阅读
    2. PHP, Node, Golang 需要加强,能够熟练掌握 (主要是软件生态),使之达到新的线上业务开发的程度
    3. 前端也一样
  3. 知识结构缺乏深入的整理
    1. 比如软件设计的一些思考
  4. 应该对产品方面更加用心一些 img
    现在就是对技术方面过于感兴趣而忽略了产品
    这个问题对于工作来说比较突出,新的一年一定要注意这个问题

今年的计划

前提:工作习惯养成:1. 计划,2. 重要的事情优先完成,3. 不加班 (上班时间完成工作)

如果按平均每天 2h 来计划,全年有 730h。

  1. img 对当前公司业务的梳理, 需要有计划有步骤的推进 (这一项可以在工作中完成)
  2. img 完成 Golang 的学习目标, 达到熟练的程度(第一季度) (60h, 按一个月算)
  3. img CPython 源码阅读 (120h, 按两个月算)
  4. img 英语和数学
    真是 年年列计划, 年年没时间
    英语达到六级词汇, 能不借助工具流利阅读英语资料 (180h, 按每天半小时算)
    数学复习到高等数学, 不用达到应试的程度, 了解相关概念就行 (60h, 按一个月算)
  5. img 计算机网络 (50h)
  6. img Markjour 文章更新速度放缓, 每周一篇就够了 (104h, 按每周两个小时算)
  7. img 对以往知识的总结 (104h,按每周两个小时算)
  8. img 剩下的时间 (52h) 差不多每周 1h, 用来记入其他学习任务。

个人项目的开发不占用这里的学习时间,另外从周末时间里面挤。

可选个人项目

  1. 短网址
  2. 记账
  3. Home Assistant 方向
    我预测未来几年,智能家居会变的很流行
    OpenWrt + Home Assistant 是一个很好的方案
  4. 通用管理后台
  5. 商城
  6. 重构 markjour