Aunque considero que no tengo mucha experiencia, sigo obteniendo puestos de trabajo como líder de alguna manera (en el actual soy director técnico de la compañía, en uno anterior era el jefe de I + D).
Entiendo por qué sucede esto (tengo un cierto conjunto específico de habilidades y uso algunos lenguajes de programación poco comunes), mi problema es: no puedo encontrar un mentor ...
Sé que debe haber cosas para aprender, y noto a medida que trabajo a lo largo de los años que poco a poco estoy aprendiendo más y más, pero creo que hay alguna manera de mejorar mucho más rápido que solo codificar ...
Entonces, ¿cómo mejoro cuando no hay otra persona en la empresa que me enseñe o que lea su código? (o arreglar su código incluso ...)
Creo que estoy más allá de los libros, pero muy por debajo del nivel "maestro", así que no sé dónde aprender más.
fuente
Respuestas:
Qué pasa:
Consulte también las respuestas a Cómo dominar realmente un lenguaje de programación
fuente
Algunos consejos:
Aprende otros idiomas. Luego, compárelos con los idiomas que ya conoce, y trate de ver las formas en que puede mejorar sus habilidades de codificación en esos idiomas utilizando lo que aprendió de otros idiomas. "Libera tu mente" antes de aprender esos nuevos idiomas, y no intentes simplemente clonar los conceptos de uno en otro .
Leer código No sé qué idioma (s) poco común está utilizando precisamente en sus trabajos, pero estoy bastante seguro de que puede encontrar código fuente abierto de alta calidad escrito en esos idiomas por desarrolladores muy hábiles.
Quédate con la comunidad. Si no tiene colegas que usan su (s) idioma (s) en el trabajo, no es una excusa para no compartir el conocimiento a través de sitios web como Stack Overflow, donde hay preguntas y respuestas incluso para idiomas muy poco comunes. Intente buscar esas preguntas por etiqueta y vea si comprende todas las respuestas. Si las preguntas no tienen respuesta, contéstelas.
Enseñar. Enseña a tus compañeros de trabajo. Escribe un blog. Lo que. Al explicar algo a otros, lo aprenderá mejor.
fuente
Mis principales soluciones a eso en los últimos 2 años han sido:
redes sociales: en particular, he encontrado que meetup.com es una excelente manera de encontrar grupos de programación en su área. Twitter también es genial para esto. Cuando encuentre personas que le gusten y respete, sígalas.
Usando http://www.stackoverflow.com inicialmente lo usé para preguntas ocasionales. Ahora es mi compañero diario tanto para dar como para recibir consejos. Utilice también los sitios hermanos como /codereview//
Trabajo: aunque probablemente no sea aplicable para usted (pero es un buen consejo general para los demás) Si es lo suficientemente bueno como para conseguir algún tipo de trabajo en el área que desea, busque personas de la tercera edad, sea amable con ellas e intente que le guíen .
Libros. O'Reilly, Pragmatic Programmer y otros aún tienen buenos libros y puedes elegir versiones en papel y / o digitales. Aquí hay una lista realmente excelente: /programming/1711/what-is-the-single-most-influential-book-every-programmer-should-read con algunos de los mejores 'clásicos' que existen en caso de que aún no los hayas leído. Puedo recomendar código limpio y código completo.
Tutoriales Ahora hay algunos sitios fantásticos en la red como
http://www.codeschool.com ,
http://www.codeacademy.com
http://code.google.com/edu/
fuente
Solo porque estoy leyendo bastante jerarquía en (a) tu pregunta:
Aprende de las personas debajo de ti. El desarrollo de software se trata de la comunicación entre humanos, a menudo a través del medio de código. Dado que la buena comunicación debe ir en ambos sentidos, aprenda de las personas con las que programa. (Supongo que no estás en una empresa de 1 hombre)
fuente
Creo que aprenderás mucho enseñando a los que lideras. Obtendrá una comprensión más firme de lo que les enseña porque se verá obligado a pensar por qué / cómo funcionan las cosas fáciles (lo que probablemente evitó hacer al principio porque simplemente quería que funcionara)
fuente
La tutoría puede ser funcional cruzada
Los mentores no siempre necesitan ser expertos en lo que se enfoca. Si usa un lenguaje de programación inusual, eso todavía deja alrededor de 99 temas no relacionados con el lenguaje en el desarrollo de software en los que podría recibir capacitación. Algunos de mis mentores recientes han estado involucrados en desarrollo de negocios, hardware o ingeniería de sistemas, aunque estoy principalmente involucrado en el software.
Muchos tipos de personas pueden ser tu mentor
Es bueno buscar a alguien que ahora está donde le gustaría estar dentro de cinco años. Un mentor como este no siempre está disponible, por lo que otra alternativa incluye a un sabio que tiene mucha más experiencia, pero que tal vez ya no tenga un rol de liderazgo formal, un mentor inverso que tenga menos experiencia (o que no lo quiera Dios, más joven) pero que tenga perspectivas en herramientas y técnicas que pueden ser beneficiosas.
¿Es su mentor también su patrocinador?
Además de los mentores, a veces es fundamental tener un patrocinador. Si está tratando de ascender en una organización, si tiene un mentor que le da buenos consejos pero no influye en su cadena de mando a su favor, puede tener desventajas en relación con alguien que tiene un mentor que los patrocina como líder, propietario del proyecto o gerente de un proyecto que les otorga un rol más influyente o una promoción.
Mentores y redes de empresas cruzadas
Si ya es el director técnico, es posible que deba buscar un mentor fuera de su empresa. Los números tienen fuerza, por lo que la creación de redes con muchas personas de manera superficial puede ser sorprendentemente valiosa. En general, he pensado que para ser valioso, su compromiso con otros profesionales necesitaba tener la profundidad que viene de trabajar juntos o de una asociación extensa, frecuente o prolongada.
¿Qué tan grande es tu estanque?
Menciona que ha sido director de I + D y director técnico, pero no siente que tenga tanta experiencia. La confesión es buena para el alma, si no la reputación. Tengo una confesión similar.
En un momento, consideré que mi carrera se había dividido en dos partes. En el primero, trabajé en muchos equipos en los que era el único desarrollador de software o el desarrollador con más universidades. El segundo comenzó cuando contraté con una compañía de Fortune 100 y trabajé con un desarrollador claramente más alto. El contraste era esencialmente como ser un pez grande en un estanque pequeño a ser un pez pequeño en un estanque grande.
Trading Up
Hacer el cambio desde pequeñas empresas independientes significaba que tenía mucho menos estatus en la organización. Pero todavía había algún estado. Los desarrolladores aún se valoraban tanto con un salario más alto como con un grado bastante alto de control sobre el trabajo. También podría influir en otros miembros del equipo (aunque no desde arriba). Había muchos modelos a seguir. Tener mucha competencia me obligó a fortalecerme técnicamente y a comprender cómo lo que hice aportó valor a la organización y a mis equipos.
Anteriormente ignoré mi instinto sobre roles y mentores y pagué un precio. La intuición es a veces un sentimiento que surge de una síntesis de experiencia. Mi voto sería que si se siente mal, probablemente esté equivocado y merezca una investigación atenta. Parece que le preocupa su experiencia y la falta de un mentor, explore sus opciones.
¿Quizás encuentre crecimiento, satisfacción y otros beneficios al migrar a una empresa más grande y más agresiva? Más grande no siempre es mejor, pero a veces tiene la ventaja de diversas personas que dan como resultado diversas relaciones de trabajo y diversas experiencias de proyectos. Muchas de las luminarias de Silicon Valley han tenido o han servido como mentores para personas que, como resultado, pueden trazar su camino hacia el éxito de manera más rápida y eficiente. Uno de mis compañeros de la escuela de posgrado siguió el llamado para unirse a Linked In y está experimentando esa cultura, jugando un juego de un nivel mucho más alto.
Beneficios del mentor
Si bien un mentor puede ser como un profesor, creo que a menos que tenga uno que revise su producto de trabajo con frecuencia o que sirva como un maestro en la relación maestro / aprendiz, la capacitación profesional y la educación profesional son secundarias. Creo que las mejores cosas que comparten los mentores incluyen consejos sobre el crecimiento, el modelado de las buenas decisiones y el equilibrio entre los valores del lugar de trabajo, y un juicio estable, objetivo y sólido en tiempos de crisis.
Un consejo que mi abuelo me dio muchas veces fue que las personas solo pueden enseñar cuando son humildes. Tenga cuidado con declaraciones como "Estoy mucho más allá de los libros" e intente aprender de todos. Para construir una relación con un mentor, asegúrese de ser respetuoso y receptivo y de mostrar aprecio. También será importante seguir sus consejos porque, a menos que sean extremadamente pacientes, generalmente invertirán su tiempo en lo que se convertirá en acción.
fuente
Mi querido amigo
Déjame decirte que rara vez se descubre que alguien le está enseñando a otra persona los matices de la programación. La programación es algo que debe aprender usted mismo. Si se concentra en un tema singular y lo prueba y se une a varios foros que apoyan ese tema, tarde o temprano se convertirá en el maestro de ese tema. Por favor, recuerda que tú mismo eres la mejor persona para saber qué tan bueno te has vuelto. En el tipo de industria y mundo que somos, debemos convertirnos en nuestros propios mentores, ya que lo que nos enseñamos permanece con nosotros para siempre.
fuente
Cuando estoy usando "herramientas muy específicas o un lenguaje / marco de programación poco común", busco algunos grupos de intereses especiales. Por supuesto, hay una comunidad en línea para la mayoría de los marcos tecnológicos / actualmente en uso. Por lo tanto, utilizo todos los medios de comunicación en línea para estar en contacto con las últimas publicaciones en:
Uno de los mejores enfoques para aprender buenas prácticas de "lenguajes de programación poco comunes" es encontrar algún blog para desarrolladores (preferiblemente 4-5) y suscribirse a ellos.
fuente
En que area ¿Desea mejorar sus habilidades de programación, sus habilidades de ingeniería de software, sus habilidades de gestión de proyectos, algo más? No especificó en su pregunta.
No está más allá de los libros si ha aprendido a programar / diseñar proyectos de software / administrar un proyecto por su cuenta. Tampoco estás más allá de volver a la escuela. Regresar a la escuela para obtener un título avanzado, o al menos tomar algunas clases de posgrado es una opción que no debe descartar. ¿Qué área? Eso depende de lo que quieras mejorar, de dónde veas tu carrera. Hay mucho que decir para obtener un MBA, por ejemplo. Las personas que son inteligentes tanto en un sentido técnico como comercial valen mucho. Un montón. Algunos de mis antiguos compañeros de trabajo fueron para un MBA. No los veo a menudo porque cuando no están trabajando se van a algún paraíso tropical. O un safari. O un viaje de fin de semana a los Alpes. O un viaje de esquí de verano a América del Sur.
Otra opción es unirse a una sociedad técnica en un campo en el que tiene experiencia pero aún desea mejorar. Otra más es hacer que su empleador lo envíe a una conferencia de despilfarro donde puede aprender y establecer contactos.
fuente