30岁后程序员的出路[转]

2023-11-10

那程序员到了30岁,怎样提高自己的不可替代性呢?我们打算做一辈子程序员吗?敢问路在何方?

作为一个过来人、一个资深程序员,我觉得有几个方向可以选择:

1)成为技术大拿

 

其实,做一辈子程序员并没有什么问题,重要的是,你必须成为一个不可替代的程序员,也就是说,你要成为技术大拿,能够解决普通程序员所不能解决的问题。技术大拿有两个版本 

一是程序员加强版。你仍然是一个程序员,但你是一个很牛的程序员,凭借多年的积累,你在知识广度和深度方面均已不是等闲之辈。从汇编到java, 你样样精通。你在意数据结构和算法,对系统的优化有独到见解,对设计模式如数家珍,你还有完备的工具箱和自己的专用类库。其实,加强版程序员有非常独特的 价值,可惜的是,在现实中却很少见,因为对任何一个公司而言,人才总是很稀缺的。老板的眼睛是雪亮的,他怎么会对你这种技术大牛视而不见呢,在你还没有成 为真正的大拿之前,早已经被任命为系统架构师、项目经理或者更高的职位了。因此,你想守住自己的一亩三分地,悠闲的做自己的大拿,往往是不可能的。

二 是程序员升级版。虽然你的内在仍然是一个程序员,但你的职位已经升级了,你成为了系统分析师或系统架构师。这是非常自然和现实的选择。程序员与系统分析师 或架构师之间并有鸿沟,只需一步而已,你就可以从崎岖山路驶向宽阔的大马路。但这一步却并不容易,需要几年时间不断思考、学习、实践,才能化蛹成蝶。

2)成为行业专家

行 业专家也是一个公司不可缺少的角色,他们对公司的行业知识、业务流程和细节了如指掌。行业专家一般并不是从外部招聘的一个只懂业务、不懂技术的超人,而往 往是从程序员经过多年的摸爬滚打成长起来的。作为从程序员成长起来的行业专家,你往往还肩负系统分析师之职。在公司里,对业务有一般了解的人很多, 但专家级别的往往很少,为了后30年的职业生涯,你必须成为专家。

3)朝管理方向发展

向管理方向发展的第一步,一般是被任命为项目经理。在大部分IT公司里, 项目经理是最小的管理岗位了,可能你不会觉得有太多惊喜,工资也没有大的提升,但这个转变,可以说会成为你一生中最重要的转变之一。

不要小看了项目经理。有人说,项目经理是一个古老的职业。也人有人说,21世纪是项目管理的世纪。事实上,从人类有组织以来,就一直有项目管理,以前的项目经理可能是部落首领,一次集体打猎、一次攻城拔寨,都可以视为一个项目。项目管理的知识可以应用到我们生活的方方面面,大至登月计划的实施,小至家庭聚会的组织,都离不开项目管理。

一个优秀的项目经理,不仅需要高智商,还需要高情商。可以不夸张的说,如果你能胜任项目管理,你就可以胜任战术层的所有管理岗位,甚至你有家庭生活质量,也会提高到新层次。 

然而,要成为一名优秀的项目经理,并不是一件容易的事情。可以说,需要一定的天分,有些人无师自通,有些人却永远也学不会。程序员属于高智商人群,情商却往往存在不足,这注定了只有少数程序员能够成长为项目经理,成为优秀的项目经理,则非常稀少了。

如果你觉得这几方面都合适,那你还有几条出路:

一是塌塌实实混日子。

说老实话,做老实人,办老实事,拿老实的工资,这种员工公司也是非常需要的,一般不会遭遇炒鱿鱼的命运;

二是转行或者创业。

因 为这个行业已经不再适合你,已经没有更大的发展前途,只能转行。如果可以转行,未必是坏事,也许在新的环境中,可以激发出更强的能量,创造出一番事业来。 至于创业,那就更具有挑战性了,建议你在创业之前,已经成为了一名优秀的项目经理。试想,如果转不动一个项目,如何能转动一个公司?

转载于:https://www.cnblogs.com/hsapphire/p/5445044.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

30岁后程序员的出路[转] 的相关文章

  • UnknownHostException:名称或服务未知

    我正在尝试使用 com squareup okhttp 中的 OkHttpClient 从 API 返回一些数据 我遇到了一些错误 我最终能够克服这些错误 但我无法克服这个主机异常错误 并且这里似乎没有任何内容足够具体到我的情况能够解决 下
  • 如何从另一个 Flux 中排除 Flux 中的所有元素

    我有两个Flux一个用于成功元素 另一个用于保存错误元素 Flux
  • 为什么签名的 Android apk 无法在模拟器上运行

    我已经制作了一个android项目的签名apk 每当我的客户尝试在模拟器上运行它时 他都会遇到以下错误消息 D Android android sdk windows tools gt adb install r abc apk 500 K
  • Chrome 崩溃:尝试在空对象引用上调用虚拟方法“long android.view.accessibility.AccessibilityNodeInfo.getSourceNodeId()”

    在处理网页的搜索表单 JavaScript CSS HTML 时 每次单击网络搜索图标并且输入字段获得焦点时 Chrome 浏览器 Android 10 都会崩溃 崩溃报告中的调试堆栈跟踪显示 Attempt to invoke virtu
  • Java 应用程序可以检测到调试器已连接吗?

    我知道 jvm 启动选项可以让 jvm 等待附加调试器 这不是我在这里的意思 是否有可能从 Java 代码中也检测调试器的附件 以便我可以例如编写一个正在执行某些操作的 脚本 然后在某个时刻让我的应用程序等待调试器 不会 这些选项是 JVM
  • 使用 iText 在内存上生成在磁盘上生成的 PDF

    我正在从 Java 应用程序生成 PDF 并且效果很好 问题是 PDF 在磁盘上生成为 Document documento new Document PageSize A4 25 25 25 25 PdfWriter writer Pdf
  • 为什么 Java 类加载器找不到我的接口?

    在下面的代码中 我使用动态生成一个类sun tools javac Main 我将使用反射创建此类的新实例 问题是 我想避免使用 Reflection 来调用我为此类定义的方法 因此我创建了一个 ProxyInvoker 来引用我在项目中定
  • 返回 Consumer 表达式内的 Method 值

    我试图在方法中返回一个布尔值 并且我正在使用消费者函数 有什么方法可以直接在 Consumer 表达式中返回该值吗 这是代码 private static boolean uuidExists UUID uuid MySQL getResu
  • Java 相当于 C# 的 async/await?

    我是一名普通的 C 开发人员 但偶尔也会使用 Java 开发应用程序 我想知道 Java 中是否有相当于 C async await 的东西 简单来说 java 相当于 async Task
  • 在 Graal.js 中使用 java 类

    使用 Graal js 如何将 java 类导入到 JS 脚本中 以下代码适用于 Nashorn JJS 但不适用于 Graal js 因为没有Java type 在graal中 我需要在某个时候调用truffle吗 var ArrayLi
  • Preg_match PHP 到 java 的翻译

    我在将 php preg match 转换为 java 时遇到一些问题 我以为我的一切都是正确的 但它似乎不起作用 这是代码 原始PHP Pattern for 44 Character UUID pattern 0 9A F 44 if
  • 使用电子邮件、用户名和密码进行 Firebase 身份验证

    我想知道是否可以使用电子邮件和用户 ID 密码登录 我有一个项目 我希望用户添加一个唯一的号码 实际上是我们公司提供的工作识别号码 以便能够签名参与该计划的人员将继续留在公司就业 即使电子邮件和密码正确但用户 ID 错误 我也需要 fire
  • Java 有现成的时钟同步解决方案吗?

    我们有一个大型的高性能软件系统 它由多个交互的 Java 进程 不是 EJB 组成 每个进程可以在同一台机器上 也可以在不同的机器上 某些事件在一个进程中生成 然后以不同的方式传播到其他进程以进行进一步处理等 出于基准测试的目的 我们需要创
  • 将文件内容存储到数组中

    我的刽子手程序有问题 我真的认为我需要做的事情超出了我对java的理解 这是我的代码 import java io BufferedReader import java io FileReader import java io FileNo
  • 使用 JavaFX 和 Maven 将模块描述符添加到库中[重复]

    这个问题在这里已经有答案了 我需要使用反思 https github com ronmamo reflections在一个带有 JavaFX 的 Maven 项目中 我想使用jlink捆绑一个最小的 JRE 问题是我运行时出现以下错误mvn
  • 在Android中创建自定义按钮类

    我正在尝试为我的 Android 应用程序创建自定义按钮类 public class TicTacButton extends Button 我已经在里面设置了所有构造函数TicTacButton并创建了自定义方法和属性 在我的主要活动中
  • JPanel 无法使用 setSize 和 setPreferedSize

    请解释为什么它不起作用 您也可以发布解决方案来解决此问题 非常感谢您提前 public class Run extends JFrame Fields static JPanel jpanel private int x y Constru
  • javaFX,抛出 NullPointerException,位置是必需的

    我看过其他答案 但没有任何帮助我 抱歉 GUI新手只知道swing的基础知识 这是主课 package application import javafx application Application import javafx fxml
  • Eclipse IDE - 错误:构建路径指定执行环境 Java SE 1.7

    在 Eclipse 中 我收到一个错误 构建路径指定执行环境Java SE 1 7 工作区中没有安装与此环境严格兼容的 JRE 尝试这个 In Eclipse your project gt properties gt java build
  • Jsplitpane 自动调整大小

    我有一个 JSPlitPane 它们之间有 50 的分隔线 这工作正常 但是 当我在右侧添加一些 JLabels 时 jsplitpane 会忽略我的 50 分隔符 左侧窗格会增加其大小 并会挤压右侧窗格 为什么会发生这种情况以及如何解决

随机推荐

  • uniapp使用中出现的问题

    1 真机调试时 运行到手机 手机显示 本应用无法独立运行 需与HBuilderX搭配使用 我这里是window系统电脑连接到安卓手机 如下图 以上两个图片分别是手机和电脑显示的信息 手机和电脑就一直这样显示 就没然后了 处理方法 升级最新H
  • HTTPS 原理详解

    转自 https baijiahao baidu com s id 1570143475599137 wfr spider for pc 前言 HTTPS 全称 HyperText Transfer Protocol over Secure
  • 计算机中cat是什么命令,cat(操作系统命令)_百度百科

    本词条缺少概述图 补充相关内容使词条更完整 还能快速升级 赶紧来编辑吧 cat是操作系统命令的名称 cat命令在Unix和类Unix系统中是英语单词concatenate 意思都是连接 的缩写 作用是显示或连接多个文本文件 在Apple P
  • 无向图

    概念轰炸 图是由一组顶点和一组能够将两个顶点连接的边组成的 x y表示x到y的一条边 一条连接一个顶点和其自身的边称为自环 连接同一对顶点的两条边称为平行边 含有平行边的图称为多重图 某个顶点的度数即为依附于它的边的总数 当两个顶点通过一条
  • python之调用ffmepg实现mp3比特率修改

    效果 D python projects python learning python aduio gt ffmpeg i WELBOX mp3 b a 32k WELBOX 1 mp3 ffmpeg version 4 3 1 2020
  • 把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,不能申请额外的空间

    把一个字符串的大写字母放到字符串的后面 各个字符的相对位置不变 不能申请额外的空间 题目以及要求 把一个字符串的大写字母放到字符串的后面 各个字符的相对位置不变 不能申请额外的空间 我的实现类似冒泡排序 代码为 include
  • nginx配置图片访问路径:root和alias

    图片所在路径 www wwwroot images aaa 1 jpg 访问路径 www images mbox58 com images aaa 1 jpg 使用root location images root www wwwroot
  • 控制器分析-绘制伯德图

    控制器分析 绘制伯德图 设计控制器 需要利用伯德图工具分析控制器的相频特性与幅频特性 本文提供了两种绘制伯德图的方法 第一种是利用MATLAB内置的函数绘制 第二种是自己编写的代码 由于最开始第一种方法获得的图片属性不满意 如坐标轴字体大小
  • Java面试题整理一(反射)

    问题 简述Java中的反射使用 答 1 作用 可以通过配置文件来动态配置和加载类 以实现软件工程理论里所提及的类与类 模块与模块之间的解耦 反射最经典的应用是spring框架 2 定义 反射简单来说 就是动态加载对象 并对对象进行剖析 在J
  • 将div的宽、高按比例设置有什么效果

    在添加div时 对它的大小 宽 高 有两种设置方法 固定值和百分比 1 若div的宽高为固定值 则该div的显示效果会随着其父div的缩放而变化 如下所示 fixed width 200px height 100px background
  • 【C语言】输入三个字符串,比较其大小,最终将它们由大到小输出。利用C指针。

    题目 输入三个字符串 比较其大小 最终将它们由大到小输出 利用C指针 解题思路 定义一个二维字符数组用于存放3组字符串 再定义一个一位指针数组使其分别指向这3个字符串 编写一个函数 利用传入的指针数组 对其指向的字符串的用 选择法 进行排序
  • 函数式接口习题

    基础题 练习一 函数式接口 定义一个函数式接口CurrentTimePrinter 其中抽象方法void printCurrentTime 使用注解 FunctionalInterface 在测试类中定义static void showLo
  • 云解析DNS能为你做什么?

    记录类型 云解析DNS支持A CNAME MX TXT SRV AAAA NS CAA记录类型 您可以参阅 添加解析记录 操作文档 记录类型功能描述AIPV4记录 支持将域名映射到IPv4地址使用AAAAIPV6记录 支持将域名映射到IPv
  • 非printf形式打印各种数据类型的十六进制和二进制

    转载请标明是引用于 http blog csdn net chenyujing1234 欢迎大家提出意见 一起讨论 一 源码实现 为了适配各种数据类型 且可以通过sizeof得到此类型的大小 所以这里采用模板形式开发 以下是实现此功能的源码
  • 在Ubuntu系统安装jdk1.7步骤

    在Ubuntu12 04系统安装sun jdk1 7 可以到 http www oracle com 下载jdk1 7版本 选择平台Linux x64 Accept the license agreement and download th
  • 《再也不怕elasticsearch》es核心概念

    ES核心概念 大家好我是迷途 一个在互联网行业 摸爬滚打的学子 热爱学习 热爱代码 热爱技术 热爱互联网的一切 再也不怕elasticsearch系列 帅途会慢慢由浅入深 为大家剖析一遍 各位大佬请放心 虽然这个系列帅途有时候更新的有点慢
  • 谷歌浏览器官方下载地址

    谷歌浏览器官方下载地址 在线安装版 https www google com chrome browser desktop index html 离线安装版 https www google com intl zh CN chrome br
  • python编写用户登录程序_python初学之用户登录的实现过程(实例讲解)

    要求编写登录接口 1 输入用户名和密码 2 认证成功后显示欢迎信息 3 用户名输错 提示用户不存在 重新输入 5次错误 提示尝试次数过多 退出程序 4 用户名正确 密码错误 提示密码错误 重新输入 密码错误3次 锁定用户名并提示 退出程序
  • python 字符串替换

    在Python中 字符串是一种非常重要的数据类型 它可以用来表示文本 数字 符号等信息 在实际开发中 我们经常需要对字符串进行替换操作 这时就需要用到字符串替换函数 Python中的字符串替换函数主要有replace translate r
  • 30岁后程序员的出路[转]

    那程序员到了30岁 怎样提高自己的不可替代性呢 我们打算做一辈子程序员吗 敢问路在何方 作为一个过来人 一个资深程序员 我觉得有几个方向可以选择 1 成为技术大拿 其实 做一辈子程序员并没有什么问题 重要的是 你必须成为一个不可替代的程序员