Has decidido convertirte en desarrollador. ¿Por qué aprender javascript y no java?

¡Hola querido equipo editorial! Hola colegas.



En un par de meses, como desarrollador frontend, cumpliré cuatro años. Y hasta cincuenta en el pasaporte permanecerán un poco menos de dos años. Durante estos cuatro años, la vida ha cambiado rápidamente y ahora, después de un tiempo, es posible analizar qué decisiones fueron acertadas y cuáles no muy buenas.



Comencemos eligiendo esos. pila y, como consecuencia, especialización. Creo que mi elección (frontend, javascript) resultó exitosa y ahora quiero analizar por qué.



Mi pasado. Me gradué de Donetsk Polytechnic con un título en Mishustin (ingeniero de sistemas), en 1994. Después de haber trabajado durante un par de años como enikey en varios puestos en Donetsk, me uní a una pequeña empresa familiar (impresión), en la que permanecí durante los siguientes 15-20 años. 15 años en su firma y otros 5 años tratando de aprovechar la experiencia de la industria trabajando por contrato. Estos últimos cinco años no han tenido un éxito significativo ni perspectivas inspiradoras. Buscando una alternativa, comencé a intentar hacer algunas cosas en la web. Estos eran sitios sencillos para conocidos o para sus propias necesidades.



Después de un poco de experimentación, me di cuenta de que para aprender a hacer bien algo hay que elegir una especialización. Elegí el frontend, lo enseñé durante aproximadamente un año, luego obtuve mi primer trabajo a tiempo completo y en tres o cuatro años pasé de junio a Signor. Ahora, para dar el siguiente paso, estoy aprendiendo Java.



Hoy creo que esta secuencia - primero js, ​​luego java - resultó ser correcta. Las siguientes razones.



Al decidir por dónde empezar, ¿por qué Java es la segunda opción junto a Fronted y no Python, C #, Golang? Porque Java es código empresarial. Esta es una carga grande y exitosa. Este es un seguro médico. Se trata de un gran número de colegas de los que puede aprender. Y hay muchas de esas vacantes. Y habrá muchos de ellos en 10 años.



No necesitamos Python; en la web, estos son prototipos, stataps y scripts. Los scripts son devops, y somos gente de familia, necesitamos buenos salarios, no noches de trabajo. Python también es una buena herramienta para los analistas, pero es una carrera diferente. Largo, no garantizado, aquí debe llegar al lugar correcto casi de inmediato.



C # es un gran lenguaje, quizás el mejor. Pero no venció a Java y no puede. Y recuerde, qué idioma es mejor, no son los desarrolladores quienes deciden, sino el negocio cuando eligen la pila de tecnología. Un desarrollador a veces puede influir en esta elección, pero en general, para él, esta elección es un hecho.



Es probable que Golang crezca. Aprenda después de Java para que pueda reescribir el código antiguo de Java to Go en una oficina grande y estable. Como ocurre ahora, por ejemplo, en Yandex.



Y al final, ¿por qué es Frontend y no Java?



Frente con un umbral de entrada más bajo. Hay cuatro temas "grandes" para explorar en javascript: cierres, esto, asíncrono, herencia. Por supuesto, también existe el diseño, que se discutirá por separado más adelante. Mientras tanto, sobre estos cuatro temas.



Los cierres son el módulo, los patrones del decorador y cómo funciona js en las devoluciones de llamada. Realmente necesitas saber esto. Tendrás que desmontar, aprender, de lo contrario dolerá. Pero esto es más que real, y en comparación con los "peros" con los que funciona el cierre, por ejemplo, en Java, esto no es nada.



Este trabajo en js es muy diferente al de otros lenguajes. Aquí necesitarás analizar varias opciones para su uso: en un constructor, en una instancia, en un método, en una función de flecha, y sí, js-th esto tiene muchas caras, no se puede hacer nada ... Es decir, quería decir, gracias a Dios. Pero para empezar, un par de estos diez casos serán suficientes para que empieces a trabajar, primero obteniendo buen dinero y luego muy buen dinero.



Asincronía. Promises, setTimeout. Además, el tema no es obvio para un principiante, sino el último de los importantes. Si tiraste cierres y esto, domina la asincronía también, bueno, más un mes.



Todos. Preguntas, ¿qué pasa con la herencia? Como concepto, la herencia de prototipos es muy simple. Tiene muchos matices de implementación y muchas implementaciones en JS. Era. Antes de la llegada del ES6. A partir de ahora, las preguntas sobre la herencia son más una forma de mostrarle a un novato que aún no lo sabe todo, que una necesidad para comenzar a trabajar de verdad.



Ahora una pregunta. ¿Se pueden comparar estos tres "grandes" temas con los mismos genéricos de Java? Sí, fácil. Recordemos cómo se implementa la programación funcional en java. Todos estos son enlaces separados por dos puntos ... Esto es más que comparable al escurridizo this en js ...



En general, como lenguaje, js es mucho más amigable para principiantes.



Sí, sí, sí, por supuesto, hay css. Hojas de estilo en cascada. Ocho formas de centrar un div verticalmente, sin ser humano. A los cobardes se les ocurrió la encapsulación. Haga que esto funcione en todos los navegadores. Y su jefe generalmente tiene una mora, y también debería ser hermosa allí. Pero.



Flex-box se aprende rápidamente y ya puede mostrar algo. El resto se puede aprender en el trabajo, y los diseñadores de diseño pueden eliminar el diseño de varios navegadores, que son mucho más que un buen trabajo para ellos.



Esta es la imagen inicial. Como resultado, si comparas un comienzo en js con un comienzo en java, estudias de tres a seis meses menos y consigues un trabajo, el primero, alrededor de 80 mil, en Moscú. Y cuando un vecino-javista consigue su primer trabajo por 100 mil, usted está listo para obtener el segundo, por 120. Hace un javista al principio. Y estos primeros meses de recuperación son muy, muy importantes si ya los está esperando.



Continuemos la competencia con el javista imaginario. Pasan un par de años más. Si usted invierte y el javista invierte, se convierte en un intermedio seguro. Javist se acerca al rango de 150 - 180 mil. Frontend está en algún lugar alrededor de 140 -160. Si no realiza ningún esfuerzo adicional (lo hice, por lo tanto, no me cito como ejemplo). Y es muy interesante lo que sucede a continuación.



Pasando a la categoría de desarrollo senior. Resulta que la interfaz es más fácil de desplazarse hacia la pila completa. Porque js es un lenguaje de múltiples paradigmas. Sí, OOP en él es más como un juguete, pero lo es. Y el funcionalismo está pleno, y está de moda. Reaccionar, rxjs. Fronend enseña imperceptiblemente a aprender rápidamente. Y luego adelantas al javista y te apresuras al inmenso espacio profesional ...



Por lo tanto, ¡la interfaz!



PD: ayudo a aquellos que desean dominar el frontend de forma gratuita. Escribe de forma personal o en los comentarios.



All Articles