我在自欺欺人吗?业务分析师过渡到程序员


11

当前工作:担任四大公司的首席业务分析师,领导一个开发人员和测试人员团队从事大规模的重新平台项目(4个在岸开发人员,4个离岸开发人员,几个在岸/离岸测试人员)。在其他较小规模的项目中也以类似的方式工作。

我的职责范围:​​收集/制定需求,创建功能规范,设计UI(基本上映射系统的所有前端方面),与开发人员紧密合作以沟通/阐明需求并在遇到障碍时提出解决方案,编写测试用例(并进行大部分测试),与高级管理层和关键利益相关者合作,管理Beta测试人员,创建用户指南和领导培训课程,并提供关键技术支持。

我还使用VBA在Excel中编写了很多宏(我的几个宏现在在整个公司中都使用过,因此大约有1000个人在使用它们)并每天使用SQL,这两个程序都在SQL压缩文件上依靠我们的SQL Server数据和我创建的任何Access数据库。开发人员觉得我在这个职位上非常出色,因为我对编程,固有的系统限制,数据库的结构等了解很多,因此当我们遇到问题时,我更容易交流想法并提出建议。

我真正感兴趣的是开发软件。我在VBA中进行了大量编程,并且一直想学习C#(开发团队使用C#-我出于个人原因偶尔查看代码,但没有使用它的实践经验)。我不仅对业务流程感兴趣,而且对技术方面也很感兴趣,所以传统的BA角色并没有真正激发我对我想做的事情的胃口。现在,我有一些经理为我提供的小项目,并且我正在寻找新的方法来完成它们(例如构建自定义Access应用程序),所以这里到处都有一些让我保持兴趣的地方。

我的问题是:我想做的是为自由职业者的小型企业创建自定义Excel或Access应用程序(以单人商店形式工作;根据项目的复杂性,可能偶尔有承包商)。显然,这是在我有一份日间工作的时候开始做兼职,但最终变成了一个全职工作。我是不是想让我从BA /兼职VBA程序员转到专职从事自由职业(我将开始只是在VBA中编写自定义Excel / Access应用程序)?还是在某人获得多年全职编程经验之前通常不会尝试这种类型的事情?在小型企业(甚至中型企业)中甚至还有这类应用程序的市场吗?


3
您现在可能正处于事业的巅峰。您可以在5年内以相同的技能完成相同的工作,而无需阅读书本。如果您是一名程序员,那么您将从阶梯的底部开始,在5年的时间里,甚至可能没有阶梯!不要将业余爱好与职业相结合。您当然可以成为一名程序员,但是十年后大多数普通程序员会做什么?由于激烈的竞争和持续的技术挑战,对于普通人来说,要想在当今市场上生存下来并升职是非常困难的。
NoChance 2012年

我同意,作为业务分析师和业务人员,我有能力不断提升自己的地位。问题是您走得越高,通常离您的技术和实施就越远。我曾就技术领域的管理咨询职位采访过几家咨询公司,但是这些类型的职位对我并不真正感兴趣。我的目标不是成为一个纯粹的程序员。实际上,我没有兴趣担任要被雇用为员工的开发人员,而是拥有一个小型咨询店,可以同时处理业务和开发人员方面。
瑞安

“对于我来说,我既可以解决业务问题,又可以解决开发方面的问题的小型咨询店”对我来说似乎太冒险了。您会看到,市场上到处都是现成的解决方案,许多公司和承包商准备以低至200美元或更低的价格构建系统。考虑到经济和技术的快速变化,我认为“小规模”不会持续很长时间,除非您制定了吸引客户并专注于缓慢变化的技术的战略。
NoChance 2012年

7
@EmmadKareem,“不要将业余爱好与职业相结合”……您的意思是:确保几乎所有醒着的生活都花在了做自己不喜欢的事情上,大约有5%的时间在做自己喜欢的事情……听起来像是伟大的幸福计划(但公认的一个常见计划)
JoelFan 2012年

4
@EmmadKareem,我认为有很多程序员已经工作了10年,20年或更长时间,并对自己的职业生涯感到满意
JoelFan 2012年

Answers:


15

不,您不是在欺骗自己,可以做到!尽管我不知道具体细节,但这里的一个人做到了,但我认为他最初是作为承销商,后来成为负责内部软件开发的文学士,然后以某种方式过渡到了全职开发。我想他和你一样已经有技术背景。

如果您首先尝试与当前的雇主合作,那可能会比单打独斗更好。您将获得更多的支持和帮助。也许要与您的经理交谈,并询问您如何才能过渡到组织内的开发角色,可能要从同一个团队开始。这样,您已经认识了每个人,他们也了解了您,您已经具备了能力,可以帮助您进一步培训。如果您真的 幸运,那么您的公司将有预算向您发送课程,以使您更快地赶上。


2
我只是想肯定可以做到这一点-在以前的职位上,我曾与一位承包商合作,而承包商正是这样做的。他从非开发人员的角色开始为一家公司制作Access应用程序,然后成为他们的外部顾问,最终将其分解为自己的业务,并且看起来做得不错。
Bunglestink 2012年

4

VBA和Access是编程阶梯的底部。如果我是您,由于您具备SQL技能,因此我会更高。考虑学习SQL Server Reporting Services,创建报告或SSIS并进行ETL处理。这些技能目前需求很高,您很容易做到,因为在公司环境中可以相对容易地获得这些技能,特别是如果您目前没有其他人要为公司担任这些角色。我认为业务分析师的经验对于报告撰写者来说是一个巨大的优势。


2

可以办到。这绝非易事,尤其是如果您想擅长于此,因为软件开发是一门工程学学科,具有不明显的问题和陷阱,您需要学习识别和避免。这将需要花费几年的认真研究和实践,但是如果您能围绕这些概念全神贯注,那么即使您的背景有所不同,您也绝对可以成为一名程序员。


有推荐的课程吗?我更像是一个自学者,所以现在我正在订阅一些使用Python作为教学语言的MIT开放课程软件(Comp Sci简介),主要是因为我可以掌握一些扎实的编程理论,并在程序员的台词。还通过工作中的实际项目继续扩展我的Excel / Access / VBA知识。
瑞安

@Ryan您对一件事很痴迷:没有扎实的编程理论。编程是非常不成熟的工艺(工艺是恰当的词!)-它真的太年轻了。程序员读了很多书,但是这个领域的变革发生了一个多月。这意味着学习的态度是唯一的先决条件:)
K.Steff 2012年

1
@Ryan:我大多是自学成才。我的“学习课程”是“该程序很烂。我可以做到,并且做得比作者做得更好。所以让我们看一下,我有一个编译器,现在如何开始实现功能?”
梅森惠勒2012年

2

无论是要花几年还是一年,都取决于您的日程安排,但最重要的是,您的兴趣水平往往与才能有关。如果您恰好在城市生活或工作,并且可以选择上下班通勤,请选择并使用内置的通勤时间阅读技术书籍。您感兴趣的任何东西。

只要您敢于思考,就不要大汗淋漓。开发人员所做的就是确定您可以处理<在此处插入不可知的复杂性>。那不是自大,而是迈出第一步。

当您拥有针对所有问题的解决方案并且自大学以来从未学过任何新知识时,在开发人员领域中傲慢自大的人将自己称为专业开发人员。这就是发展的难题。当您停止学习时,您的职业就开始走下坡路,因此兴趣是关键。听起来像你有那样。

所以去吧。

您已经看到了目标。其余的将可怕的大问题分解为不太可怕的小问题。重复广告恶作剧,您将成为一个有偿的全职开发人员,他希望比以往任何时候都比以前更快或更严重的问题。


侧面观察:自大在初期阶段很有帮助。如果我一开始就知道真正的编程是什么,那我可能会在“ hello world”之后两个小时就放弃了。
K.Steff

1

我想说(如果您想起步),请选择SICP-计算机程序的结构和解释。我应该链接到它,但它不仅仅是一本书。如今,您还可以找到其他人来在线学习课程。这是一本非常艰苦的书-完成所有练习是大多数开发人员无法做的(不幸的是),但这是现有的最好的书。MIT OCW也很好,但是恕我直言,它是用于编程的SICP的简化版本。Python旨在隐藏复杂性,而不是让您以一种令人不适的方式来享受它(就像SICP一样)。

另外,您需要区分编程是一种职业,还是编程是一种技能。一个需要奉献美丽,干净和可扩展的代码,而另一个则只需要算法技能(实际上很多)。Python的“仁慈独裁者” Guido van Rossum认为,编程将是未来几年必不可少的技能,但是无论如何,软件开发技能都不会。大多数非开发人员都编写代码以将其丢弃(开发人员也经常这样做)。事情是编程,因为职业比编程要包含更多的东西,弄清您的优先事项很重要。

最重要的是:一定要热爱编程,而不仅仅是喜欢它。这不仅仅是一项9到5项工作,而是要遵循不断学习的理念:大多数工程师在获得BS或MSc期间都接受了培训,并且看不到专业领域的重大变化。毕生的编程生涯将使您至少看到10种范式转换(不仅是语言,而且还有工具,DB等),因此您最好(愿意)接受这一点。


+1为“恒定学习哲学”。编程主要是关于每天学习和改进。如果您喜欢做这两件事,那么您可能会拥有良好的经验并取得成功。
B

1

我认为您处于解决这个问题的良好位置。

在我的职业生涯的大部分时间里,我都深深地扎根于技术方面,但是,经过多年的观察,我发现许多项目的成功或失败是:

如果您不了解您的业务用户和他们的要求,您的项目将失败。

我从来没有见过这个规则的例外,而且金钱,硬件或编程天才似乎都没有任何不同。真正理解项目需求的项目可能会因硬件,软件选择不当,预算不足或缺乏技能而失败-但在大多数情况下,这些项目可以或可以挽救。

因此,您在文学士和要求方面的良好基础将为您提供一些视角,让您一些较有才华的理工学院可能会缺少,其余的则可以学习。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.