【新起点·新征程】2025年职业成长路径规划

138 阅读8分钟

1. 我的工作经历

2019年7月,研究生毕业,入职A公司,从事通信协议测试工作。

2022年5月,离开A公司,进入B公司,首先是从事自动化测试开发工作,而后又转向负责稳定性测试工作。

2. 我的深度思考

2.1 分析过往 

职业生涯的第一份工作是通信协议测试,其专业技术栈是: 

1.NB-IoT/LTE/5G通信协议:只了解LTE/5G协议栈,而未能跳出协议看协议框架

2. FreeRTOS/嵌入式Linux操作系统:未曾想过软件系统架构,只盯着3GPP协议,而缺乏框架意识 

3. C++/MFC/QT编程开发:钻研C++而未能持续深耕,喜欢钻研QT图形界面开发也未能持续学习 

4. 软件测试理论:未形成测试知识体系 

5. 项目管理理论:TMMI、CMMI

2.2 分析现在

职业生涯的第二份工作是稳定性测试/自动化测试开发,其专业技术栈是:

1. Android系统知识:未能系统性地深入学习Android源码AOSP,同时缺乏某个垂直领域的持续研究 

2. Java/Python编程开发:

  • 未钻研Java亦未钻研Python,都会也都不会 
  • Gradle项目构建工具,与Android系统强相关,但未真正了解 
  • Git版本控制工具,也只是基础入门,无法应对复杂问题 
  • Linux系统,是Android系统的基础,也未曾完整地系统学习,包含Shell脚本
  • Bat脚本/Adb命令,不重点关注,会用即可 

3. 软件测试理论:渐成自有测试知识体系,但是需要继续阅读软件测试理论书籍,未至精通 

4. 项目管理理论:IPD流程、全集特性树,渐成自有项目管理知识体系,但需要持续积累 

5. 行业技术洞察:属于新增能力,对于个人而言,需要重点人工智能/大模型/Tranformer,是未来的必然方向,也需要重视

3. 我的职业成长规划 

       由于我是一个完美主义的人,总是希望或者幻想自己什么都要会,这是个人意识的隐患,造成因涉及技术面广而不够专注、不够深入。虽然早已察觉,但是未能及时强行改正,导致多年以来技术深度始终不够,因此今日幡然醒悟,迷途知返,谆谆道来。

      虽然,我将职业发展需要的能力都考虑到了,包括项目管理理论、软件测试理论、Android技术、Python技术、Gradle、Git、Linux、Shell、Bat、Adb,导致学习广度太广而不可控,感觉都会一点,但是感觉又都不会,处于尴尬境地。同时,基于完美主义或者是强迫症,在每天阅读微信推送的技术文章或者查看Bilibili推送的技术视频时,总是习惯性地收藏,但是不会认真阅读,时间久后,就会积累地越多。然后过段时间会整理,但是在整理时,我发现我好像只是知识的搬运工不是知识的汲取者,并未真正地学习到技术。换句话说,就是费时费力而未见成效,准确地说是低效。因此,我的总结就是:

  • 学习范围过广,缺乏深度专注
  • 收藏多于实践,缺乏动手操作
  • 没有明确的技术发展路径规划
  • 完美主义导致行动瘫痪

于是,我重新制定了自己的职业成长规划,避免完美主义,专注于技术深度,真正地提升自己的技术实力。

3.1 从"收藏家"到"实践者"的策略改变

总体策略的核心是:"主导进程"与"奖励机制",即:

  • 以Python+Linux学习作为主导进程、以软件测试理论作为奖励进程。

  • 重实践、轻理论,先会用,再懂原理,用项目驱动学习,完美克服“纸上谈兵”和“收藏癖”

1. 时间沙盒策略

(1)周一至周五:每天晚上固定1-1.5小时为 “Python+Linux深度聚焦时间” 。期间手机免打扰,关闭所有无关网页,只做计划内的Python+Linux实践。

(2)完成后:在1.5小时之后,奖励自己15-30分钟的"甜点时间",自由地阅读软件测试理论的书籍或文章,无任何负罪感。

(3)周六至周日:安排一个更长的时段(例如2-3小时)给软件测试理论,作为一周专注学习的奖励。

2. 项目导向策略

(1)实践出真理:将所有的Python技术理论直接融入到Linux实践中,每天必须至少写15分钟代码,避免只看不练的糖衣炮弹。具体做法:用Linux去解决测试领域的具体问题。例如:

  • 项目:“使用Shell脚本和Linux命令搭建一个自动化日志分析平台”。

  • 学习Linux:你会用到 grepawksedcron、文件操作等所有你正在学的命令。

  • 结合测试理论:在实践这个项目时,你自然而然需要思考:“测试中需要分析哪些日志?”、“如何定义错误模式?”、“怎样呈现报告最有效?”。这时,你再去翻看测试理论中关于“日志分析”、“缺陷管理”的章节,目的性极强,学习效率倍增。

(2)真正项目驱动,而非教程驱动:不要试图看完所有教程再开始。学完基础语法后,直接想一个项目(如“自动化整理我的桌面文件”),然后为了完成这个项目去查怎么实现。这是最高效的学习方式。

(3)接收"不完美":完成比完美重要100倍

(4)单一焦点:严格执行周计划,绝不看下周的内容。拒绝任何临时跳出来的新知识诱惑

3. 文章发布策略

  • 以"飞书"为文章本地主战场,以"稀土掘金"为文章发布副战场(包含思维反思),以"BiliBili"为视频发布副战场。

  • 以建设主战场为首要,再牵引副战场。

4. "收藏癖"应对策略

(1)收藏时加标签:在收藏文章时,立即用两个标签分类,比如#Linux-性能优化#测试理论-性能测试

(2)定期清空收藏夹:每周六/周日下午,固定拿出1小时作为"收藏夹处理时间"。

(3)对待收藏夹的新方法:收藏一篇Python文章时,在备注里强制自己写下一句话:“我将在[具体日期]用这里的知识做一个[具体的东西]”。

3.2 总体规划

基于过往经历与现状,总体技术路线是:以Python为主轴,以Linux+Android为副轴,灵活地将Shell、Git、测试框架、数据分析、桌面应用开发、大模型/Transformer编织进来。Python系统学习路线图如下所示(持续更新):

下面是总体技术学习路线图:

4.我的第一步

第一个小目标:搭建Linux环境,如下所示,优先选择方案二,不会影响现有系统的正常使用。

第二个小目标:《Python软件测试宝典》,微信读书收藏的一本书,每学一个知识点(以节计算),不再关注记录了多少个知识点,而是更加关注使用这些知识点做了什么事情,说明你学了,动手了。

1.Linux 学习怎么办? -> “用Python来学Linux”

你的策略不是“另外抽时间学Linux”,而是 “强制自己在Linux环境下编写和运行Python”。具体做法:

  • 环境准备:在你的电脑上安装一个Linux虚拟机(如Ubuntu)或使用WSL2。这是你未来所有的Python编码和学习的主环境。

    • 第一课就是Linux:学习最基本的Linux命令来支撑你的Python学习。

      • cd, pwd, ls (进入你的项目目录)

      • mkdir (创建新的Python项目文件夹)

      • python3 my_script.py (这是你最常用的命令!)

      • vimnano (简单编辑一下文件,但主力还是VS Code)

  • 实践融合:

    • 目标:写一个Python脚本,自动整理某个目录下的文件(比如按后缀名分类)。

    • 你学的Python:os 模块、shutil 模块、文件路径操作。

    • 你同时练的Linux:你在Linux终端里频繁使用 cd, ls 来查看脚本是否生效。

    • 结果:你既学会了Python操作文件的核心技能,又无形中巩固了Linux基础命令。你用Python给Linux学习提供了目标和场景。

2.软件测试理论怎么办? -> “为Python自动化项目而学”

你的策略不是“抱着理论书啃”,而是 “为了给你写的Python工具增加专业性而学习测试理论”。

  • 具体做法:

    • 学习Pytest:这是Python世界最主流的测试框架。它本身就是测试理论的完美实践。

    • 实践融合:

      1. 目标:给你之前写的“文件整理脚本”增加单元测试。

      2. 你学的Python:Pytest的用法、如何写测试用例、assert语句。

      3. 你同时学的测试理论:你正在实践单元测试的概念、测试用例的设计方法、断言的概念。你写的每一个 test_ 开头的函数,都是一个测试理论的鲜活例子。

      4. 结果:你不再觉得测试理论是枯燥的文字,而是能立刻让你Python项目变得更健壮、更专业的实用工具。