文档章节

软件开发职业发展路径

Wiuk
 Wiuk
发布于 2017/09/11 17:03
字数 3850
阅读 88
收藏 0

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

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

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

好的,也许不是这样。

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

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

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

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

软件开发者的三种类型

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    

职业发展选项

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

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

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

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

Web开发

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

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

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

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

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

移动

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

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

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

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

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

桌面

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

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

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

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

视频游戏

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

是的,我也是。

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

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

生活并不总是你期望的。

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

嵌入式系统

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

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

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

数据科学

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

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

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

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

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

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

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

工具和企业

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

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

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

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

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

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

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

自动化

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

测试自动化很有趣。

我喜欢它。

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

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

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

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

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

超越玻璃天花板

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

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

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

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

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

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

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

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

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

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

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

管理还是技术?

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

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

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

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

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

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

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

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

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

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

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

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

你一直在思考的问题

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

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

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

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

如果是这样,什么样的?

网路开发者?移动?云?

而且到底是什么?

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

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

你想要尽可能高吗?

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

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

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

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

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

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

© 著作权归作者所有

共有 人打赏支持
Wiuk
粉丝 8
博文 14
码字总数 20562
作品 0
西城
项目经理
私信 提问
Android程序员的晋级之路

Android移动开发程序员的职业发展路径。 晋升轨迹:Android初级开发程序员---中级---高级--软件架构师--系统架构师--项目经理--首席技术官 各阶段对于技能要素的要求:    入门初级阶段:...

SunnyTime
2016/09/27
1K
13
干货:从技能角度谈--Java软件开发工程师的自我修养与晋升(B/S结构)(图文详解)

Java软件开发工程师的自我修养与晋升(B/S结构) 絮言: 只要你在一些方面做得好,可能就会有人说你在这方面有天赋。当你听到这样的话时,千万不要当真,因为这很可能是他们在逃避,不愿意正...

半饱即好
2014/05/12
0
0
编程如何入门(创世纪新篇)

万事开头难,人人 都梦想成为像比尔盖茨,乔布斯这样的编程大师,但进入软件开发领域也是很艰难的,就像一个神学院的学生不知如何祷告。当然,如果你还是一名刚刚入门的程序员,那么我相信你...

crossmix
2015/09/22
93
0
如何在编程生涯中有一个好的开端

想要进入软件开发的领域其实是很难的。当然,如果你还是一名刚刚入门的程序员,那么我相信你深刻理解没有经验或者没有太多经验想找一份工作是如何困难。如果你已经在软件开发这一行干过一段时...

oschina
2014/09/25
4.6K
37
小博老师经验分享 ——如何选择一门开发语言

[引言] 很多希望进入软件开发行业的朋友,经常会问小博老师一个问题,到底选择哪门编程语言好呢?又或是在各大论坛搜索开发语言排名。确实,对于第一次学习软件开发的朋友,选择一定要谨慎,...

博为峰教研组
2016/12/12
2
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周五乱弹 —— 姑娘馋的口水都留下来了。

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @且无需多言 :分享Fall Out Boy的单曲《Disloyal Order Of Water Buffaloes》 《Disloyal Order Of Water Buffaloes》- Fall Out Boy 手机党...

小小编辑
34分钟前
9
4
vue 对对象的属性进行修改时,不能渲染页面 vue.$set()

我在vue里的方法里给一个对象添加某个属性时,我console.log出来的是已经更改的object ,但是页面始终没有变化 原因如下: **受现代 JavaScript 的限制 (而且 Object.observe 也已经被废弃),...

Js_Mei
今天
2
0
开始看《Java学习笔记》

虽然书买了很久,但一直没看。这其中也写过一些Java程序,但都是基于IDE的帮助和对C#的理解来写的,感觉不踏实。 林信良的书写得蛮好的,能够帮助打好基础,看得出作者是比较用心的。 第1章概...

max佩恩
昨天
12
0
Redux 三大原则

1.单一数据源 在传统的MVC架构中,我们可以根据需要创建无数个Model,而Model之间可以互相监听、触发事件甚至循环或嵌套触发事件,这些在Redux中都是不被允许的。 因为在Redux的思想里,一个...

wenxingjun
昨天
8
0
跟我学Spring Cloud(Finchley版)-12-微服务容错三板斧

至此,我们已实现服务发现、负载均衡,同时,使用Feign也实现了良好的远程调用——我们的代码是可读、可维护的。理论上,我们现在已经能构建一个不错的分布式应用了,但微服务之间是通过网络...

周立_ITMuch
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部