半路出家: 如何转行成为软件开发者

60ce6c08ea104c2091ef719a51ceb069.png

 

我所认识的最优秀的软件开发者当中,有一些在他们的职业生涯刚开始的时候并没有对软件开发显示出任何兴趣。

你对此可能难以置信,但有时拥有不同的专业背景(甚至是与软件完全不搭界的行业)是立足软件开发领域的一个巨大优势。

虽然对此我做过一些思考,但是我仍然不太清楚为什么会出现这种情况。我不止一次地看到,一个半路出家的软件开发者,尽管只有短短几年软件开发的相关经验,却可以凭借他在其他领域积累的丰厚经验,最终一举超过单纯拥有更多软件开发经验的同行如果你已经在其他与软件开发无关的领域工作了一段时间,并且目前正在考虑转行成为一名软件开发者,本章可以为你提供一些鼓励,以及一些如何实现转行的最佳实践。

中途转行的优势

我在本节要说的大部分内容都是我自己的臆测,因为我自己的职业生涯就是从软件开发起步的,虽然后来我转变成为现在的角色,但是我的确不是从某个无关的领域开始的。但是,就像我之前说的,我遇到过许许多多颇具成就的软件开发者,他们是从其他无关的领域转行来做软件开发的,所以我至少对造就他们成功的因素大致了解。

对于那些从其他领域半路出家转来做软件开发的人士,我观察到他们拥有一个巨大的优势,通常他们具备优秀的人际交往技能和软技能,而这两点在软件开发领域从业者中都是极为罕见的。

软件开发者缺乏人际交往技能和其他软技能,这已不是什么秘密。而且,我发现这些技能的作用价值连城,这也不是什么秘密。因此,我还专门写了一本书《软技能:代码之外的生存指南》,并且围绕着“教授软件开发者软技能”这个想法建立了一个完整的企业。

我发现,一个人在其他行业领域内发展出来的软技能能够很好地应用在软件开发领域,拥有这些技能的人在转行进入软件开发领域的时候一般都能顺利通过学习曲线。如果你工作在一个对软技能及人际交往技能高度重视的领域内,拥有这些技能能够给你带来独特的优势。

我还发现,成功的心态往往是普遍适用的,如果一个人身处某一行业中能够取得成功,那么他们在任何行业中都会获得成功。如果你现在身处某一行业,当你开始转型进入另一个行业的时候,哪怕是进入一个距离非常遥远的新领域,你会发现情况往往就是这样。

最后,我要说的是很可能半路出家转入软件开发行业的人士所拥有的最大优势就是:具备创新思维,不受软件开发者和高技术人员奉为圭臬的思维定式的羁绊。

时下,软件开发者越来越倾向于“货物崇拜编程”模式,即程序员开发软件的模式并不是基于他们的工作本身,而是因为其他开发者也在这么做,而这些开发者的做法往往被认为是“最佳实践”。

货物崇拜编程(Cargo Cult Programming)是一种计算机程序设计风格,其特征为不明就里地仪式性地使用代码或程序架构。这个名词有时也指没经验的程序员从某处复制代码到另一处,却不太清楚该代码是如何工作的。货物崇拜是一种常见于与世隔绝的土著之中的宗教形式,当货物崇拜者看见外来的先进科技物品,便会将之当作神祗般崇拜。

从其他行业转行来的软件开发者,拥有独特的外部视角,能够突破编程世界里已经普遍存在的先入为主的概念和想法,进行更有创造力的思考。

本来,没有任何职业经验的软件开发新人也可能拥有相同的潜质,但是他们往往会因为缺乏经验而对自己的想法丧失信心,很容易陷入对行业大牛的迷恋与崇拜之中。再次声明:我并不知道是什么样的神奇公式能够让从不同行业转行来的人士在软件开发领域如此成功。但是我想,上述几点应该都是可能的影响因素。

不利因素

我不想把从其他领域转行到软件开发领域的过程描述得过于简单,听起来仿佛田园牧歌一般。

转型的过程相当艰难,而且本身就自带一些不利的因素。更有甚者,人们会先入为主地认为你不会成为一名出色的程序员,就因为你曾经是一名护士。

软件开发工作的高复杂度和所需要的大知识量是阻碍许多人转行成为程序员的难以逾越的障碍。在很多领域,经过大学里的学习,或者经过几个月的职业教育,你就能胜任这项工作。我并不是说软件开发是唯一困难的行当,我也不是说任何人都可以不经过培训就可以从事另一项职业,但是软件开发的确要比一般的职业要难许多。

没错,这种说法可能会激怒一些人,但却是完全正确的。事实上,如果你很难接受我的这句话,那么你就可能很难迈出转行的第一步,因为你可能并没有做好心理准备去

学习所有你需要学习的东西。因此,在进入这一领域的时候,如果你认为你能像学习如何从事其他工作一样地学习软件开发,那么对你而言这肯定会是一个不利因素。你必须完成大量的学习工作,必须有的放矢地完成实践工作,这样你才能成为编程这个行当里的行家里手。当然,这也是我为什么要写这么厚的一本书的原因之一。

另一个主要的不利因素显然是时间问题。我上面列出的优势可以在一定程度上克服这一点,这些优点可以让你加速通过学习曲线,但是如果你想弥补由于缺乏直接经验而造成的知识空白,那么你仍然需要埋头苦学迎头赶上

如果你从事这个行业只有三年时间,那么即使你跟一个 10 年左右经验的软件开发者一样优秀,你在经验上也无法与他比肩,因为你并没有和他一样遇到过那么多问题。因此,在大多数情况下,经验上的缺乏会导致一些事情变得愈加困难。

怎样实现转行

好了,现在你已经知道了转行的过程中你可能面临的困境,接下来让我们来谈谈如何克服这些困难,如何尽可能成功地实现转行。

很多人已经做到这一点了。我曾经收到来自 50 多岁才入行的软件开发者的电子邮件。所以我相信成功实现转行当然也是可能的。

下面就是如何实现转行的一些建议。

1、从当前从事的工作入手实现转行

半路出家进入软件开发领域很难。

在前面的章节里我已经花费了大量笔墨讨论如何得到你的第一份工作,因为这肯定不容易。

没有人想雇用一个毫无编程经验的软件开发者。那么,如果你的简历上写着你在过去 20 年里一直从事会计工作,那么你该如何得到软件开发的工作呢?

有一种方法,就是从你当前从事的工作入手,着手开始转行的工作。许多我认识的从别的行业转行到软件开发领域的程序员,都是从自己手头工作的点点滴滴入手开始学编程的一一编写程序来帮助自己有效完成工作,或者开发某种工具来帮助每个人有效完成工作。

如果你有志于成为一名软件开发者,那么你应该仔细观察一下你当前的工作环境,看看是否可以找到能够发挥你新近掌握的编程技能的地方。这是一个转行成为软件开发者的好方法,因为如果你从工作中开始编程实践,哪怕只是完成了一些很小的项目,你也可以把它写在自己的简历上。

你可能还会发现,你甚至都可以在当前工作的公司内部为自己创造一个软件开发的角色,如把一些工作自动化或者构建某种工具,只要这些工具有价值了,你现在的老板

就会付钱给你,让你继续做你中意的软件开发工作。通过在当前工作岗位上完成一些这样的小项目,或许在未来的某个时间点,你可以请求把这些工作转变为你自己的全职工作。如果你能做到这一点,你甚至都不需要离开现在的工作岗位而去申请另一份编程工作。

一旦开始从事正式的编程工作,那么在其他地方找到另一份编程工作当然就不在话下了。

2、寻找一种可以有效利用现有背景知识的方法

我观察到的另一种成功实现转行的策略就是:有效利用你现有的行业背景知识,为一家在该行业内开发软件的软件公司提供宝贵的领域专业知识。

例如,假设你是一位具备 20 年的护士,现在希望转行进入软件开发领域。当然,你可以现在着手开始学习编程,然后开始漫无目的软件开发岗位求职之旅。还有一个更好的主意,你可以把主要精力放在从事医疗行业软件开发的公司或者需要软件开发者的医疗保健公司。通过有的放矢地申请这类工作,你将具备独特的优势,而这恰恰正是其他缺乏专业知识的申请人所不具备的。

在软件开发的行当中,拥有领域业务知识可是一项具有极大价值的优势,因为了解某个特定行业内软件的业务目标与工作机制可以防止出现许多错误。

对软件开发公司来说,找到具有 10 年软件开发经验的开发者可能会很容易,但是找到拥有 10 年或者更久领域内业务经验的人可是宝贝。

我刚刚和一位遗传学背景的开发者谈过话,他最近在甲骨文公司找到了一份工作,因为他以前的专业领域是基因与生物化学,而甲骨文公司正在找人开发一款应用于癌症治疗中心的软件产品,其中就包含了基因研究的内容。

试着利用你现有的看似与软件开发无关的行业内业务经验,找出方法让它变成稀世之宝。

基本上任何人都能做到这一点,因为软件几乎存在于每一个主要行业。

3、愿意从底层开始

最后,我想说的是,如果你正在转行从事软件开发工作,你需要可以从底层开始做起的决心和意愿。别担心,你之前的工作经验将会确保你不会在底层工作岗位待得太久。

原本从事着一份高薪体面的工作,而且你还资历雄厚、声名显赫,现在让你转而从事低收入的工作,这是很困难的。但是,如果你想实现转行,你必须要心甘情愿这么做至少在短期内是这样的。

与其他行业软件相比较,软件开发领域高手如林,精英遍地。所以你有多少经验多大名气其实并不重要,尽管声名显赫也能起到重要的作用。

我建议你还是做好准备脚踏实地从底层做起,你要充分意识到你既往的大部分技能都必须被舍弃,并且对此你还必须要欣然接受。如果你想成功实现转行,这是必备的功课,它将帮助你避免挫折。

不过,正像我反复强调的那样,如果你在另一个行业里已经身经百战、高歌猛进那么你原先的许多软技能都将有效加速你在软件开发领域内的职业发展进程。你只需要在刚开始的时候多一些耐心而已。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值