¿Cómo puedo convencer a mi empleador para que contrate un desarrollador adicional sin venderme en corto? [cerrado]

40

Soy el único desarrollador en una pequeña empresa. Poco a poco me mudé al desarrollo aquí; hasta hace ~ 4 meses, el 50-75% de mi tiempo lo dedicaba a operaciones. Ahora, el 50-75% de mi tiempo lo dedico al desarrollo, con el resto dividido entre operaciones y varias cosas de TI. Regularmente termino trabajando más de 50 horas a la semana.

Heredé algunas aplicaciones bastante mal escritas (anteriormente las mantenían dos personas) en las que se basa gran parte del negocio. Mantenerlos en funcionamiento, trabajar en aplicaciones nuevas y más pequeñas y mis otras responsabilidades ya ocupan todo mi tiempo.

Para ser escalable, el software existente necesita una refactorización significativa y una funcionalidad adicional. No he tenido el placer de trabajar en software correctamente escrito o diseñado anteriormente. La complejidad de esta tarea va mucho más allá de lo que he hecho antes (este es mi primer trabajo fuera de la universidad). Sé que hay una ferviente devoción por el autoaprendizaje / aprendizaje entre muchos aquí, pero esto está más allá de mi experiencia. que no le estaría haciendo ningún favor a mi empleador ni a mí mismo tratando de abordarlo solo.

He sido muy directo sobre mi inexperiencia, y en el pasado he mencionado que contratar a otro desarrollador más experimentado probablemente sea necesario ... si es necesario, solo por el tiempo requerido para que alguien haga el trabajo a medida que crecemos y tener más software para desarrollar y mantener. Sé que me beneficiaría enormemente contratar a otro desarrollador; tener a alguien de quien aprender e intercambiar ideas sería genial. StackOverflow es ideal para determinar enfoques para problemas o conceptos de codificación individuales, pero no reemplaza las discusiones en una escala más amplia o más significativa específica para un determinado dominio comercial. Al mencionar la contratación de otro desarrollador en una conversación informal recientemente, no parecían pensar que era tan importante o necesario.

tl; dr : Los trabajos de parche actuales y otras responsabilidades ya ocupan todo mi tiempo en el trabajo, el trabajo en las aplicaciones existentes que hay que hacer está más allá de mi conjunto de habilidades, hay pocas posibilidades de que tenga tiempo para trabajar en los nuevos productos que se están planificando. Inicialmente, el empleador parece reacio a contratar a otro desarrollador.

¿Cómo puedo "vender" contratando a otro desarrollador sin parecer perezoso o incompetente (¡me gustaría pensar que no soy ninguno!)?

editar : Solo quería aclarar que de ninguna manera estoy interesado en tomar ningún tipo de acción hostil para probar un punto (es decir, tomar vacaciones para mostrarles que estarían jodidos si no estuviera cerca). Soy bonita contenido trabajando aquí y considero que estoy bastante compensado, incluso figurando en el tiempo extra, por lo que aún no estoy considerando un nuevo trabajo. Dicho esto, acepté la respuesta 'no más horas extra', incluso si no me importa trabajar demasiado, no le estoy haciendo ningún favor a nadie (propenso a más errores, agotarme) y no es realmente sostenible a corto plazo mucho menos a largo plazo. Voy a enfatizar esto cuando discuta el asunto con mi supervisor, y probablemente sugiera contratar a un contratista a tiempo parcial como un enfoque inicial que sea más aceptable desde el punto de vista financiero.

John Straka
fuente
66
Por curiosidad, si nunca ha podido "trabajar en software correctamente escrito ... antes", entonces, ¿cómo sabe cómo es un buen software? (o para el caso, lo que el software se parece mal?)
riwalk
10
Estas son todas excelentes sugerencias, pero he estado en este bote antes con pequeñas empresas y la gran mayoría de ellas no están preocupadas por el "¿y si me atropella un autobús?" argumento y no abordaría un problema como este hasta que se convierta en un desastre crítico. Si quieres una carrera a largo plazo en desarrollo de software, entonces no estás haciendo nada bueno para ti. Salí. Vaya a otro lugar donde pueda tener un mentor de nivel medio a superior que pueda ayudarlo a enseñarlo y lo aclamará a grandes proyectos aterradores. Esto es exactamente lo que hice y nunca me arrepentí.
maple_shaft
3
@ Stargazer712 - Probablemente de la misma manera que cualquier novato educado se entera: a través de libros / blogs / screencasts de los mejores desarrolladores en sus respectivos idiomas / plataformas.
Wayne Molina
2
@ Stargazer712, ¿cómo sabe USTED cómo se ve el software "escrito correctamente"? Tiene problemas de escala y está abrumado por el mantenimiento y la implementación de funciones. Esto puede suceder independientemente de si la base de código es buena o mala. Obtener ayuda es la idea correcta.
Angelo
3
@ Stargazer712, no es necesario tener mucha experiencia para reconocer el código incorrecto. Nombres de variables crípticas, código completamente repetitivo, más código comentado que comentarios reales, no hay forma de determinar cómo un simple cambio impactará en el futuro, SQL en línea en abundancia, nada parametrizado, sin manejo de errores, try-catch utilizado para el flujo control en todas partes, métodos de miles de líneas largas, completamente de procedimiento, usa goto (no tenía idea de que esto existía en C #), código obsoleto que queda (no en métodos separados). Básicamente, es una pesadilla hacer el más mínimo cambio. Esto es malo.
John Straka

Respuestas:

68

Regularmente termino trabajando más de 50 horas a la semana

Para mí eso es todo lo que necesitas decirle a tu gerente. "Estoy trabajando más de 50 horas a la semana para asegurarme de que el trabajo se haga. Soy un gran trabajador pero esto es insostenible a largo plazo, debería contratar a otro desarrollador". Si eso no funciona, le sugiero que comience a buscar un nuevo trabajo.

Tom Squires
fuente
57
Además, comience por NO trabajar más de 50 horas. Pare en la 8va hora cada día. No hay razón para agotarse, especialmente si este es su primer trabajo fuera de la universidad. Más de 50 horas a la semana no es normal, y nunca debería serlo.
Wayne Molina
44
@WayneM, sí, tengo que estar de acuerdo, estás recién salido de la universidad. La única razón por la que trabajarías tan duro como desarrollador junior es si tu jefe es barato y se aprovecha de ti. Más de 50 horas a la semana es normal de vez en cuando, pero si es un hábito, te están engañando.
maple_shaft
2
Sugerencia: si el tacaño tiene el descaro de insinuar que debe mantener ese horario loco, dígale que el médico le dijo que no lo hiciera. Murmurando algo sobre enfermedades relacionadas con el trabajo, ningún jefe quiere ser considerado responsable de algo así. De todos modos, probablemente no haya suficiente dinero para un segundo desarrollador ... y reducirá las operaciones. Eso significa que dejará de vender y se irá a la oficina fingiendo que está haciendo cosas.
ZJR
77
@ZJR No estoy de acuerdo. Debes poner excusas por no querer hacer algo irrazonable.
Tom Squires
1
@Wayne M - Es probable que dejar de hacer horas extras sea un mal consejo. Si no quieren contratar personal nuevo, pueden estar preparados para despedir a alguien y reemplazarlo con alguien que trabaje 50 horas a la semana cada semana, no lo sabemos. Mucho mejor es tratar de negociar un mejor acuerdo de trabajo, como sugiere Tom y recurrir a recortar unilateralmente sus horas si las negociaciones fallan o duran demasiado. Una vez me dijeron en blanco que si no estaba trabajando al menos 8 horas extra, no estaba tirando de mi peso . Mi reacción fue un trabajo para gobernar, y me quedé así hasta que el gerente se fue.
Mark Booth
28

He estado en un bote similar. Un barco muy similar. Lo único que realmente me ayudó a mantener el argumento de "necesitamos expandir el equipo" fue qué tan alto era nuestro factor de bus : si me golpeaba uno, no había nadie que tuviera idea sobre todo el stack en el que confiamos . Obtener a alguien más en el equipo fue crucial para las operaciones, si nada más.

Wyatt Barnett
fuente
8
Me gusta referirme a él como el factor de "ganar la lotería". ¿Qué pasa si gano 300 millones de dólares en la lotería ... ¿Quién va a trabajar en los sistemas? (Estaré en Hawai, en la playa, borracho.)
Christopher Mahan
77
@ChristopherMahan prefiero el argumento de autobuses porque tienes una mejor oportunidad de ser golpeado por un autobús que ganar 300 millones de dólares en la lotería :)
maple_shaft
2
Recién comencé a tomar mi PTO y sin importarme, me ayudó a subrayar el punto. . .
Wyatt Barnett
55
El argumento del factor bus es tan relevante que la capacidad de resistir ese escenario de desastre incluso está formalizada por ISO como certificación ISO 9001 . (en pequeñas tiendas de TI resume bastante bien a eso y que por sí sola - corps más grande consigue que sea más difícil)
ZJR
2
A menos que sea un sistema de navegación en autobús.
Iain Holder
12

Podrías intentar vender trayendo a un contratista para hacer este proyecto. A veces es más fácil vender una solución a corto plazo que si funciona bien y puede demostrar la necesidad de que pueda transformarse en una posición de tiempo completo.

La mejor manera de venderlo es vendiendo la nueva solución como algo que le ahorrará dinero a la compañía. Tendrá que estimar cuánto tiempo llevará y no intente ser demasiado agresivo aquí. También puede encontrar una lista de los proyectos que sería bueno hacer para los que no tiene tiempo de realizar ahora.

SoylentGray
fuente
1
+1 para contratistas en trabajos como este. La perspectiva de contratar a un nuevo empleado es extremadamente desconcertante y arriesgada para empresas muy pequeñas.
maple_shaft
Estoy de acuerdo. Hace unos años me contrataron como contratista para trabajar en un proyecto que el programador junior que ya estaba en la pequeña empresa no podía manejar (un servicio web .NET). Terminé con la permanente y me quedé allí unos 3 años hasta que se vendió la empresa y se cerró nuestra oficina.
jfrankcarr
Por lo menos, traer un contratista podría alentar a la compañía a ver cuán barato puede ser tener desarrolladores en el personal, en comparación con la contratación constante de contratistas para hacer el trabajo del personal permanente. * 8 ')
Mark Booth
O si solo desea "más manos en la cubierta" y no le importa la experiencia, un pasante de CS barato puede ser recomendable para la opción del contratista costoso.
recursion.ninja
@awashburn: el operador quiere una solución a largo plazo. Un pasante es a menudo una basura en la calidad, y a menudo no se convierte en un activo a largo plazo. Donde un contratista entra con un conjunto de habilidades y debería poder contribuir de manera rápida y efectiva
SoylentGray
6

Esto siempre va a ser sobre el costo. Un nuevo desarrollador les costará salarios, beneficios, recursos y probablemente capacitación (al menos capacitación para el modelo de negocio). Dado que solo enumera que está trabajando aproximadamente 50 horas / semana y le gustaría ver una política de producción de software más dirigida, una nueva contratación simplemente no será una perspectiva razonable (comercialmente).

Es posible que tenga más éxito intentando reclutar desde dentro. Es obvio que su jefe / supervisor debe estar involucrado en el proceso y debe ser consciente de que siente que está siendo estirado y que podría necesitar algo de apoyo. No estaría de más encontrar a alguien dentro de la empresa similar a usted que esté buscando un nuevo desafío o un cambio hacia este tipo de tarea. Pídale a su supervisor que lo ayude a liderar un esfuerzo en el que las responsabilidades de esta persona se puedan estirar o alterar para brindarle asistencia. Gradualmente, esto se puede aumentar con el tiempo hasta que esa persona esté trabajando completamente en conjunto con usted (básicamente, una transición similar a la suya).

Siempre es una mala idea arrojar un número demasiado grande (lo que equivale a un FTE desde una perspectiva comercial). Me parece que usted no trabaja en una industria que produce software, sino que su empresa produce software para ayudar a sus negocios. Entonces, en cualquier situación en la que sienta que la gerencia necesita abrir la billetera aunque sea un poco, deberá hacerlo muy atractivo para la empresa. Los grandes gastos deben tener pagos inmediatos o grandes. Los pequeños gastos son más fáciles de superar y, en última instancia, logran el efecto de un gran gasto a través del desgaste.

Joel Etherton
fuente
1
Este es un muy buen punto. Si trabaja 50 horas a la semana (o incluso si trabaja 60), entonces su jefe paga un salario por 1.25-1.5x el trabajo de una persona. Si contrató un segundo, y la entrada no cambió, ahora está obteniendo la misma salida por el doble del costo. Incluso si le dio un aumento del 25%, sigue ganando dinero en lugar de contratar a dos personas (y pagar dos primas de atención médica subsidiadas además del doble de los ingresos brutos). Donde eso te pone es entre la roca proverbial y el lugar duro; puede aceptar un horario de trabajo irrazonable o salir.
KeithS
1
@KeithS: eso no es lo que dice el interrogador. Está trabajando más de 50 horas a la semana y, sin embargo, todavía no tiene suficiente tiempo para hacer un nuevo desarrollo, por lo que es posible que ni siquiera esté lidiando con la mitad de la carga de trabajo que realmente se requiere para satisfacer las necesidades comerciales actuales y futuras.
Mark Booth
Entonces, en ese caso, la entrada cambiará; aumentará para aprovechar el rendimiento de dos personas. Aún debe determinarse si hay suficiente información para justificar a dos personas a largo plazo; el simple hecho de tener una cartera de pedidos en sí no es un problema, pero si el tamaño de la cartera de pedidos está creciendo porque se agrega más al final de la lista de lo que OP está sacando de la parte superior, existe una clara necesidad comercial de más ancho de banda de desarrollo para algunos tipo, ya sea temporario, contratado, a tiempo parcial o a tiempo completo.
KeithS
3

Te sugiero que les expliques lo que estás explicando aquí. Esos son argumentos válidos que debes llevar a tu jefe de todos modos.

Tal vez pueda sugerir contratar a un aprendiz, si plantea problemas económicos.

xsace
fuente
2
Usar el término a Internmenudo parece ir bien con mis jefes. Lo ven como free or cheap labor, y probablemente puedas consultar con los collages locales para ver si tienen estudiantes que buscan una pasantía.
Rachel
2
Los pasantes son de hecho mano de obra gratuita o barata, pero también son una puerta giratoria (un pasante no trabajará gratis para siempre), y son completamente ecológicos (por eso están trabajando; para una experiencia que vale dinero más tarde) . Usar pasantes para desarrollar software crítico para el negocio sin desarrolladores senior altamente experimentados en el personal para guiarlos es una IDEA MUY MALA. Incluso los tipos que hacen seis figuras pueden arruinar totalmente la arquitectura; ¿Qué crees que alguien con solo experiencia académica que trabaje gratis y se vaya en 6 meses le hará a su software?
KeithS
2
Los pasantes suelen tener una productividad negativa general. Los contratas por lo que serán, no por lo que son. Es una gran idea invertir en pasantes si sabe que necesitará crecer en los próximos dos años, pero no son una solución inmediata.
Morgan Herlocker
3

Sé directo y no te preocupes por subestimarte. En cambio, espero que se contrate a un programador más experimentado. Es importante que te desafíen los programadores que tienen más habilidades que tú, especialmente en tus primeros años.

descifrador
fuente
3

Busca contratar a un consultor ... envíame un mensaje privado y comenzaré el papeleo necesario :)

En serio, tal vez alguien podría venir 20 horas a la semana y trabajar en el código con usted, probablemente también se beneficiaría de tener a alguien más codificación "avanzada" a su lado.

Obtienes todo esto sin riesgo de contratar a alguien.

jim
fuente
2

Cuando se trata de pedir aumentos / bonificaciones, debe poner su valor a la empresa en el contexto de cuánto dinero ganan como resultado de su trabajo y lo que alguien con su capacidad puede ganar en el mercado laboral actual. En su caso, está buscando establecer el valor del desarrollo de software y si el dinero está ahí para contratar a otro desarrollador.

Comience a descubrir el valor de este trabajo para la empresa. Información es poder. No vendí una aplicación personalizada que escribí para una empresa. Pensé que eran una compañía propiedad de una pequeña empresa y les di un descanso solo para descubrir que estaban siendo comprados y que la aplicación ayudaba a legitimarlos en su industria.

JeffO
fuente
Estoy en desacuerdo. El valor que obtienen de su trabajo en realidad no le da ninguna ventaja, ya que siempre pueden conseguir que otro desarrollador haga el trabajo. Esta es una falacia común.
Morgan Herlocker
2

¿Tiene un trabajo atrasado al que no puede llegar? Asegúrese de hacer referencia a eso al hablar con el jefe también.

HLGEM
fuente
1

¿Podrías tratar de pintar la imagen de ellos queriendo que se haga una cantidad X en el tiempo Y y que para que eso suceda, sería mejor traer mis manos para ayudarme a superar ese trabajo? Un punto clave aquí es poder demostrar que está estirado y que probablemente sea bastante arriesgado intentar poner todo esto sobre sus hombros, mientras que si hay otro conjunto de manos que pueden ayudar un poco a la organización, usted mismo y este individuo Que sea un ganar / ganar / ganar para todos.

JB King
fuente
1

Haga un cálculo de costo-beneficio pequeño pero válido de contratar a otro programador junior, de nivel medio y senior. Tenga en cuenta que debe incluir que cuanto más escalonado esté, más errores cometerá, por lo tanto, será menos productivo. Pero fundamentalmente, todo se reduce a costos percibidos y reales.

Tenga en cuenta que el costo no es solo dinero, sino también calidad del código, resolución temprana de errores y calidad de vida.

Sardathrion - reinstala a Monica
fuente
1

Obtenga algo para comparar su situación también, ya sea hablar con amigos en otras compañías, ir a entrevistas y hacer preguntas sobre su equipo de desarrollo, etc., y luego exponer que cree que la carga de trabajo no es razonable y que la compañía no tiene éxito. con solo un desarrollador. Hice esto con un jefe anterior, terminé renunciando de todos modos para un mejor trabajo, pero básicamente dije cosas sobre cómo tener un equipo de prueba se convierte en una necesidad con más código escrito, debido a regresiones, etc. (no necesariamente relacionado con lo que está preguntando, pero tener probadores a mano también ayuda con el proceso de desarrollo) y que sabe que está trabajando más que el desarrollador promedio, etc. Parece que es posible que desee buscar un nuevo trabajo si él no está de acuerdo, él ya debería saber que estás sobrecargado y si él '

programamx10
fuente