你最终在软件开发领域最终将由您选择的特定路径决定。

选择错误的路径,你会在剩下的时间里结束一个Kobold写COBOL。

选择正确的道路,你可能会成为一个白色的巫师或建筑师,住在你的象牙塔中,从高处赐下法令。

好的,也许不是这样。

你的职业道路选择确实有所作为 ; 他们真的很重要。 

初学者程序员太多,从来没有时间考虑他们实际的职业发展路径,故意选择哪一条路径以及他们想加入的公会。

相反,他们只是站在旁边的道路上喊“寻找一个团体”,并加入任何一群冒险家去走上他们的路。

这篇文章是关于作为软件开发人员想要追求哪个职业发展道路的有意识的选择,首先是列举你的选择。

软件开发者的三种类型

我将最高级别的软件开发人员分为三大类。

您可能不习惯这三个方面的软件开发人员和软件开发人员,因为您可能只会考虑到大部分软件开发人员的三大软件开发商中最大的一个。

但是,如果我们想看看软件开发职业道路的详尽清单,我们必须从这里开始。

就这样说,这里是软件开发人员的三大类:

  • 职业发展者(最常见)
  • 自由职业者
  • Entreprogrammers  (程序员/企业家杂交)

我们每个人都简要地谈谈一下。

我们每个人都简要地谈谈一下。

首先,我们有职业发展商。

事实上,我的大部分职位都专注于职业发展者。我们将主要关注这个职位。

原因很简单:大多数程序员是职业发展者,或者在他们职业生涯中的某个时期。

根据我的定义,一位职业发展者是一名软件开发人员,他有一个正常的工作,为别人工作,并得到一个正常的薪水。

大多数职业发展者希望为他们喜欢的公司工作,在该公司内部得到晋升,或许可以不时地切换公司,赚取好的薪水,然后也许退休。

这条路没有什么问题 就像我说的,这是默认的。

接下来,我们有自由职业者。

我们在最后一章谈到自由职业者是什么,所以我不会在这里重复这个。

基本上,自由职业者是一个软件开发人员,自己工作,而不是对任何特定公司的忠诚,而是选择作为雇用枪来操作,并为他们选择工作的任何客户做工作。

我们不会在本章中介绍这个职业道路,因为我们早些时候已经谈到了,自由职业道路真的值得自己的书。

最后,我们有一种最亲密的软件开发人员,因为我是其中之一,Entreprogrammer或软件开发商企业家,如果你愿意,开发者。

这个职业生涯的路径与自由职业者不同,因为不是使用您的软件开发技能为其他人开展工作,而是使用它们来创建自己的产品,或直接向客户提供或销售该产品或提供产品。

这可能是写你自己的应用程序,你销售,创建培训视频或教程,博客,写作,甚至制作关于你的工艺的音乐,并以某种方式赚到足够的钱,每天晚上把一些通心粉和奶酪放在餐桌上。

在这一章中,我们不会谈论这个职业发展的道路,因为再次,我们真的需要一本书来讨论如何成为一个项目组织者,我们在另一篇文章中介绍了基础知识。

职业发展选项

接下来是什么,我认为您可以选择作为软件开发人员的广泛专业。

考虑到这些专业化,我们称之为  选项 ,以限制混乱,因为   作为一个软件开发人员,您可以在技术意义上选择下降的高级职业生涯

要明确的是,这些选择并不是职业发展者的独家。任何类型的开发人员都将不得不选择这些职业发展之路。

你可以选择多个路径 - 你可以“双班” - 但你应该至少选一个。

Web开发

这可能是今天最大的软件开发类。

大多数软件开发人员是Web开发人员,或至少做一些Web开发工作。

作为一名网络开发人员,您可以很好地制作网络应用程序。惊喜!

作为网络开发人员,您可以在前端工作,使事情变得美好,您可以在后台工作,使事情发挥作用,或者您可以同时工作,并成为一个惊人的,神奇的Web开发独角兽,特别是如果您还有一些网页设计杂志。

通常,可以完成所有这些操作的Web开发人员,除了网页设计之外,都被称为“全栈开发人员”,因为它们是开发完整的Web开发技术:前端,中间件,后端(用户界面,业务逻辑,数据库)。

移动

应用程序的人,应用程序在哪里!

有一个应用程序,你知道。

今天,越来越多的软件开发人员正在选择成为移动开发商,开发手机,平板电脑,即使是应用启用电视或可穿戴设备的移动应用。

App开发提供了一些令人兴奋的机会作为一个软件开发人员,因为越来越多的应用程序每年出来。

关于每个公司现在都需要一个移动应用程序 - 甚至不止一个。

桌面

软件开发人员经常写我问,桌面软件开发是否仍然存在。

我发现这是幻想,因为大多数时候,他们从运行桌面程序的计算机输入的电子邮件,通常是一个Web浏览器,但它仍然是一个DESKTOP程序。

其实你如何编写代码并编译它?

我们大多数人使用基于桌面的IDE,尽管云端IDE越来越受欢迎。

视频游戏

是的,我知道你想成为一名视频游戏开发者。

是的,我也是。

这就是为什么我进入软件开发。

但是,我开始编写打印机,编写了一大堆网络应用程序,制作了一些移动应用程序,做了一些其他的事情,而不是实际上成为一个视频游戏开发人员,而是写了一些讽刺的书籍,并制作了一些YouTube视频关于如何拿起女孩作为软件开发人员。

生活并不总是你期望的。

但是,严格来说,这是一个可行的职业选择。这是一个很困难的,有很多的竞争,长时间在视频游戏上工作,嗯,我想这是所有的缺点我可以想到。

嵌入式系统

嵌入式系统开发人员主要从事实时操作系统的操作系统,这些操作系统在电子设备内部运行,因此  嵌入式  系统很聪明。

这是一个很好的职业选择,因为它的需求很高,它需要专门的技能,这是非常有价值的。

作为软件开发人员,我做过的一些最困难的工作涉及到在嵌入式系统程序中解决了很多冗长的时序问题。

数据科学

这是一个相当新的职业发展道路,但似乎是最赚钱的人之一。

数据科学家究竟做了什么?

没有人真的知道...我认为这与“大数据”有关。

尽管如此,数据科学是一个庞大且快速增长的领域,软件开发人员可以进入,特别是如果他们想要赚大钱。

数据科学家利用来自几个不同领域的技能和技术来获取大量数据,理解它,并得出结论和预测。

数据科学家通常利用他们的编程技能编写自定义程序来提取,操纵和重组数据,以便以可消化的方式表示数据。

随着数据量的不断增长,数据科学肯定有一些有趣的可能性。

工具和企业

许多软件开发人员实际上并不创建在商业销售的产品中商业发行和销售或使用的软件。相反,他们创建了在组织或内部应用程序中使用的工具。

实际上,我发现工具开发是非常有趣和有益的,因为当你建立一个有效的工具,帮助你的团队或另一个团队做得更好,效果可以非常明显。

企业发展可能非常具有挑战性,需要一套独特的能力和知识,因为企业开发人员通常必须深入了解组织以及制定软件的政治制度。

云开发也是一个相当新的领域,但随着越来越多的应用程序迁移到云端和分布式模型,云发展也迅速增长。

大多数云应用程序也是Web应用程序,但它们不一定是必须的。

云开发人员需要了解云的工作原理,特别是在可扩展性和可用性方面。

使用云端IDE,您甚至可以成为在云中开发的云开发人员。

自动化

当您观看自己编写的自动测试并自动填写应用程序中的字段,点击按钮,浏览应用程序并验证结果时,这是一个非常惊人的感觉。

测试自动化很有趣。

我喜欢它。

不仅有趣,而且迅速扩大,需求量非常大。

有一个很有才华的软件开发人员缺乏了解创建自动化框架  和编写自动测试来测试其他软件的正确方法  。

专注于测试自动化的软件开发人员构建用于自动化应用程序测试的工具,并编写自动化测试以执行和验证功能。

测试自动化可能非常具有挑战性和复杂性,因为它本质上要求您编写应用程序以测试其他应用程序。

但是,像我说的那样,我觉得这很有趣。

超越玻璃天花板

一般来说,你会发现,即使你选择了一个特定类别的软件开发者来成为或者也许不只一个,你最终会被称为“玻璃天花板”。

这个玻璃天花板是您可以提前多久的实用限制,或作为软件开发人员可以获得多少费用。

无论你多么好,有一点你到达顶端,你不能真正推进任何进一步。

但是,在这个玻璃天花板旁边还是通过这个方法。

首先,您可以选择停止为别人工作。

作为一名自由职业者,您的玻璃天花板要高得多,虽然您仍然可以自由选择多少,但由于您还需要交易时间才能获得美元的实际限制  

作为一个企业家,它完全没有,但你也可以赚到零美元或负的美元。

这些选择中的任何一个都是可以让您通过玻璃天花板的可行途径。

如果您想留在职业发展商,您可以大量投资于自己的品牌和营销,您可能会找到一家公司,由于您的声誉,您的公司会大大超过平均水平。

但是,还有另一种方式...

您可以寻找一家大型公司加入管理或技术追踪。

管理还是技术?

大多数中小企业对向上流动具有实际限制。

作为一名软件开发人员,您无法获得比他们拥有的最高级别更高的优先级,这可能并不高。

但是  像微软,苹果,IBM,谷歌,Facebook,惠普等大型企业,天花板可以高得多。

这些公司通常希望能够提供最优秀的技术人员,因此他们可以创建特殊的技术轨迹来整合它们。

通常情况下,这些大型公司要么有技术或管理的进步。

您必须选择是否要管理管理路线,并留下您的编码技能,或技术跟踪,并继续编码,直到他们告诉您您再也不能编码。

如果您选择管理轨迹,您可以通过成为开发人员经理,然后可能是部门经理或项目经理来提升自己的职业生涯,然后一路走上高管职位,如开发总监,甚至是首席技术官(CTO)。

如果您选择技术课程,您可以从高级开发人员到建筑师,然后再到高级研究员。

每个组织都将有自己的专业技术和非技术进步轨道,所以职位和职位将有很大差异。

但是,如果您达到玻璃天花板,并希望继续前进,您必须选择追求技术或管理的轨迹。

事实上,如果你不是在一个提供先进技术轨迹的大公司,你甚至可能没有选择。

进入管理可能是您唯一的进步选择 - 无论是自己出去还是外出。

你一直在思考的问题

真的,这个博客的重点是让你认真思考你在哪里,故意引导你的职业生涯。

如果你想提升自己的职业生涯,你需要知道你将要朝什么方向前进。

首先仔细想想你想要的是什么样的软件开发人员。

你想永远是职业发展者吗?

如果是这样,什么样的?

网路开发者?移动?云?

而且到底是什么?

你想最终成为一名建筑师吗?

你只是想编写和做酷的东西,而不用担心超过某一点?

你想要尽可能高吗?

如果是这样,你最好开始寻找具有高水平技术轨迹的公司。

也许你想最终进入管理层,或者也许你成为CTO甚至CEO。

或者也许您希望在职业生涯中成为职业发展者,然后转变为成为自由职业者,甚至是企业家。

无论你决定做什么,重要的是做出决定并制定计划。

你可以随时改变计划 - 一旦你选择了这个方案,你就不必一直提供一个路径 - 但是你应该总是至少有一些计划,否则,你将无缘无故地漂浮在你的职业生涯中。

一旦我加入了ACP敏捷团队,我就打了玻璃天花板.

转载于:https://my.oschina.net/u/3630068/blog/1535291

软件开发职业发展路径相关推荐

  1. 程序员误区1:软件开发职业是青春饭

    误区1:软件开发职业是青春饭         清华大学出版社<Java程序员,上班那点事儿>作者:钟声 我们听得最多的"误解"莫过于"软件开发职业是青春饭&q ...

  2. java程序员发展_超详细的Java程序员职业发展路径,值得深思!

    在国内IT行业招聘中,大量的招聘需求都是和Java相关,且比例还在上升.巨大的人才缺口直接导致各企业纷纷以高薪聘请Java人才.那么,Java工程师的职业发展路径是什么样的?小白入门Java后,成长路 ...

  3. 软件测试人员的职业发展路径和技术路线规划

    软件测试人员应该如何规划自己的职业发展路径?如何规划自己的技术路线? 下面是我整理的两张图,大家可以参考这两张图,结合自已目前所处的技术水平阶段.自己的性格和特长,去提前定位个人的职业发展方向,规划下 ...

  4. 网络安全行业职位解析:如何选择适合自己的职业发展路径?

    前言 网络安全行业发展迅速,各种职位层出不穷,这给刚入门的小伙伴带来了很大的困惑:我应该选择哪个职位?如何才能在这个行业立足并获得高薪工作?如果你也有这些疑惑,那么恭喜你,来到了正确的地方!本文将为大 ...

  5. 大数据就业前景怎么样?新人职业发展路径是什么?

    "不参与大数据建设,10年后一定后悔".早在几年前,马云就在某次峰会中提到,未来30年,是从IT时代到DT时代的变革. 大数据发展态势 从上世纪60年代到现在,我们对数据的处理能力 ...

  6. 拉勾网《32个Java面试必考点》学习笔记之一------Java职业发展路径

    本文为拉勾网<32个Java面试必考点>学习笔记.只是对视频内容进行简单整理,详细内容还请自行观看视频<32个Java面试必考点>.若本文侵犯了相关所有者的权益,请联系:txz ...

  7. UI设计培训分享:UI设计的职业发展路径

    UI设计师这个岗位也是分等级的,有初.中.高级区别,想要在UI设计这个行业站稳脚跟,那么一定要为一名合格的高级UI设计师,下面小编就为大家详细的介绍一下UI设计的职业发展路径. UI设计培训分享:UI ...

  8. 第三篇 IT 技术支持工程师职业发展路径与技能要求

    今天简要介绍一下 IT 技术工程师职业发展路径及技能要求.图示已经非常简明的描绘出这些信息,如有不清楚的地方,欢迎留言互动(微信:136 3648 8215). 对于刚刚开始IT服务职业生涯的人来讲, ...

  9. 软件开发职业是青春饭

    Java程序员最常用的Java日志框架组件. 1.Log4j – 最受欢迎的Java日志组件 Log4j是一款基于Java的开源日志组件,Log4j功能非常强大,我们可以将日志信息输出到控制台.文件. ...

  10. 产品经理职业发展路径

    1.产品专员或者产品助理. 每家公司的叫法不太一样.可以看到不管处于什么阶段,我们对产品能力需要掌握的产品技能都是一样的,都需要产品调研和用户分析(其实就是用户调研和竞品分析).流程图和脑图梳理.原型 ...

最新文章

  1. 2018.11.12
  2. 上海中考-哪些区是“地狱模式”?——2019上海中考数据观
  3. 最大信息熵增益_机器学习笔记(三)——搞懂决策树必备的信息增益
  4. 三款ActiveX图表控件对比评测 TeeChart VS ProEssentials…
  5. struts2校验再提交多条提示信息
  6. JavaOne 2012:101种改进Java的方法-开发人员参与为何如此重要
  7. 常用汇编浮点操作指令
  8. 软件测试--selenium脚本编写注意点(二)
  9. 5 thinkpad 黑将评测_ThinkPad L380视频评测:全能型商务助手
  10. 自抗扰控制器-6线性自抗扰控制器LADRC
  11. 计算机网络学习 - 网卡
  12. Photoshop CC2018软件
  13. linux开发者的一天
  14. 怎么看xray发了那些数据包
  15. 创业路演前准备好这些,距离融资成功还会远吗?
  16. 小米手机应用ICON角标Badger显示
  17. php rabbit怎么使用默认的交换机,RabbitMQ-交换机模式
  18. 金蝶kis专业版公网访问_金蝶KIS客户端修改IP连接服务器的方法
  19. linux nohup命令启动程序,关闭shell,程序依然会关闭
  20. 网络时代的学习特点、程序员的困惑

热门文章

  1. 硬盘MBR格式转换GPT
  2. 多智时代,人工智能发展历史的时间表
  3. java中怎么画弧线加粗,CAD中怎么把一段线、曲线或圆弧加粗
  4. 我去!微信竟然可以查出行轨迹了,预计又一波情侣要分手?
  5. 微分几何为何必然兴起?
  6. python微分几何_十一年磨一剑:中科大数学教授成功证明微分几何学两大猜想
  7. 【锟斤拷】的故事:谈谈汉字编码和常用字符集
  8. linux自动任务计划任务,「linux下的计划任务——只执行一次的定时任务」- 海风纷飞Blog...
  9. ftp服务器文件不让上传,ftp服务器不让上传文件
  10. 计算机磁盘检查,使用磁盘检查工具进行硬盘诊断