未来的工作是-2?
需求
在今年寒假的文章中提到了我未来感兴趣的 3 个方向:前端、后端和运维。现在看看,自己的想法变的很快。我们来看看现在夏凌有哪些想法。
拒绝运维
第一个排除的是运维的岗位。说句实在话,当我在 JD 上看到运维岗招的是大专生起步的人才时,我是震惊的。诚然,我对连连网线、打打命令的事情比较感兴趣,但是确实不太愿意拉低自己的档次。好不容易考上一所不错的学校,去到这样的岗位上有点屈才了。而且,确实干的工作都是些脏活累活,甚至是夜班。我受不了这个。
FinTech
很早就留意了知乎上的一个博主,叫弈心,是个挺厉害的网络工程师,说自己是布道者。他有的观点确实很正确,比如学习英语、以及提升认知等等。不过我对他一味劝润的思想并不是很苟同。他提到了一个职位,我很感兴趣,叫 FinTech。
国内有许多这样的投资企业,它们获利的方式就是信息差,低买高卖。就像微信或者 B 站上常见的那些 Python 广告一样,总是喜欢放一张股市曲线的大图,显示用 Python 可以实现自动化投资一样。不过和这种路边广告相比,量化公司考虑的更多,远不止于此。
既然想赚钱,首先要组建一支专业团队。当然要有许多经济学的人才,了解股市规则;还要有数学和信息学竞赛的大牛,负责设计算法,到底何时买,何时卖,提取有效信息;还要有 AI 人才,训练模型以超越人类的先验知识水平;最后,还需要一些 C++ 工程师,在网络、通信等方面减小延迟。
这正好符合我的预期:我希望能够从事优化协议栈的行业。
在调研工业界之前,我想近水楼台先得月,利用学校的科研资源,为自己积累一些论文。在上学期加入实验室后,我便进行了大量的实验工作,极大地巩固了我的 Python 水平,以及 torch, sklearn, pandas 等库的使用。不过我对这课题并不是很感兴趣,而且也并不是我 lead 的,我能挂个名已经是非常不错了。
因此,在假期我试图联系南大的一位老师,他就是负责协议栈优化和拥塞控制的,我想他的方向跟我很合适。不过老师毕竟是大牛,比较忙,也可能我的 bg 比较差,告诉了我他的 QQ 号后便没有回信,也不同意我的申请。算啦,问题不大。正好我在下学期还可以试试找本校的老师,不过确实本校没有方向特别合适的了。
总而言之,FinTech 是个好去处。我肯定没法通过算法岗进入这种头部公司,不过可以试试从网络的岗位入职。
拒绝前后端
说实在的,我对前后端开发没那么感兴趣了。今天刚好维护了一下之前同济的爬虫,确实 Debug 很方便,不过我确实不太想再写网页了。不过数据库的课设可能还是要写个前端,小意思。
路线
我的方向还是网络,只不过,离最底层的路由器和交换机越来越远了。有意思的是,这样反而工作更轻松,且待遇更好。
不过看看前端的招聘要求,其实我现在也达到了;对于后端的要求,可能是 Java 多一些,但是我对它并不是很感兴趣,还是 C/C++ 熟悉一点。
那么现在,针对这个方向,可以做什么打算呢?
🧭 一、能力需求全景图
从 JD 可以归纳出6 大核心能力板块:
模块 | 关键词 |
---|---|
🔧 系统编程基础 | C++(11/14/17)、Linux 系统编程、模板、智能指针、STL、内存管理 |
🌐 网络协议栈 | TCP/UDP、Socket 编程、epoll、零拷贝、网络协议实现与调优 |
📉 高性能优化 | 多线程并发、无锁队列、缓存优化、内存对齐、SIMD、NUMA |
🧠 工程设计能力 | 设计模式、代码架构、单元测试、性能分析工具 |
📊 数据系统 & 回测 | 数据库操作(MySQL)、回测系统架构、滑点模型、交易成本建模 |
💻 系统调优 & DevOps | Docker、Linux 配置调优、系统监控、自动化脚本、数据平台开发 |
📚 二、书籍推荐(含路径图)
🧱 C++ 系统开发(主语言)
阶段 | 书籍 / 资源 | 内容重点 |
---|---|---|
入门 | 《C++ Primer》 | C++11 语法全覆盖,尤其是智能指针、模板基础 |
提升 | 《Effective Modern C++》 | 深入理解 auto、lambda、右值引用、move、RAII 等 |
提升 | 《STL 源码剖析》侯捷 | 理解容器/迭代器/allocator 的底层原理 |
精通 | 《C++ Concurrency in Action》 | 多线程、锁、无锁编程、线程池等 |
🧠 软件工程与系统设计
阶段 | 书籍 / 资源 | 内容重点 |
---|---|---|
入门 | 《设计模式之禅》 / 《Head First 设计模式》 | 面向对象设计基本功 |
提升 | 《Linux 编程实战》陈莉君 | 面向大型项目的 Linux 工程实践 |
提升 | Google’s C++ style guide | 实际工业编码规范(可对照学习) |
🌐 Linux 网络编程 & 系统内核
阶段 | 书籍 / 资源 | 内容重点 |
---|---|---|
入门 | 《UNIX 环境高级编程》 | 文件描述符、进程控制、信号等系统调用 |
提升 | 《Linux 高性能服务器编程》游双 | epoll、非阻塞 I/O、定时器、优雅退出等 |
提升 | 《TCP/IP 详解 卷1》 | IP/TCP/UDP 报文格式,拥塞控制等细节 |
精通 | 《Linux 内核设计与实现》 / LWN | 内核网络栈、协议处理流程、socket 实现 |
拓展 | DPDK 教程、RDMA 白皮书 | 如果你想卷极致性能 |
🧮 高性能计算与优化
阶段 | 书籍 / 资源 | 内容重点 |
---|---|---|
提升 | 《深入理解计算机系统(CSAPP)》 | 缓存结构、内存层次、指令流水、性能陷阱 |
精通 | Intel VTune 官方文档 | 缓存 miss、分支预测失败分析工具实战 |
精通 | 《高性能 C++ 编程》 | SIMD、内存对齐、指令集优化技巧 |
🧪 回测系统与交易建模(量化视角)
阶段 | 书籍 / 资源 | 内容重点 |
---|---|---|
入门 | 《Python 量化交易》 | 简单理解策略建模/回测框架结构 |
提升 | 开源项目 Backtrader / Zipline / Qlib | 回测逻辑、事件驱动 vs 向量化架构 |
拓展 | 《Algorithmic Trading》 by Ernest Chan | 交易成本模型、滑点、流动性建模等 |