¿Debería un desarrollador de software obtener un presupuesto anual de equipos?
Definitivamente es bueno tenerlo y algo que mencionaría para discutir o incluso como parte de sus fichas de negociación para la negociación salarial. La pregunta es más sobre si es un "debería" o un "must" .
¿Alguien sabe si la industria tiene un estándar para ofrecer una asignación o presupuesto?
Desafortunadamente, la industria definitivamente no lo tiene como una práctica estándar, pero afortunadamente algunas compañías son un poco menos codiciosas y están más en contacto con las necesidades de sus desarrolladores (y empleados en general).
Esta será una respuesta bastante amplia, y por presupuesto no hago una distinción entre un presupuesto que se le ha asignado para comprar o realizar un pedido, o como algo transparente cuando solicita una actualización administrada por el personal de su empresa . En sus libros, de todos modos es lo mismo.
Es práctico
El problema es que esto obviamente puede representar rápidamente un gran presupuesto para una empresa, si alcanza una cierta masa crítica. Sin embargo, estoy de acuerdo contigo y con Joel en que puede valer la pena.
No tiene absolutamente ningún sentido frustrar a los empleados.
No te eches a perder
Dicho esto, también debe mantener a los empleados en línea y hacer que se den cuenta de que a veces el mal rendimiento o el hardware ligeramente desactualizado es solo una realidad . No querrás que todos se conviertan en niños mimados que quieran un nuevo SSD, el último procesador iN, el GB extra de ram, etc.
No quiero que las personas se obsesionen con la eterna juventud, y eso también se aplica al hardware.
(Sin embargo, con los proyectos de software, tiendo a presionar para mantenerme lo más cerca posible de la última versión ... Las analogías no siempre son válidas :))
Necesidades específicas para hardware específico
Creo que hay que hacer una distinción entre:
- el equipo básico que definitivamente se requiere para tu trabajo cuando comienzas,
- y el equipo más avanzado donde la necesidad proviene de requisitos específicos.
Paquete base
Por ejemplo, las siguientes son cosas bastante estándar que tendría derecho a esperar, y para las cuales no veo una necesidad (fuerte) de pedidos especiales:
- una computadora portátil + teléfono celular (si usted es un consultor in situ),
- una estación de trabajo si trabaja fuera del sitio y permanece en la nave nodriza,
- Además, tal vez algunas cosas no controvertidas como:
- dispositivos de entrada decentes (teclado, mouse, quizás trackballs ...)
- silla decente
Estos pueden ser los mismos para toda la empresa, excepto para casos especiales como empleados con discapacidades. Los empleados con discapacidades o lesiones obviamente deben ser acomodados.
Bonos
Entonces, si obviamente necesita hacer muchas videoconferencias y presentaciones, es posible que desee algunos dispositivos como bluetooth, tabletas y stylus. Lo que en realidad se puede compartir entre los departamentos mediante el uso de un sistema de reservas, para no terminar con todo el mundo solicitando algunos (y perdiéndolos), mientras se reduce el espacio para quejarse.
Si eres un diseñador, necesitarás tu tableta de dibujo, tu trackball, etc. Lo hago de vez en cuando para ver al desarrollador que pide un trackball en lugar de un mouse. Personalmente, probé ambos, y veo que ambos son casi igualmente idénticos, por lo que nunca he aceptado esta afirmación, si no tiene una necesidad específica que no sea "Me gusta más". Puede vivir con un mouse en lugar de una bola de seguimiento sin desarrollar un RSI en 8 horas si aún no tiene problemas y tiene los hábitos de uso correctos. Es un problema diferente cuando obtienes un mouse, una bola de seguimiento o un teclado mal, pero no veo una victoria clara para uno u otro.
Si es un desarrollador que necesita ejecutar 4 servidores de aplicaciones simultáneamente, crear proyectos y mantener abiertas 3 instancias de Eclipse o Visual Studio en todo momento, obviamente necesitará una estación de trabajo bastante competitiva. Consideraría estas "necesidades básicas" para los desarrolladores , por lo que no significa que los tipos de marketing necesariamente tengan que estar alineados con eso.
Desarrolle su caso: datos duros para la victoria
Por experiencia, la mayoría de las empresas comprenden sus necesidades si puede demostrar que son legítimas. Si puedes defender la justificación de ello, te darán el dinero o intentarán acomodarte. Te están pagando para que trabajes , así que realmente no quieren que pierdas el tiempo.
(Es decir, si les importa un poco tu trabajo ... si eres irrelevante, me temo que no tienes suerte allí ...)
Muestra la ganancia para ti
Entonces, en el pasado, mis compañeros de trabajo y yo obtuvimos actualizaciones para RAM, dispositivos de entrada, sillas, discos duros y estaciones de trabajo completas o incluso granjas de servidores basadas en requisitos claramente recopilados y detallados. Se necesita un poco de tiempo para construir su caso, así que discútalo primero con su gerente de línea, pero probablemente estará bien. O pase las horas adicionales una semana en la oficina para construir el caso, puede valer la pena y su gerente de línea le confiará más con tales decisiones en el futuro.
Muestre la ganancia para ellos (el dinero es la raíz de todo mal ...)
Con respecto al ejemplo anterior, calculamos, por ejemplo, los tiempos de construcción y la reducción que pudimos obtener, e hicimos comparaciones entre las diferentes configuraciones presentes en la empresa, calculando el promedio del tiempo perdido por desarrollador por día y luego haciéndolos darse cuenta que fue equivalente durante un año a aproximadamente 20 días completos por persona de no poder hacer nada (ya que la computadora básicamente no respondería si no tuviera al menos un quad-core y 8GB de RAM para esta compilación). Veces la cantidad de desarrolladores, esa es una cantidad considerable de horas que le pagan a la gente para quedarse sin hacer nada, lo que fue mucho más alto que actualizar al menos algunas de las estaciones.
Más recientemente, un compañero de trabajo ha estado haciendo una evaluación similar para convencerlos de que consideren las unidades SSD, y está en el proceso de recopilar datos muy detallados sobre cuánto tiempo se ahorraría para cada cuerpo, de manera similar.
Para consultas relacionadas con la salud, una simple recomendación de su médico, incluso informal, podría ser suficiente.
Para el software personalizado, es posible que solo necesite presentar las ventajas de la herramienta y sus impactos cuando se integre en su proceso. Por ejemplo, logré que mis últimas 3 compañías compraran licencias para herramientas de enmarcado después de usar una versión demo para una presentación para captar su interés, y luego usarlas más ampliamente en uno o dos proyectos de corta duración que involucran a algunas personas. Estos eran bastante baratos, pero originalmente no querían comprar las licencias sin ver la necesidad. Cuando se dieron cuenta de que claramente ayudaba a visualizar prototipos y tomar decisiones informadas antes, dieron luz verde rápidamente.
Plan
- Definir un plan de actualización.
- Defina puntos de referencia y métricas para medir la ganancia.
- Proporcionar resultados claros.
- Saque conclusiones sobre estos resultados.
- Tal vez haga un trabajo preliminar inicial sobre los cálculos de costos y ahorros (también discuta con el gerente de línea, o haga esto en una segunda revisión de su propuesta).
- Haga que los compañeros de trabajo firmen su solicitud, posiblemente con cada uno escribiendo una declaración sobre cómo se sienten acerca de la actualización, ya sea positiva o negativa (el punto no es hacer un discurso de marketing completamente sesgado para extorsionar algo de su empresa, también es para Realmente investigue esto y vea si es realmente necesario).
Una nota rápida sobre grandes actualizaciones para todo un equipo
Sugiera lanzamientos continuos si solicita actualizaciones para todo un equipo:
- que distribuye el costo durante un período más largo ,
- se da tiempo para limar cuestiones de transición ( "gritos, simplemente darse cuenta de que esta CPU combinado con esta versión del sistema operativo cuestiones en realidad presenta cuando compilación cruzada nuestro producto X para otra plataforma X"),
- se evita que todo el equipo de estar atrapado en el infierno de mantenimiento con la reinstalación del sistema, actualizaciones del sistema y los problemas habituales pizarra limpia, o los contratiempos ocasionales ( 'chillidos, borrado esa copia de seguridad importante ...').
Admitir derrota: no siempre funciona para todo ...
Y con razón. No todo es aceptable. Y las cosas que son aceptables pueden estar fuera del alcance de su empresa. Desarrolle su caso, llévelo al gerente de línea, discuta sobre un almuerzo en equipo o algo más amigable y en equipo que en el calor de la revisión financiera de este año.
Además, si tiene dificultades para construir su caso :
- admitir que probablemente no lo necesites ,
- admite que probablemente te equivocaste y la actualización X no te compra lo que pensabas que sería.
Si no puede construir un caso y comenzar a estar a la defensiva sobre su solicitud, significa que será mejor que haga otra cosa.