我最近的工作(而不是实习生)提出了一个问题。
只是为了说明背景-我21岁,我已经完成了第二年的大学学习,在此之前,我拥有大约2年的从事系统管理员/质量检查工作的经验,基本上我可以说我已经看到了与众不同IT部门运作。回顾现在,这是我在英国一家主要研究机构之一从事实习工作。
我要做的是使用多种技术(主要是AWS / Java / Bash)创建一些内部工具,您就会明白。一切都很好,我正在做我的工作,但我不高兴。为什么会这样-因为希望我可以临时工作。那就是快速创建事物,而无需花费时间进行设计。我的经理明确表示,希望从出现的问题中“匆忙”解决,而本质上是我们。结果,结果是必须重新做事和重新设计,它们仍然不是完美的。就测试而言-将其保持在最低水平,只要看起来可行,就可以了。
我是否有责任不同意这种工作方式?想对整个系统进行思考,然后关注不同的组件并了解它们如何互操作,将不同的“关键点”归零,这在将来会带来问题,这是错误的吗?做好工作而不是“快速工作”是犯罪吗?想要研究适用于问题的数据结构,以便您可以根据特定问题集选择最佳方案,这是错误还是错误的态度?据我所知,“软件工程”中的“工程”部分与此完全相关-研究您的问题领域并提出一个明智的解决方案,然后根据需要进行改进?
我去过英国某军械库办公室的一次采访,他们给我看了他们的SCRUM室,看起来他们对如何管理他们的项目有很好的主意-他们积压,他们有关于每个人待多长时间的指标这个问题可能需要解决-SCRUM的常规操作-与“在这里”运行的方式完全不同
我对软件行业总体上是否建立了错误的观念?我想听听您的意见。我的意思是说我“进入”软件开发纯粹是因为我想创建简单而简单的东西,但我想创建高质量的东西。我想查看我的软件在各种情况下使用的情况,我想查看它的防弹功能-这不是所有软件工程师的动力吗?我认为每个人都可以通过学习语法来成为一名程序员/编码器,但对我而言,真正的乐趣始于当您实际上不得不提出一种在现实世界中可行的设计时。
我过去只是看大学就直接做编码,然后很容易就获得了75%以上的分数,而且从来没有真正欣赏过“软件开发生命周期”模块。但是现在,当我看到在现实世界中,没有任何正式流程就工作有多么糟糕,以及在明天不知道需求是否会改变的情况下固有的沮丧感(哦,我是否说我们不没有明确定义的需求分析?)
我真的很想相信我刚刚担任的职位,有些人只需要一个代码猴子来完成他们的肮脏工作,而软件世界的运作情况却并非如此。
because I'm expected to work in an ad-hoc matter. That is create things quickly, without spending time on designing
-欢迎来到The Real World™,在那里有截止日期,并且期望公司产生成果。