Convertirse en un desarrollador web de pila completa no es un estado de ser. Es un proceso Code Schools y los cursos en línea quieren vender esta idea, francamente tonta, idea de que puedes estudiar durante 12 semanas o un año y que eres un desarrollador de Full Stack. Está mal dirigido. En ese momento, tendrá las habilidades básicas de una pila de conceptos de desarrollo que hacen una aplicación. Es Full Stack Light en el mejor de los casos, pero lo más probable es que solo sea marketing.
Convertirse realmente en una pila completa implicará un aprendizaje que nunca termina. Un compromiso de comprender un poco más al margen de lo que actualmente sabe y luego repetir.
Me parece que no necesitas información sobre cómo ser un desarrollador. Necesita saber cómo mantenerse comprometido con el aprendizaje. Eso nunca ha sido difícil para mí. Es realmente una de mis alegrías.
La recomendación que puedo hacer es establecer pequeñas metas para su aprendizaje. Luego construye algo con ese conocimiento. Algo pequeño. Luego felicítese mentalmente o bombee su primer aire. No pienses demasiado en la grandeza de lo que podrías construir. Aprender. Aplicar. Date unas palmaditas en la espalda. Repetir.
Luego encontrará un proyecto que comienza pequeño, Matrix se abre un poco y puede hacerlo más grande con menos esfuerzo o agregar algún elemento. Puede unir estas pequeñas cosas entre sí y construir algo más grande. Solo concéntrate en un éxito de algún tipo todos los días. Haz el gol. Cumple el objetivo. Comience otro.
Es implacable, pero funciona y nada de lo que digo debería implicar falta de alegría o diversión.
Editar: me preguntaron sobre un camino a seguir. Así que aquí está el alto nivel. Esta es una bonita corriente de conciencia. Estoy seguro de que me perdí algunas cosas, así que las agregaré a medida que piense en ellas.
La forma en que pienso en las cosas es esta, cuando empiezas a aprender necesitas pasar por una progresión como esta:
- Algo para mirar (HTML)
- Alguna interactividad (JavaScript)
- Aprende algunos administradores de sistemas muy básicos. Me refiero a muy básico. La mayor parte de esto son tutoriales. CentOS o Ubuntu. No gastes más de 5 horas en esto. Seriamente. El verdadero administrador de sistemas podría tomar toda una vida. ¡Aprende lo básico y disfruta!
- Reaccione a la interacción de la página (Algunos lenguajes de back-end, PHP, JS / Node, C #, elija)
- Persistencia (DB, Storage, Mongo: solo use MySQL ya que los RDBM nunca morirán)
- Registro (DB + Teoría de cookies + Sesión, encuentre una biblioteca, pero entienda lo que está haciendo)
- Haz que se vea bonito (y / ier) (CSS)
- Aprende Git básico
- Aprende a respaldar las cosas
Ahora tiene una aplicación completa, que hace algunas cosas. Mucha gente llamaría a esto Full Stack. No es. Aprende de manera superficial en el orden anterior y escribe muchas aplicaciones de juguetes.
Entonces, comienza a mirar esto:
- Escalado, sin rendimiento, ¿cuál es?
- Muchas personas dirán que el almacenamiento en caché, o tal vez la ampliación, es más importante que el rendimiento. Ignóralos y sé muy escéptico ante cualquier otra palabra de su boca.
- La escalabilidad no es rendimiento y el rendimiento no es escalabilidad, pero sin el rendimiento subyacente no se puede escalar. Es la verdad. No lo olvides Aquí hay matices, pero aún no estás listo. ¡Solo aprende a hacer un DB rápido!
- Concéntrese en cómo escala una base de datos, cómo se indexan los datos, cuáles son las opciones
Almacenamiento en caché
- Ahora eres rápido, pero quieres ser realmente rápido. El almacenamiento en caché es tu amigo.
- Mira en microcaching NGINX
- Mira MEMCACHE, Redis y similares
Márketing
- “Soy un desarrollador”, dirás “¿Por qué tengo que hacer marketing?”
- La respuesta es que no puede construir un sistema sin saber cómo se promoverá.
- Mire mensajes, suscripciones a boletines, luego SEO 4 veces, sin hacer eso 5 veces. Existe un SEO técnico, externo y en la página. Sepa cómo sus decisiones como desarrollador los afectan. Es todo, desde tu HTML hasta tu rendimiento.
Manejo de código.
- Realmente aprende GIT. No es tan dificil. Puede construir un sistema robusto completo con aproximadamente 5 comandos y nunca saber nada más. Aprender cuáles son esos 5 comandos realmente es el proceso, o tal vez incluso el estado final completo, de aprender GIT.
Copias de seguridad
- Aprende a respaldar las cosas.
- Aprenda a probar sus copias de seguridad. Una copia de seguridad no probada no es realmente una copia de seguridad. Es algo que podría ser una copia de seguridad o 26 gigas de 1s y 0s al azar para ti, todo lo que sabes.
Pruebas
- Las pruebas evalúan la eficacia de una pieza de software para cumplir los requisitos.
- El proyecto que hiciste en la primera parte nunca está completo porque no decidiste qué fue completo. Entonces, paso 1 de las pruebas, regrese al principio y aprenda sobre los requisitos.
- Uno de sus primeros requisitos son los umbrales de rendimiento para que pueda comprender cuáles son sus puntos de referencia subyacentes para el debate sobre la escalabilidad y el rendimiento.
- Además, las pruebas se pueden usar para encontrar algo que no esté en los requisitos que deberían haber estado (y lo estarán después de que lo agregue). Las personas UX (que hacen estudios UX, que son un foro de prueba) viven en este mundo.
- Lea sobre pruebas unitarias
- Lea sobre afuera-> en pruebas
- Descubrir la integración continua hasta cierto punto
Linux / Gestión del sistema
- Francamente, puedes leer tutoriales en línea para la mayoría de esta mierda. En algún momento deberías * aprenderlo *. Algunas personas dicen que esto debería ser lo primero. Ehhh, es una sacudida.
- Aprenda sobre crontab
Aprende algo nuevo, brillante y sexy como Mongo y Node.
Escala real
- ¿Sesiones con múltiples interfaces web? UH oh
- ¿Puedo usar múltiples bases de datos?
- ¿Puedo usar Mongo y MySQL? ¿Juntos?
- ¿Cuál es el papel de memcache en el escalado?
- ¿Qué es la consistencia eventual?
El mantra de un desarrollador Full Stack es la cita de Jack of all Trades * full *:
“Un maestro de todos los oficios es un maestro de ninguno, pero muchas veces mejor que un maestro de uno”.
Por lo tanto, no tiene que dominar todo esto, pero nunca debe sentirse perplejo por ellos.
Ahora, si miras todo eso y te vigoriza pensar en aprenderlo todo. Entonces continua. Si no, reconsidere su deseo de ser una pila completa. O considere que es posible que no esté en el lugar correcto * en este momento *.