程序人生

个人发展

把时间花到刀刃上

  • 接触更有技术含量更核心的工作。对于没什么技术含量的工作,想办法提高效率,减少重复。
  • 经历大多数人没有经历的,把时间花费到较难的地方。
  • 写文章,要不写别人没写过的,要不别人写过,但我能写的更好。
  • 作出能让别人尊重的技术成就。
  • 花时间学习基础知识、读文档。

对个人技术发展的要求

  • 扎实的基础技术;吃透基础技术,具体而言,就是编程:接近底层的 C 语言,编程范式、数据结构预算法和系统:计算机操作系统、组成原理、计算机网络、数据库、分布式技术架构。
  • 学习能力;与其他程序员多交流、使用 Google, StackOverflow, API 文档等信息源,学会英文阅读
  • 坚持做正确的事;更加专注自动化、前沿的事。
  • 提高对自己的要求标准。学以致用,talk is cheap, show me the code. Lead by Example.
  • 帮助其他人解决问题,被人依赖
  • 能够抓住重点,看透事物的本质。

一些书单

  • 《代码大全》
  • 《重构:改善既有代码的设计》
  • 《修改代码的艺术》
  • 《代码整洁之道》
  • 《程序员的职业素养》
  • 《程序员修炼之道》
  • 《计算机的构造和解释》
  • 《算法导论》
  • 《算法》
  • 《编程珠玑》
  • 《数据结构与算法分析——C语言描述》
  • 《现代操作系统》
  • 《计算机网路——自顶向下》
  • 《编译原理》,龙书
  • 《深入理解计算机操作系统》
  • 《TCP/IP》
  • 《计算机网络》, 严伟译
  • 《HTTP 权威指南》
  • 《TCP/IP 网络编程》
  • 《图解 TCP/IP》
  • 《Linux C 编程一站式学习?
  • 《The TCP/IP Guide》
  • 《Wireshark 数据包分析实战》
  • 《Linux 系统编程》
  • 《Linux/Unix 系统编程手册》
  • 《设计模式》
  • 《Head first 设计模式》
  • 《人月神话》
  • 《完美软件:对软件测试的各种幻想》
  • 《Gogle 软件测试之道》
  • 《Unix 高级环境编程》
  • 《Java 核心技术》
  • 《Spring Boot 实战》
  • 《Java 并发编程实战》
  • 《Java 性能权威指南》
  • 《深入理解 Java 虚拟机》
  • 《Java 编程思想》
  • 《精通 Spring 4.x》
  • 《C 程序设计语言》, Dennis M.Ritchie, Barin W. Kernighan
  • 《C 语言程序设计现代方法》
  • 《鸟哥的 Linux 私房菜》
  • 《C 陷阱与缺陷》
  • / < More Effective C++>
  • 《深入探索 C++ 对象模型》
  • 《C++ 虚函数表解析》
  • 《C++ 对象内存布局》
  • 《C++ FAQ》
  • 《MySQL 必知必会》
  • 《数据库系统概念》
  • 《高性能 MySQL》
  • 《MySQL 技术内幕:InnoDB 存储引擎》
  • 《数据库的索引设计与优化》
  • 《Unix 编程艺术》
  • 《领域驱动设计》
  • 《分布式系统原理与范型》
  • 《设计数据密集型应用》
  • 《高效能程序员的修炼》
  • 《软件随想录》

需要掌握的技能

  • git
  • Google
  • English
  • 编程规范
  • C/C++
  • gdb 调试
  • makefile
  • Java/JVM
  • Socket
  • Linux
  • MySQL, NoSQL:Redis, ElasticSearch
  • 分布式架构
  • 微服务
  • Docker, Kubernetes

你可能感兴趣的:(程序人生)