有人把码农分阶级,例如网上看到的这种:
IT领袖:年入过亿(例如任正非、马化腾、李彦宏、丁磊、马云等,包括期权股票以及投资理财等收入。)
IT大哥:年入千万(级别次于以上几位大佬的公司老板,不缺钱,普遍对上一条里的人物羡慕嫉妒恨。)
IT精英:年入百万(各IT公司副总裁级别人物,包括COO、CTO等,大多为职业经理人,赚够前就跑。)
IT人才:年入50万(各IT公司总监级别人物,有房有车,生活压力相对较小)
IT工程师:年入20万(高级经理级别,有房贷,生活压力大)
IT民工:年入10万(经理级别,基本无房,学会装波一,生活压力大)
码农:年入6万到10万(工作三四年,租房,继续混日子)
码奴:年入3万到6万(工作一两年,租房,混日子)
码畜:年入低于3万(刚毕业的,租房,傻乐)
今天我们来看看程序员技能图谱,看看你在哪个阶段
-
基础
HTML / CSS
JavaScript
DOM
-
中级篇
数据格式(如JSON、XML)
RESTful API交互(如jQuery Ajax,Fetch API,ReactiveX)
正则表达式
HTML语义化
命令行
Node.js
DIV / CSS
SCSS / SASS
矢量图形 / 矢量图形动画(如SVG)
单页面应用
-
高级篇
ES6 / TypeScript
CSS3
面向对象编程
函数式编程
MVC / MVVM / MV*
安全性(如跨域)
授权(如HTTP Basic、JWT等等)
-
工程化
代码质量(如JSLint / ESLint / TSLint / CSLint)
代码分析(如Code Climate)
测试覆盖率
构建系统(gulp、grunt、webpack等等)
自动构建(脚本)
-
兼容性
跨浏览器测试 (Chrome,IE,Firefox,Safari等等)
跨平台测试(Windows、GNU/Linux,Mac OS等等)
跨设备测试(Desktop,Android,iOS,Windows Phone)
跨版本测试(同一个浏览器的不同版本)
-
前端特定
CSS / CSS3 动画
JavaScript 动画
Web字体嵌入
Icon 字体
图形和图表
CSS Sprite(如glue)
DOM操作(如jQuery、React等等)
模板引擎(如JSX、Handlebars、JSP、Mustache等等)
-
软件工程
版本管理(如git、svn)
包管理(如npm、bower)
依赖管理
模块化(如CommonJS、WebPack)
-
调试
浏览器调试
Debug工具
Wireshark / Charles抓包
远程设备调试(如Chrome Inspect Devices)
-
测试
单元测试
服务测试
UI测试
集成测试
-
性能与优化
PageSpeed / Yslow 优化
加载优化(如gzip压缩、缓存等等)
性能测试(特别是移动Web)
可用性
压缩(如Minify、Uglify、CleanCSS等等)
-
设计
切页面
线框图(Wireframe)
响应式设计
网格布局(Grid Layout)
Flexbox布局
-
SEO
Sitemap(站点地图)
内部链接建设
MicroData / MicroFormat
页面静态内容生成
H1、H2、H3和strong使用
Title、Description优化
页面静态内容生成
-
入门
HTML / CSS
编程语言:Java / Python / PHP / Ruby等等
Web框架,如Spring MVC、Flask、Laravel等等
HTTP协议基础
CGI基础
-
中级篇
XML和JSON处理
数据结构与算法
面向对象编程
CMS
API设计
网络通信协议,如TCP / Socket
-
高级篇
函数式编程
领域驱动设计
MVC架构
运行环境优化,如JVM
远程调试
-
工程化
版本管理
单元测试
依赖管理
包管理
-
基础设施
虚拟化,如Docker
自动化部署
应用包创建、管理、发布
发布脚本编写
Web容器,如Jboss
-
缓存篇
应用层缓存
平台缓存
数据库端缓存
分布式缓存
-
数据持久化
SQL
NoSQL
ORM
DBMS
搜索引擎
-
数据库
查询性能优化
结构优化
主从复制、主主复制等等
伸缩性与高可用性
备份恢复与容灾
-
安全和加密
认证与会话管理
加密解密
数字签名、数字证书
加密算法
XSS/CSRF/SQL注入
-
监控
应用性能监控
异常监控
日志
流量监控
-
服务
RESTful
SOA
RPC
MicroServices
-
消息
JMS
IPC
MQ
-
入门篇
编写脚本,如Shell、Perl、Rython等等
编程语言
Web应用运行基本原理
HTTP服务器
应用容器
命令行,如awk
CGI
修复漏洞
-
中级篇
自动化运维
GNU/Linux操作系统
编译
数据库
-
高级篇
分布式文件系统
分布式存储系统
-
云服务
存储服务,如AWS S3
计算服务,如AWS Lambda
托管服务,如AWS EC2
安全性
-
网络
CCNP / CCNA
-
持续集成
持续集成工具
自动构建工具
依赖管理工具
版本管理工具
-
虚拟化
应用容器虚拟化,如Docker
环境虚拟化
操作系统虚拟化
-
自动化 (puppet,chef)
自动化配置
自动化部署
进程管理工具,如Supervisor
-
监控
基础设施监控
日志管理
监控服务
-
负载均衡
边缘缓存,如(Varnish)
DNS负载均衡
CDN
-
影响力 / 个人品牌
写作
演讲
培训
博客
社交媒体
-
社区
社交媒体交流
自媒体平台
技术社区
问答社区
-
持续学习
学习新技术、语言
-
健康
运动
不熬夜
-
生产力
熟悉工具
快捷键、快捷键、快捷键
-
估算
完成时间估算
延迟花费
预算估算
薪资估算
-
其他
面试
客户沟通
思维导图数整理于网络,查看阅读原文
推荐阅读
漫画:什么是MD5算法?
软考项目管理师备考的几点建议和思考
学习Java 8的编码风格带来什么样的好处
JAVA葵花宝典
长按关注置顶
java知识和技术查漏补缺,空余时间学习碎片化知识,分享开发、运维、架构等综合性知识,助力职场最后一公里与职业进阶,每天看宝典,就选它。