Pasé de C # (de todos modos, no era tan bueno) a hacer todos los javascript en enero de este año. Fue mi jefe al darse cuenta de que ya tenía una buena cantidad de conocimiento y necesitaba a alguien, solo había otra persona que sabía angular.
Entonces comencé Udacity, con el curso senior de desarrollo web. El curso más duro que tienen, apuesto. Los maestros realmente no te ayudan a escribir código, solo ofrecen posibles marcos que podrías usar. Eso es más o menos, se espera que:
- Utilice un marco MVVM, MVC
- Minifica tu código
Todo lo demás está en el rubro para las especificaciones establecidas para cada uno de los 5 proyectos, que podrían hacerse en .net MVC si realmente quisieras, pero estaba aquí para aprender javascript.
- Dentro de un año, ¿alguna startup en Sydney me emplearía para una pasantía remunerada como desarrollador junior de software? ¿Por qué o por qué no?
- ¿Por qué un desarrollador querría usar una máquina Linux en lugar de Windows u OSX?
- ¿Cuáles son las desventajas de Stack Overflow? ¿Por qué se trata de puntos de reputación?
- ¿Cuál es la principal diferencia entre desarrollador de software y diseñador de software?
- ¿Qué temas debe entender cualquier desarrollador de software?
La comunidad de udacity de otros estudiantes era del tipo que esperarías. “Reaccionar” “paquete web” “Sigo las guías de estilo AirBnB JSX y JavaScript y utilizo ESLint para proporcionar un estilo excepcional y una calidad de código”. Esto fue bastante desalentador, me encontré rodeado de los personajes figurativos de las publicaciones satíricas de Medium. Parecía que cada vez que me ponía flojo alguien usaba un nuevo something.js para construir el primer proyecto.
El primero es un planificador de eventos. Bastante sencillo, encontré ejemplos angulares para el registro en los cromos localStorage. Manejé todo por allí, básicamente copié el registro para almacenar un objeto de evento. Genial, listo. “Fallido: no incluyó su proyecto”
Fue en este punto que había estado haciendo angular en Visual Studio, ni siquiera pensaba en que todos los demás usaran un editor de texto. Campesinos. Muy bien, así que vuelvo a la holgura, ¿qué quieren decir con paquete? “Necesitas minimizar tu código”, dice un profesor. “¿Eh?” Así que eso fue todo. Fui autodidacta en C #, parece que seguiré siendo autodidacta en JavaScript, pensé. Así que googleé la minificación de JavaScript. Los días pasan Finalmente encontré a Yeoman, lo había oído antes, pero ahora lo estaba usando para generar una plantilla angular con gruñido, y todas las cosas de minificación. Bueno. “Aprobado: buen trabajo”
Dulce, ahora estoy progresando. El problema es que, después de solo 1 proyecto aprobado, también tenía un trabajo que quería que hiciera aplicaciones angulares. Así que esto involucró Skype SDK y Microsoft Graph API. Encuentro un amigo alemán en codepen que es realmente bueno en javascript. Ninja bien. Me ayuda a entender los prototipos. Comienzo a usar codewars y él me empuja a continuar haciendo esas pequeñas funciones de práctica, al menos una vez a la semana.
Pasan meses de esto. Todavía no he completado el segundo proyecto en Udacity. Siendo el único chico de javascript, estoy haciendo un montón de proyectos con bibliotecas de microsoft incorporadas en javascript, así que estoy abrumado con cosas que hacer. Soy el que más sabe en el trabajo para SkypeWeb sdk, que está construido para javascript. Tengo la tarea de usar Microsoft bot bot framework mucho. Las tareas para esos bots requieren algunas cosas pirateadas, que luego me obligaron a aprender cómo construir CRUD y REST api con node.js, que mi bot podría apuntar. Así que, básicamente, tengo 5 bots que mantener y ponerlos en producción en algún momento. Un millón de proyectos y solo 8 horas al día, estoy abrumado. El problema es que eventualmente necesito volver a estos cursos de udacity por completo, así que estoy trabajando los fines de semana solo para ponerme al día. En cualquier caso, sé JavaScript bastante bien ahora, diría.
Mi amigo está haciendo herramientas de izquierda a derecha en javascript, ahora sé bastante bien la sintaxis de es6, puedo distribuir funciones y flujo lógico sin copiar otros fragmentos.
En mi opinión, no es necesario un curso universitario, pero se requiere perseverancia y la necesidad de alcanzar un objetivo final. ¿Quizás gastar dinero te dará un incentivo? Funciona para mucha gente. Si no tuviera a mi amigo alemán, y mi jefe no me estuviera persiguiendo para terminar las cosas al final de la semana, en un idioma que no entendí al principio, no habría progresado mucho. Sin la holgura de udacity, no habría encontrado bibliotecas oscuras en javascript, que realmente lo ayudan a aprender los conocimientos básicos de programación. Recientemente aprendí cómo debería verse la sintaxis de promesas (devolución de llamada), cómo debería funcionar, usando dexie.js. El creador es muy servicial y amigable. Me encanta la comunidad de código abierto por este motivo.
En resumen, diría que definitivamente puede mejorar enormemente como desarrollador en un año. Sitios como codewars es bueno, esos rompecabezas son abrumadores y difíciles al principio. Realmente ayudan más adelante cuando te encuentras con tu propio rompecabezas en una aplicación web. Por lo general, se trata de manipular datos o algo por el estilo. El año que viene planeo usar angular 2 exclusivamente. Por lo que aprendí aquí, es similar en otros idiomas, y revisando C # entiendo mucho más.