10x程序员工作法
郑晔
火币网首席架构师,前ThoughtWorks首席咨询师 ,TGO鲲鹏会会员
立即订阅
7975 人已学习
课程目录
已完结 56 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 程序员解决的问题,大多不是程序问题
免费
思考框架 (1讲)
01 | 10x程序员是如何思考的?
以终为始 (11讲)
02 | 以终为始:如何让你的努力不白费?
03 | DoD的价值:你完成了工作,为什么他们还不满意?
04 | 接到需求任务,你要先做哪件事?
05 | 持续集成:集成本身就是写代码的一个环节
06 | 精益创业:产品经理不靠谱,你该怎么办?
07 | 解决了很多技术问题,为什么你依然在“坑”里?
08 | 为什么说做事之前要先进行推演?
09 | 你的工作可以用数字衡量吗?
10 | 迭代0: 启动开发之前,你应该准备什么?
答疑解惑 | 如何管理你的上级?
划重点 | 关于“以终为始”,你要记住的9句话
任务分解 (11讲)
11 | 向埃隆·马斯克学习任务分解
12 | 测试也是程序员的事吗?
13 | 先写测试,就是测试驱动开发吗?
14 | 大师级程序员的工作秘笈
15 | 一起练习:手把手带你分解任务
16 | 为什么你的测试不够好?
17 | 程序员也可以“砍”需求吗?
18 | 需求管理:太多人给你安排任务,怎么办?
19 | 如何用最小的代价做产品?
答疑解惑 | 如何分解一个你不了解的技术任务?
划重点 | 关于“任务分解”,你要重点掌握哪些事?
沟通反馈 (12讲)
20 | 为什么世界和你的理解不一样
21 | 你的代码为谁而写?
22 | 轻量级沟通:你总是在开会吗?
23 | 可视化:一种更为直观的沟通方式
24 | 快速反馈:为什么你们公司总是做不好持续集成?
25 | 开发中的问题一再出现,应该怎么办?
26 | 作为程序员,你也应该聆听用户声音
用户故事 | 站在前人的肩膀上,领取属于你的高效工作秘籍
27 | 尽早暴露问题: 为什么被指责的总是你?
28 | 结构化:写文档也是一种学习方式
答疑解惑 | 持续集成,一条贯穿诸多实践的主线
划重点 | 一次关于“沟通反馈”主题内容的复盘
自动化 (12讲)
加餐 | 你真的了解重构吗?
29 | “懒惰”应该是所有程序员的骄傲
30 | 一个好的项目自动化应该是什么样子的?
31 | 程序员怎么学习运维知识?
32 | 持续交付:有持续集成就够了吗?
33 | 如何做好验收测试?
34 | 你的代码是怎么变混乱的?
35 | 总是在说MVC分层架构,但你真的理解分层吗?
36 | 为什么总有人觉得5万块钱可以做一个淘宝?
37 | 先做好DDD再谈微服务吧,那只是一种部署形式
答疑解惑 | 持续集成、持续交付,然后呢?
划重点 | “自动化”主题的重点内容回顾汇总
综合运用 (7讲)
38 | 新入职一家公司,怎么快速进入工作状态?
39 | 面对遗留系统,你应该这样做
40 | 我们应该如何保持竞争力?
答疑解惑 | 如何在实际工作中推行新观念?
划重点 | “综合运用”主题内容的全盘回顾
总复习 | 重新审视“最佳实践”
总复习 | 重新来“看书”
结束语 (1讲)
结束语 | 少做事,才能更有效地工作
10x程序员工作法
登录|注册

36 | 为什么总有人觉得5万块钱可以做一个淘宝?

郑晔 2019-04-03
今天,我们从软件行业的一个段子说起。
甲方想要做个电商网站,作为乙方的程序员问:“你要做个什么样的呢?”甲方说:“像淘宝那样就好。”程序员问:“那你打算出多少钱?”甲方想了想,“5 万块钱差不多了吧!”
这当然是个调侃客户不懂需求的段子,但你有没有想过,为什么在甲方看来并不复杂的系统,你却觉得困难重重呢?
因为你们想的根本不是一个东西。
在客户看来,我要的不就是一个能买东西的网站吗?只要能上线商品,用户能看到能购买不就好了,5 万块钱差不多了。
而你脑中想的却是,“淘宝啊,那得是多大的技术挑战啊,每年一到‘双 11’,那就得考虑各种并发抢购。淘宝得有多少程序员,5 万块你就想做一个,门都没有。”
如果放在前面“沟通反馈”的模块,我可能会讲双方要怎么协调,把想法统一了。但到了“自动化”的模块,我想换个角度讨论这个问题:系统是怎么变复杂的。

淘宝的发展历程

既然说到了淘宝,我们就以一些公开资料来看看淘宝的技术变迁过程。2013 年,子柳出版了一本《淘宝技术这十年》,这本书里讲述了淘宝是怎么一步步变化的。
按照书中的说法,第一个淘宝是“买来的”,买的是一个叫做 PHPAuction 的系统,即便选择了最高配,也才花了 2000 美元左右。这是一个采用 LAMP 架构的系统,也就是 Linux + Apache + MySQL + PHP,这在当年可是典型的开源架构。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《10x程序员工作法》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(17)

  • 西西弗与卡夫卡
    刚入职的时候做过一个社交系统,想着将来数据量会很大,就做了分库分表。扩展性是大了,但因为是按id分的表,导致不少需求不容易实现,比如按标题搜索等。要么拒绝需求,要么再搭一套转用于搜索的系统。结果在用户量不大的时候,就把系统弄得比较复杂,迭代慢。而实际上在数据量不到预设的十万分之一的时候,该产品就因为种种原因下线了

    作者回复: 现身说法,惨痛教训

    2019-04-03
    6
  • hua168
    前公司开发负责人,不知道是不是为了显示开发能力牛,做了一个资讯系统,一个人用了Go、PHP、java 3种语言+rabbitMQ+ES+mongoDB等,安装所需要软件花了2小时,我心里那个郁闷…而且经常挂……
    因为Go是复制其他项目模版,写shell监控,发现相关进程挂了用start居然报错,起不来!非要手工打start😂😂我心里想,你写出来爽了,想过我们运维的感受吗?!😂😂

    作者回复: 以后可以质问为什么要把系统做这么复杂 :)

    2019-04-03
    1
    6
  • Monday
    用简单技术解决问题,直到问题变复杂。
    最爱每节课最后精简的总结。
    2019-04-03
    5
  • Jxin
    关于淘宝,我看的是<企业it架构转型之道>。以上其实阐述了架构设计的三原则。适用优于业内领先,演变好过贪大求全,简单优于复杂。负责的项目花了三个月重构了,由原负责人操刀做的。主要是将业务梳理提高可读性。但大佬说了要灵活应用设计模式。然后就牵强使用设计模式,原有业务代码全部复制,原负责人做完后主流程常规场景能过。但各种业务块都有缺漏。所以今年来一负责,bug层出不穷,找个问题要兼看新老两个服务的日志。看部分遗传的业务代码,原本历史遗传就杂乱得很,现在迁移加套设计可读性反而更差了。
    2019-04-03
    3
  • enjoylearning
    做一个淘宝那样的,客户指的是业务类似,但用户量多少,需要多少并发数,搜索性能等如何都是需要跟客户沟通后才能决定技术选型的。现实中我们的有些系统已经满足了业务需求,就没有必要为了追求技术复杂度而去拆分了,只有面向问题技术选型才会有成效。

    作者回复: 能够把握度就是程序员技术成熟的标志。

    2019-04-03
    2
  • 风羽星泉
    能否详细说明一下什么叫到有好的问题的地方去,很想知道这个问题的答案。

    作者回复: 好的问题,是根据自己由自己当前水平决定的,后面会讲到。

    2019-04-03
    2
  • helloworld
    程序员提高自身技术水平最好的方法是“找到一个有好问题的地方”,在问题中锻炼技术应该是最行之有效的方法

    作者回复: 解决问题,得到真实世界的反馈。

    2019-05-06
    1
  • 头份工作里有个印象比较深的,过度使用多线程技术追求并发,还弄了个所谓框架,却经常把主线程搞挂,后来一查发现,所谓框架净在主线程里玩并发了😂

    作者回复: 说多了全是泪

    2019-04-06
    1
  • desmond
    BAT的开发人员占据了技术推广的高地,耳濡目染后,让开发“企业内部应用”的人员也从开发“互联网应用”的角度思考了

    作者回复: 分享是好的,学到什么和怎样运用则因人而异。

    2019-04-03
    1
  • 丁丁历险记
    五万块,一定要做啊,花一个月去谈需求,花三天去开发。
    2019-11-17
  • 春之绿野
    我们的环境,是用一个vpc 连实验室的server,通过这个server建立ssh隧道连硬件设备,我真的不明白为什么这么弄,硬件设备每次又不能多人一起用,而且硬件设备本身就连很多其他设备够复杂的了,又加了个隧道整的每个操作都要先建隧道,不但使环境变得复杂,还带来了隧道关的不干净后面建立不起来等其他问题。而且我一直觉得隧道很脆弱容易中断,虽然中断的问题倒没有碰到。真的神烦
    2019-09-17
    1
  • 陈斯佳
    老师,那又有个问题,就是我们如何在解决眼前问题和规划未来方向之间平衡呢?如果只关注当下问题,而不为未来留余地,会不会给自己的未来挖坑呢?这中间的度需要如何把握呢?
    2019-09-10
  • 陈斯佳
    有时候在其位才谋其政。技术需要不断学习,但是实际生产环境一定要跟着业务的情况而量体裁衣,不要喧宾夺主。
    2019-06-20
  • 刘晓林
    到有好问题的地方去,让我想起了一个学生找实习的段子。
    面试官:你缺乏实际工作经验,简历太简单了,不满足我们的实习要求
    学生:那怎么才能丰富简历呢?
    面试官:多去实习
    学生:那如何才能找到更多更好的实习呢?
    面试官:拥有足够的实践能力

    作者回复: 嗯,是这个意思。:)

    2019-04-19
  • Rainbow福才
    业务驱动系统改进,不要过度设计,技术应遵循合适原则。
    2019-04-10
  • 246小言
    苦啊,最近十十五
    2019-04-03
  • 行者
    找到一个有好问题的地方,👍
    2019-04-03
收起评论
17
返回
顶部