Comience por obtener el 20% de su tiempo para dedicarlo a desarrollar sus propias habilidades. Si es posible, será mejor que ese 20% provenga de una o dos horas al día en lugar de un día a la semana, ya que entonces puede hacer un hábito diario para mejorar sus habilidades. Su productividad puede disminuir inicialmente (o podría no cambiar mucho si está reemplazando la navegación web u otras distracciones), pero el objetivo es hacer inversiones que lo hagan más efectivo a largo plazo.
Entonces, ¿qué debes hacer con ese 20% de tiempo? Ya que estás en una empresa de tecnología conocida, debes aprovechar los recursos disponibles. Aquí hay 10 sugerencias:
- Estudie el código sobre las abstracciones básicas escrito por los mejores ingenieros de la empresa y comprenda por qué se tomaron ciertas decisiones y cómo se implementaron . Por ejemplo, si está en Google, lea el código en algunas de las bibliotecas principales escritas por los primeros ingenieros como Jeff Dean, Craig Silverstein o Ben Gomes. Comience con los que ha usado antes y pregúntese si hubiera escrito un código similar para varias partes y cómo podría aprender de sus ejemplos.
- Si no eres demasiado eficiente en tu editor de texto o IDE, pregunta a algunos de tus compañeros más efectivos si les importaría que los observes por un momento mientras están programando. ¿Están utilizando métodos abreviados de teclado o funciones de edición con las que no está familiarizado pero que los hacen mucho más eficientes? Si es así, aprende y practica. Busque sugerencias de productividad en Google para cualquier entorno de desarrollo que utilice. Cuando aprendí por primera vez a Emacs, por ejemplo, las 10 formas específicas de Steve Yegge para mejorar su productividad con Emacs me hicieron notablemente más eficiente. Incluso al releer partes de esa página para esta respuesta, he aprendido algo nuevo.
- Lea a través de cualquier material técnico, educativo disponible internamente. Google, por ejemplo, tiene una amplia gama de codelabs que enseñan abstracciones básicas y guías de alta calidad de las mejores prácticas que los ingenieros veteranos han escrito para varios idiomas según décadas de experiencia. Si su empresa no tiene recursos similares, Google abre algunas de sus guías: https://code.google.com/p/google….
- Domina el (los) lenguaje (s) de programación que usas . Lee un buen libro o dos sobre los idiomas. Concéntrese en desarrollar una comprensión sólida de los conceptos avanzados en ese idioma y familiarícese con las bibliotecas básicas de idiomas. Asegúrese de que al menos uno de sus idiomas sea un lenguaje de scripting (por ejemplo, Python) que pueda usar como su navaja suiza para tareas rápidas.
- Envíe sus revisiones de código a los críticos más duros. Optimice para obtener una retroalimentación buena y reflexiva, en lugar de reducir la barrera para hacer que su trabajo sea registrado. Solicite una revisión más detallada de las implementaciones en las que no está tan seguro.
- Inscríbete en las clases en las áreas en las que quieres ser más fuerte. Estos podrían ser los que se ofrecen en el campus de la empresa, en los campus universitarios cercanos o en línea. Muchas de las compañías tecnológicas más grandes incluso pagarán por tus clases. Si desea mejorar la programación, tome más clases prácticas sobre temas como los patrones de diseño o sobre algún lenguaje de programación.
- Construye una buena lista de libros técnicos y comienza a leer. Su compañía puede incluso reembolsarle. Este es un comienzo: ¿Cuál es el libro más influyente que todo programador debe leer?
- Trabaja en diferentes tipos de proyectos y úsalos como oportunidades de aprendizaje. Si siempre realiza tareas similares utilizando métodos similares, será difícil salir de su zona de confort y adquirir nuevas habilidades.
- Asegúrese de estar en un equipo con al menos unos pocos ingenieros superiores de los que sienta que puede aprender. Si no lo eres, considera cambiar proyectos o equipos. Esto ayudará a aumentar su tasa de aprendizaje para el 80% restante de su tiempo.
- Escribe más código. Si sientes que la programación es tu punto débil, dedica más tiempo a crear y escribir código, ya que no mejorarás a menos que practiques el oficio. En la medida en que pueda, desvíe el tiempo de otras tareas relacionadas con la ingeniería, como gestionar proyectos, corregir errores, asistir a reuniones, diseñar productos, etc.
¡Buena suerte!
¿Buscas más formas de sobresalir como ingeniero de software? Descargue un capítulo de muestra gratuito de mi libro, The Effective Engineer . Está diseñado específicamente para los ingenieros de software de hoy en día, basado en entrevistas extensas con líderes de ingeniería en las compañías de tecnología más importantes y con cientos de hábitos y técnicas para acelerar su carrera.
- ¿Cómo podrías dejar de ser lo que no quieres y comenzar a hacer lo que quieres hacer en la vida?
- ¿Qué haces para evitar que te distraigas regularmente?
- ¿Crees que WhatsApp y otras aplicaciones de mensajería social cambian tu forma de pensar o tu manera de acercarte a otras personas y relacionarte con ellas?
- ¿Qué cita tiene la capacidad más fuerte para poner a uno en un estado de pensamiento profundo?
- Cómo mejorar mis habilidades de composición musical