优秀的开发=扎实的计算机基础+产品化思维

前言

百度多了  你就明白:它也许有用,但它封印了你精进计算机英语的机会。 

Google多了  你就明白:各地大佬们的文章很Nice,但它们仅是你技术知识体系的精华补充。  

开始读书了  你就明白:你以往东拼西凑几十篇烂文才明白的事,书上那几页纸都写着,而且详细的很。  接触到国外大社的书后,你就明白:国内那些21天宝典,7周速成,都是些什么玩意,误人子弟!  图灵牛逼,动物牛逼,Manning牛逼。  

好书读多了  你就明白:技术是一环扣一环的,有牢固的技术知识体系,学啥都事半功倍。  

书不够看,还可以看论文,经典的如 raft论文,rest论文,算法同学也是不断地在看顶级期刊的最新论文

多做业务  你就明白:所学的技术该用在哪。  

多做用户量大的业务  你就明白:光会用技术,和用好技术是两码子事。  
多找第三方开源  你就明白:原来工作摸鱼不是梦。  

太随便用第三方  你就明白:某天需求一变,它兼顾不到,可以把你往死里坑,坑到你得去看源码。 

第一次看完源码  你就明白:开始还是很讨厌的,等全盘搞明白了,发现“咦~有点意思”。  

源码看多了  你就明白:自己的查克拉莫名的增多了。而且吐槽文档不全的习惯也渐渐少了,一个不服就跑去观摩别人的源码,顺便偷个师。  

再往后,或许你的技术确实突飞猛进了,然而你却只会觉得编程本来就是这个样子的。  

https://www.zhihu.com/question/356351510/answer/913928066?utm_source=com.tencent.wework&utm_medium=social&utm_oi=38551810998272

编程是最重要也是最不重要的事

这是因为“编程是最重要也是最不重要的事”这是因为编程作为把思维变为实现的这个循环的最后一步(然后写好的程序会成为新的思考输入和基础,开始新的一轮迭代开发),它和一个项目一个系统的所有其他方面都息息相关:需求获取,问题抽象,测试,监控,部署,框架运用,系统间集成,灵活性,未来拓展性,易用性,系统健壮性,多版本实验性,高层业务决策等等,这使得编程变得无比重要(所有的一切都需要编程来最终落到实地),也毫不重要(编程被所有其他一切所约束和指导)。能够支撑这些所有上层思考的程序才是“好程序”,能够支撑所有这些思考的程序员,才是好程序员。学好/学会编程这件事是把所有需要思考的东西都弄明白都学好之后的自然结果。而把这些思考留给别人,自己只做思维和程序的翻译器(区分创造者和工具人的关键),根本无法写出好的程序来。这也是DDD(Domain Driven Design) 的精神之一 (关于DDD的精神,参见此文的最后一段, 阿莱克西斯:在做程序员的道路上,你掌握了什么概念或技术使你感觉自我提升突飞猛进? )
链接:https://www.zhihu.com/question/356351510/answer/945352381

为什么CTO不用写代码,他们的核心竞争力是什么?

https://time.geekbang.org/column/article/92540

优秀的开发=扎实的计算机基础(How)+产品化思维(What)

扎实的计算机基础=计算机原理+网络原理+数据结构+算法(包括机器学习深度学习)

产品化思维
什么是产品? 只有投放系统或者微信app是产品吗?

spring、mysql、redis、hadoop、spark、tidb、zookeeper(raft)、设计模式都是产品,只不过他们的用户是程序员。
甚至java本身就是产品。
满足需求的都是产品。

对于程序员来说,我们的每个方法,每个接口都是产品

算法面试题在考我们什么?

面试题1:字符串转换成数字
Integer.parseInt(str)

面试题2:1亿个数字找Top5
hadoop clickhouse

如果第一个数字是英文怎么办,如果中间不是数字怎么办。如果结果大于int.max怎么办

算法和产品是隔离不开来的,有好的技巧工具,也得有好的产品化思维,去确定这个产品会遇到的各种场景、边界然后去合理地组合安排它们。
我们说的各种设计模式,不是出于计算机性能的考虑,而是我们的产品决定了用哪种设计更合理

产品化思维的利器1:抽象思维

抽象是什么意思。总结和提取客观规律,发现共同特征。
消灭重复代码就是在做抽象。
DRY原则、KISS原则本质就是抽象。
高内聚低耦合的前提也是抽象能力。
从3个以上重复代码开始。
例子:订单和支付单,要在合适的阶段做合适的抽象。
Spring抽象了什么,Mysql抽象了什么,TIDB抽象了什么。

差的抽象思维会导致什么? 边界模糊,各个领域互相渗透交叉,系统变的臃肿难于追踪重构
MVC结构的代码,service代码全都在controller

好的抽象会带来什么?
高深莫测的机器学习真有那么难吗?未来的机器学习可能只是个封装好的接口,输入数据得到预测数据(函数式编程?) 深度学习的本质是什么,万能函数,有了算力的抽象和模型的抽象

产品化思维的利器2:全局思维(需要结构化思维辅助)和可预见性设计

设计了效果广告就够了吗,将来需要品牌广告怎么办?
光设计了投放和计费就够了吗? 还有展点销,还有用户负反馈还有app唤起这些一条链路上要关系的过程和数据。
你需要结构化思维把影响到的各个环节都列出来,定义好主次、定义好顺序、定义好边界,才能确定你自己产品的最终形态。
差的产品的眼界也会狭隘,只会满足一时、部分用户的需求。但是开发缺乏了预见性就会被带坑里,背锅的还是开发。

产品化思维的利器3:数据思维

一个产品是用来做什么,是为了满足用户的需求,但实际上我们想要什么,可能自己都无法确定,太主观的描述,无法定量,而且个人也不能代表群体。
数据是后端的下游,好的产品开发,会站在用户分析的角度,去设计合理地产生数据的逻辑。
ABtest,MVP(最小可行产品)、敏捷开发用数据驱动产品。

产品化的最高级形式:服务化、DDD(领域驱动设计)
DDD的一些概念:
领域:领域相对于软件系统来说,就是系统要解决的现实问题,一个领域对应一个问题空间,是一个特定范围边界内的业务需求的总和。领域来自于需求,但它却高于需求,相对于善变的需求而言,领域知识和领域模型本身是“静止”的,是“不变”的
通用语言(其实就是产品化思维,设计语言要跟业务语言一致)
分层:
限界上下文:“限”的意思就是划分、规定,“界”就是界限、或者一个边界,上下文就是业务的整个流程,总的来说,可以称限界上下文为业务流程在一个划定的界限中;限界上下文,是一个显示的边界,领域模型存在于这个边界内。在边界内,通用语言中的所有术语和词组都有特定的含义,而模型需要准确地反应通用语言
实体和值对象:面向对象和函数式编程的区别?

阿里中台实践

学习方法

知乎(关注大牛和相关话题)、掘金、头条(科技卡片)、跟优秀的人学习、公众号
获取书单还是挺重要,看书是系统性学习

未来的方向:

云原生,FaaS,业务架构师

Refs

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容