直面问题,谈谈焦虑,谈谈烦恼,谈如何成长

直面问题,谈谈焦虑,谈谈烦恼,谈如何成长

1. 世界的认识

世界如何组成?

  • 基础技术、工具、产品、项目…
  • 大家的分工呢?

世界需要怎样的人?这些人的特点

  • 劳工、技工、特种工、设计、架构、经理…
  • Google 评分卡 (把人分成三六九等)

世界的技术趋势和规律?

  • 工业革命、信息化革命
  • 技术更新淘汰、风口是什么样的、

如果想知道未来十年可能发生的事情,请看看过去十年。过去十年发生的必定还会再发生,没发生的可能不会发生。

效率会被规模化的

进十年是移动互联网时代,进入了TB时代,之前是互联网时代还处在GB时代。

工业革命告诉我们要学会 “自动化”。

比如 律师 可以被 知识密集型自动化掉!虽然现在处在 劳动密集型自动化中。

Google评分卡

  1. You are unfamiliar with the subject area.

  2. You can read/understand the most fundamental aspects of the subject area.

  3. Ability to implement small changes, understand basic principles and able to figure out additional details with minimal help.

  4. Basic proficiency in a subject area without relying on help.

  5. You are comfirtable with the subject area and all routine work on it:

  • For software areas - ability to develop medium programs using all basic language features w/o book, awareness of more esoteric feature(with book).
  • For systems areas - understanding of many fundamentals of networking and systems administration, ability to run a small network of system including recovery, debugging and nontrivial troubleshooting that relies on the knowledge of internals.
  • An even lower degree of reliance on reference materials. Deeper skills in a field or specific technology in the subject area.
  • Ability to develop large programs and systems from scratch. Understanding of low level details and internals. Ability to design / deploy most large, distributed systems from scratch.
  • You understand and make use of most lesser known language features, technologies, and associated internals. Ability to automate significant amounts of systems administration.
  • Deep understanding of corner cases, esoteric features, protocols and systems including “theory of operation”. Demonstrated ability to design, deploy and own very critical or large infrastructure, build accompanying automation.
  • Could have written the book about the subject area but didn’t; works with standards committees on defining new standards and methodologies.
  • Wrote the book on the subject area(there actually has to be a book). Recognized industry expert in the field, might have invented it.

科目领域:

TCP/IP Networking (OSI stack, DNS etc)

Unix/Linux internals

Unix/Linux Systems administration

Algorithms and Data Structures

C

C++

Python

Java

Perl

Go

Shell Scripting(sh, Bash, ksh, csh)

SQL and/or Database Admin

Scripting language of your choice(not already mentioned)

People Management

Project Management


2. 认识自己

自己的喜好

  • 找到自己可以减持不会放弃的东西

自己的特长是什么

  • 找到自己可以干成的事
  • 找到别人会来请教你的事

自己还有什么

  • 找到可以承上启下的东西

切记不要东搞搞西搞搞。

自己可以付出什么

  • 找到自己的本金来投资,找到可以付出和牺牲的东西

交易性的业务(涉及到金钱)就必须要严谨。业务架构师也是很缺少的。



1.学好基础技术,十分重要

为什么要学号基础技术

一通百通

  • 所有的技术原理和本质都在基础技术上

突破瓶颈

  • 只有基础技术才能让你上升到更高的层次
  • 在技术的世界里,量变永远无法导致质变

自己推导


2. 哪些基础技术

编程语言

  • 原理、编程范式、设计模式、代码设计、类库

比如:go goroutine 如何调度的原理

系统

  • 计算机原理、操作系统、网络协议、数据库…

中间件

  • 消息队列、缓存、网关、代理…

理论知识

  • 算法数据结构、系统架构、分布式…

算法数据结构真的很重要!!!


3. 如何识别新的技术(Go语言!)

解决了什么样的问题

  • 任何技术的出现都是要解决已有问题的
  • 降低技术门槛、提高开发效率、提升稳定性…

提升了什么样的能力

  • 可以计算更为复杂的计算
  • 可以自动化更为复杂和更为困难的事

会成为主流技术的特征

  • 有大公司做背书
  • 有杀手级应用
  • 有强大的社区


三 找到方式,事半功倍

主动学习 与 被动学习

视频,音频,读书 属于较为被动的学习。

博客写了开放出来,被别人质疑讨论。

翻译书或者其他语言的应用等。

学习的一些观点

学士为了找到方法

-学习不是找答案,而是找到通往答案的方法

学习是为了认识原理和本质

  • 理解原理和本质就可以一通百通

学习是为了打开自己的认知

  • 你不知道你不知道的东西

学习是为了改善自己

  • 思维方式-更好的逻辑和科学
  • 行为方式-更好的高效

学习的相关方法

挑选知识的信息源

  • 第一手资料非常重要(英文非常重要)

注意基础和原理

  • 我可以忘了这个技术,但是我可以自己徒手打造出来。(同理学算法数据结构也是一样的)

使用知识图系统的学习

  • 通过知识关联可以进行 “顺藤摸瓜”

举一反三

  • 用不同的方法学同一个东西
  • 学一个东西时把周边的也学了

总结和归纳

  • 形成框架,套路和方法论

实践和坚持

  • 实践才能把知识变成技能,坚持才能有沉淀

学习的一些技巧

如何阅读代码

  • 基础知识、文档、代码结构
  • 模块、接口、关键业务路劲
  • 代码逻辑、运行时调试

如何面对枯燥和硬核的知识

  • 找到应用场景和牛人一起搞
  • 补充基础知识
  • 咬牙使劲啃

其他小技巧

  • 不要死记
  • 把信息压缩
  • 要犯错然后记住
  • 写BLOG


记录:

  • XYZ问题怼产品可以把他问懵
  • 微服务健康检查。

进程端口活着 (健康?) 不对的。

比如: 我响应慢了 也叫不健康。

adpex 健康检查术语

  • 推荐系统 亚马逊论文 (关联数据)

总结

做两件事情

1. 算法与数据结构坚持学习,并画图总结

2. 利用gitbook写一本关于自己对Go学习的记录。后期慢慢完善自己的技术栈记录进去。