Soy un desarrollador junior de software y llevo menos de un año trabajando para una empresa.
Si bien siempre pensé que ser desarrollador de software significa desarrollar software y CÓDIGO, mis tareas se centran más en el tipo de trabajo de administración, como configurar Jenkins, Replicación de SQL, etc.
¿Se incluyen este tipo de trabajos en una función de desarrollador, o un desarrollador solo desarrolla software? ¿Debería hablar con mi gerente sobre esto? ¿Es esta una forma común para que las empresas evalúen las habilidades de "desarrollo"?
Respuestas:
Me parece que contrataron a un junior porque no podían pagar un senior, en lugar de porque realmente querían un junior (alguien en quien puedan invertir y ser mentores hasta que se conviertan en senior). He gestionado un equipo al que los gerentes que no conocían mejor les impusieron esa decisión.
Terminó con todo tipo de trabajos desafortunados, como crear videos de capacitación para usuarios y demás, y todavía me siento culpable por eso ahora, pero estaba bajo presión para cumplir y la expectativa era que agregar una cabeza a la sala de desarrollo solo aceleraría las cosas .
Es desafortunado, porque te pone a ti y a tu jefe en posiciones difíciles.
Probablemente no tenga ningún trabajo en el que pueda confiar para un junior, y cualquier senior que pueda tener no puede distraerse de su día a día. La salida fácil es dar a los jóvenes muchas tareas que no son de desarrollo, con las que tampoco quiere perder el tiempo de los desarrolladores senior.
Pero algunos problemas surgen de esto.
Primero, el tipo de trabajo devops que le está dando realmente requiere un desarrollador sénior. En particular, un servidor de compilación debe ser configurado por alguien que está construyendo el software y sabe dónde están los puntos débiles.
En segundo lugar, el junior no se está volviendo más útil. Después de cinco años de esto, todavía estaría haciendo las mismas tareas, porque todavía no se podía confiar en el trabajo de desarrollo real.
En tercer lugar, el junior eventualmente (como lo ha hecho) se dará cuenta de que no está ayudando a su propia carrera. La suposición de que los junior son de baja calidad, en lugar de tener poca (y buscar) experiencia, es un error terrible, pero muy común, en esta industria.
Entonces, sí, siéntate con tu jefe. Pero entienda la situación en la que está. Vea si puede llegar a un acuerdo que resuelva los problemas de todos. Necesitará un mentor senior y algunas de sus tareas actuales necesitarán pasar a un senior. Esto retrasará el proyecto pero, a la larga, dará sus frutos. Ese es el punto que necesita comunicar con su jefe, y posiblemente con sus jefes. Además, vea si puede encontrar algo que pueda ofrecer a cambio de mitigar los costos.
Si no puede, es posible que desee buscar en otro lado.
fuente
Me parece que el término "Desarrollador de software" es sinónimo de "Programador". Por lo tanto, un desarrollador de software es una persona cuya responsabilidad principal es escribir código. En mi primer trabajo, mi título era "Desarrollador", y mi responsabilidad principal era diseñar y codificar software. Pero creo que no hay una definición exacta del término. Es utilizado de manera diferente por diferentes personas, por lo tanto, el significado se vuelve borroso.
Pero para que un equipo de desarrollo trabaje eficientemente, debe tener estas cosas configuradas, servidores CI, replicación SQL, implementación en servidores de prueba, monitoreo de servidores de prueba, archivo de compilaciones, etc. (Tal vez no todos se apliquen en cualquier situación) .
Estas tareas tomarán una gran cantidad de tiempo en la fase inicial de un proyecto, pero tomarán una menor cantidad de tiempo una vez que tenga una buena configuración en ejecución.
Desafortunadamente, los desarrolladores prefieren codificar que administrar servidores de compilación. Por lo tanto, a menudo, estas tareas aburridas caen en manos de desarrolladores junior, ya que los desarrolladores senior tienen tareas más importantes.
No he experimentado ninguna compañía que use estas tareas como un medio para evaluar habilidades.
Si no está satisfecho con sus responsabilidades actuales, le sugiero que aborde el problema con su gerente de línea.
fuente
Depende. Parece que diferentes compañías definen esto de manera diferente y para algunos es un término general para una variedad de funciones técnicas. Para algunos es solo un título. Al hacer la misma pregunta antes, obtuve una respuesta similar a "Solo los desarrolladores tienen la capacidad de hacer esto en nuestra organización", diría que tal vez, pero eso no necesariamente lo convierte en desarrollo).
La respuesta teórica es que un desarrollador (en comparación con el programador / programador) es una persona que "resuelve problemas" incluso si no tiene que ver con "codificar algo".
¿Desea codificar más, así que quizás le pida a su gerente más tareas de codificación o que haga algunas de las cosas que hace codificando? Usted mencionó cosas operativas, por lo que tal vez algunas de ellas podrían ser realizadas por los marcos de DevOps (ver chef y títere ), lo que hará que las funciones sean más eficientes y estén cerca del desarrollo.
fuente
No es raro que se espere que un desarrollador tenga algunas habilidades de administración del sistema. Como desarrollador senior, calculo que aproximadamente el 5% de mi tiempo lo dedico a tales tareas.
Sin embargo, si no está haciendo ninguna codificación, entonces probablemente debería hablar con su gerente sobre cómo obtener tareas de codificación. Después de todo, desea desarrollar una experiencia de codificación. También es más valioso como programador que como administrador del sistema.
fuente
El código no es terriblemente útil si no se integra correctamente en una aplicación o no accede a los datos correctos, por lo que las actividades que enumera parecen estar muy en línea con lo que hace un desarrollador. Debo agregar que los desarrolladores de software también se mezclan mucho en la documentación y las pruebas. Estas son actividades necesarias en la producción de software.
Es genial si su empresa tiene especialistas que pueden hacer esto por usted, pero si no, los desarrolladores de software son responsables de todo (hasta posiblemente) desplegar una aplicación en producción y respaldarla allí.
fuente
Es bastante común que un desarrollador en una pequeña o mediana empresa asuma algunas tareas de configuración de administrador / DBA / servidor general.
Sin embargo, si estas tareas comienzan a convertirse en la mayor parte de sus responsabilidades, puede ser algo de lo que preocuparse dependiendo de sus objetivos profesionales. Aunque probablemente pueda prosperar dentro de ciertas compañías como tecnólogo general, cuando necesite mudarse a una nueva compañía puede causar muchos problemas en su transición. Si no está haciendo ningún desarrollo tradicional, debe asegurarse de dejarlo claro en su currículum. Si desea obtener un trabajo en desarrollo directo después de un período en un trabajo como lo describió, es posible que deba aceptar algo por lo que está "sobrecalificado" en función de los años en la industria.
Por otro lado, puede haber empresas que buscan desarrolladores con diversas habilidades. Pero con la tendencia actual de escribir código en las entrevistas, también necesitará tener habilidades de codificación de primer nivel, incluso si el trabajo requiere poco código una vez que ingresa.
Si no quiere quedar atrapado en su posición actual, definitivamente trataría de remediar la situación pronto.
fuente