- Siempre esté codificando : buen código, mal código, realmente no importa. No se sesgue por el buen código que escriba, podría ser bueno solo para ese problema en particular (o podría ser bueno solo para sus ojos). Además, sé tu propio crítico y aprende del código incorrecto que escribes. ¿Qué lo hace malo? ¿Cómo lo mejoras?
- Conoce tus algoritmos . Conozca sus estructuras de datos: todos (?) Saben lo que hace QuickSort. (Desafortunadamente) No todos saben cómo lo hace. Menos gente sabe dónde apesta. Incluso menos personas saben cómo mejorarlo. Lo mismo ocurre con un BST o un vector y prácticamente cualquier algoritmo y estructura de datos que exista. No solo los uses, conócelos. Implementar. Prueba. Experimentar. Empújalos hasta los límites.
- Las revisiones de código pueden ser excelentes para aprender. Hay malos críticos por ahí, así que elige sabiamente. No envíe una solicitud de revisión a ese tipo exigente que no aceptará su código a menos que parezca el suyo, ni a ese tipo que simplemente le dice que lo haga de alguna manera porque él lo dijo. Los buenos revisores saben cuándo ignorar algo que no les gusta si no es realmente importante. Los buenos revisores te explican por qué quieren que hagas las cosas de alguna manera: el razonamiento, las implicaciones, cómo hacerlo mejor, cuándo está bien dejarlo como está … Ahí es cuando aprendes. Elija siempre a alguien que cree que es mejor que usted para sus comentarios: no tiene sentido elegir a alguien solo porque establecerá la bandera de aceptación sin mucho ir y venir. También hay malas herramientas que solo se interponen en su camino en lugar de ayudarlo a ser productivo mientras aprende y mejora su código. Nosotros, en Facebook, usamos Phabricator. Es la mejor herramienta que he usado y es de código abierto. Si te falta una buena herramienta, pruébalo. No hagas revisiones de código solo porque tu jefe te lo pida, hazlo de la manera que tenga sentido, porque tiene sentido. Utilice una buena herramienta de revisión de código para sus proyectos de mascotas también, ¿por qué no?
- Enseñar. Sé que esto es un cliché, pero es cierto: enseñar a alguien es la mejor manera de solidificar el conocimiento que adquieres. A veces piensas que sabes cómo funciona algo, pero intentas explicarlo y te das cuenta de que no lo entiendes completamente. La enseñanza te obliga a hacer un esfuerzo adicional para comprender algo y te expone a preguntas que nunca antes te habrías hecho. Ayuda a mirar las cosas desde una perspectiva diferente. También te ayuda con una habilidad increíble que te ayudará en tu carrera y vida: la empatía. No serás un buen maestro si no puedes sentir el dolor de otras personas.
¿Cómo no perder mis habilidades de programación de bajo nivel?
Related Content
¿En qué habilidad debo trabajar para convertirme en experto en Ingeniería DevOps?
¿Qué habilidades necesito para obtener trabajos de desarrollo web en los Estados Unidos?
¿Qué habilidades debo tomar en mis 20 años?
¿Qué habilidades necesito para ser un hombre de negocios exitoso?
Continúe (al menos como un pasatiempo) alguna programación de bajo nivel, por ejemplo, en Linux Raspberry Pi. Publique su código de hobby como software libre en github.
¿Qué tal si buscas en Arduino, Ti Launchpad o si quieres usar Linux / BSD, entonces RaspberryPi o muchas más placas de procesador ARM pequeñas? Hay muchos módulos de E / S disponibles para dichos dispositivos y puede construir proyectos con bastante facilidad conectándolos, aunque es posible que necesite escribir un código de controlador para hacer exactamente lo que desea. Si está interesado en el desarrollo del kernel, busque BSD en estas tarjetas de brazo, ya que algunos dispositivos como SPI o IIC pueden no implementarse para todas esas tarjetas.
Algunos enlaces:
Kits de desarrollo TI LaunchPad Ahora tienen mucho más
FreeBSD / arm – FreeBSD Wiki que enumera los enlaces a algunas placas compatibles y funciona la necesidad de hacerlo, creo que Raspberry Pi3 es de arranque ahora.
More Interesting
Cómo mejorar mis habilidades de aprendizaje y velocidad en un curso de contador público
Cómo mantenerse al día con las habilidades de Java
¿Qué conjunto de habilidades se requiere en los estudiantes?
¿Cuáles son las habilidades de un artista?
¿Qué habilidad en línea debo aprender para obtener el máximo potencial de ingresos?
¿Qué habilidades se requieren para cambiar al aseguramiento de la calidad?
¿Qué habilidad rentable podrías aprender realmente bien en 30 días?