Cómo aprender a Programar
Tabla de contenidos
Toggle10 consejos para mejorar tus habilidades de Programación
El desarrollo de software es una habilidad increíblemente gratificante que puede ser extremadamente valiosa.
Es amigable con el trabajo remoto, y no importa dónde viva en el mundo, si obtiene lo suficientemente bueno, puede calificar para un excelente trabajo remunerado que oscila entre $ 100k / año – $ 200k + / año (USD) .
Algunos de los desarrolladores de JavaScript mejor pagados ganan cerca de $ 500k / año. Pero para calificar para esos grandes salarios, tienes que ser indudablemente bueno en lo que haces.
Incluso si ya es un desarrollador de software profesional, debe aprender a aprender a Programar. Elegir una carrera en el desarrollo de software es elegir un camino de aprendizaje permanente.
Hay un puñado de secretos de aprendizaje que pueden ponerlo en un cohete para dominar el oficio.
1. Código
La mejor manera de aprender a codificar es codificar. Salta a un entorno de desarrollo y escribe algo de código.
Si está leyendo un libro o una publicación de blog y encuentra un ejemplo de código, escríbalo en un editor de código e intente que funcione. Una vez que lo hagas funcionar, juega con él. Cambia las cosas. Trate de pensar en otras formas de aplicarlo u otras cosas que pueda hacer con la misma técnica. Juega con el código .
La inteligencia de los libros solo te llevará hasta cierto punto. El mejor aprendizaje vendrá de hacer.
2. Conducir
La mejor manera de mejorar en algo es hacerlo. Mucho. Necesita estar motivado y decidido a aprender. Una forma de motivarse es darse el tiempo y la paciencia para ganar algo de dominio. No necesita ser un experto de inmediato. Es como aprender un instrumento musical. No puedes sentarte al piano e inmediatamente ser el próximo Debussy, pero puedes dominar la escala C mayor en tu primera sesión.
Del mismo modo, no te sentarás e inmediatamente crearás el próximo Instagram, TikTok o Fortnite.
A medida que comience a dominar cada pequeña lección, se dará cuenta de que puede hacer esto. Puedes ser bueno en esto. Puede comenzar a ver que su objetivo comienza a materializarse, y estará más motivado para conducir hacia ese objetivo.
Síguelo.
3. Enfoque
He visto a muchos desarrolladores tratar de dominar todo de una vez y no llegar a ninguna parte, rápido. Su progreso se ralentiza a un arrastre insoportablemente glacial en lugar de una carrera de medalla de oro.
Si desea aprender algo rápidamente, no puede tener su atención dispersa en todas partes, excepto donde lo necesite. Elija un idioma ( comience con JavaScript ), un marco ( comience con React ), un libro, un curso, un tema, etc. Lo que elija, enfóquese en eso hasta que tenga un dominio suficiente del mismo antes de pasar a algo más.
Le digo a la gente todo el tiempo, concéntrate en un idioma a tiempo completo durante al menos un año antes de ramificarte y aprender otro idioma. Hace décadas, solía ser que un desarrollador de software típico realmente necesitaría aprender muchos idiomas en el transcurso de su carrera para mantenerse competitivo en el campo.
Si bien aún es cierto que aprender más de un idioma puede enseñarle diferentes formas de ver las cosas e incluso profundizar su comprensión de su idioma principal, en estos días un solo idioma (JavaScript) puede ayudarlo a pasar la mayor parte de su carrera.
Consejo de un gerente de contratación: las habilidades en las que se especializa son sus habilidades más valiosas. Si te comprometes a ser un generalista de toda la vida rebotando de un idioma a otro, pondrás un techo artificial en tu dominio y potencial de ingresos.
4) Leer
Muchas de las ideas más útiles disponibles para los desarrolladores de software provienen de libros. Hay muchos buenos videos y cursos de YouTube en línea, pero los libros son los portadores estándar de la cultura y el conocimiento del desarrollo de software. En particular, he encontrado los siguientes libros extremadamente valiosos:
- JavaScript elocuente
- Software de composición (Descargo de responsabilidad: escribí este. La versión impresa está disponible en Amazon ).
- Código completo: 2da edición
- Código limpio: un manual para la artesanía ágil de software
- Test Driven Development By Example
- Refactorización: Mejora del diseño del código existente 2ª edición
5. Revisión
Si desea mover un nuevo concepto de una idea que suena familiar a la memoria a largo plazo, revisar un tema es su amigo.
El error que cometen la mayoría de los alumnos es que leen rápidamente un libro o una publicación de blog, y luego olvidan rápidamente lo que leen al día siguiente.
Si lees algo interesante que quieres recordar, revísalo al día siguiente. Pruébate. Luego, pruébate de nuevo al día siguiente. Y al día siguiente. Haga eso 4 días seguidos, y sus posibilidades de comprometer el aprendizaje a la memoria a largo plazo aumentan dramáticamente .
6. Mezcla de medios
Algunas personas aprenden mejor leyendo, otras viendo videos, pero si lo mezcla: vea un video, luego lea un poco, luego practique con algunas sesiones de código interactivo, repetirá los conceptos desde múltiples ángulos y múltiples ejemplos. Naturalmente, realizará un poco de revisión y practicará mientras lo hace.
7. Construir proyectos
Aprender el concepto no significa que sabrás cómo usarlo en una aplicación real.
Una vez que haya estado codificando con ejercicios durante algunas semanas, será hora de construir algo propio. ¿Necesitas una idea? En lugar de la aplicación ubicua de todo, intente implementar la aplicación The Rejection .
8. Principios de valor sobre marcos e idiomas
Los marcos y las API cambian rápidamente. Los principios de diseño de software son perennes. Aprenda los principios que se traducen a través de las barreras del idioma.
Ejemplos:
- «Un pequeño cambio en los requisitos debería conducir a un pequeño cambio en la implementación». (Parafraseado de «Un manual práctico para el desarrollo de software» )
- Do One Thing (DOT) – Simplificado de Doug McIlroy «Do One Thing and Do It Well (DOTADIW)» – una función debe tener un solo trabajo. No debe buscar datos Y procesar datos Y dibujar en la pantalla. Solo debe buscar datos. O solo procesar datos. O solo dibujar en la pantalla. (¡Es hora de dividir sus componentes React en partes más pequeñas!)
- «Programa para una interfaz, no una implementación». – Gang of Four, «Patrones de diseño»
- «Favorecer la composición de objetos sobre la herencia de clases». – Gang of Four, «Patrones de diseño»
- Evite el estado mutable compartido.
- «La optimización temprana es la raíz de todo mal.» ~ Donald Knuth
- “No lo vas a necesitar (YAGNI)” – No escribas código para algo que aún no se requiere.
9. Compartir, documentar y mentor
Aprender a programar es solo parte de la ecuación. Cuando colaboras con otros desarrolladores, otras personas revisarán tu código y, a veces, desafiarán tus elecciones.
Cuando intente explicarse, es posible que no haya entendido lo suficientemente bien como para defender su posición. Practique explicando, documentando y enseñando los conceptos a sus compañeros de trabajo y otros colaboradores en sus proyectos.
10. ¡Practica, practica, practica!
Cualquiera que haya aprendido una habilidad adquirida puede dar fe, la práctica es clave. Pero para mejorar no puedes practicar los conceptos que ya conoces. Necesita desafiarse a sí mismo y extenderse más allá del ámbito de lo que es familiar. Si practicas constantemente al límite de tus habilidades actuales, sobresaldrás.
El libro, «Peak: The New Science of Expertise» profundiza en el estudio de la práctica deliberada y ofrece una gran cantidad de ideas que puede aplicar en su vida diaria para mejorar en la práctica. Recomiendo leerlo para que pueda hacer que su tiempo de práctica y sus proyectos paralelos sean más productivos.
Escrito por: Eric Elliot