目前,程序员和经理之间在理解彼此的工作方面存在相当大的差距。 我们将逐步缩小双方的差距。 理想情况下,当然,我希望边界完全消失,并且将出现一个新的职业-业务程序员,但是现实地说,如果我们设法将经理和程序员的现实愿景融合在一起,那么生活肯定会变得更好。
因此,让我们尝试找出程序员和经理之间的共同点,以及目前的区别。
程式设计师
在真正的程序员的意义上,程序员是编写程序的人。 为了简单起见,以免混淆于无穷无尽的现代技术中,我们将讨论1C程序员。
程序员的关键功能是对系统进行更改。 当然,这里有一些辅助功能,例如培训,实施,有时,由于工作安排不当,辅助功能开始胜过主要功能,但主要是进行更改。 程序员创建新功能-文档,目录,子系统,报告,处理,交换,接口等。
如今,用户使用一个具有特定性能指标,功能规模,便利性等的系统。 明天,程序员进行更改后,他们将使用另一个系统。 她通常会变得更好,更快,更有用和更方便。 当然,任何事情都会发生,有时系统会在短时间内变坏,但是程序员会弄清楚它,一切都将就位-系统会变得更好。
程序员根本不工作,或者以用户身份最少地参与系统。 显然,他作为公司的雇员,还负责他的任务,预算和有时的成绩单。 但是他的主要工作是改善系统。
不好的程序员
除了真正的程序员外,还有假的或坏的程序员。 部分原因是由于术语“程序员”的使用不正确-例如有时被称为系统管理员。 有时,甚至他们自称为程序员-只是为了不每次都向用户解释两者之间的区别是什么。
但是在那些应该成为程序员的人中,有坏人。 这些是依职权对系统进行更改的人员,仅参与系统的管理和操作。 特别是这种情况通常发生在1C程序员之间。
例如,程序员代替总会计师或与总会计师一起从事月结。 它有助于计算薪水,准备报告,上载到站点,甚至处理来自供应商的更新的自动安装。 实际上,这不是程序员,而是高级用户,负责系统的最复杂的操作,并且无需将其知识转移给用户或实际的系统管理员即可。
糟糕的程序员之间的主要区别在于,他不会对系统进行更改,而只会使用它。 对他来说,对于大多数用户而言,该系统当然不再是一个黑匣子,但他不从内部了解其设备,甚至更是如此,由于没有升级经验,他仍然是用户,尽管是高级用户。 他比其他用户了解更多,还熟悉几种高级工具,包括报告控制台,但他并未更改行为,功能和性能。
该系统保持不变,有一个糟糕的程序员,没有它。
经理
经理是管理复杂系统的人。 它包括人员,自动化系统,业务流程,部门,激励系统,目标,管理系统,政治,与上级关系,横向沟通等。
真正的经理是对这个复杂系统进行更改的人。
管理人员不断监视系统状态,查看(或感觉)发生故障的位置,了解导致结果不令人满意的原因,并进行适当的更改。 它可以改变动机系统,以减少在手动控制上的时间,从而迫使人们想要自己取得成果。 如果没有提供必要的数字或对管理没有帮助,则可以更改自动化系统(由程序员操作)。 如果它不够清晰,或者与现实不符,没有动力并且没有前进,它就可以为系统的目的工作。 如果它偏离业务流程,它可以修复管理系统,并且只会干扰其官僚主义。 如果发现故障,停机,损失或无意义的工作,它可以优化业务流程。
经理是业务系统程序员。 他没有写代码,但是他的工作本质是完全一样的,只是“做出改变”的方法不同。 程序员需要编写代码,绘制表单并在数据合成系统中四处摸索。 经理需要与人交谈,创建法规文件,设定任务,招募或解雇员工。 方法不同,目标相同-进行更改。
如今,人们在相同的业务系统中工作,具有相同的规则,业务流程,目标,办公室位置安排,激励方案。 明天,更改启动后,它们将落入另一个系统-这是经理的工作。
坏经理
世界上没有真正的管理人员-仅从事委托系统管理的人员。 他们不做任何更改,不特别分析指标,而只是领导。 分发任务,踢球,设置截止日期,参加会议等。
糟糕的经理知道系统中的一些“按钮”,或多或少知道如何使用它们。 但是,更正确的说,他们不知道如何做,但是拥有权利。 例如,他们可以解雇并雇用人员,强迫他们在周末上班,改变任务的优先级,稍微提高薪水,写一些小花红,尖叫和起誓。 除了糟糕的经理外,这些工具不受任何限制。
使用这些工具不会对系统进行更改,就像删除用户设置一样。 错误的程序员会使用相同的设置。 这些是一些控制杆和按钮,有时还包括滑块,可以对其进行调整,您可以稍稍更改系统的行为。
使用这些工具无法进行重大更改。 根本的变化在于系统内部,但糟糕的管理器却看不到内部。 他喜欢模仿变化-例如,开始削减成本或削减人员。 从外部看,它确实看起来像是在快速变化,但是系统的本质并未因此改变。
最简单,最实惠的杠杆是员工。 因此,在不良管理人员中最流行的变革方式是人员扩充。 如果上级当局责骂这位差劲的经理,而结果却不足,他通常会转介员工。 在大多数情况下-要求添加人员编制单位。
糟糕的经理们无能为力,他们无能为力,无能为力。 结果成本或效率。 如果他在部门中有3个人以一定的效率工作,那么增加部门总体结果的唯一方法就是增加人员。 同时效率不会改变,或者由于管理问题而略有下降,但是系统的整体效率会提高。
在这种情况下,好的管理者可以做出努力并改变效率,从而获得类似的绩效,但又不会改变员工人数。 糟糕的经理无法做到这一点,因为效率是系统的属性,它在系统内部,而不是外部。 系统外部没有名称“ Efficiency”的杠杆可以收紧。
同样,在信息系统设置中也没有“性能”控制杆,不良的程序员可以调整。 当然,存在一些伪杠杆,但它们对性能没有根本影响。
合计
因此,有好的和坏的程序员,也有好的和坏的经理。
实际上,“坏”和“好”的评级并不重要,如果您开始称锹为锹,它们可能会被淘汰。
如果一个人监视信息系统的状态,进行更新,帮助关闭月份,修改设置,甚至使数据库缩小,那么他不是程序员。 您可以将其称为“数据库管理员”。 然后一切都准备就绪,出现选择。
如果企业仅需要将系统的状态维持在当前状态,则不是程序员需要它,而是管理员。 如果您需要在开发,性能,功能方面进行根本性的更改,或者至少需要进行显着的更改-您需要知道如何对系统进行更改的程序员。
如果企业仅需要将部门,服务,职能或整个业务部门的工作保持在当前状态,则您不需要经理,而是保姆,管理员,调度员或牧羊人-选择任何名称。 如果您需要在业务系统的某些部分进行重大的更改,或者至少需要进行显着的更改,则需要一位知道如何对该系统进行更改的经理。
检查您是否有程序员或管理员很容易-只需查看他编写的代码(或要求他亲自显示此代码)。 不管听起来多么愚蠢,在我的实践中,有好几次人自称程序员,但多年没有写代码。
检查您是否有经理或调度员也很容易-让他谈论对业务系统所做的更改及其后果。 但是,如果您是高级经理,后果会很明显。
总结
如您所见,经理和程序员之间有很多类比。 在好与坏之间。
用百分比来表示,当然,对程序员来说是好事还是坏事-仅仅是因为他们的系统更简单。 在数据库中创建表格,为其绘制输入表格并用数字填充要比强迫员工每天维护工作计划要容易得多。
在管理人员的帮助下,一切都变得更加糟糕-当中有百分之几参与了真正的变革。 而这需要做些事情。