Solo vs Equipo de desarrollo y las consecuencias

7

He estado programando por un tiempo en diferentes idiomas. Nunca estudié realmente la programación en la escuela ni trabajé en un equipo de más de dos personas (incluido yo). Aún así, he sido un desarrollador profesional durante más de tres años.

El año pasado, asumí mi primer proyecto de C # y terminó bien. No puedo evitar pensar que porque aprendí y trabajé solo debo faltar algunos conceptos / sugerencias / ventaja.

Para aquellos que han sido desarrolladores en solitario antes de formar parte de un equipo, ¿pueden compartir su experiencia? ¿Te diste cuenta de que te estabas perdiendo algo? ¿Lo encontraste difícil? ¿Aprendiste más rápido después?

    
pregunta Mathieu 03.03.2011 - 04:56

4 respuestas

19

Puedo garantizarle que todos que trabajan en forma aislada, especialmente al escribir código, pero con cualquier tipo de trabajo, creen, al 100%, que lo están haciendo mucho mejor que ellos. en realidad son.

Entonces, la primera ventaja que encontrarás (y encontré) cuando empiezas a trabajar con un equipo es realmente bastante humillante. Trabajar con otros, especialmente cuando tienen talento, pero incluso en las circunstancias inusuales en las que eres mejor de lo que son en todas las formas posibles, al principio, resaltarán tus propios errores y debilidades. Si eres capaz y capaz de tomar bien las críticas (incluso si solo provienen de tus propias observaciones de tu trabajo, como se ve cuando trabajas con otros), la experiencia puede ser buena.

Este primer beneficio dura: a medida que trabaja más y más con equipos y con más y más personas, continuamente obtendrá más y mejores comentarios sobre sus errores, que luego puede utilizar para corregirlos. También recibirá comentarios positivos sobre los éxitos, pero, especialmente en el mundo de la programación, prevalecen los comentarios negativos (nadie abre un "anti-bug" en el sistema de seguimiento de errores para indicar que miraron su módulo y vieron un algoritmo especialmente bueno implementación).

A largo plazo, hay otras lecciones que aprenderá, algunas de las cuales son muy difíciles de aprender de forma aislada:

  • Escribir código legible es difícil, especialmente cuando estás escribiendo para otros programadores, en diferentes niveles de habilidad, para comprender
  • Es difícil escribir el código que otros tienen que corregir de errores. Ayudar a otros a corregir sus errores requiere habilidades que quizás no tenga
  • La gestión de proyectos es más importante en un equipo, y las actividades que quizás no conozca, o que encuentren útiles, de manera aislada, se vuelvan cruciales en un equipo. Como mantener adecuadamente una rama de liberación limpia en CVS. O probar el código antes de registrarse
  • Es más fácil aprender nuevas tecnologías cuando hay alguien cerca para explicártelas y responder a tus preguntas sobre ellas a medida que aprendes
  • Las interrupciones son más frecuentes en un equipo, lo que puede ser divertido y frustrante. Aprenderá cómo cambiar de contexto mejor cuando trabaje con más compañeros de equipo.
  • El trabajo en equipo a menudo requiere una estructura que no existe cuando se trabaja solo, desde actividades como revisiones de código hasta cosas simples pero no necesariamente obvias, como estar siempre trabajando a tiempo.
  • Es más fácil especializarse muy profundamente cuando estás en un equipo, con compañeros de equipo confiables. Encontrará que aprender algo, luego enseñárselo a otros y luego responder preguntas detalladas sobre él (y resolver problemas relacionados), especialmente cuando las personas con las que trata son otros programadores, lo empujarán a niveles de habilidad y conocimiento que tenía. no está enterado de
respondido por el blueberryfields 03.03.2011 - 05:28
3

Ya, cuando trabajas solo, extrañas un poco tus propios errores / trampas, por lo que no parece un gran problema, pero una vez que comienzas a trabajar con gente, la gente empieza a sugerir / señalar cosas que te gustarán " Oh, ya ... ¿por qué no pensé en eso?

Confía en mí ... un par de ojos extra SIEMPRE vale la pena cuando se trata de programmin.

    
respondido por el user6791 03.03.2011 - 05:38
3

Hay muchos beneficios que obtienes casi inmediatamente después de unirte a un equipo. Algunos vienen después de un tiempo, pero vienen sin duda.

  • Ya no eres el tipo más inteligente de la habitación. Es una experiencia muy humillante saber que hay alguien mejor que tú en la programación cuando trabajas en equipo. Pero , si eres uno de los pocos programadores que aman eso (¡yo sí!), absorberás todo lo que puedas de ellos.

  • De repente, necesitas para aprender a leer el código de otras personas. Ya no se trata de recomendarlo para ampliar sus conocimientos. O aprendes a hacerlo o no trabajarás allí por mucho tiempo.

  • Estás expuesto a diferentes tipos de programación y, como tal, aprende qué funciona y qué no. Lo que hace un buen comentario, lo que hace mal. Lo que hace que sea un método horrible para trabajar, y lo que te hace querer usar ese método cada vez que puedas. Inestimable, y ningún libro puede enseñarte esto. :)

  • Habilidades sociales. Poco a poco aprendes cómo criticar el código de los compañeros de trabajo y cómo escuchar cuando alguien te muestra una mejor manera.

  • Al escribir código, caminas sobre cáscaras de huevo. Esto te hará pensar mucho más al nombrar una variable. Escribir código para ti mismo es una cosa, es otra cosa completamente cuando sabes que otros programadores lo leerán.

Unirme a un equipo fue un cambio importante para mí, y estoy seguro de que todos aquí estarán de acuerdo en que nada puede reemplazar esa experiencia.

    
respondido por el Sergio 03.03.2011 - 05:40
2

Muchas de mis mejores herramientas fueron adquiridas de otros desarrolladores. Siempre he sido muy activo aprendiendo de Internet y de los libros, pero no podría hacer el trabajo que hago si hubiera pasado esos años aprendiendo solo de texto y escuelas. He aprendido algo de todos los desarrolladores con los que he trabajado. A veces, aprendiste qué no hacer o cómo no comportarte. También te da la oportunidad de explicarte. Si nunca ha explicado cómo o por qué su código funciona con otro desarrollador y luego escuchó sus recomendaciones o inquietudes, realmente lo está perdiendo. En mi opinión, es uno de los aspectos más fundamentales de desarrollo. Ejercicios de programador. Excluyendo el raro super genio, dudo seriamente que cualquier desarrollador pueda alcanzar un nivel de habilidad muy alto si trabaja solo solo.

Mi primer trabajo de programación real pasó de ser un programador en solitario en una pequeña tienda a trabajar con un equipo. Mis habilidades aumentaron exponencialmente de ese equipo y de mi interacción con ellos. Cada vez que cambio de equipo, hay un período inicial en el que se explora una nueva área de pensamiento y aprendo cosas a una velocidad que se siente como que Neo aprendiera Kung Fu en la Matriz.

    
respondido por el Nathan Craddock 03.03.2011 - 06:28

Lea otras preguntas en las etiquetas