软件工程职业规划

article/2025/10/8 20:04:00

一、语言的选择

Python、JAVA、C#、PHP、C++、VB……10多种热门的开发语言,哪一种最有发展潜力呢?其实开发语言只不过是一个工具,“与其分散进攻,不如全力一击”,无论是哪一种开发语言,只要您全力地去学习,到有了一定的熟悉程度的时候,要学习另一种的语言也是轻而易举的事情。开发语言主要分为三大类:
1.网络开发
现在网络已经成为世界通讯的一座桥梁,好像Javascript、PHP、Ruby这几类开发语言大部分是用作网络开发方面
2. 企业软件开发
JAVA、C#、VB这几类开发语言都实现了面向对象开发的目标,更多时候用于企业系统的开发
3. 系统软件
C语言、C++、Object-C这些软件更多是用在系统软件开发,嵌入式开发的方面

二、关于职业规划

很程序员每天都在写代码,每天都很忙,而当面试官问他:“你的职业规划是什么?”程序员答:“没有”。那如果让你选择一个角色你会选择什么?比如技术主管。程序员答:“CEO吧”。我。。。。。。
我们应该给自己制定一个职业规划,对未来的工作要有一个方向,当方向对的时候,你会少走很多弯路。就像小时候别人问你,你长大后的梦想是什么,我家隔壁的小明答到:“我想当一个数学家”。这是一个很好的梦想!虽然后来小明只当了超市里的会计——收银员。
职业生涯规划图:在这里插入图片描述

程序员的职业发展书籍:
1.算法与导论
2.设计模式
3.如何预防颈椎病
4.如何治疗颈椎病
5.活着
6.如何转行

这看似一段程序员自黑的段子,但作为老程序员不得不说这真的不是一个段子,程序员是一个高风险职业,很多人对自己的职业生涯没有清晰的概念,以至于最后落得不得不转行的尴尬局面,这个转行一般有两个原因,一个是技术跟不上,一个是身体吃不消。还有些人觉得Java这一行干不长久,很容易失业,其实并不是这样。Java行业的技术更新换代很快,而有些人再找到工作后就甘于现状不再继续学习,这使得他跟不上技术更新的速度,这样的人才比较容易淘汰。如果你能一直努力学习新知识,那么你是很难失业的。

虽然不少人觉得目前Java行业人才众多,尤其是各类新兴语言的崛起,Java势头大不如前,但Java有许多值得称道的优点,如简单、面向对象、分布式、解释性、可靠、安全、结构中立性,可移植性、高性能、多线程、动态性等。

Java摈弃了C++中各种弊大于利的功能和许多很少用到的功能。Jave可以运行于任何微处理器,用Java开发的程序可以在网络上传输,并运行于任何客户机上。 Java的前程不可限量,所以根本不需要担心Java的前景走下坡路了,要是你还在担心,是因为你的Java知识学得还不到家。

Java就业形势如何?

据权威机构统计,Java的岗位普遍的工资是10k到20k,平均工资为14780。这样可观的收入也是很多人投身于Java事业的一个重要因素。另外只有8%的Java工程师的工资是8k-10k,这一小部分是刚出来的Java工程师。所以Java未来的就形式依然可观,想要投身Java这行业的,就要好好学习了。

三、管理与技术那个更重要

这个是一个没有对错的问题,目前国内很多大公司都很注重技术,所以靠干技术混一辈子也是有可能的,但是技术是一条累并且容易过时的东西,一旦你掌握的技术过时,那就只能呵呵了(那些说技术都是想通的,只能骗自己了,hr可不吃你这套)管理相对来说就稳定的多,管理能力可以扩展到很多技术方向,而且管理的收入也是高于技术的,但也有缺点就是管理的换工作成本更高。

其实我个人认为最好的职业是技术leader,这个要求能力很高,既要技术处于团队领先,并且还有精力来管理自己的团队,对每个成员的工作和职业发展方向有一个清晰的认识和指导

对于职场新人,不要过多的考虑钱的因素,要选择大企业,知名企业,这些企业的特点是,工资不低,职责分工明确,对于你的工作风格养成比较有利,最重要的是换工作比较容易。

这里有人可能蹦出来说。小公司更适合新人,可以快速培养一个人多项技能,虽然会累一点,但会学到很多东西,对于有这种思想的人,我只想说并不是你比别人会的多,你就会比别人有发展,个人认为深度比广度更重要

依在下看来,要想成为尖端的开发者,必须对C、C++、汇编语言、嵌入式开发、Windows API、Linux API这些底层技术有着深入的了解。要知道了解JAVA、.NET……等这些之所以称为高级开发语言,并不是指它们比C、C++、汇编语言更高级,而是指它们封装了C、C++等等的功能,更适合用于企业软件的开发,使开发变得简单。但如果要开发一些底层的软件,大型的系统的时候,就必须用到C、C++、汇编等开发语言,这是成功尖端人才的一个条件。

四、项目经理还是架构师

在程序员中一直有个讨论就是将来要做项目经理还是做架构师。这两条路的侧重点不一样,所以积累的东西也可能不同。项目经理更强调综合能力,比如说协调能力,沟通能力等一系列偏管理的能力。而架构师可能更专注于技术本身,技术上的宏观方向。两条路有重叠,但是更多的是区别。有些项目经理可能就不会写代码。但是同样可以带好一个项目,一个团队。我曾经也问自己要是以后这两条路走哪条,其实都可以尝试一下。比如说给一个项目让我带带,我能否把它带好,其实需要机会,同时也需要自己去争取这样的机会。所以我的答案就是如果有机会的话两条路都可以尝试走走,就是两个方向的一些能力都可以进行积累。很多人认为项目经理是一个职位,我倒觉得是动态的,这个项目中你做项目经理,另外一个项目中可能又是开发工程师。所以不永远是项目经理,也不永远是开发工程师。

就程序员而言,专注技术是没有任何问题的,先技术后管理。管理这个东西总的说有点虚无飘渺,各都有各的一套理论,比较难以评估。但是技术是可测量的,通过一定的努力技术水平都会有定的跃升。记得在《肖申克的救赎》里面说到地质的形成只需要两个条件:压力和时间。其实对于学技术也是一样的。只要肯学一定会达到某个水平。到大牛级别的确实需要一些悟性和天分。

五、我的选择

我为什么觉得自己应该走架构师这条路,这和我职业终极目标是契合的。这里先说一下架构师做什么?架构师负责整个项目甚至整个系统的构架(这一句话等于废话)。一般型的项目可能这个设计项目就做掉甚至可能就不需要架构。但是系统复杂度上升的时候,会涉及到系统之间的交互,还有技术的可行性和整个设计的方案。这个时候架构师就出场了。另外的工作就是承担一定的培养新人的工作。所以架构师都需要具备比较好的口才,很多人都说程序员不会说话,错了,那是低端的,到了高端的程序员口才都很好,看一下那些程序员大会中侃侃而谈的架构师们,是不是有种“高端大气上档次”的感觉。这后面会发现有一个发展方向就是“培训师”,还可以写书,其实这些都可能是一些“副产品”。技术到一定的境界很多事情到都是水到渠成。

架构师写代码吗?当然写。他们肯定不会写那些简单的代码,他们一般写什么代码?框架,一般来讲优秀的框架都是一个人或者极少人写出来的。比如说Linux的核心就是一个人写出来的。好的代码绝不是人堆出来的。你给100个初级程序员也整不出一个Struts来。这里会衍生出另外一条路,就是开源框架,很多牛人都是开源社区的爱好者。都或多或少的参与了一些开源项目。甚至把自己写的一些东西开源出来。一般来讲能做到这个级别那是相当厉害的了。

不管怎么样技术的底层都是一样的,所以扎实的基础是必要的,这就是为什么算法和数据结构是永恒不衰的。很多人说算法和数据结构无用那就是无知的表现。这个无知就像在讨论读大学有没有用一样。

注: 以上皆为我个人阅读各位大佬的文章所总结的一些关于职业规划的内容,仅供参考。


http://chatgpt.dhexx.cn/article/PWX4tlM5.shtml

相关文章

软件测试工程师的职业规划

读者提问: 软件测试工程师如何做职业发展规划,有什么比较好的建议给到咱们测试萌新吗 ? 阿常回答: 两个大的发展方向:1、技术类;2、管理类。 一、走技术发展路线 1、测试专家,比如 “测试架构师…

五年程序员谈软件工程师做职业规划的重要性

导语:过来人告诉你软件工程师这个金饭碗不是那么容易端稳的,做好职业生涯规划,给自己定一条路线,让自己在这条路线上一步一步走下去,才是好职业好发展的前提。 写这篇文章源于某条微博评论,原内容大概是一个…

软件行业职业规划

每个IT心中都有一个自己的职业生涯规划,而且不得不承认,在这个行业里面工作时间长了,难免会丧失很多激情。以下是个人的职业规划,希望这个激情的火种能继续燃烧,并希望能给在软件路上或正准备在软件路上的人一个参考。…

我的职业生涯规划(软件工程)

原本打算在语雀发文章 但是现在要vip,文章才能公布到互联网 以后笔记先在语雀整理 方便一点https://www.yuque.com/juhao-pqdor/goeie3 整理一下自己的笔记 弥补一下以前没写博客的遗憾吧 二十载求学路将尽,行文至此,思绪万千。求学之路始…

软件工程大学生职业规划书

引言 在今天这个人才竞争时代,职业生涯规划开始成为在人争夺战中 另一重要利器,对企业而言,如何体现公司“以人为本”人才理念, 关注员工人才理念,关注员工持续成长,职业生涯规划是一种有效手段; 而对每个人…

计算机网络基础--IP地址与子网划分

一、IP地址的表示方法 IP地址由四段组成,每个字段是一个字节,8bit,最大值是255。 IP地址由两部分组成,即网络地址和主机地址。网络地址表示其属于互联网的哪一个网络,主机地址表示其属于该网络中的哪一台主机。二者是…

网络基础架构(从数据传输理解网络)

目录 1. 网络与系统关系2. 网络背景3. 认识协议4. osi七层协议5. Tcp/Ip五层协议6. 网络传输流程6.1 局域网6.2 广域网6.3 数据封包和使用 7. 网络中的地址管理7.1 IP7.2 mac地址7.3 网络相关的两个命令 1. 网络与系统关系 将数据放到网络里,把数据从网络拿出来&am…

计算机网络(一)——网络基础

文章目录 一、计算机网络背景二、网络协议分层2.1 协议分层2.2 OSI七层2.3 TCP/IP四层 三、网络传输基本流程3.1 网络传输流程图3.2 数据包的封装和分用 四、网络中的地址管理4.1 IP地址4.2 几组概念4.3 Mac地址 一、计算机网络背景 网络把主机连接起来,而互连网&a…

运维面试题(网络基础、系统管理)

目录 网络基础类1、简述ISO/OSI七层模型的分层与作用相关-TCP/IP四(五)层模型与作用? 2、简述TCP三次握手的过程相关-简述四次挥手的过程 3、172.22.141.231/26,该IP位于哪个网段?该网段拥有多少可用IP地址?广播地址是…

P2P网络基础(学习笔记)

P2P网络基础(学习笔记) 基本概述P2P与C/S架构P2P网络的特点P2P网络的主要功能P2P网络的分类集中式全分布式非结构化全分布式结构化混合式比特币网络 P2P网络的应用 基本概述 P2P(peer-to-peer)网络又称为对等式网络,或…

计算机网络基础实验(Cisco Packet Tracer 实验)

目录 一.简介二.Cisco Packet Tracer 实验1.直接连接两台 PC 构建 LAN2.用交换机构建 LAN3.交换机接口地址列表4.生成树协议5.路由器配置初步 三.小结 一.简介 1.本部分实验需使用 Cisco Packet Tracer 软件完成。 下载文件压缩包: 提取地址:Cisco Pack…

初识网络基础《网络七层模型详解》

坚持原创输出,点击蓝字关注我吧 图片来自网络 目录 一、初识网络基础二、网络七层模型详解 1.物理层2.数据链路层3.网络层4.传输层5.会话层6.表示层7.应用层三、总结 一、初识网络基础 其实网络刚刚开始发展的时候,它并没有这么一个复杂的模型&#xff0…

【算力网络】算力网络的技术创新——网络基础设施关键技术

本人就职于国际知名终端厂商,负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。 博客内容主要围绕: 5G协议讲解 算力网络讲解(云计算,边缘计算…

计算机网络基础知识框架

前言 计算机网络基础 该是程序猿需掌握的知识,但往往会被忽略今天,我将献上一份详细 & 清晰的计算机网络基础 学习指南,涵盖 TCP / UDP协议、Http协议、Socket等,希望你们会喜欢。 目录 示意图 1. 计算机网络体系结构 1.1 简介…

python网络基础

python网络基础 1. 前言1.1 拓扑图1.2 三个问题 2. IP2.1 概念2.2 组成2.3 分类2.4 私有IP和私有IP2.4.1 共有IP2.4.2 私有IP 2.5 子网掩码 3. 网络端口3.1 前言3.2 注意 4. 网络协议4.1 前言4.2 四层模型 1. 前言 1.1 拓扑图 1.2 三个问题 IP windows中查看: ipco…

网络基础--搭建一个简单的网络

文章目录 前言一、配置路由器二、配置服务器三、电脑开启dhcp服务总结 前言 这里用的是华为的模拟器ENSP来完成这个实验。 华为的模拟器中PC不能访问服务器,也就是说不能访问网页,所以用Client。 要求:所有电脑自动获取ip地址—dhcp服务&am…

神经网络基础知识

一、课程来源: 深度之眼神经网络基础知识 二、主要内容: 主要分为三个部分,分别是 1.神经网络基础与多层感知机:基础知识、激活函数、反向传播、损失函数、权值初始化和正则化 2.卷积神经网络:统治图像领域的神经…

计算机网络基础知识

计算机网络 上帝视角 如上图就是一张简单的计算机网络,那么什么是计算机网络呢? 百度百科的定义: 网络是由若干节点和连接这些节点的链路构成,表示诸多对象及其相互联系。 在我看来计算机网络通俗地讲就是通过传输介质将分布在…

【Kubernetes】容器网络基础

文章目录 一、前言二、Kubernetes 容器网络基础2.1 容器网络基础知识回顾2.2 Kubernetes 容器网络概览2.3 CNI 插件介绍2.3.1 使用 CNI 插件创建并连接容器网络的操作步骤 三、Kubernetes 容器网络模型3.1 容器网络模型简介3.2 容器网络模型实现3.3 容器网络模型与 CNI 插件的关…

数通基础-网络基础知识

OSI参考模型 OSI 概念 Open System Interconnect开放系统互连参考模型,是由ISO(国际标准化组织)定义的。它是个灵活的、稳健的和可互操作的模型,并不是协议,而是一个伟大的模型。常用来分析和设计网络体系结构。​ O…