Ser el único desarrollador y sus consecuencias [cerrado]

16

Soy el único desarrollador en mi empresa. Hago programación (en ASP.NET 4.0, jQuery y SQL Server 2008) y mantengo la base de datos y el servidor web (win 2008 r2).

Disfruto de la libertad de implementar lo que me gusta al mismo tiempo que siento que podría estar haciendo todo mal. No utilizo ningún diagrama de SDLC ni ningún tipo de método como Agile, etc. Manejo varios proyectos pequeños. Uso mi tiempo libre para mantenerme al día con las últimas tecnologías y aprender y probar cosas nuevas. He estado haciendo esto durante los últimos 7 años.

  1. Mi preocupación es cuán difícil será para mí adaptarme cuando cambie mi trabajo a una empresa en la que haya más desarrolladores involucrados en un proyecto.
  2. Como no sigo ningún patrón de diseño, ¿jugaría en mi contra cuando busco trabajo o me ajusto con un nuevo trabajo?
  3. ¿Algún otro pros / contras que se te ocurra?
bp581
fuente

Respuestas:

8

Si te gusta esta situación con sus libertades, es probable que no te guste ir a ningún lado que vea esto como un problema (habiendo saltado esta valla, sé que lo hago).

En realidad, juega a tu favor en futuros trabajos porque terminas con un conjunto de habilidades mucho más amplio que el 90% de las personas.

La falta de alguien con quien discutir sobre las decisiones pro / con es un problema como Pierre describe (+1 para él), pero un colega en otra compañía que tiene la paciencia para escuchar lo que está tratando de hacer y el interés suficiente para tener un Una opinión sólida cumple bien este papel, a veces mejor que un compañero de trabajo porque son un punto de vista externo. (Todavía hago esto a pesar de que ahora trabajo en una tienda más grande, me ayuda a mantenerme al tanto de lo que otros están haciendo para resolver problemas similares y ver problemas futuros en el diseño)

El otro problema que tuve cuando era el único desarrollador era que no había nadie que me respaldara cuando llegó el momento de luchar realmente contra una mala dirección de la gerencia. Su millaje puede variar, pero si usted es el único desarrollador y toda la administración no es técnica, puede ser muy difícil explicar por qué debería o no hacer algo y muy difícil cuando llega el momento de decirles su El último sueño no es razonable para intentar implementarlo con la tecnología actual.

Cuenta
fuente
55
El otro problema con ser el único técnico es cuando tienes fiebre alta y náuseas severas y el servidor web se cae. Uno espera que tengan un plan de respaldo que no sea traer una computadora portátil al hospital si es atropellado por un autobús.
David Thornley
1
Eso es un problema, pero a menudo también es un problema en empresas importantes una vez que separan sus recursos demasiado.
Bill
35

Cuando estás solo, nadie puede decir que estás equivocado

Por lo tanto, puede ir por el camino equivocado, por un tiempo, sin siquiera saberlo.

Por esa razón, te animo a que encuentres a alguien con quien puedas hablar sobre el desarrollo. No solo en línea, sino en la realidad, físicamente.

No es necesario que renuncies a tu empresa. Ser el único tiene algunas ventajas también.


fuente
3
Esto es fantástico consejo ...
webdad3
44
La palabra clave es "mayo". Si un desarrollador hace un esfuerzo concienzudo para mantenerse educado sobre las diversas tecnologías y metodologías, y lo que es más importante, los datos que lo rodean, entonces no hay razón para creer que estaría haciendo un trabajo deficiente. Por supuesto, los desarrolladores que trabajan en el vacío y se limitan a lo que saben probablemente se están volviendo cada vez más obsoletos.
Aaronaught
De acuerdo con Pierre aquí, dos desarrolladores pueden producir [código o db o lo que sea] mucho mejor de lo que cualquiera podría hacerlo individualmente. Los beneficios aumentan con más desarrolladores, pero hay un rendimiento decreciente.
jamesbtate
5

He trabajado como el único desarrollador en una empresa que conocía una tecnología específica, como el único que hizo el tipo de programación que hice y como contratista en situaciones similares. (También he trabajado en entornos de equipo con otros desarrolladores que conocían diferentes herramientas y con otros desarrolladores que hicieron exactamente lo que yo hice).

Ventajas de ser el único programador

  • Como mencionas, con frecuencia tienes la libertad de usar cualquier herramienta o idioma que creas que puedes aprender. No siempre tiene que presentar un caso ante sus compañeros para obtener permiso para trabajar con New Technology X mientras todos los demás usan Current Technology Y.
  • Tienes más responsabilidades. Esencialmente, usted funciona como líder de proyecto y desarrollador en cada uno de sus proyectos, y con su capacidad para identificar e implementar nuevas cosas, también es efectivamente el jefe del departamento. (No se lo digas a los vendedores. Les encanta hablar con quienes toman las decisiones y no tienes tiempo para hablar con ellos).
  • No hay dudas sobre el crédito por el trabajo que se realiza: obviamente, usted y usted son los únicos que hicieron que las cosas sucedan.
  • Puede pasar más tiempo trabajando realmente en sus propios proyectos y menos tiempo en reuniones sobre proyectos que son básicamente de otra persona (pero usted está allí como una persona de apoyo, posible respaldo o lo que sea).

Contras

  • Como David señala en un comentario, usted es el único desarrollador, por lo que no se realiza ningún desarrollo sin usted. Una vez me jacté ante mi hermano de que yo era "el hombre" en un proyecto particular en el trabajo. Me describió con precisión mi situación: estaba atrapado. No podía seguir adelante en esa empresa porque nunca podría deshacerme de ese proyecto. (También tenía razón. Pasaron varios meses de entrenamiento durante un período prolongado de tiempo antes de que pudiera entregarlo a alguien que incluso era algo capaz de apoyarlo). Puede resultarle difícil tomar unas verdaderas vacaciones cuando nada puede ser hecho sin ti
  • Como señala Pierre, no hay nadie en el sitio para hacer revisiones de código o compartir mejores prácticas con usted. Puede comunicarse con sus compañeros de varias maneras, pero nada es tan efectivo como tocar a un compañero de trabajo en el hombro y pedirle que vea su código durante 5-10 minutos.
  • En una línea similar, puede tener dificultades para obtener experiencia con nuevas herramientas. El entrenamiento fuera del sitio puede ser tan raro como el tiempo de vacaciones: alguien se quejará de que la compañía no puede permitirse el lujo de no mirar Language 3.0 durante una semana cuando no hay nadie para mantener funcionando las aplicaciones Language 2.0.
  • El avance profesional puede ser extremadamente difícil de manejar. Es posible que no tenga una posición en la que pueda luchar, incluso un cambio en el título puede ser difícil de obtener, y las revisiones de fin de año no tienen ningún marco de referencia, por lo que un excelente trabajo puede pasar desapercibido si no fuera por otro razón por la que nadie realmente entiende lo que haces.

Si decides mudarte a una empresa en la que trabajarías como parte de un equipo de programadores, no creo que tu experiencia en solitario pueda hacerte mucho daño. Su falta de experiencia con los patrones de diseño no es necesariamente tan importante como su disposición a aprenderlos. (Puede haber situaciones en las que esté entrevistando a un candidato con antecedentes similares y también experiencia en cualquier método que utilice la compañía, pero eso es cierto para básicamente todos).

En la misma línea, su falta de experiencia en un equipo se equilibra con su capacidad para usar muchos sombreros. Hay algunos desarrolladores que son buenos jugadores de equipo pero que nunca desarrollan la capacidad de administrar un proyecto; ya has demostrado que puedes hacer eso.

Recomendaría que cuando sea un desarrollador en solitario, debería pasar un tiempo leyendo sobre herramientas y técnicas que utilizan desarrolladores similares, por lo que incluso si no las usa usted mismo, sabe que existen y puede consultar durante una entrevista, aunque solo sea para decir "Sí, he leído un poco sobre los marcos MVC, pero no los he usado yo mismo". Haga lo que pueda para mantenerse en contacto con otros desarrolladores: vaya a reuniones de grupos de usuarios locales, lea y comente en blogs (o conserve uno propio), trate de llegar a talleres de vez en cuando, vea seminarios web y demás. (También puede considerar sitios como lynda.com para capacitación interna: no es tan bueno como una conferencia de una semana en otro lugar, pero puede ver los videos en su propio tiempo y no enviar a todos al modo de pánico porque está fuera de la oficina.)

Dave DuPlantis
fuente
2

Sus habilidades de programación se deterioran cada día que se encuentra en este tipo de situación. La codificación es la parte más fácil del trabajo de cualquier programador.

La comunicación / trabajar con un equipo para implementar una solución es infinitamente más difícil. Esas habilidades solo se pueden agudizar al hacerlo. Además, cuando forma parte de un equipo, la mayoría de los miembros intentan mantenerse al día con las tecnologías tal como usted, por lo que las posibilidades de que el equipo encuentre algo excelente son mucho mayores.

Por favor, no tome esto como un ataque personal contra usted. También soy un programador solitario, pero busco un equipo lo antes posible.

Mate
fuente
Desarrollar solo significa que se pierde el 'programador de cartón', que a menudo es una herramienta útil. Básicamente, tener a alguien más para explicar un problema a menudo significa que la solución en sí misma ofrece mediados de explicación (antes de que la otra parte tiene la oportunidad de hacer sugerencias)
Phil Lello
0

Estoy de acuerdo con @Pierre 303 respuesta 100%. También agregaría que deberías encargarte de aprender las prácticas adecuadas. Quizás una certificación también ayudaría también.

Sí, si cambia de trabajo, será difícil ... No solo si tienen procesos a los que no está acostumbrado actualmente, sino también con personalidades. Los programadores son notoriamente competitivos. No tienes que lidiar con eso ahora. Pero lo harás cuando los programadores> = 1

Parece que tienes un buen concierto ... Me aferraría a eso.

Solo mis 2 centavos.

webdad3
fuente
0

Creo que se está perdiendo el hecho de que la mayoría de los estándares / prácticas que encontrará en una gran casa de desarrollo se pueden aplicar a su situación fácilmente. Hacer estos ajustes a un equipo de una persona ha sido cubierto anteriormente en SO. Busque un poco de orientación:

¿Cómo aplicar ágil a proyectos personales?

Jeff Swensen
fuente
¿Hay algún enlace para encontrar el proyecto de compilación de muestra utilizando todas las metodologías como SDLC, Agile ... etc.?
bp581
No te obsesiones con palabras como 'Agile' y 'Scrum'; sus definiciones formales de los métodos que los equipos exitosos ya estaban usando. Sin embargo, son útiles si no ha tenido la suerte de trabajar en un lugar donde es una parte natural del medio ambiente.
Phil Lello