¿Cómo encontrar un trabajo de desarrollo web en un año mediante el autoestudio?
Aprender haciendo
Supongo que esperabas que dijera esto.
Antes que nada, deja tus prejuicios a un lado. No estoy diciendo que tengas que abandonar todos los demás métodos de aprendizaje.
Todos los tutoriales en línea y videos de enseñanza, naturalmente, tienen sus propias funciones y planeo presentarlas más adelante. Por ejemplo, a veces, para aprender sobre una nueva tecnología o marco, leer la documentación del tutorial es la forma más efectiva.
La clave del problema es que siempre (al menos yo) dedicamos tiempo a aprender métodos que nos hagan sentir relajados. Incluso cuando llega el momento de completar algo de forma independiente, ver videos y tutoriales es tan fácil, como si nos llevaran comida a la boca. ¿Y nos hace sentir bien con nosotros mismos? ¿Obviamente estoy viendo un video didáctico? ¿Obviamente estoy leyendo el documento docente? ¿No estoy estudiando? ¿Quién se atreve a decir que estoy perdiendo el tiempo? ¡Obviamente estoy llenando los vacíos de conocimiento!
Lo que es aún más aterrador es que siempre tendemos a creer que este tipo de método de aprendizaje es el más efectivo. Es la debilidad de la naturaleza humana disfrutar de la comodidad y no progresar. Yo también me engañé a mí mismo durante mucho tiempo.
Aclarar tu mente
¿Hacer proyectos a mano no suena nuevo? Todos sabemos en el fondo que esta es la mejor manera de utilizar nuestro tiempo y energía, y así es. hacer feliz a la gente. Alcanzamos nuestros objetivos más rápido. Pero ¿por qué no estamos dispuestos a hacerlo? ¿Perezoso?
Hablé sobre la pereza en un artículo anterior (léelo si sufres de pereza), así que déjame explicarte por qué soy tan inflexible en este tema y convencerte de que concentres tus esfuerzos en proyectos de desarrollo.
Al igual que el protagonista masculino de Matrix, hay dos pastillas rojas y azules frente a él. Podemos optar por seguir cegándonos y seguir engañándonos a nosotros mismos y a los demás con la ilusión de sentirnos bien y cómodos; también podemos optar por tomar la píldora roja, afrontar la realidad y seguir aceptando desafíos más difíciles para lograr un progreso real; . (Si no has visto Matrix, será mejor que vayas a verlo)
Lo siguiente es lo que he resumido en la práctica, algunas sugerencias que pueden ayudarte a comenzar a completar proyectos de práctica de desarrollo de inmediato.
De hecho, es posible que necesites mucho menos de un año (¿increíble?)
No estoy hablando sólo de eso, sino que he trabajado con muchos grupos de estudio de Free Code Camp Toronto. La conclusión se extrae de los chats de los miembros y de las experiencias de estudiantes de todo el mundo.
He descubierto que, en la mayoría de los casos, los estudiantes pueden encontrar trabajo antes de completar la certificación de desarrollo front-end de la FCC. Desarrollaron algunos proyectos para el curso, luego comenzaron a enviar currículums y pronto encontraron un trabajo de desarrollo web.
Si has estado atento al canal de la FCC seguro que podrás encontrar muchos casos similares. (Nota del traductor: El caso más rápido que conozco para encontrar trabajo es el de un compañero de clase de Dalian cuyo nombre en línea es Fusheng. Solo le tomó un mes aprender desarrollo front-end en FCC y enviar su currículum al mismo tiempo, y Encontré con éxito un trabajo en Lagou.com. Encontré un trabajo que gana 8K por mes)
Cabe señalar que las diferentes regiones tienen diferentes necesidades de desarrolladores web. Tomemos a Toronto como ejemplo. Hay innumerables puestos de desarrollador front-end esperando que usted presente su solicitud. (Nota del traductor: lo mismo se aplica a Beijing, Shanghai, Guangzhou y Shenzhen, y la demanda sigue siendo enorme).
Los funcionarios de la FCC recomiendan que complete un total de 2080 horas de estudio del curso. Los conocimientos y habilidades que adquiera de esta manera también pueden ayudarlo a postularse para puestos más altos.
Asegúrate de dominar una cierta base
Estoy convencido de que cuando comienzas a aprender, debes sentar las bases de HTML/CSS/JavaScript a través de algunos tutoriales y aprendizaje interactivo en línea. , aprenda la forma de pensar en la programación y familiarícese con algunos de los puntos de conocimiento más básicos y básicos.
Si empiezas a intentar hacer un proyecto sin saber nada, definitivamente te frustrarás mucho. Pero no espere demasiado para dominar los conceptos básicos. En realidad, empezar es bastante rápido.
Cuando aprendí HTML/CSS/JavaScript por primera vez, aprendí mucho contenido similar a través de diferentes canales, pensando que esto podría darme una comprensión más completa del conocimiento. Ciertamente me ayudaron, pero luego me di cuenta de que estos recursos estaban bloqueando mi capacidad para aprender cosas más desafiantes e interesantes.
No se quede atrapado en un bucle interminable de revisar contenido que ya conoce.
No apuntes muy alto
Es bueno mirar las estrellas, pero también hay que mantener los pies en la tierra. Escucho a la gente decir todo el tiempo: "Quiero crear una aplicación en línea donde las personas puedan crear cuentas para sus mascotas, cargar fotos, admitir geolocalización y más. Recientemente comencé a aprender a codificar, pero estoy listo. ¿Es hora? para hacer realidad mi idea”. Cada vez que escucho esto, me siento como un espartano.
Puedo prever fácilmente que este tipo de personas primero se fijarán metas ambiciosas, trabajarán duro con pasión y gradualmente descubrirán que sus talentos no son dignos de sus ambiciones, y luego comenzarán a sentirse perdidos hasta darse por vencidos. a mitad de camino.
El peor resultado es que estas personas finalmente renuncian a completar el proyecto de desarrollo, o incluso renuncian a aprender a programar.
Por lo tanto, recomiendo comenzar con proyectos pequeños y simples. Cada vez que complete uno, acumulará una sensación de logro y comprenderá mejor la estructura de los proyectos grandes.
Por ejemplo, si un escritor planea escribir una obra maestra, primero debe escribir algunas historias cortas, escuchar las opiniones de la gente y mejorar sus habilidades de escritura. Sólo cuando todo esté listo podrá comenzar realmente.
¿Dónde encontrar buenas ideas para practicar?
El mejor lugar que conozco es la FCC.
Cada vez que les preguntaba a mis amigos desarrolladores en el pasado, ¿cuál debería ser el primer proyecto que comenzaría a desarrollar? Siempre me responden sin ninguna idea nueva y me dicen que haga una aplicación TO-DO List (lista de tareas pendientes). Si continuamos desarrollando listas de tareas pendientes, algún día inundarán todo Internet. (Nota del traductor: hay un proyecto que recopila TodoMVC, una aplicación de lista de tareas pendientes desarrollada con todos los marcos js)
FCC proporciona muchos proyectos pequeños interesantes, ordenados de fácil a difícil. Lo que es aún mejor es que cada pequeño proyecto está dedicado a enseñarle a dominar puntos de conocimiento específicos. Por ejemplo, la página web de tributo pone a prueba tu dominio de HTML/CSS, la aplicación meteorológica te enseña cómo usar API y los ejercicios de calculadora de JavaScript para mejorar tus habilidades de js, etc.
FCC es el mejor lugar para que intentes desarrollar proyectos prácticos. Cada trabajo que completes puede recibir comentarios en la comunidad. Después de completarlo, también podrás ver cómo otros estudiantes han logrado la misma función. Además, también puedes utilizar motores de búsqueda para encontrar interesantes proyectos de formación. (Nota del traductor: ¿Cuáles son algunos proyectos de sitios web divertidos que son buenos para practicar habilidades? - Respuesta de Yu Bolun)
Planifique primero y luego comience.
Siempre que comience a desarrollar un proyecto, primero Enumere las funciones que desea implementar. Puede enumerar las necesidades del usuario, como "Se puede reproducir música cuando el usuario hace clic en el botón de reproducción" "Los usuarios pueden iniciar sesión ingresando su correo electrónico y contraseña o a través de Facebook".
Es mejor mantener una determinada estructura en el código antes de codificar formalmente. Primero puede escribir algún "pseudocódigo", que describa en palabras cada módulo funcional de su proyecto de desarrollo.
Es normal encontrar contratiempos
Como dije antes, es normal encontrar contratiempos. Esto no prueba que haya algún problema con nuestro coeficiente intelectual, es sólo que no hemos estado expuestos a algún conocimiento. Ya sea que estés estudiando o trabajando, siempre te sentirás frustrado.
Cuanto antes lo afrontes con calma, mejor. Esto le ayudará a progresar más rápido. La programación en sí es un pensamiento creativo para la resolución de problemas. Si no te has encontrado con un problema que te desconcierta, debe ser porque no has superado el desafío. ¡Un marinero de tierra firme no puede aprender a nadar!
Lo más importante es no dudar de tu propio coeficiente intelectual. He conocido a muchas personas que inicialmente completaron tareas básicas de HTML/CSS/JS de manera fácil y feliz, completando entre 30 y 40 niveles todos los días, luego se encontraron con preguntas de algoritmos elementales y al final solo pudieron hacer de 1 a 5 preguntas por día. y luego empezaron a dudar de su coeficiente intelectual, pensando que no eran lo suficientemente inteligentes para ser programadores.
Mantenlo gradual
Necesitas encontrar proyectos de práctica que se encuentren entre "problemas que puedes resolver fácilmente" y "dificultades que están fuera de tu alcance". (Nota del traductor: tal como dije cuando entrenaba con el software de ejercicios Keep: cuando tu cuerpo está cansado pero aún puedes persistir, la intensidad es apropiada)
He hablado mucho sobre los peligros de aprender repetidamente. conocimiento simple. Ahora veamos la otra cara: las cosas difíciles.
Cuando te enfrentas a una tarea difícil, tu primer pensamiento debe ser intentar completarla.
Empieza desde la estructura más básica e intenta escribir el código. Si te encuentras con un problema que te ha estado molestando durante tres días seguidos, déjalo a un lado y busca algo similar pero más sencillo de hacer.
Mi experiencia es que cuando hago otras cosas, el problema sin resolver todavía está en mi subconsciente, y de vez en cuando pensaré en formas de solucionarlo. Quizás mientras me ducho o lavo los platos, ¡me viene la inspiración!
Aunque esto a veces funciona y otras no. Pero el punto que intento transmitir es el siguiente: acepte continuamente pequeños desafíos para progresar gradualmente, y el resto será una pérdida de tiempo.
La adaptabilidad es una cualidad imprescindible como desarrollador (o alguien que quiere conseguir algo). Esté preparado para enfrentar dificultades, asumir desafíos, aceptar críticas de su trabajo, diseños y soluciones, y planificar el futuro.
¿Tienes miedo escénico? Vaya a su comunidad local y enseñe a la gente los conceptos básicos del desarrollo web, o regístrese en algunos talleres.
Establece objetivos para cada día
Para progresar más rápido, necesitas progresar un poco todos los días.
En lugar de establecer objetivos de resultados (como completar el desarrollo de una determinada función hoy), establezca una cantidad fija de tiempo de programación todos los días, no más de media hora o una hora cada día.
Sé que puede estar ansioso por lograr un éxito rápido y establecer el objetivo de programar 3 horas al día y tratar de cumplirlo. Pero esto está destinado a no durar mucho. Con un límite de tiempo razonable (digamos, media hora al día), sabes que podrás alcanzar ese objetivo y probablemente tendrás una hora y media adicional para aprender a programar. Es una gran sensación porque muchas veces estás superando tus objetivos.
Establecer objetivos con plazos determinados es más que una simple sugerencia psicológica. Imagina que tienes una gran tarea que debe completarse y sigues posponiéndola hasta que se acerca la fecha límite. Finalmente la terminas, pero el resultado no es satisfactorio, pero estás agotado. Ya sabes, cuando estudias por tu cuenta, nadie te supervisará excepto tú mismo.
Si estableces un objetivo de resultados, no puedes garantizar que completarás el desarrollo de una determinada función todos los días y, una vez que no logres completarla, te sentirás frustrado. La acumulación de emociones negativas disminuirá lentamente su entusiasmo por aprender a programar.
Con objetivos con plazos determinados, progresas todos los días. A nadie le importa si completaste el desarrollo de una determinada función hoy. El punto es que invertiste cierta cantidad de tiempo en aprender ese día. Esto es lo que te mantiene motivado.
Otra gran ventaja es que cada vez que te sientas a escribir código, te llegarán ideas y soluciones, como si estuvieras inspirado para escribir un artículo. Esto es mucho mejor que obligarte a sentarte y tener expectativas poco realistas.
No desperdicies tu energía
Siempre que te encuentres con un cuello de botella en el desarrollo de un proyecto, siempre querrás dejarlo de lado y hacer otra cosa.
Volverás a sentirte bien por un tiempo, hasta que tu nuevo proyecto también tenga un problema. Ahora tienes dos proyectos sin terminar entre manos, lo que puede conducir a un círculo vicioso si no se controla.
La solución es realizar solo dos proyectos a la vez como máximo. Cuando uno de ellos encuentra un problema que no se puede solucionar, pasa al otro. solo mira esto. Asegúrate de no distraerte más. (Nota del traductor: esto es como cuando haces la tarea, escribir chino y luego las matemáticas no serán tan dolorosos).
Lograr un progreso real
Esto es lo que no puedes hacer. Aprender algo. a través de tutoriales. Sientes que dominas todas las claves de una determinada tecnología después de completar el tutorial. Pero cuando te pidan que utilices esta tecnología para desarrollar un proyecto, te quedarás estupefacto.
¿Por qué siempre es así? Porque el tutorial ya es la comprensión de una determinada tecnología por parte de la persona que escribió el tutorial (Nota del traductor: aprender el tutorial es como comer lo que otros han masticado), y es imposible resumir todos los puntos clave en un tutorial.
Solo encontrando dificultades constantemente y superándolas podremos seguir progresando.
No seas perfeccionista
No estás intentando crear un invento trascendental que conmocionará a toda la industria.
¿Todo lo que tiene que hacer es completar los requisitos de la pregunta y aprender tecnología de programación/características del lenguaje/funciones del marco a través del desarrollo de proyectos?
Luego, haga todo lo posible para mejorar su proyecto, ya sea Es diseño de apariencia o no. La calidad funcional también es buena.
Pero ya es suficiente.
No estás compitiendo en un campeonato internacional de arte. Simplemente estás aprendiendo desarrollando estos pequeños proyectos, no te dejes intimidar por ellos.
Las prisas generan desperdicio.
Si me hubiera preocupado si era lo suficientemente bueno o no cuando comencé a escribir este artículo, no podría escribirlo aquí. Solo sé que este es un tema al que la gente está prestando más atención. También necesito resumir lo que sé. Finalmente, es suficiente para poder ayudar a algunas personas a resolver las dificultades prácticas que encuentran en el proceso de aprendizaje de programación.
Si todo tuviera que ser perfecto, ¿tendría el boceto un lugar en el mundo del arte? Es la imperfección lo que lo hace único. (Nota del traductor: el mejor ejemplo aquí debería ser Venus de Milo).
Mantén tu creatividad
No seas rígido como si el proyecto que desarrolles debiera coincidir con el título. El mismo ejemplo. . La programación no es sólo ciencia sino también arte.
Esto es especialmente cierto para el desarrollo front-end.
Si estás desarrollando un programa para obtener citas aleatorias, puedes elegir las líneas clásicas de tu personaje favorito como contenido. Si estás desarrollando un juego, puedes diseñar la interfaz y la música como quieras.
¡Sé único y libera tu verdadero yo! Pon tu propio sello único en tu proyecto.
Además de cumplir los requisitos de la pregunta, depende totalmente de ti cómo hacer el resto.
Esta es una calculadora Zen que desarrollé antes. Compárala con el ejemplo de calculadora original del título. Puedes usar tu imaginación.
El desarrollo y la programación web nos dan total libertad, y nunca debemos limitarnos. Sé quien quieres ser, haz lo que quieras hacer, esto es válido para todo en la vida, incluida la escritura de código.
¡Las cosas con personalidad tienen sentimiento! Pensemos en el pintor surrealista Picasso. Generalmente, cuando miras un cuadro solo, ¿puedes decir quién lo pintó? Pero con Picasso se nota de un vistazo.
Expertos en front-end
Obtenga comentarios sobre sus proyectos de desarrollo
Otro beneficio de desarrollar proyectos de práctica es que puede compartir su trabajo con otros y obtener comentarios reales. .
Pero ten cuidado de no enviar tu pequeño proyecto a gente exigente. Intenta encontrar algunos desarrolladores reales o compañeros de clase que sean un poco mejores que tú. Permítales mirar su código y darle algunas sugerencias. ¿Dónde puedo mejorar, dónde es mejor la escritura y dónde no?
Esto será de gran beneficio para tu progreso de aprendizaje, porque podrás ver cosas que te has perdido desde la perspectiva de otra persona.
Sigue al editor y envía un mensaje privado a "Aprender" para obtener tutoriales de front-end gratuitos