He tenido la suerte de encontrarme en esta situación muy a menudo en mi carrera y he descubierto que seguir algunas pautas simples siempre me ayuda a ser un miembro productivo del equipo, aprender una cantidad increíble de mis compañeros de equipo y, en casi todos los casos, contribuir algo exclusivo de mi equipo, independientemente de la habilidad de cualquiera de mis compañeros de trabajo en cualquier tecnología o disciplina específica.
- PRIMERAS COSAS PRIMERO: Tengo que concentrarme en hacer mi propia parte de la carga de trabajo lo mejor que pueda. Independientemente de si otros miembros de mi equipo son más hábiles, tengo un papel que desempeñar y mi primera prioridad es hacer mi parte del trabajo que se me ha asignado. Si no puedo hacer esto, entonces hacer cualquier otra cosa en esta lista no tiene sentido.
- SEGUNDO: PUEDE PEDIR AYUDA CUANDO LO NECESITO: no importa cuán hábil sea, cuando trabaje en tareas complejas de desarrollo de software, todos inevitablemente se topan con un muro o algún problema que detiene su productividad. A veces es solo porque estás viendo un problema de cierta manera que está ocultando una mejor manera de resolver el problema. Cuando esto suceda, pida ayuda. SIN EMBARGO, es importante recordar el orden correcto de las operaciones cuando se trata de pedir ayuda a los desarrolladores:
- Documente sus intentos hasta el momento: me gusta escribir un Evernote que contenga una descripción del problema tal como lo entiendo, junto con una declaración de lo que estoy tratando de lograr, lo que he intentado y los errores con los que me estoy encontrando. Muchas veces descubrí que solo completar este ejercicio me ayuda a ver el problema desde una perspectiva ligeramente diferente y descubro algo que me ayuda a resolverlo por mi cuenta. Cuando todavía no puedo resolverlo, este artículo me ayuda a mostrarles a mis compañeros de equipo de desarrolladores más capacitados lo que ya he intentado hacer para resolver el problema, siempre y cuando necesite involucrarlos directamente. Más comúnmente, esta redacción se convierte en la base de la publicación de Stack Overflow que escribo para documentar mi problema e involucrar a esa comunidad para obtener ayuda. Evernote es mi preferencia, siéntete libre de hackear esto en tu editor de texto de Choise.
- Google es tu amigo: siempre debe ser el primer lugar donde pidas ayuda. Muchas veces descubrí que solo pensar en cómo formular mejor mi pregunta para una consulta de búsqueda me ayuda a pensar en mi problema de una manera diferente, lo que me abre una nueva vía para abordar la solución.
- Corrollary de desbordamiento de pila: un corrollary a (b) anterior: recuerde usar el sitio: stackoverflow.com o más a menudo en mi caso: magento.stackexchange.com para restringir sus resultados de búsqueda al lugar con mayor probabilidad de obtener la respuesta buscando … SI NO encuentra que la respuesta a su problema ya se ha publicado en uno de los sitios de Stack Exchange, utilice la redacción que redactó en el paso (a) anterior para publicar una nueva pregunta.
- Involucre a los compañeros del equipo: tan pronto como publique mi pregunta en Stack Overflow, enviaré un enlace por correo electrónico o la publicaré en un Slack Channel para compartirla con otros desarrolladores de mi equipo. Al hacer todo lo anterior ANTES de pedir ayuda a mi equipo, obtengo muchas bonificaciones cuando pido ayuda:
- Mi equipo puede ver instantáneamente que realmente hice mi mejor esfuerzo para comprender y atacar el problema. Pueden ver mi trabajo y revisarlo en su propio tiempo sin que tenga que perder mucho tiempo explicando todo lo que he hecho (o no he hecho). Si pueden mirar de inmediato, entonces genial: todo lo que necesitan ya está disponible para ellos y esperando su opinión. Si necesitan volver a hacerlo más tarde después de que terminen parte de su propio trabajo, entonces genial: otros miembros de la comunidad de Stack Exchange pueden darle un golpe mientras esperamos.
- Si mi compañero de equipo encuentra una solución, puede publicar su respuesta en Stack Exchange y obtener un representante para resolver un problema en el sistema. Además, debido a que es muy probable que otros desarrolladores puedan encontrarse con este tipo de problema en el futuro, estamos ayudando no solo a nosotros mismos sino también a otros miembros de la Comunidad de Stack Exchange. Además, otros miembros de la comunidad SE pueden proporcionar comentarios y ayudar a completar la solución para abordar posibles consideraciones que quizás no hayamos tratado en la respuesta original, lo que nos permite a todos beneficiarnos de la sabiduría colectiva de muchos grandes desarrolladores.
- Obligarme a usar este proceso garantiza que incluso cuando necesito pedir ayuda, me estoy asegurando de pensar en el problema, documentarlo completamente, obtener otra información externa y escribir todo, lo que significa que es bastante difícil para mí convertirse en ese molesto “jr dev” que aparece todo el tiempo en los escritorios de otros desarrolladores con un flujo constante de preguntas, interrumpiendo su flujo y evitando que hagan su propio trabajo.
NUNCA OLVIDE QUE TENGO TAMBIÉN SKILLZ: incluso si soy el desarrollador o el recurso técnico menos calificado en un equipo determinado, he pasado 20 años resolviendo problemas reales de mis empleadores y clientes en una amplia gama de industrias en una amplia gama de dominios técnicos Tengo una perspectiva que es valiosa para mi equipo más allá de mi capacidad de escribir código. No importa cuál sea su PROPIO conjunto de habilidades en particular o su historial de empleo, también tiene su propia perspectiva única. Es importante no dejar que el hecho de que esté en un equipo que tenga otros desarrolladores que sean más hábiles en el desarrollo de software lo haga perder de vista su propia perspectiva. Muchas veces cuando era un desarrollador junior en un equipo, el hecho de que NO HABÍA pasado más de 10 años en un dominio de idioma o problema específico significaba que miraba nuestras tareas y problemas con una perspectiva diferente a la de otros que habían estado pirateando lejos de estas cosas durante décadas. No es fácil cuantificar el valor de eso, pero es muy fácil darse cuenta de que esto TIENE valor, especialmente cuando te das cuenta muchas veces de los problemas que encontramos al usar el software para resolver problemas comerciales. TODO SE REDUCIRÁ A CÓMO MIRAMOS EL PROBLEMA . En mi propia experiencia, lo más común que alguien en cualquier equipo haya hecho para ayudarme de alguna manera (ya sea más hábil que yo o no) SIEMPRE ha sido ayudarme a ver un problema desde una perspectiva diferente que no pude veo porque estaba “en la zona” más o menos centrado en alguna parte del problema que no pude ver alguna otra consideración importante.
En resumen: la forma en que debe trabajar cuando está en un equipo que tiene uno en más desarrolladores que son MUCHO más hábiles que usted es REALMENTE exactamente la misma forma en que debe trabajar en un equipo cuando está TODO POR SU CUENTA o cuando en un equipo cuando USTED es el desarrollador más experto. Siga estos principios simples y creo que encontrará que pasará más tiempo resolviendo problemas reales y desarrollando software innovador y emocionante que preocuparse por quién más en su equipo es más hábil que usted.