您正在这里处理多个问题...让我们从显而易见的问题开始...
这正常吗?
一定不行。但是...这很常见吗?不幸的是。
关于错误修复的挫败感
尽管这并不能解决您必须处理的其他问题以及它们使您过载的多个项目,但我只是想简短地指出“仅修正错误”的方法,同时让您对开发人员感到沮丧,对于公司及其管理层而言可能是一种非常明智的方法。
Surface带来更多错误和成本
您接触的代码越多,就越有可能引入错误,即使您打算改进它也是如此。这意味着将延长开发时间,测试时间和成本。而且,如果它进入到具有中等到高缺陷的服务版本,那对他们来说就是一团糟。
日志中的噪音/雾气
从SCM的角度来看,如果您直接从服务版本的分支机构进行工作,这也很有意义,因为您希望清晰地了解与错误修正有关的更改。如果围绕一个错误修正实际进行了15次提交,其中数千次更改实际上需要进行1行代码更改,那么这有点烦人。
因此,作为一名新员工,要求您不要重构和/或增强软件更为明智,并且就我的观点而言,对您的错误修正尽可能“外科手术”是可以的。它只是使头痛。
你能做些什么吗?
现在,这并不意味着将有既可以实现法规的合理性,又可以使相关人员的思想透明的方法。大三时,他们应该让某人检查您的更改,尤其是错误修正,并确保在将其应用于服务版本之前将其批准。这样可以防止或限制重大变化,并且更加安全。
地狱项目
废话代码,成群的程序员,复制,废话体系结构
同样,这里是恶魔的拥护者,但只是表明您的初始请求包含一些无关紧要的位。
我的观点是这样的:我真的真的真的很少接手一个代码库,这不是在这种状态下。而且,在我偶尔这样做的情况下,它们是最近开始的项目或原型,这些项目或原型是由出色的程序员启动的。但是,其中绝大多数惊人地看起来像胡扯,而其中的可怕数目却是实际的胡扯。即使是由优秀或优秀的程序员开始的工作,最终也可能会被废话,截止日期和其他工作所帮助...
欢迎来到现实生活中的工业软件工程!
你知道有什么好玩的吗?在网络开发世界中,情况通常更糟。请享用!:)
项目和请求太多,没有足够的人力和时间
问题可能出在这里:
- 您的管理人员(可能在不知不觉中)虐待了您,
- 您的同事(可能不知不觉中)虐待了您,
- 您的(也许是在不知不觉中)没有掩盖您的屁股并没有进行足够的战斗。
您的经理应该意识到您正在管理的项目太多。如果不是,请确保它们尽快。还请确保他们知道,这并不是公园里所有挑剔的事情,您感到压力很大,需要停止。
尝试四处看看,并确保您的同事不会(直接说“ X能够解决这个问题”)或间接地(“我不是合适的人选”来转移您的更多任务和项目)这个,找到其他人”->最终成为您)。
个人轶事:几年前,我进行了一次实习,直到最后一天,当我得到我的评估时,我的老板告诉我,尽管对我的整体工作非常满意,但其中一位经理感到我当他们本来希望我接他们的时候,就一直在另一个实习生身上卸下一些“不太有趣的任务”。我羞愧让他们感到失望的,在这个想法,我会像我懈怠,当我的意图是完全相反的:我试图抓住更难的任务,并有其他年轻的实习生处理头发少拉问题。我几乎没有意识到,如果我一直处于他的位置,我会因为缺乏挑战而感到无聊,并且可能会感觉到他的方式。关键是,您需要进行交流以确保没有人对3个非常不同的事物做出错误的假设:
因此,让它成为这种方式在某种程度上也是您的错。但这很正常,这是每个人都需要学习的课程。它包含两个字母:N - O。
通常,您将它作为前缀使用,以获得更冗长但收费不高的答案:不,我不能这样做。不,我不知道该怎么做。不,我不确定我是否合适。不,我从未这样做过。
首先,很容易感觉到您可以说“是的,我会(最终)做到这一点”,然后把事情堆起来并完成,也许要花一些额外的时间。这是错误的。您需要了解,在您的技能之后,时间是您和公司最宝贵的资产。如果滥用,则会影响项目,截止日期和预算。就如此容易。
另外,您担心会有太多人要向其报告,这让人有些担心。可以与多个客户打交道,并且需要与多个项目所有者甚至主要利益相关者进行沟通。但是,总的来说,尤其是当您是新员工时,您应该只向少数几个经理报告(很可能仅向您的直接经理报告,并且可能是主管或高级开发人员)。它是怎么得到的?我不知道。这可能是您公司的组织问题,也可能是您帮个忙,然后直接与您联系,而拒绝说“不”的结果。就我所知,也可能是您的直接经理遇到调度任务的问题(我确实在猜测,但是这种模式是可以识别的并且众所周知)。
我建议您相当快地执行以下操作:亲自去拜访您的直接经理,解释其他经理可能有点急躁,或者(可能不那么发牢骚)您有太多人堆砌的东西,并且您需要他的输入(也可能需要他们的输入)才能确定要优先处理的输入。
180度变更请求
这些是另一个大问题。他们可能不是您的错,但您可以尝试帮助他们解决问题。
正如您精美而又准确地称呼它们为“ 180度变更请求”一样,它清楚地表明需求从一开始就很模糊,而且没有人会尽一切努力使它们随着时间的流逝而被清理和清除。
通常这是当有人需要打电话(或者更好的是,站着),用手抓住利益相关者并清楚地告诉他们:“那是我们的所在,那是您希望我们去的地方,您确定我们在吗?朝着正确的方向前进?”。在一开始就没有明确的答案是可以的,但是时间越长,它们应该变得越清晰,或者这个项目正在等待灾难的发生。
通常,我会说要抓住所有利益相关者,将他们放在一个房间,引导他们解决诉讼问题,并逐步尝试解决这些问题-并在解决问题时优先考虑。但是,根据您的情况,这可能不是您的要求。但是您提到他们确实给了您项目的责任;因此,如果确实如此,那就要承担责任并做到这一点。并且不要回避说“我们不能那样做”,甚至“我们不会那样做”。限制项目范围确实很重要。
如果没有范围,则讨论结束时没有明确的要求。
电子邮件超载
人们倾向于根据他们使用的通信媒介来表现不同。就我个人而言,尽管我是一个很会说话的人(并且大部分时间都在国外工作,所以我最终也不想和别人通电话),但我还是希望优先选择基于生产率的工作:
- 与人们面对面交谈,
- 和别人通电话,
- 通过即时通讯与人交谈,
- 通过电子邮件与人交谈。
电子邮件非常适合跟踪,获取确认,发送便笺。
对于安排,计划和讨论问题点,它们几乎是无用的。敲开他的门,直到他/她打开门,然后坐下来用记事本和您的文件副本进行澄清。完成后,请发送电子邮件并要求确认。如果返回否定答案或稍有隐藏的尝试在信封中偷偷摸摸的东西,请再次包围对话者的办公室。
这是软件工程。当您不敲键盘时,它通常会更有效率,并且实际上可以减少您需要处理的废话。
做好团队的工作
您是否正在完成相当于团队的工作?也许。
您是否正在完成与团队工作相当的工作?可能不是。
我的意思是,您的团队可能正在忙于工作,而您却过度劳累。这就是问题所在:您不知所措,应将其从当前项目时间轴中推出,或交给有时间的人。
当我最初希望情况有所不同时,我是白痴吗?
没有; 刚参加聚会。就像是第一次宿醉或恋爱。你会克服它。
我想这篇文章已经变成了大声疾呼,但是请告诉我,对于每个开发人员来说,情况都不一样。
对于混乱的组织中的每个开发人员而言,情况都是一样的,无论它们是初创公司还是成熟的巨头,都没有经验或信心让事情发生一点变化,以使您的生存机会在规模的右边。
附言:我的薪水与超市的收银员的薪水差不多,甚至不低。
我为那些看上去很烂的工作做了可观的薪水。计数不是支票上的数字,而是上下文。您的工作,年龄,居住和工作的地方等...
话虽这么说,如果您的薪水严重不足,工作过多且不完全是初级,请去要求加薪或找一份新工作!
这很简单:
- 如果他们重视您的工作,他们会很乐意同意加薪,
- 如果他们不这样做,那么这家公司的前途看起来并不乐观(至少对您而言,这才是重要的),所以不要为离开而感到难过。
请注意,要求加薪是一件好事,即使一开始您都不会这样认为。它可以证明您一直在跟踪自己的工作,并暗示您在仍然愿意留任的同时关注其他选择。习惯于要求他们是一件好事,因为它们就像工作面试或讨价还价的一般:这是需要练习的东西,如果您自己无法达到要求,它们就不会从天而降。一些公司会在没有要求的情况下定期分发加薪,但这仅仅是因为它们足够聪明,知道它会使您半满幸福且不愿改变,而且他们想在脚下割草(大多数人会感觉到对于直接提出要加薪的提议有些不安)。
在这里,如何进行此请求超出了该项目的范围,因此我将不赘述。但是我建议您准备一个记录,记录您的SCM提交ID,已解决的错误和成就,并准备与团队的整体工作进行比较的报告。这条路:
- 您可以自己衡量自己是否有效地做得比同龄人好得多,
- 如果他们说您的要求不合理,那么您可以坚持自己的立场。