Cómo ser un buen programador

Actualización: Se ha añadido una lista de podcasts de programación impresionantes para aprender sobre la marcha.

Ahora, mejor que nunca, la tecnología se ha convertido en una de las partes más fundamentales para la innovación en todas las industrias. Esto dio lugar a una enorme demanda de programadores y desarrolladores en todo el mundo. Lo bueno de la tecnología es que, es muy accesible, así que…

NO TIENES QUE SER UN CIENTÍFICO DEL ROCKET PARA SER UN DECENTE PROGRAMADOR.

Puede parecer difícil pero la verdad es que… puede ser más fácil de lo que crees. sólo tienes que leer, practicar y poner algo de esfuerzo. Pero… ¿No es esto lo que haces a diario?

Lo primero es lo primero. Antes de que empieces a preocuparte por el punto y coma (Quizás no lo entiendas ahora, pero créeme, lo entenderás más adelante 😂 ) necesitarás un buen recurso de fundamentos de informática y un buen editor de texto. Aunque hay bastantes por ahí, te daré los que están más de moda.

Enseña tú mismo informática

Este sitio web te da un punto de partida bastante bueno para aprender sobre informática y programación. Cubre un montón de temas básicos importantes y te ayuda a obtener un buen fondo en CS.

Git

Git es un sistema de control de versiones para… Bueno, mantener versiones de tu código. Te permite volver a otra versión si alguna vez cambias algo y algo va mal en la nueva. Este sitio web es un buen lugar para empezar a aprender git.

Github

Este es un recurso muy importante. Casi todas las empresas de programación te piden que tengas experiencia con algún sistema de control de versiones. GitHub es un servicio de alojamiento web para el control de versiones mediante git. Se utiliza sobre todo para el código informático. Ofrece toda la funcionalidad de control de versiones distribuidas y gestión de código fuente de Git, además de añadir sus propias características. También permite colaborar con otros programadores. También puedes utilizarlo como alojamiento estático de HTML para almacenar los archivos de tu proyecto personal. De hecho, puedes servir un sitio web desde Github.

Bitbucket

Bitbucket es lo mismo que Github, menos la plataforma social. También otra gran diferencia entre estos dos es que Bitbucket te permite crear repositorios privados y en Github tienes que pagar por esta característica. También puedes utilizarlo como un alojamiento estático de HTML para almacenar archivos de proyectos personales. De hecho puedes servir un sitio web desde dentro de Bitbucket.

Aprende el comando

La línea de comandos es donde ocurre la mayor parte de la magia. Así que es realmente importante conseguir algunas habilidades de línea de comandos.

Los editores de texto:

El dulce y viejo Sublime. En mi opinión, este editor es uno de los mejores que hay. Tiene un montón de plugins y fragmentos de código. Además es realmente fiable en cuanto a rendimiento y productividad. Todavía lo uso, pero me encanta probar cosas nuevas, así que recientemente me he pasado a Visual Studio Code. Soportado en: Windows, Mac OS y Linux

Visual Studio Code

Visual Studio Code fue desarrollado por Microsoft, aunque es bastante nuevo, se ha hecho un hueco entre los mejores editores de texto de 2017. Tan bueno que terminé cambiándome de Sublime text y tengo que decir que es un editor de texto increíble. Hasta ahora no me he arrepentido. Soportado en: Windows, Mac OS y Linux

Atom

Este editor de texto de Github fue mi opción preferida. Es realmente precioso y es muy fácil de configurar. Lo único que me hizo volver a Sublime es el hecho de que puede volverse bastante lento a veces y solía bloquearse cada vez que abría un archivo minificado. Pero en general es un editor de texto decente. Soportado en: Windows, Mac OS y Linux

Notepad++

Notepad++ es un editor de texto básico con las características necesarias para escribir un programa decente. Algunas personas prefieren este por su simplicidad. Personalmente, me encuentro que soy más productivo en editores de texto más audaces como VS code o Sublime. Soportado en: Windows

VIM

Hacker, este es para ti. Este editor de texto es más técnico y requiere más configuración. Viene por defecto en Mac OS y en la mayoría de los sistemas basados en UNIX. Soportado en: Mac OS, Linux y recientemente en Windows

Recuerda: Siempre puedes usar el editor de texto de tu elección. Estos son sólo los mejores basados en las tendencias y mi experiencia.

Con esto dicho, aquí hay algunos recursos de aprendizaje que le ayudarán a desarrollar sus habilidades de programación:

Free Code Camp es una ruta de aprendizaje de programación libre para los desarrolladores web y desarrolladores de pila completa. Este es uno de los primeros recursos que utilicé para comenzar mi carrera de desarrollo web. Y realmente me gustó. Incluso te proporcionan proyectos sin ánimo de lucro de la vida real para pulir tus habilidades.

Code Academy

Code academy es realmente uno de los mejores recursos para empezar. Ofrece una experiencia general de programación básica. También tiene un editor de texto en vivo justo en la página de la lección para que pueda practicar mientras aprende.

Ruby Monk

Ruby Monk es un muy buen tutorial de inicio para aprender Ruby. Ofrece un curso sencillo y directo para los principiantes y es realmente fácil de seguir.

CodeWars

Code Wars es una forma realmente genial de aprender a codificar. Te ofrece la oportunidad de perfeccionar tus habilidades interactuando con otras personas en desafíos de código reales.

Railsforzombies.org

Esta es otra forma genial de aprender a programar, aunque recomiendo tener algunos conocimientos básicos sobre Ruby antes de probar este sitio. Este sitio web te permite aprender Ruby con un juego interactivo.

CodeSchool

CodeSchool ofrece una rica variedad de cursos con una ruta de aprendizaje que te permite determinar qué pista de programación seguir en base a tus intereses.

Egghead.io

Este recurso es uno de mis favoritos. Se centra más en las tecnologías de desarrollo web. Ofrece tutoriales y cursos de codificación de muy alta calidad para desarrollar mejor esas habilidades en Javascript.

Udacity

Sólo he usado Udacity unas pocas veces, pero he leído mucho sobre ella y es bastante impresionante. Ofrecen cursos gratuitos para principiantes y lo que ellos llaman «Nanodegrees». Los Nanodegrees parecen bastante prometedores, son básicamente una lista curada de cursos para principiantes y avanzados sobre un tema específico. Por ejemplo, el Full Stack Web Developer Nanodegree cubre todo, desde el desarrollo web front-end hasta el desarrollo web back-end. Tengo que señalar que estos Nanodegrees se crean en colaboración con grandes empresas como Google, Amazon, IBM y más. Ahora, no sé si estos cursos realmente valen la pena el dinero (porque son caros) pero estoy planeando tomar uno así que cuando llegue a él, me aseguraré de escribir un artículo al respecto.

Udemy

Casi me olvido de este. Udemy es quizás una de las plataformas de aprendizaje más populares. Tienen más de 15.000 cursos y suelen ser bastante baratos. Este recurso es bastante bueno para cuando tienes prisa y necesitas aprender una determinada habilidad rápidamente. Utilicé mucho este recurso cuando estaba en la universidad (actualmente tiene más de 80 cursos). Aunque tengo que admitir que no he terminado todos y cada uno de ellos 😂.

Devslopes

Devslopes comenzó como una campaña de Kickstarter e inmediatamente me enamoré de ella. Ofrece una variedad de cursos de programación de alta calidad con proyectos para utilizar en su cartera. Como uno de los primeros patrocinadores tuve la oportunidad de contribuir a su proyecto y a cambio tengo acceso de por vida a todos los cursos y versiones que lanzan, de forma gratuita. Ahora bien, si quieres tener esta ventaja puede que la tengas porque están a punto de lanzar Devslopes 2.0 y tenían una promoción al respecto. No estoy seguro de que todavía esté disponible. Pero es una de las mejores ofertas que tengo. Después de todo el conocimiento no tiene precio.

Treehouse

Francamente, nunca consideré este antes, pero después de ser sugerido por Tomáš Vorel y semanas de aparecer en Facebook & anuncios de Youtube, decidí darle una oportunidad. Tengo que decir que este recurso de aprendizaje está muy bien organizado y me encantan los métodos de enseñanza. Siempre tienen alguna representación visual para los temas y realmente me encanta el contenido visual.

BrainFood

Sí, todavía tienes que leer si quieres llegar a ser realmente bueno en esto. Esta es la forma más tradicional y a veces la más efectiva de aprender nuevas habilidades.

Esta es una lista de libros que he encontrado útiles:

Este libro puede ser un poco «Aburrido» pero cubre los fundamentos de la ciencia de la computación y los algoritmos. Este libro es una necesidad si realmente quieres entender cómo funciona el código y los algoritmos.

Cracking the Coding Interview

Este libro cubre una visión general de las preguntas de programación que te pueden hacer en una entrevista de trabajo. Y cómo abordarlas.

Los innovadores: How a group of Hackers, Geniuses, and Geeks Created the Digital Revolution

Este libro trata más sobre la historia de la innovación y la tecnología. Básicamente abarca a todas las personas que contribuyeron de una u otra manera a la tecnología que hizo realidad la innovación actual.

Aprende Python de la manera difícil

Este libro es básicamente un libro de trabajo. Se aprende mientras se practica. Te da retos para que practiques a diario. Cubre los temas más básicos de python.

Habilidades suaves: El manual de vida del desarrollador

El manual de vida del desarrollador de software es una guía única, que ofrece técnicas y prácticas para una vida más satisfactoria como desarrollador de software profesional. En él, el autor aborda una amplia gama de importantes temas «blandos», desde la carrera y la productividad hasta las finanzas personales y las inversiones, e incluso el estado físico y las relaciones, todo ello desde un punto de vista centrado en el desarrollador.

Involúcrate en la comunidad

Esta es una de las partes más importantes para convertirse en un buen desarrollador. La mayoría de la gente se salta esta parte porque piensa que es inútil pero la verdad es que AYUDA MUCHO. Te sorprenderá lo mucho que puedes aprender de una o dos horas de conversación con otros desarrolladores. Por poner un ejemplo, en mi primer meetup tuve la oportunidad de conocer a uno de los desarrolladores de Advanced Custom Fields (Un plugin de WordPress para desarrolladores mundialmente aclamado) De hecho uso mucho este plugin. Y también me las arreglé para convertirme en un miembro del personal de la Conferencia Wordcamp Miami 2018 WordPress.

Con esto dicho, aquí están algunas de las plataformas que utilizo para meetups y conferencias:

Esta aplicación le permite buscar conferencias de codificación cerca.

Meetup

Esta aplicación te permite buscar conferencias de codificación cercanas.

Espacios de co-working

Podrías encontrar fácilmente un espacio de co-working cercano simplemente buscando «Espacio de co-working <Tu ciudad>» . Los espacios de co-working te permiten compartir conocimientos con otros desarrolladores y obtener feedback real sobre tu código base.

Playgrounds

Los playgrounds son básicamente editores virtuales para practicar sobre la marcha, sin necesidad de sobrecargar tu portátil o PC. Esto te ayuda a ahorrar tiempo y a mejorar en cualquier lenguaje de programación. La mejor parte de estos playgrounds virtuales es que puedes acceder a ellos desde cualquier lugar.

Cloud9

Este playground virtual es en realidad un IDE completo basado en Linux. ¿qué significa esto? Significa que podrías hacer todo lo que haces en una máquina Linux a través de la terminal, incluso instalar bibliotecas. Este me ayudó mucho en la universidad.

Codepen

Yo uso este mucho. Codepen es el Santo Grial para los desarrolladores web. Es más bien una comunidad en línea para probar y mostrar fragmentos de código HTML, CSS y JavaScript creados por los usuarios.

Glitch

Glitch es casi el mismo concepto que Codepen. Excepto que es un poco más «amigable». También es bastante potente. Todavía me gusta más Codepen tho.

Orion

Orion es un IDE online para jugar con Java.

Python Fiddle

Python ha ganado mucha popularidad en los últimos años. Se trata de un entorno de codificación para aquellos que quieran añadir python a su conjunto de habilidades (deberías aprender al menos lo básico).

Codeanywhere

Codeanywhere es un IDE multiplataforma en la nube. Permite a los usuarios escribir, editar, colaborar y ejecutar instantáneamente proyectos de desarrollo web desde un navegador web y cualquier dispositivo móvil.

Reply.it

Este fue sugerido por Vic A. y tengo que decir que parece bastante prometedor. Esta plataforma de programación virtual permite crear playgrounds virtuales para desarrollar, probar e incluso desplegar aplicaciones. También incluye una característica bastante impresionante 🔥 plataforma de enseñanza con su propio sistema de calificación.

Codesandbox.io

Me encontré con este recurso aseado mientras asistía a la 10ª Miami Wordcamp. Uno de los ponentes utilizó para una demostración de codificación en vivo y me enamoré de ella. Es otra solución rápida y fiable basado en la nube para crear prototipos de aplicaciones en el movimiento.

Got Stuck? Pregúntale a alguien

La belleza de ser un desarrollador que vive en el 2018, es que hay un montón de gente que ya pasó por la mayoría de las luchas que vas a tener. Hay una alta probabilidad de que alguien más tuvo el mismo problema que usted está teniendo con una pieza de código. A menos que estés trabajando en un código propietario. E incluso así, deberías ser capaz de encontrar pistas sobre cómo abordar esos desagradables bugs. Ahora bien, todo esto está basado en mi experiencia.

Aquí tienes una lista de sitios y recursos que te ayudarán en la lucha para que no acabes con crisis existencial, llorando en un rincón. (Nunca he hecho esto 😅🤣):

Stack Overflow

También conocido como la biblia del programador. Stack overflow es una, si no, la mayor comunidad online para que los programadores aprendan, pregunten, compartan e incluso encuentren trabajo. Así que asegúrate de tener esta en tu pestaña de favoritos.

Stack Exchange

Stack Exchange es un simple sitio web de preguntas y respuestas. Una especie de foro, para ayudarte a despejar esas dudas de codificación.

Quora

Veo a Quora más como una versión pro de Stack Exchange. Quora es un lugar para adquirir y compartir conocimientos. Es una plataforma para hacer preguntas y conectar con personas que aportan conocimientos únicos y respuestas de calidad. Esto permite a la gente aprender unos de otros y entender mejor el mundo.

Github

De nuevo, Github es una de las comunidades online más utilizadas que hay. Aprovecha, aprende, comparte y contribuye con ella.

Twitter

Apuesto a que ya has oído hablar de éste. Pero, ¿has pensado en utilizarlo como recurso para aprender y resolver dudas? Pues déjame decirte que Twitter, con su gran cantidad de usuarios, tiene una buena cantidad de expertos en la materia. Sólo tienes que tuitear tu pregunta y poner la etiqueta hash ### it

Reddit

No, no es sólo para Meme’s y gifs. Reddit también puede ser un poderoso recurso para encontrar soluciones o aprender nuevas tecnologías. Cuenta con un sistema de hilos para organizar mejor los temas.

Hacker News

Este recurso es un feed muy sencillo de actualizaciones y noticias importantes de la industria tecnológica. Realmente útil.

Producthunt

Ahora, Producthunt… No puedo expresar lo mucho que amo este sitio web. Literalmente lo uso a diario. Constantemente publica una lista curada de nuevas herramientas, aplicaciones, frameworks, sitios web e incluso gadgets para buscar. En su mayor parte, todo está relacionado con la tecnología. Así que siempre puedes probar y aprender cosas nuevas. También cuenta con una búsqueda de empleo y una sección de preguntas y respuestas.

Podcasts

Empecé a escuchar podcasts hace casi dos años y es uno de los mejores recursos que he tenido. Conduzco mucho y escuchar podcasts me permite aprender sobre la marcha, así que nunca estoy perdiendo el tiempo.

Syntaxfm

Este es mi favorito personal. Presentado por Full Stack Developers, Wes Bos y Scott Tolinski, Syntaxfm es un podcast de «sabrosos tratamientos web» con un montón de recursos y consejos útiles para los desarrolladores web. Cubren desde frameworks de JavaScript como React, hasta los últimos avances en CSS para simplificar las herramientas web.

Shop Talk Show

ShopTalk es un podcast sobre diseño web front-end, desarrollo y UX. Cada semana Chris Coyier y Dave Rupert se unen a un invitado especial para hablar de la tienda y responder a las preguntas enviadas por los oyentes.

The Web Ahead

Un recurso bastante bueno para mantenerse al día con las últimas tendencias web. Conversaciones con expertos mundiales sobre las tecnologías cambiantes y el futuro de la web. Presentado por Jen Simmons.

Code Pen Radio

Chris Chris Coyier, Alex Vazquez, y Tim Sabat, los cofundadores de CodePen hablan de los entresijos de dirigir un negocio de software web. Este podcast es imprescindible.

Aprende a codificar conmigo

El podcast Aprende a codificar conmigo, creado por Laurence Bradford, está dirigido a los aspirantes a técnicos y a los codificadores autodidactas que buscan la transición a la industria tecnológica.

Conclusión

Lee, practica, comparte, pregunta…repite

Todo esto es un camino de aprendizaje. Sólo hay que comprometerse con él y tener mucha paciencia. Nadie ha nacido siendo un experto en lo que hace. Yo también tengo todavía mucho que aprender. Recuerda que una de las partes más importantes para convertirse en un buen desarrollador es formar parte de la comunidad. Así que, date la oportunidad de probar algo diferente, ve a una reunión, conoce a gente nueva, recibe algunos comentarios, critica algo de código y diviértete.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.