程序员职业现状和前景规划 (程序员35岁危机破局建议)

程序员职业发展的几大痛点,35岁程序员的危机解读

小千最近和朋友聊天, 作为一枚单身且即将奔三的程序员,他的焦虑和危机实在是太重了!

经济形势不好,失业了怎么办?

以后不再当程序员了我该去干什么?

到35岁还没当上领导层,之后该怎么办呢?

除了开发,我还能做什么工作?

让小千不禁感慨,当代年轻人也太难了,动不动就这个危机,那个危机, 婚姻危机、失业危机、就业危机...

我们的生活,危机四伏

程序员职业发展的几大痛点,35岁程序员的危机解读

但!即使这样,我们也要在危机里找转机, 从事程序员不止有开发这一条职业发展路径,格局打开,就能看到更多可能性

今天,小千就和大家唠唠程序员可以尝试的23种职业发展路径, 本文会历数程序员转型后的职业发展路径 不管你是还没有找到程序员的工作还是因为感觉自己不适合开发而开始寻找其他工作,这篇文章都会对你有帮助~

与人打交道的工作

销售工程师

看到销售是不是就想划走?先等等!

很多开发工程师一看到带有“销售”字眼的工作就不感兴趣,但其实“销售”这个岗位也分很多种,根据不同的行业及客户,分为不同的工作内容

其实我们每一个人都或多或少的有在做销售。面试找工作、给工程团队介绍新框架等都属于销售。

对于软件开发来说,“销售” 的意思是 用合适的解决办法匹配消费者的需求。

销售工程师要具有技术背景,对于程序员来说颇有优势。这个岗位对于不想整天写代码、但懂软件工程的工程师来说是一个很好的选择

此外,销售工程师不需要任何专业资格,这是它的另一个好处。

随着越来越多的公司开始为工程师开发软件工具、提供服务,未来十年,市场对销售工程师的需求将可能日益增多。

产品工作岗位

如果还是想围绕产品去做一些工作,除了开发外,可以试试其他工作。这些工作跟程序员联系紧密,而且之前所学的编程知识也会带来很大的帮助!

1、质量保证工程师(QA)或测试工程师

质量保证和测试工程师的区别较小,在软件正式使用之前,他们都需要去做一些测试的工作

如果你关注细节,想要提出一些创造性方式来自动化重复工作,这应该是一个不错的选择。除去一些手动测试工作外,可能也需要写一些代码。

小型公司会让程序员彼此互相检查代码, 大型公司才有专门的测试和质量保证岗位 。公司做测试的方式不一,所以一定要问清楚公司使用什么工具做测试,测试自动化达到何种程度,你所应聘的岗位手动和自动测试的占比各为多少

2、互联网商业分析师

产品开发生命周期的另一端是商业分析师

这是商业和技术团队之间的桥梁,可以保证各方理解需求、限制和时间点。在团队结构中,商业分析师还助测试和质量保证一臂之力,所以他们还要具备广泛的产品知识。

如果你有商业、产品开发,或者设计、编程的背景知识,那么你就具备了商业分析师的基础入门资格!

程序员职业发展的几大痛点,35岁程序员的危机解读

3、项目经理

和互联网商业分析师不太相同的是,项目经理必须理解产品的商业需求和技术限制

但商业分析师和项目经理之间的关键差异在于,项目经理需要深入单个项目。 项目经理需要为项目团队分配任务和资源,负责追踪项目进度

小型公司可能会将商业分析师、项目经理、敏捷专家、产品经理的工作结合在一起,但大型公司会具体细分岗位职责

一名项目经理要想成功,离不开卓越的组织能力、业务理解和人际关系处理能力。这份工作需要你管理预期,激励可能比你资深或有经验的前辈,所以你得快速建立信任

这份工作需要考虑多个方面,很适合不想再写代码的分析、技术人才

4、产品经理

产品经理要全面审视公司的产品,确保这些需求是消费者想要的、有商业意义的并且可以被设计出来

而如果程序员转业产品经理,那就会出现一个既懂技术、又懂用户、又懂市场的产品经理!

入门级产品经理可以从产品的小模块或在某些组织中担任产品经理起步,可以让你在负责管理自己产品之前明白产品开发,帮助你和所有的相关人员建立关系

5、零代码或低代码开发者

过去几年零代码和低代码工具爆火,给没有开发团队但想要快速开发软件的公司带来了很多的机会,使用这类工具,不用花费特别多时间进行开发,在数小时内便可创建一款移动或网页应用。这些工具每年都会进步,所以越来越多的公司正在接受零代码应用。

因为这是一个新兴领域,需要的技能和所给报酬变化范围较广,但编写代码能力无疑是一项非常重要的技能!

支持工作

1、系统管理工程师或DevOps工程师

大型软件公司每年都有成百甚至上千的服务器需要修复、升级、轮换。尽管当下广泛应用云计算,上述工作都可以通过软件而不是人工操作来实现,但是在国内相关招聘需求还是很多的

一直以来,工程师团队需要系统管理员负责维护和管理服务器。随着组织扩张并逐渐转用云主机,很多团队开始使用“DevOps 工程师”这一称呼,以反映这些工作的自动化程度越来越高。从实践来看,两者的工作内容有很多重叠之处。

如果想要做这类工作,你需要对操作系统、托管平台、自动化工具、Bash 脚本编程和系统架构有基本了解。在这一领域找一份入门级工作有些难,因为其对技术知识要求广泛。但如果你喜欢解决问题,不想受面向消费者产品的 UI 和 UX 要求束缚,这类工作也值得尝试一下

2、数据库管理员

有些公司将数据库管理员与系统管理员混为一谈,但其实数据库管理员是一个不同的职务

数据库管理员负责低层次数据存储系统的安全、配置、扩展和优化。 你需要懂得 SQL 和 NoSQL 数据库、安全最佳实践和一些基础脚本知识,但无需整天写代码,处理的都是类似修复索引和缓存的小优化问题。

如果你是软件开发的新手,那就开始尽量学习有关数据库的知识吧。你需要知道哪个数据库适合哪个应用,以及如何大规模优化这些数据库,实践起来可能会有些难度

3、技术支持或客户支持

如果你是一个喜欢帮助别人解决问题,和人沟通的人,那这个行业,真的可以尝试一下!

在需要技术人员解答问题和提出修复建议的软件公司,如果你有写代码的经验,那么你就是客户支持岗位的理想人选

然而,不好的一面在于,在支持岗位工作,意味着不得不跟处在最糟状态下的用户打交道。如果用户不满意或者感到沮丧,他们很可能不会心平气和地与技术支持团队沟通。所以这份工作需要你耐心十足,且厚脸皮

教学和写作工作

1、技术写作者

技术写作不仅仅意味着文档写作,还包括技术博客、文案写作、内部或外部文档、示例程序和指导手册。对写作者而言,技术写作收入可观,值得考虑

如果你决定走这条路线,那么你需要擅长写作、组织复杂观点和学习新东西。自我编辑能力越强,产出的作品越有价值。

刚开始写作时,你可以在一些自媒体平台尝试写技术类文章,当积累了一定的经验并有相关的作品集,便可以找到一份全职的工作!

2、授课讲师

如果你喜欢讲课,也可以尝试一下讲师这个岗位

不管在什么样的情况下,老师们都需要快速学习新知识,并需要将知识转变成易于学生理解的形式。想要成为一名成功的老师,你需要考虑学生的水平,并与学生建立信任。老师的收入可能比不上软件开发,但这份工作带来的成就感十足!

3、培训师

在很多大型公司,培训师是独立的咨询师或者岗位,会前往客户的办公地点提供专门的软件实践培训。

一般来讲,培训师具有丰富的技术知识,但也有些培训师是具备一定的技术知识,然后沟通能力比较出色。企业培训的收入比教学要好,但企业培训的销售导向也会更强。培训师经常在大会上发言,办社区工作坊,或参加各种沙龙等。

如果你喜欢站在舞台上,展示各种技术概念,那这份工作也可以考虑一下!

自由职业者

1、自由职业者或咨询师

咨询师是高级的自由职业者,可以为客户解决具体问题。他们可能写代码,但客户更看重的是他们的专业知识或特殊背景。自由职业者与咨询师之间的界限非常模糊,所以不要在两者之间过于纠结~

自由职业者起步期是非常艰难的,如果没有在就职期间积累一定的人脉,就需要自己去寻找客户。不过在不断积累起名声、积攒起客户后,就可以通过转介绍获得更多客户~

2、创业

虽然创业很香,也有很多创业成功的故事,但!不得不提的是

创业有成有败

创业公司获得收入要花很长时间,所以很有可能在创业的前数个月甚至数年你都没有工资收入。换句话说,如果你想成立自己的软件公司,未来是个未知数...

以上就是为大家提供的一些职业发展路径,但每个人性格不同,职业规划也不尽相同,选择适合自己的路径,才能做到有发展,有进步,有未来!

关于职业路径,大家有什么见解嘛,欢迎和我们一起讨论~

更多程序员、IT编程、技术类内容,关注@千锋教育