Hoy es el día del programador, el día 256 del año. En Internet habrá muchas bromas, sobre Habré - artículos, en públicos - memes, en oficinas - pizza, dulces y sorpresas agradables. La programación de hoy se ha convertido en un verdadero culto, que se esfuerzan por tocar a toda costa, porque, según los que tienen sed, es programación, dinero, libertad, prestigio y una gran confianza en el futuro. Y dado que hay un culto, habrá atributos, mitos y quienes convertirán la profesión en kitsch. La publicación de hoy no será para nada festiva, será triste, honesta y un poco enojada. Porque es hora de que hablemos, ¿por qué no en la mesa festiva virtual?
Esta publicación fue escrita para el título "Micrófono gratis" por nuestro empleado, que era ingeniero, un pequeño programador, trató de ingresar a TI y entró, por lo que sabe de lo que está hablando. Y probablemente este sea el caso cuando nuestro equipo de desarrollo
RegionSoft CRM y un servicio de asistencia en la nube simple
ZEDLine Support estén de acuerdo con el autor y no escribirán renuncias sobre opiniones que pueden no coincidir.
Recuerdo bien 2003: este fue el primer curso, y en la próxima conferencia científica, científicos de varios campos discutieron cuál será el campo de información de una persona en la segunda década del siglo XXI. Se trataba de Internet, de la destrucción de la cultura de masas, del aislamiento de la personalidad de todos, pero nadie prestó atención a un pequeño informe de un estudiante de una de las universidades técnicas de que la programación se convertirá en la profesión definitoria del futuro. El futuro ha llegado y está claro que los pronósticos se hicieron realidad. A ver qué tenemos, amigos.
Todo es una empresa de TI.
La tecnología es una herramienta rentable que puede generar ingresos en manos capacitadas. Por lo tanto, las grandes empresas adoptaron de inmediato programas avanzados y soluciones de ingeniería para obtener más ganancias debido a la optimización del proceso. El comienzo de tales acciones se retrasó en los años 70, la automatización en las grandes empresas se generalizó a fines de los 90, y una transformación importante y compleja tuvo lugar en la década de 2000. El negocio se dio cuenta de que comprar soluciones costosas, actualizaciones interminables, mejoras y paquetes de soporte técnico era de alguna manera demasiado costoso y decidió hacer crecer a Baba Yaga en su equipo, es decir, comenzó a contratar desarrolladores que comenzaron a atender las solicitudes de TI de la empresa desde adentro, creando soluciones, que correspondía al máximo a los requisitos del negocio y no contenía demasiado. Al principio, estos eran medios separados de consultas al DBMS, sitios, facturación, portales internos, programas de trabajo para soporte de ingeniería, ahora se trata de plataformas completas en las que se desarrollan soluciones internas e incluso se lleva a cabo un desarrollo personalizado externo. Poco a poco, las empresas de TI se convirtieron en bancos, compañías financieras, aseguradoras, centros médicos, universidades e institutos de investigación, integradores de sistemas, constructores, medios de comunicación, etc.
Como resultado, hubo una gran demanda de programadores calificados, lo que, a su vez, dio lugar a una lucha inadecuada por los jefes, calentando el mercado y las expectativas salariales, y un desequilibrio interregional en la demanda de programadores. Por otro lado, el mismo proceso estimuló el desarrollo de la educación superior en el campo del desarrollo de software, el creciente interés de los estudiantes en la programación y una carrera en el desarrollo. La esfera comenzó a formarse y condensarse. Hubo una "burbuja": demanda caliente, muchos programadores débiles e incluso considerándose programadores.
Ahora hay una guerra para cada desarrollador fuerte, comenzando desde el nivel medio. Las compañías de TI eligen métodos de lucha con y sin precio, se apresuran a los extremos, aunque solo sea para encontrar a un especialista. A veces se cometen errores ofensivos y los candidatos dignos son barridos, pero no realmente: inflan sus fosas nasales y caen en posiciones altas, oprimiendo a equipos enteros.
Ingrese IT después de 20, 25, 30, 35, 45, 55 ...
Entonces, la industria de TI se ha vuelto popular, y cada uno de nosotros tiene un amigo que tiene un amigo, un programador, que "infecta 500 piezas al mes". Con un salario promedio en la región de aproximadamente 30-40,000, es fácil para un especialista con buenas competencias sucumbir a pensamientos como "bueno, iré a estudiar y recaudaré ciento y medio, eso es suficiente para mí". Y comienza la búsqueda de caminos para el sector de TI, la absorción codiciosa de los cursos en línea en el fondo escuchando, comprando libros. Muy a menudo, esto termina con esto, raramente: una persona realmente entra en la programación (más a menudo, pruebas) o cae en la esfera de TI de acuerdo con su perfil principal (alineación óptima).

No hay nada de malo en cambiar de ocupación. Además, en nuestro tiempo esto es una necesidad: algunos de nosotros ingresamos a la universidad no de acuerdo con nuestro gusto, sino de acuerdo con una directiva; algunos recibieron una especialidad que se depreció rápidamente; alguien no fue aceptado por el mercado sobresaturado. Pero debe comprender una serie de cosas importantes para no albergar ilusiones.
- Aprender a programar no es solo escuchar y mirar los cursos, no es solo leer libros, es una codificación incesante, rebajar, cometer errores, comprender, escribir todo el código usted mismo, de simple a complejo. Todos los dias
- Ingresar a TI es simple: a puestos junior, en el papel de pasantes y juniors. Subir al nivel medio es mucho más difícil, porque se encontrará con una barrera educativa, necesitará conocimiento de algoritmos, estructuras de datos, patrones, una comprensión profunda de OOP (bueno, o las características de su lenguaje no OOP), diseño, administración de proyectos de TI, etc. . Es posible dominar dicho material de los libros, pero aplicarlo en la práctica solo será posible después de un dominio gradual en la práctica.
- Te superarán los niños pequeños que, a la edad de 17 años, comenzaron a recibir educación especializada, a los 18-20 años, realizarán pasantías y realizarán tareas prácticas reales. La competencia con ellos es una cuestión de experiencia, conocimiento y dignidad.
- Debe comprender firmemente que sus líderes serán más jóvenes que usted, pero deberá obedecer y aceptar la experiencia, las recomendaciones y los comentarios. Cuando eras el jefe del departamento de marketing, y luego dejaste todo y te convertiste en un ingeniero de pruebas junior, es extremadamente difícil salir de una piel y comenzar a crecer de nuevo.
- No todas las empresas tienen salarios increíblemente altos. Para no solicitar una entrevista "bueno, 200 manos a la obra", estudie hh.ru y la investigación de My Circle, hay valores salariales bastante relevantes.
Es difícil llegar hasta el final en la programación. Diré más: la programación no tiene fin, siempre hay vectores de crecimiento horizontal y vertical, nuevas tecnologías, lenguajes, marcos, proyectos. En resumen: convertirse en programador en un año no funcionará, solo comenzará.
Educación obscena de TI
Una gran cantidad de personas que deseaban ingresar a TI crearon una demanda de educación en TI, y la demanda comenzó a satisfacer:
- servicios de formación en línea: cursos masivos abiertos, incluidos los gratuitos;
- empresas: pusieron a disposición sus universidades corporativas, donde puede obtener educación a tiempo completo, vespertina y a distancia;
- escuelas de programación - comenzaron a crecer como hongos después de la lluvia en anticipación de un grupo de estudiantes y grandes ganancias;
- Universidades: departamentos abiertos y ampliados de educación superior, desarrollaron programas especiales.
Todos estos cursos y programas de capacitación están disponibles para todas las edades. Sin embargo, en cuanto a accesibilidad, la ventaja de la mayoría de estos programas termina. Muy a menudo, el curso es una teoría + tareas + tareas, y limita en gran medida la comunicación con el maestro. De hecho, toda la responsabilidad de la capacitación recae en el futuro programador. A su vez, incluso a los 25 años y a los 35, los reflejos de los estudiantes se despiertan: para drenar y marcar. Si no hay una fuerte motivación interna y una necesidad real de capacitación, todo esto es una pérdida de tiempo y dinero, no podrá aumentar el conocimiento en la máquina.

Desafortunadamente, la mayoría de los cursos dan una corteza / certificado si pagó dinero. Y esto ya es un problema para los especialistas en recursos humanos, porque los solicitantes de empleo en repollo serio atribuyen peso a sus trozos de papel, para lo cual a menudo no hay conocimiento.
Izhprogrammers ataque
Como resultado de la capacitación en línea, cursos y conferencias de diversa calidad, el mercado está lleno de "programadores yazh": los tipos que pueden codificar pueden incluso crear algún tipo de aplicación web (el mayor problema es JS, que literalmente todos aprenden, pero PHP se unió a ellos y Python), pero no son programadores, porque no comprenden los principios del desarrollo empresarial, la organización de grandes proyectos, no tienen un estilo de código y no tienen ningún celo por la refactorización. La primera revisión del código los arroja al abismo de la desesperación: ¿cómo pueden aplastar tanto su magnífico código? Ellos estudiaron! Por dos meses enteros.
Esos tipos creen que el programador está sentado en la empresa y aserrando todo su proyecto, no son conscientes de que tienen que trabajar no solo en el módulo, sino en alguna parte discreta del módulo, y trabajar para que no sea vergonzoso comprometer su código junto con colegas. Sin embargo, tienen una ventaja significativa: son fáciles de identificar en una entrevista y toman una posición junior y educan en un entorno corporativo, o permiten que los complementos independientes corten los mercados.
En principio, en este estado incluso puedes ganar dinero, pero no puedes hacer carrera y convertirte en profesional. Debe comprender que en algún momento el límite sucederá, y tendrá que abandonar el desarrollo o profundizar sus habilidades y conocimientos.
¡Pitón en tu cuello!
Este es un problema separado de la programación moderna: todos aprenden Python, y claramente se pone al día con JavaScript en términos de popularidad entre "los que ingresan a TI después de los treinta". Python es enseñado por filólogos y especialistas en marketing, ingenieros y gerentes, economistas y abogados. Pregúntales por qué, obtienes dos respuestas: porque es simple y porque es una fecha de sainz muy bien pagada. Nuevamente, resulta un culto con un montón de mitos.

- Python no es simple: sí, tiene una buena sintaxis, una lógica clara, un código fácil de leer (bueno, si lo escribe bien), es universal y potente. El idioma es una delicia, es agradable y claro de aprender. Pero cómo se trata de bibliotecas, marcos, funciones complejas, deja de diferir en el problema de desarrollo del mismo C ++. En C ++, también es fácil escribir un programa para lanzar una bomba chirriante, y luego un puntero a un puntero a un puntero y estás muerto :-)
- Data Science y Big Data aún necesitan entrar. Sí, no hay precio para un especialista en perfiles con conocimiento de Python (el mismo filólogo con conocimiento de programación ya es el camino hacia la PNL), pero no se necesitan muchos de ellos. Los datos verdaderamente grandes están en manos de compañías grandes o especializadas; es poco probable que quieran un aprendiz optimista. Estos son bancos, proveedores de IoT, minoristas, comunicaciones, seguridad, etc. Por lo tanto, es mejor al comienzo atender la búsqueda de lugares de práctica y trabajo futuro.
- Trabajar con datos no siempre es interesante. Puede suceder que solo atienda las solicitudes de analistas o de comercio, creando cargas complejas, selecciones e informes. Aburrido, monótono, no romántico. Y ser analista también es solo el primer año de alegría, para ser honesto, luego los caballos corren en círculos.
- Cuando aprenda Python, recuerde aprender matemáticas ;-)

Sin embargo, si tuviera que recomendar un lenguaje de programación para el aprendizaje, sería C y Python, porque son animados, interesantes, variados y simples al principio (y allí se alargarán). Por cierto, no hay nada de malo en el hecho de estudiar programación: se forma el pensamiento lógico, se mejora la memoria, comienzas a pensar sin entidades innecesarias, etc.
Mayo inglés de acabado politécnico
La historia es muy similar a la anterior: todos aprenden inglés, pero pocos lo aprenden. Y esta es una seria barrera profesional. A partir de 2019, el trabajo remoto está disponible y, al tener buenas habilidades especiales, puede unirse al equipo internacional con pago en efectivo (y en realidad hasta 400-500 mil rublos, por ejemplo, en el campo de SAP, visión por computadora o datos Ciencia). Pero el nivel de lenguaje de muchos desarrolladores es realmente débil. Sin embargo, esto no impide una carrera en el desarrollo ruso, aunque la tendencia es obvia aquí; por ejemplo, por segundo año ya, todo el DevFest en Nizhny Novgorod se celebró en inglés sin sincronizar, y los informes son realmente valiosos.
- Si usted es un programador o un futuro programador, lo diré con seguridad: el idioma necesita ser aprendido y aprendido. Por qué
- Los mejores materiales en la mayoría de las tecnologías se leen mejor en el original.
- Los mejores hablantes, hablantes y expertos pueden ser rusos (hindúes, chinos, alemanes y checos), pero hablan inglés.
- Hay muchos recursos excelentes en Internet (como Habr), que tienen muchas discusiones interesantes en inglés.
- Podrá unirse a cualquier equipo internacional, trabajar de forma remota y vivir en una ciudad rusa por un salario europeo (bueno, o emigrar, depende de las oportunidades y el deseo, esta no es siempre la mejor manera).
- El inglés es el idioma de los proyectos de código abierto. Si eres colaborador o autor, podrás trabajar y crecer de forma increíblemente más productiva.

Cómo y dónde enseñar depende de las capacidades de cada uno de nosotros. Desde mi propia experiencia, puedo decir que la mejor opción es una escuela de idiomas fuera de línea + autoeducación y práctica continua, lo peor: en línea y "readaptación" en la universidad.
El show debe continuar
Los programadores necesitan ser atraídos y cazados. Entonces, haremos un espectáculo para que todo se vea lo más espectacular posible. De hecho, grupos enteros de personas han trabajado y están trabajando para crear la mayor cantidad de exageraciones y sonajas posibles: oficinas de lujo con juegos y diseños únicos, ruidosos festivales de conferencias, reuniones con una montaña de regalos, viajes corporativos, paquetes de bienvenida, evangelistas extrañamente geniales y otro Todos estos son elementos del espectáculo, que deberían atraer a un futuro especialista. Bueno, si hay algo detrás de ellos, peor si no. HR y PR formaron los atributos del culto que se discutió al principio. ¿Por qué no está aquí?
- El costo de los eventos está aumentando: entradas para conferencias, reuniones con los principales expertos, etc. Todo el entorno (además de la organización y el equipo técnico) cuesta mucho dinero a los organizadores, pero también debe permanecer en el negro. Dichos boletos están disponibles para las empresas, pero pueden ser demasiado para aquellos que realmente se benefician del contenido de los participantes.
- Aparece una capa de "asistentes a la fiesta de TI": ese grupo de visitantes que vienen por el bien de conocidos, ambiente y "nishtyachki". Diluyen al público especializado y crean la impresión de demanda de entretenimiento.
- Los participantes aportan contenido costoso a una conferencia costosa: hablan sobre lo geniales que son y resuelven un problema poco realista. Al mismo tiempo, la sala solo tiene que asentir y admirar, pero no es posible hacer ningún uso real, aunque se esperan algunas cosas prácticas de la conferencia que pueden arrastrarse a la producción.
Diré de inmediato: yo mismo salí y salí de las conferencias con la boca abierta y les dije a mis amigos qué era una orquesta genial, divertidos sets de DJ y un recuerdo genial. Pero después de un par de días, esta emoción se calma y el regusto del sobrepago por el oropel permanece. Bueno, es como si compraras miel en un frasco de barril y pagaste demasiado para empacar: la miel es útil, pero el frasco está inactivo, el placer fue solo al momento de la compra.
Las oficinas son una conversación separada y muy controvertida. Alguien dice que todo está bien, alguien que lo distrae a todos. Está claro que el objetivo principal es hacer que la oficina sea tan cómoda que sería deseable vivir en ella, quedarse, procesar y disfrutar de la oportunidad de permanecer más tiempo. Pero a menudo lo principal se pierde detrás del entorno: por ejemplo, el espacio abierto en la oficina más lujosa sigue siendo difícil de trabajar, espacio abierto en un departamento en dos pisos, inconveniente para la colaboración, etc. La ergonomía debe estar en los lugares de trabajo, no en las paredes de la oficina.
Decimos "programador", significa "introvertido"
Un mito que mima a muchos profesionales jóvenes y los vuelve a poner en sus carreras. Disfrutan de su introversión y resuelven tareas de trabajo, mientras que para el crecimiento profesional también necesitan habilidades de comunicación, trabajo en equipo, conocimiento de los principios de gestión de personal, etc. Por lo tanto, no es raro que los profesionales y los gerentes de proyecto obtengan súper comunicadores, sino súper comunicadores. No es el hecho de que esto sea malo, la traducción del mito en sí es mala, lo que lleva al programador novato a algún tipo de marco de imagen.

Un consejo: sé tú mismo, sé moderado, defiende tu punto de vista y respeta los de los demás.
¿Los programadores morirán pronto?
Puede escuchar opiniones de que la inteligencia artificial está a punto de reemplazar a los desarrolladores, los robots codificarán y la programación desaparecerá como una forma de actividad humana. En el futuro cercano, es poco probable que esto suceda: en primer lugar, porque alguien tiene que desarrollar inteligencia artificial, y en segundo lugar, la programación no es solo código, es un trabajo intelectual complejo sobre requisitos de procesamiento, algoritmos y lógica. Hasta ahora está sujeto solo al cerebro humano.
No se sabe cómo se está transformando el trabajo del programador, pero está claro que los estudiantes de primer año actuales no se quedarán sin trabajo: se enfrentarán a las tareas de AR / VR, IoT y la buena y antigua empresa con Legacy :-) Skynet aún no ha llegado.
¿A quién felicitar hoy?
Los programadores son personas que transfieren nuestros requisitos, deseos y, a veces, declaraciones confusas en un código de trabajo coherente. Codifican apasionadamente, cubren código con pruebas, se comprometen e implementan, dominan DevOps, cambian la pila y constantemente aprenden a ser mejores, más modernos y más eficientes. Pueden trabajar 12 horas y luego pasar de contrabando a un gran proyecto de código abierto, que tiene demanda en todo el mundo. Crean programas corporativos, aplicaciones, servicios, juegos, cerebros de nuestros gadgets favoritos. Cambian el mundo a través de su código.
Por lo tanto, felicitaciones a todos los programadores, dejemos que la cabeza sea siempre brillante, que los pensamientos sean rápidos, que la PC sea confiable, que IDE sea conveniente y que los clientes de código sean adecuados y sobrios.
Errores, hechizo y control de fuente!
Aprovecho esta oportunidad para felicitar a mi amado equipo: el equipo de desarrollo del escritorio RegionSoft CRM y el sencillo soporte de ZEDLine de la mesa de ayuda en la nube. Siga adelante y no mire hacia atrás; a veces, yo mismo estoy sorprendido por su productividad y velocidad de trabajo. Sigan así :-)