# ¿Cómo mantenerse actualizado con el ecosistema de JavaScript?

Muchas personas me han preguntado cómo me mantengo actualizado con todo lo nuevo
de JavaScript, cómo sé que aprender y dónde encontrar información. Esta pregunta
es muy común entre personas que están aprendiendo a programar, Frontend o
JavaScript. Básicamente personas empezando en la industria.

Por eso quiero compartir cómo saber qué aprender y dónde encontrar información.

## Buscar información

Hay un montón de lugares para buscar información. Aunque hay algunos que siempre
visito cuando quiero consultar algo.

### [Mozilla Developer Network](https://developer.mozilla.org/en/)

También conocido como MDN. Este sitio es básicamente la documentación de las
tecnologías web. Si querés leer sobre alguna etiqueta HTML, un atributo de CSS o
cualquier cosa relacionada con Js este es el lugar.

### [CanIUse](https://caniuse.com/)

Un genial sitio para revisar el soporte que múltiples navegadores tienen sobre
una característica. También tiene información sobre el uso de cada navegador
(recomendación personal: si un navegador no tiene más de 5% de uso, no le des
soporte).

### Documentaciones específicas

Normalmente uno usa ciertas tecnologías, tu _stack personal_. Siempre es
importante revisar la documentación de esas tecnologías para aprender más,
usualmente tienen un blog, cuenta de Twitter, organizaciones de GitHub, etc. que
se pueden usar para aprender más.

### [Listas Awesome](https://github.com/sindresorhus/awesome)

Awesome es una idea iniciada por
[sindresorhus](https://github.com/sindresorhus). Son listas de enlaces útiles
sobre cualquier tecnologías. La lista principal (el enlace del título) es una
lista de otras listas awesome como son
[awesome-javascript](https://github.com/sorrycc/awesome-javascript),
[awesome-react](https://github.com/enaqx/awesome-react),
[awesome-redux](https://github.com/xgrommx/awesome-redux) y más. Estas listas
son especialmente útiles para encontrar librerías, artículos, charlas, vídeos,
etc. etc. sobre cualquier tecnologías.

> En español existe
> [impresionante-javascript](https://github.com/sergiodxa/impresionante-javascript),
> una versión en español de enlaces **solo** en español sobre JavaScript. Esta
> lista la mantengo junto a @yeion7 y
> [varios contribuidores](https://github.com/sergiodxa/impresionante-javascript/graphs/contributors).

## Seguí desarrolladores

Casi todos los desarrolladores tienen una cuenta de Twitter y comparten un
montón de proyectos interesantes en los que están trabajando o siguen. Más
importante, comparten ideas y tienen discusiones que puedes leer para aprender
un montón (y por qué no participar).

Debido a eso creé una lista de Twitter con muchas personas, y por claro los
sigo.

> https://twitter.com/sergiodxa/lists/developers-designers

☝️ Esa es la lista, siempre tengo una columna en
[Tweetdeck](https://tweetdeck.twitter.com) con esa lista abierta. Intenta seguir
a algunas de las personas de ahí. Son increíbles.

## Leé un montón

Siempre estoy leyendo sobre las tecnologías en las que estoy interesado.

## Medium

Medium es un gran lugar para leer, personalmente me gusta seguir etiquetas de
forma que pueda conseguir artículos de muchos autores y publicaciones. Algunas
etiquetas que sigo son:

- [API](https://medium.com/tag/api)
- [Apollo Client](https://medium.com/tag/apollo-client)
- [Apollostack](https://medium.com/tag/apollostack)
- [Authentication](https://medium.com/tag/authentication)
- [AWS](https://medium.com/tag/aws)
- [Babeljs](https://medium.com/tag/babeljs)
- [Cloud Computing](https://medium.com/tag/cloud-computing)
- [Components](https://medium.com/tag/components)
- [Css in Js](https://medium.com/tag/css-in-js)
- [Css Modules](https://medium.com/tag/css-modules)
- [Desktop App](https://medium.com/tag/desktop-app)
- [DevOps](https://medium.com/tag/devops)
- [Django](https://medium.com/tag/django)
- [Docker](https://medium.com/tag/docker)
- [Electrode](https://medium.com/tag/electrode)
- [Electron](https://medium.com/tag/electron)
- [Electronjs](https://medium.com/tag/electronjs)
- [Elm](https://medium.com/tag/elm)
- [Erlang](https://medium.com/tag/erlang)
- [ES6](https://medium.com/tag/es6)
- [Flux](https://medium.com/tag/flux)
- [Functional Programming](https://medium.com/tag/functional-programming)
- [GraphQL](https://medium.com/tag/graphql)
- [High Order Component](https://medium.com/tag/high-order-component)
- [Iaas](https://medium.com/tag/iaas)
- [Immutablejs](https://medium.com/tag/immutablejs)
- [Isomorphic Applications](https://medium.com/tag/isomorphic-applications)
- [JavaScript](https://medium.com/tag/javascript)
- [Json Web Token](https://medium.com/tag/json-web-token)
- [Kubernetes](https://medium.com/tag/kubernetes)
- [Meteor](https://medium.com/tag/meteor)
- [Microservices](https://medium.com/tag/microservices)
- [Monads](https://medium.com/tag/monads)
- [Nextjs](https://medium.com/tag/nextjs)
- [Nodejs](https://medium.com/tag/nodejs)
- [NPM](https://medium.com/tag/npm)
- [Observables](https://medium.com/tag/observables)
- [Orchestation](https://medium.com/tag/orchestration)
- [Paas](https://medium.com/tag/paas)
- [Progressive Web App](https://medium.com/tag/progressive-web-app)
- [React](https://medium.com/tag/react)
- [React Native](https://medium.com/tag/react-native)
- [React Router](https://medium.com/tag/react-router)
- [Reactjs](https://medium.com/tag/reactjs)
- [Recompose](https://medium.com/tag/recompose)
- [Redux](https://medium.com/tag/redux)
- [Redux Saga](https://medium.com/tag/redux-saga)
- [Relay](https://medium.com/tag/relay)
- [Reselect](https://medium.com/tag/reselect)
- [Rest Api](https://medium.com/tag/rest-api)
- [Rxjs](https://medium.com/tag/rxjs)
- [SaaS](https://medium.com/tag/saas)
- [Server Rendering](https://medium.com/tag/server-rendering)
- [Serverless](https://medium.com/tag/serverless)
- [Service Worker](https://medium.com/tag/service-worker)
- [Single Page Applications](https://medium.com/tag/single-page-applications)
- [Styled Components](https://medium.com/tag/styled-components)
- [UI](https://medium.com/tag/ui)
- [UX](https://medium.com/tag/ux)
- [Web Apps](https://medium.com/tag/web-apps)
- [Webpack](https://medium.com/tag/webpack)
- [Websocket](https://medium.com/tag/websocket)

También [sigo a algunas personas](https://medium.com/@sergiodxa/following) y
publicaciones como:

- [React Redux](https://medium.com/react-redux) (spanish)
- [Udacity Eng & Data](https://engineering.udacity.com/)
- [Netflix TechBlog](https://medium.com/netflix-techblog)
- [Reactive Conf](https://blog.reactiveconf.com/)
- [Apollo GraphQL](https://dev-blog.apollodata.com/)
- [Zeplin Gazette](https://blog.zeplin.io/)
- [Airbnb Engineering & Data Science](https://medium.com/airbnb-engineering)
- [Several People Are Coding](https://slack.engineering/)
- [GET PUT POST](https://getputpost.co/)
- [Making Meetup](https://medium.com/making-meetup)
- [Code Cartoons](https://code-cartoons.com/)
- [WalmartLabs](https://medium.com/walmartlabs)
- [Serverless Zone](https://serverless.zone/)
- [Aerolab Stories](https://medium.com/aerolab-stories)
- [Entendiendo JavaScript](https://medium.com/entendiendo-javascript) (spanish)
- [webpack](https://medium.com/webpack)
- [MeetupJS](https://medium.com/meetupjs) (spanish)
- [JavaScript Scene](https://medium.com/javascript-scene)
- [A Cloud Guru](https://read.acloud.guru/)
- [Slack Platform Blog](https://medium.com/slack-developer-blog)
- [Scale API](https://blog.scaleapi.com/)

### Blogs de ingeniería

Muchas startups tienen blogs de ingeniería. En estos blogs cuentan por qué
eligieron su stack o presentan tecnologías que ellos crean. Algunas de las
publicaciones que listé arriba son blogs de ingeniería como
[Slack Platform Blog](https://medium.com/slack-developer-blog),
[WalmartLabs](https://medium.com/walmartlabs) y uno de mis favoritos
[Netflix TechBlog](https://medium.com/netflix-techblog). Otros blogs:

- [GitHub Engineering](https://githubengineering.com/)
- [Dev.Opera](https://dev.opera.com/)
- [Facebook Code](https://code.facebook.com/)

### [Dev.to](https://dev.to/)

Dev.to es una comunidad y plataforma de blogueo orientada a desarrolladores. Es
similar a Medium pero solo para artículos de desarrollo. Acá puedes seguir
etiquetas o personas y leer un montón de artículos y opiniones sobre tecnología
y desarrollo.

### Blogs personales

Solía leer un montón de blogs personales. Todavía sigo y leo algunos como
[PonyFoo](https://ponyfoo.com/) o [2ality](https://2ality.com/). La mayoría de
ellos migration a Medium o dev.to así que se pueden conseguir más artículos ahí.

### Blogs de desarrollo

Además de Medium y Dev.to hay muchos otros blogs con varios autores como
[CSSTricks](https://css-tricks.com/), [Codrops](https://tympanus.net/codrops),
[Treehouse Blog](https://blog.teamtreehouse.com/),
[The npm Blog](https://blog.npmjs.org/),
[The GitHub Blog](https://github.com/blog), [SurviveJS](https://survivejs.com/),
[Smashing Magazine](https://www.smashingmagazine.com/),
[Scotch](https://scotch.io/), [React blog](https://facebook.github.io/react) o
[Mozilla Hacks](https://hacks.mozilla.org/).

### [EchoJS](https://echojs.com/)

EchoJs es un sitio con la misma idea que HackerNews, cualquiera puede publicar
enlaces interesantes, la única regla es que deben ser sobre JS y en inglés.
Puedes seguir su [cuenta de Twitter](https://twitter.com/echojs), acceder a su
[sitio web](https://www.echojs.com) o seguir su
[feed RSS](https://www.echojs.com/rss) para enterarte de todos los enlaces que
comparten.

Me he dado cuenta de que este sitio es una de mis principales fuentes de enlaces
y artículos sobre JS y tecnologías relacionadas. En lugar de seguir a un montón
de blogs te da una lista curada de artículos.

### [Reddit](https://www.reddit.com/)

Particularmente el [subreddit de JS](https://www.reddit.com/r/javascript/) y
otros específicos como [React](https://www.reddit.com/r/reactjs/),
[Frontend](https://www.reddit.com/r/Frontend/),
[React Native](https://www.reddit.com/r/reactnative/),
[Redux](https://www.reddit.com/r/reduxjs/),
[GraphQL](https://www.reddit.com/r/graphql/), etc. Es básicamente la misma idea
que EchoJS, una lista curada de enlaces.

## Mirá charlas

Mencioné charlas varias veces más arriba. Mirá charlas y conferencias sobre JS,
la comunidad es gigante y tenemos un montón de conferencias de Js. La
[JSConf](https://jsconf.com/), junto a las específicas de cada país siempre
tienen charlas geniales.

¡No solo [veas charlas en YouTube](https://www.youtube.com/user/jsconfeu) asistí
a ellas! Hay muchas en muchos países como
[JSConf AR](https://www.jsconfar.com/), [JSConf UY](https://jsconf.uy/),
[JSConf CO](https://jsconf.co/), [JSConf US](https://jsconf.us/),
[JSConf EU](https://jsconf.eu/) y más! Y no solo JSConf, hay
[NodeConf](https://nodeconf.com/), [NodeSummit](https://www.nodesummit.com/),
[ReactConf](https://conf.reactjs.org/), [▲ZEIT Day](https://zeit.co/day), etc.

### Andá a meetups

Las conferencias suelen ser anuales. Y solo en ciudades capitales. Pero los
meetups de cualquier tecnología pueden ser mensuales, asistí a meetups. Un
montón de ciudad tienen meetups y si tu ciudad no tiene una puedas iniciarlo.
Junta a otros desarrolladores y empieza a hacer meetups en tu ciudad.

## Participá en comunidades

Existen muchas comunidades, normalmente tienen equipos de Slack gratuitos a los
que te podés unir. [▲ZEIT community](https://zeit.chat/),
[ElmLang community](https://elmlang.herokuapp.com/),
[Reactiflux (react, RN, redux, GraphQL, Jest, Relay, etc.) community](https://www.reactiflux.com/)
y más. Muchas comunidades de dsarrollo tienen su propio chat de Slack, Discord o
Gitter al que te podés unir.

Empezar a participar te puede ayudar a conocer a las personas que crearon las
librerías y frameworks que usás y a otros en tu mismo lugar.

## Encuentra canales de YouTube útiles

En YouTube hay un montón de canales, y algunos están relacionados con
desarrollo. Algunos que podés seguir y están buenos son
[FunFunFunction](https://www.youtube.com/channel/UCO1cgjhGzsSYb1rsB4bFe4Q),
[Facebook Developers](https://www.youtube.com/channel/UCP_lo1MFyx5IXDeD9s_6nUw),
[Netflix UI Engineering](https://www.youtube.com/channel/UCGGRRqAjPm6sL3-WGBDnKJA),
[Google Developers](https://www.youtube.com/channel/UC_x5XG1OV2P6uZZ5FSM9Ttw) y
[node.js](https://www.youtube.com/channel/UCQPYJluYC_sn_Qz_XE-YbTQ).

Muchos de ellos suben vídeos de conferencias, pero otros como FunFunFunction o
Netflix UI Engineering suben vídeos específicos para YouTube que son útiles para
aprender más o conocer diferentes opiniones sobre desarrollo.

## Seguí (y participá) en repositorios de Github

Hay muchos repositorios que podés seguir y participar, hacerlo te ayuda a
enterarte del futuro de las tecnologías que usas diariamente. Incluso podés
participar enviando Pull Requests, reportando o buscando errores (y ojalá
soluciones a esos errores) y sus issues son un lugar genial para obtener más
información sobre los frameworks y librerías que usas.

## Palabras finales

Hay muchas formas de mantenerse actualizado. Recuerda, el desarrollo (y más
específicamente JavaScript y Frontend) es un camino de continuo aprendizaje. Vas
a estar aprendiendo más y más sin parar. **¡Así que abraza el cambio y sigue
aprendiendo!**