软件开发职业生涯的各个阶段
重要注意事项
1:程序员
2:初级开发人员
3:中级开发人员
4:高级开发人员
5:首席开发人员
6. 技术领导者
现在全部完成了!
保持联系
导航你的软件开发职业通讯
您是否想过您的职业生涯的下一步应该是什么?
您如何知道下一步要学习什么工具、原理或编程语言?
我想与大家分享一个简单的框架,它将帮助职业生涯任何阶段的开发人员能够进入下一步并升级。
重要注意事项
每一步都代表着您在职业生涯中可能处于的一个大致“位置”。
每一步之间都存在一些过渡,需要在某些领域积累知识和经验。
每一步都建立在前一步的基础上。
这些不一定与职位相对应。
拥有“高级开发人员”头衔的人实际上可能只具备初级开发人员的技能和知识!
是的,有时人们得到晋升仅仅是因为他们在该领域工作了 X 年,而不是因为他们具备胜任该领域所需的技能和知识。
或者,也许他们在同一家公司工作了很长时间,只是被赋予了一个“更好”的头衔。
我确信你们中的大多数人也都见过这种情况。
当然,我必须说:每个阶段之间并没有真正的“硬”线。
这只是一种展望职业生涯的方式,以便于你更好地管理和掌握整体职业生涯。这只是一套有用的概念——仅此而已!
让我们开始吧!
1:程序员
程序员基本上是一个业余爱好者。
程序员的特征是:
- 了解编程语言语法——甚至可能非常了解!
- 可以自己创建小项目 - 例如视频游戏、应用程序等。
- 善于解决问题
- 单独工作
- 没有因其工作(非专业)获得报酬
2:初级开发人员
初级开发人员刚开始时与编码员类似。
但是,他们现在以有偿专业人员的身份进入 IT 领域,并与其他专业人员组成的团队一起工作。
很快,初级开发人员很可能会遇到一个庞大到他们无法理解的代码库。他们必须学会如何将问题分解成更小、更易于管理的任务。
他们将开始学习如何将不同的系统连接在一起 - 例如客户端-服务器交互或从服务器端代码连接到数据库。
3:中级开发人员
他/她是一位称职的团队成员和贡献者。
他们已经学会了如何构建基本系统 - 例如 Web 应用程序。
在此阶段,开发人员正在学习的一些技能包括:
- 了解基本系统架构
- 能够熟练使用专业工具
- 对设计模式、代码异味等有基本的了解。
- 了解如何作为团队的一员出色地工作
PS 本文最初来自YourDevCareer.com,您可以在那里查看更多文章和资源,以帮助加速您的职业发展!
4:高级开发人员
高级开发人员变得非常熟练和知识渊博,以至于他/她周围的人都把他们视为导师和“可靠的人”。
他们通常拥有一些专业和高级的编程知识,并且能够使用先进的技术和模式构建更复杂的系统。
例如,高级 Web 开发人员的一些特征如下:
- 了解设计模式、代码异味、重构等。
- 了解领域驱动设计、事件源、CQRS 等架构范例。
- 具有一定的服务器部署和维护经验,具备负载平衡、连接池等基础设施知识。
是的——有很多东西!
关于不同焦点的说明
此示例考察了高级 Web 开发人员的特质。虽然这些特质大多数都比较通用,且在不同领域具有共通性,但对于高级数据分析师、高级物联网开发人员等职位的人来说,其特质可能有所不同。
例如,面向数据库的高级开发人员需要更多有关数据库管理、编程等方面的知识和技能。
5:首席开发人员
首席开发人员专注于为其开发团队提供高级指导。
但更重要的是,他们是开发团队和组织中其他业务部门之间的桥梁或连接器。
请参阅本文以了解更多详细信息。
6. 技术领导者
技术领导者已经成为某些特定领域的专家,并且通常对自己擅长的领域有非常有针对性的品牌/定位。
这可能是一种特定的编程语言、网络安全、使用 React 的前端开发、开发人员导师,甚至是一个特定的行业!
他们是社区建设者,拥有一批追随者,他们将他们视为直接或间接的导师。
他们是倡导某些特定事业或理念的思想领袖。
他们公开谈论他们的专业领域或他们所倡导的想法。
简而言之,他们是技术专家和非常熟练的沟通者。
现在全部完成了!
你觉得怎么样?你觉得自己处于哪个阶段?
您是否觉得需要学习某些特定领域或主题?
您认为为了进入职业生涯的下一个阶段,您具体需要做什么?
留下评论分享您的想法,让其他人受益!
保持联系
导航你的软件开发职业通讯
一封电子邮件简报,助您提升软件开发职业水平!您是否想过:
✔ 软件开发人员通常经历哪些阶段?
✔ 我如何知道自己处于哪个阶段?如何进入下一个阶段?
✔ 什么是技术领导者?如何成为技术领导者?
✔ 有人愿意陪伴我并解答我的疑问吗?
听起来很有趣?加入社区吧!
文章来源:https://dev.to/jamesmh/the-stages-of-your-software-development-career-2dd