En este momento, existe una brecha bastante seria en la comprensión del trabajo mutuo entre programadores y gerentes. Vamos a reducir gradualmente esta brecha, en ambos lados. Idealmente, por supuesto, quiero que la frontera desaparezca por completo, y surja una nueva profesión: un programador de negocios, pero, seamos realistas, si logramos unir la visión de la realidad de los gerentes y programadores, entonces la vida definitivamente mejorará.
Entonces, tratemos de descubrir qué es común entre el programador y el administrador, y en qué difieren actualmente.
Programador
Un programador, en el sentido de un programador real, es una persona que escribe programas. Por simplicidad, para no confundirse en la interminable lista de tecnologías modernas, hablaremos sobre los programadores de 1C.
La función clave del programador es realizar cambios en el sistema. Por supuesto, hay funciones secundarias, como la capacitación, la implementación y, a veces, con una organización deficiente del trabajo, el trabajo secundario comienza a prevalecer sobre el principal, pero no obstante, lo principal es hacer cambios. El programador crea una nueva funcionalidad: documentos, directorios, subsistemas, informes, procesamiento, intercambios, interfaces, etc.
Hoy, los usuarios trabajan con un sistema, con ciertos indicadores de rendimiento, la escala de funcionalidad, conveniencia, etc. Mañana, después de que el programador haga cambios, trabajarán con otro sistema. Por lo general, se pone mejor, más rápido, más útil y más conveniente. Cualquier cosa, por supuesto, sucede, a veces el sistema empeora por un corto período de tiempo, pero luego el programador lo resolverá y todo se pondrá en su lugar: el sistema mejorará.
El programador no funciona o participa mínimamente en el sistema como usuario. Está claro que él, como empleado de la empresa, también dirige sus tareas, presupuestos y, a veces, una boleta de calificaciones. Pero su trabajo principal es mejorar el sistema.
Mal programador
Además de los programadores reales, todavía hay programadores falsos o malos. Esto se debe en parte al uso incorrecto del término "programador", por ejemplo, a veces llamados administradores del sistema. A veces, incluso se hacen llamar programadores, solo para no explicar a los usuarios cada vez cuál es la diferencia.
Pero entre los que deberían ser programadores, hay malos. Estos son aquellos que deben realizar cambios de oficio en el sistema, y solo están involucrados en su administración y operación. Especialmente a menudo este estado de cosas ocurre precisamente entre los programadores de 1C.
Por ejemplo, un programador se dedica a cerrar el mes, en lugar de o junto con el contador principal. Ayuda a calcular los salarios, preparar informes, cargas en el sitio, incluso se ocupa de la instalación automática de actualizaciones del proveedor. De hecho, este no es un programador, sino un usuario avanzado que ha asumido las operaciones más complejas con el sistema, y se alimenta de esto sin transferir su conocimiento a los usuarios o administradores reales del sistema.
La diferencia clave entre un mal programador es que no realiza cambios en el sistema, sino que solo lo usa. Para él, el sistema, por supuesto, ya no es una caja negra, como para la mayoría de los usuarios, pero, al no conocer sus dispositivos desde adentro, y aún más, al no tener experiencia en actualizarlo, sigue siendo un usuario, aunque avanzado. Sabe un poco más que otros usuarios, está familiarizado con varias herramientas avanzadas, incluida, posiblemente, la consola de informes, pero no realiza cambios en el comportamiento, la funcionalidad y el rendimiento.
El sistema permanece sin cambios, eso con un mal programador, eso sin él.
Gerente
Un gerente es una persona que maneja un sistema complejo. Incluye personas, un sistema automatizado, procesos de negocios, departamentos, un sistema de motivación, objetivos, un sistema de gestión, política, relaciones con los superiores, comunicaciones horizontales, etc.
Un verdadero gerente es una persona que realiza cambios en este complejo sistema.
El gerente monitorea constantemente el estado del sistema, ve (o siente) dónde ocurren las fallas, comprende las causas de los resultados insatisfactorios y realiza los cambios apropiados. Puede cambiar el sistema de motivación para dedicar menos tiempo al control manual, lo que obliga a las personas a querer lograr resultados por su cuenta. Puede realizar cambios en el sistema automatizado (por parte de los programadores) si no proporciona los números necesarios o no ayuda en la gestión. Puede funcionar para el propósito del sistema si no es lo suficientemente claro, o si no corresponde a la realidad, no motiva y no avanza. Puede arreglar el sistema de gestión si se desvía de los procesos comerciales y solo interfiere con su burocracia. Puede optimizar los procesos comerciales si ve fallas, tiempo de inactividad, pérdidas o trabajo sin sentido.
Manager es un programador de sistemas comerciales. No escribe código, pero la esencia de su trabajo es exactamente la misma, solo difieren los métodos de "hacer cambios". El programador necesita escribir código, dibujar formularios y hurgar en el sistema de composición de datos. El gerente necesita hablar con la gente, crear documentos reglamentarios, establecer tareas, reclutar o despedir empleados. Los métodos son diferentes, el objetivo es el mismo: hacer cambios.
Hoy las personas trabajan en el mismo sistema de negocios, con las mismas reglas, procesos de negocios, objetivos, disposición de lugares en la oficina, esquema de motivación. Mañana, una vez que se inician los cambios, entran en otro sistema, y este es el trabajo del gerente.
Mal gerente
No hay administradores reales en el mundo, aquellos que se dedican solo a la administración del sistema encomendado. No hacen ningún cambio, no analizan particularmente los indicadores, sino que simplemente lideran. Distribuir tareas, dar una patada, establecer plazos, ir a reuniones, etc.
Los malos administradores conocen algunos "botones" en el sistema, y más o menos saben cómo usarlos. Pero, más correctamente, no saben cómo, pero tienen el derecho. Por ejemplo, pueden despedir y contratar personas, obligarlos a ir a trabajar los fines de semana, cambiar la prioridad de las tareas, aumentar un poco sus salarios, escribir pequeñas bonificaciones, gritar y jurar. Excepto por un mal administrador, estas herramientas no están sujetas a nadie.
El uso de estas herramientas no realiza cambios en el sistema, es como la configuración del usuario eliminada. La misma configuración es utilizada por un mal programador. Estas son algunas palancas y botones, a veces controles deslizantes, que se ajustan y pueden cambiar ligeramente el comportamiento del sistema.
No se pueden realizar cambios significativos utilizando estas herramientas. Los cambios radicales se encuentran dentro del sistema, pero un mal administrador no mira hacia adentro. Prefiere imitar los cambios, por ejemplo, comenzando a reducir costos o personal. Desde el exterior, realmente parece cambios rápidos, pero la esencia del sistema no cambia a partir de esto.
La palanca más simple y asequible es el personal. Por lo tanto, la forma más popular de cambiar entre los malos administradores se considera la expansión del personal. Si las autoridades superiores regañan al pobre gerente por resultados insuficientes, generalmente se refiere al personal. En la mayoría de los casos, solicita agregar unidades de personal.
Los malos gerentes no pueden hacer nada, no pueden hacer nada con eficiencia, es decir costo del resultado, o eficiencia. Si tiene 3 personas en el departamento trabajando con cierta eficiencia, entonces la única forma de aumentar el resultado general del departamento es aumentar el personal. Al mismo tiempo, la eficiencia no cambia o disminuye levemente debido a problemas con la administración, pero aumenta la efectividad general del sistema.
Un buen gerente en tal situación puede hacer un esfuerzo y cambiar la eficiencia, obteniendo así un desempeño similar, pero sin cambiar la cantidad de personal. Un mal administrador no puede hacer esto, porque la eficiencia o la eficiencia es una propiedad del sistema, está dentro, no afuera. No hay una palanca fuera del sistema con el nombre "Eficiencia" que pueda ajustarse.
Del mismo modo, no hay una palanca de "Rendimiento" en la configuración del sistema de información que un programador deficiente pueda ajustar. Algunos, pseudo-palancas, por supuesto, existen, pero no tienen un efecto cardinal en el rendimiento.
Total
Entonces, hay malos y buenos programadores, hay malos y buenos gerentes.
De hecho, las clasificaciones de "malo" y "bueno" no son importantes, pueden descartarse si comienza a llamar a las cosas por su nombre.
Si una persona monitorea el estado del sistema de información, pone actualizaciones, ayuda a cerrar el mes, modifica la configuración e incluso hace que una base de datos se reduzca, no es un programador. Puede llamarlo, por ejemplo, "administrador de la base de datos". Entonces todo cae en su lugar y aparece una elección.
Si la empresa solo necesita mantener el estado del sistema en su estado actual, no es el programador quien lo necesita, sino el administrador. Si necesita un cambio cardinal, o al menos notable en el desarrollo, el rendimiento y la funcionalidad, necesita un programador que sepa cómo realizar cambios en el sistema.
Si la empresa solo necesita mantener el trabajo del departamento, servicio, función o toda la unidad comercial en el estado actual, entonces no necesita un gerente, sino una niñera, un administrador, un despachador o un pastor, elija cualquier nombre. Si necesita cambios dramáticos, o al menos notables en alguna parte del sistema empresarial, necesita un gerente que sepa cómo hacer cambios en este sistema.
Comprobar si tienes un programador o administrador es fácil: solo mira el código que escribió (o pídele que muestre este código él mismo). No importa cuán estúpido pueda sonar, en mi práctica hubo muchos tipos que se autodenominaron programadores, pero no escribieron código durante años.
También es fácil verificar si tiene un gerente o un despachador: pídale que hable sobre los cambios realizados en el sistema comercial y sus consecuencias. Sin embargo, las consecuencias deberían ser obvias si usted es un gerente superior.
Resumen
Como puede ver, hay muchas analogías entre gerentes y programadores. Y entre lo bueno y lo malo.
En términos porcentuales, los buenos / malos ganan, por supuesto, los programadores, simplemente porque sus sistemas son más simples. Crear una tabla en la base de datos, dibujar un formulario de entrada y llenarlo con números es mucho más fácil que obligar a un empleado a mantener un plan de trabajo a diario.
Con los gerentes, todo es mucho peor: un pequeño porcentaje está involucrado en cambios reales entre ellos. Y hay que hacer algo con esto.