Encontraremos opiniones encontradas respecto a qué lenguaje de programación deberíamos aprender, ya que depende del objetivo que cada persona tenga, sin embargo puedo contarles, con plena seguridad que hay ciertas constantes en la iniciación del camino del desarrollador que pueden hacer más eficiente y poderoso el aprendizaje. No obstante, la práctica juega un papel escencial en lo que describiremos como el conjunto de habilidades para ser un ninja de la codificación.
Open source
Preguntate ¿Por qué avanzar aislado, exiliado del mundo si somos seres sociales; si el compartir nos permite crecer a pasos gigantes? Aquellos que defienden el software privativo cómo la mejor forma de experimentar la programación estan en un sesgo egoísta y por su misma naturaleza nunca avanzarán con tanta libertad como aquellos que se atreven a explorar el mundo del software libre. El software libre es todo aquel código fuente al que podemos acceder y dependiendo la licencia, hasta podemos reutilizarlo, venderlo, modificarlo entre otras muchas cosas…El software libre es como el conjunto de notas musicales, tu puedes tomar las notas y con una guitarra crear infinitas combincaciones y obras maestras que deleitarán tus oídos.
Conocer el open source es la base de todas las habilidades aquí descritas. Abrazando la filosofía, conociendo la historia, conviviendo con la comunidad (anónimamente si gustas) entenderás aspectos del desarrollo qué comunmente se toman como implícitos. Así que construye bases sólidas, adentrate a conocer a los aquitectos de la Matrix, a los creadores de sistemas que lo hicierón con el fin de que la raza humana trascendiera y notarás cómo todo se conecta de una manera bastante interesante…
Git
La primera habilidad importante es saber gestionar tu código.
Para que todas las mentes anónimas del mundo puedan colaborar codificando un mismo proyecto al mismo timpo, sin saber siquiera sus nombres o identidades, se utiliza un programa (de acceso libre por cierto) llamado git.
Git permite gestionar las versiones del código de manera ultra eficiente. Existen miles de tutoriales de cinco minutos de lectura que puedan ayudarte a comenzar a aprender a usarlo. Pero profundizar y practicar todas sus variaciones es importante ya que es lo que más estarás utilizando en ésta época del desarrollo del software globalizado.
Mi recomendación es que lo utilices desde a línea de comandos, y no utilizando una interfaz gráfica, ya que así entenderás más su funcionamiento. Éstos son los comandos más utilizados
git init
Inicializa un proyecto para pode gestionarlo con git.
git clone https://repository.url
Descarga un repositorio en la carpeta en la que te encuentres
git checkout -b nombredenuevarama
git add .
añade los archivos que modificaste
git commit
salva la modificación de archivos que especificaste con git add .
git push
Sube los cambios al repositorio remoto en la rama en la que te encuentres
Hack
Mi recomendación es que utilices git con una metodología denominada git flow la cual es un standard para denominar a las ramas y trabajar con esta maravillosa herramientas. Toda la información y un plugin para utilizarla la puedes encontrar en este sitio: https://danielkummer.github.io/git-flow-cheatsheet/
Editor de código
Un hecho es que podemos programar en un blog de notas y obtener el mismo resultado que alguien que utilice el mejor IDE del mundo. Sin embargo, buscamos ser eficientes, avanzar como flash y con nuestras manos crear obras complejas de software, así que un editor de código es la herramientas que te permitirá teclear en menos tiempo, predecir tus movimientos, personalizar tus atajos y más. Personalmente utilizo Visual Studio code por la gran cantidad de plugins y la facilidad de personalización (con lo que creo mis propios atajos). Pero utilizar uno es menester.
Mecanógrafía
Por trivial que parezca, saber escribir en el teclado sin verlo es un plus inmenso. Estar concentrado, totalmente inmerso en las abstracciones y el plasmarlo en funciones o clases de programación no debe implicar ninguna distracción y ver el teclado es una de ellas. Entre más concentrado estes, más eficiente será tu código.
Cuéntame en los comentarios cuál ha sido tu experiencia con estas herramientas y prácticas. Esto es la primer parte, de una serie de posts en las que estaré compartiendo mi opinión basada en mi experiencia, para convertirte en un programador muy hábil.