Profesión: Programador. No todo esta claro

Escribimos sobre front-end y back-end , sobre desarrollo y pruebas móvilespero estos fueron casos especiales. Cuando una persona llega a la primera o la siguiente profesión, rara vez dice que se convertirá en un desarrollador para iOS o un proctólogo, por regla general, esto suena como un "programador" y un "médico". La especialización viene después, con experiencia. Pero para afirmar con firmeza que desea convertirse en programador, médico, arquitecto, geólogo, etc., debe deshacerse de la romantización de la profesión y abordarla de manera sensata y significativa. Incluso si de repente decidiste convertirte en programador para "ingresar a la TI después de los 35". Si hablamos de programadores desde el punto de vista del romance, se trata de personas que convierten nuestras ideas en código y hacen que la vida sea mejor, más fácil y más conveniente. Para decirlo sin rodeos, el trabajo de un programador es un trabajo tenso, a menudo de rutina, con muchos pros y contras. Hablaremos de esto.

Artista - Nadezhda Kotkina, posó - cyber_roach

¿Quién es?


El término "programador" puede ocultar programadores de perfil estrecho, desarrolladores de software, ingenieros, analistas de sistemas, etc. Sin embargo, todos los programadores tienen una cosa en común: la capacidad de incluir los requisitos humanos en el código de la máquina para hacer que el trabajo o el entretenimiento sea automático, conveniente y simple. El programador crea instrucciones para la computadora, como resultado de la ejecución de estas instrucciones, se obtiene algún tipo de resultado objetivo. 

Debes pensar si eres un futuro programador, si ...

... tu motivación viene de adentro, te gusta el proceso de controlar una computadora, quieres no solo usar un programa (juego, aplicación), sino también saber cómo funciona, modificarlo.

... no esperas ingresos locos y no piensas que la programación es un nuevo rock and roll, principalmente el deseo de crear magia: convertir ideas en código.

... sabes cómo mejorar cualquier programa, cualquier sitio, cualquier aplicación móvil. Sabes exactamente lo que quieres del programa y quieres aprender a hacer un código perfecto.

¿Dónde se necesita?


Hoy, los programadores son necesarios en todas partes y no creo que esta tendencia cambie en los próximos 10-15 años. Se necesitan programadores en la industria, la ciencia, el espacio, los negocios, la medicina, el transporte e incluso no en las empresas de TI (bromeando con bromas, ¿sabes lo difícil que es encontrar un gran programador o desarrollador de 1C para una tienda en línea en 1C-Bitrix?!). En general, incluso en el instituto de la iglesia y la caridad hay una demanda de programadores. Y esto es genial, porque no solo puedes elegir la profesión de programador, sino también relacionarlo con tu pasatiempo: química, biología, mecánica, comunicaciones e incluso historia y lingüística. Además, si combina las habilidades de desarrollo de software y los conceptos básicos del negocio principal, su precio de mercado aumentará enormemente y la competencia cambiará.

Por lo tanto, debe comprender no tanto dónde trabajar, sino cuánto del desarrollo está más cerca de usted.

  • — (, , , , IoT ..). .
  • - ( ) — - , , - . WEB, .
  • — , . , , .
  • — , , — (, , ..). .
  • , — , . , , . , COVID-19, :-)
  • ( ) — , . , . 
  • DevOps/DevSecOps — , . « , », DevOps , .
  • El negocio de desarrollo y software aplicado es un mundo de desarrollo separado en el que puede escribir un escritorio en Delphi y ganar millones, conocer COBOL y ser el especialista más atractivo del mercado, explorar Java y asumir los roles principales en la comunidad, etc. Esta es una ruta de desarrollo arriesgada, principalmente para desarrolladores experimentados, pero si te enamoras de C / C ++ / Java o algún tipo de "latín de la programación", ¿por qué no? 

Una vez más, enumero las áreas principales, pero de hecho, en su interfaz, se forman nuevas áreas prometedoras, por ejemplo, procesamiento de lenguaje natural (PNL), AR / VR, desarrollo de juegos, automatización de pruebas, etc. 

Es importante entender otra división.

  1. - , , , , UI/UX .. , ( ?:-))
  2. -- , : , CRM, ERP, , , , -, 1 .. , , - , , . 

En el curso de la programación de enseñanza, seguramente se familiarizará con todas las áreas y tareas un poco, por lo tanto, literalmente seis meses después del inicio de la capacitación, tendrá una idea de a qué lado se moverá. Por ejemplo, tengo un amigo que no quería hacer nada más que lo relacionado con el relleno de software de los lectores. Como resultado, pasó a Barnes & Noble, trabajó con proyectos de Google y ahora trabaja en China (está satisfecho, saludable y es fanático de la vida en el país). Cada uno tiene su propio camino.

Requisitos profesionales básicos


Escribir código en sí mismo no es la tarea más difícil, es mucho más difícil comprender los requisitos, interpretarlos y traducirlos a un lenguaje amigable para las máquinas. Trabajar con el cliente del código (aquí nos referimos al cliente, colegas, empleadores, etc.) siempre son nervios y aventuras, porque ellos mismos no saben lo que quieren, piensan de manera simplista y consideran que la tecnología es omnipotente. Pero si finge ser un programador profesional, necesita no solo fruncir el ceño en las teclas, sino también trabajar activamente con las personas, con tareas técnicas, requisitos, etc. Esto distingue al programador de un codificador simple. 

  • Pensamiento crítico: la capacidad de resaltar lo principal en los requisitos, acercarse a su propio código y al código de otra persona en términos de optimización y mejora continua; habilidades para encontrar las mejores formas de resolver problemas.
  • — . , , . — .

  • , , — , . , « », .
  • — , . , ?! , ! , , , , , . , , - . , , 00:09, + ;-)
  • — , . , , . 

  • — , , code style .
  • — . , , SDK, API, . — 6-12 .
  • — , , , . , -, ( , ). , , . 

Te insto a que no creas en los cuentos de hadas sobre programadores introvertidos. Si quieres crecer en programación, entonces aleja a tu introvertido. Si quiere ser introvertido, rápidamente se encontrará con el techo del desarrollo profesional, porque la comunicación aún es necesaria en las actividades del desarrollador. Incluso en un sitio remoto, tendrá que comunicarse con colegas, participar en manifestaciones, retrospectivas y debates. 

La necesidad de conocimiento de lenguas extranjeras.


¿Es posible prescindir del desarrollo del conocimiento de un idioma extranjero (en particular inglés)? Lata. Es suficiente para aprender la sintaxis y las palabras de un lenguaje de programación, puede pensar y comunicarse exclusivamente en ruso. La ignorancia del idioma no será un obstáculo para el crecimiento profesional, el desarrollo y las comunicaciones en tantas empresas. 

Sin embargo, ¿qué da conocimiento de un idioma extranjero?

  • . , ( ).
  • .
  • , , , .. , .
  • .
  • -.
  • .

Hubo muchas discusiones sobre Habré sobre un nivel suficiente y cómodo de dominio del inglés para trabajar en la industria de TI. En mi opinión, para no ser sordo y tonto, necesita un mínimo de Intermedio superior o Intermedio con un habla activa (por ejemplo, es bueno en gramática, pero tiene un buen nivel de lenguaje en el plan de estudios, en la comunicación personal o en una pasantía).

Donde estudiar


En las universidades rusas modernas hay muchas especialidades de programadores, hay programas de pregrado y posgrado, hay formatos de educación adicionales. Si todavía está eligiendo su universidad, entonces, por supuesto, vale la pena ir a una facultad especial, o a física, matemáticas y otras especialidades técnicas.

Si necesita programar como herramienta auxiliar para su especialidad principal, busque una opción adyacente (como la cibernética médica y la informática), o estudie en paralelo con la especialización principal.

Si ya tienes una educación, entonces para ti hay autoeducación, varios cursos, escuelas en línea, universidades corporativas, etc. Puede aprender a programar con estas herramientas de aprendizaje, ya sea de forma completamente independiente o incluso con un mentor.Puedes leer sobre educación adicional aquí .


Llamo su atención especial: la educación superior sigue siendo importante, porque es importante para el empleador, es necesaria cuando se muda a otro país, y también proporciona la base, la base, que nos permitirá desarrollarnos rápidamente en cualquier dirección nueva.

Además, no es tan importante qué lenguaje de programación aprende, qué tan importante es que sepa sobre matemáticas, algoritmos, computación, administración de redes y servidores, principios de redes, pilas, etc. Y esta base no es mala en las universidades. 

Libros principales y herramientas de aprendizaje


Cada especialidad tiene su propio conjunto de libros y recursos para capacitación, pero hay cosas que todos deberían leer.

  • El arte de la programación, Donald Knuth
  • Las perlas de la programación, John Bentley
  • « »,
  • « . , », .
  • «. », .
  • « . Ebay?»,
  • « », .
  • « . »,
  • «. »,
  • « »,
  • « . »,
  • « -»,
  • «-. », ,

Estos libros no solo contienen conocimientos prácticamente útiles, sino que también motivan, dan forma fría al pensamiento y la visión del mundo del programador. Y te insto: leer, leer desarrolla tu pensamiento, memoria y te hace invencible en cualquier entrevista.

De tus recursos favoritos:

  • Codecademy es una plataforma interactiva universal para la enseñanza de lenguajes de programación. Licks, logros, gamificación son todos motivación.
  • Udacity es un recurso en inglés para aprender a programar.
  • Codewars es una gran colección de tareas de prueba para capacitar habilidades en cualquier lenguaje de programación.
  • Coursera - sin comentarios, solo la mejor conferencia "batiburrillo".
  • MIT OpenCourseware es un mar de cursos del Instituto de Tecnología de Massachusetts.

Aquí hay una buena descripción de los cursos compilados por otro autor, más detalles sobre los cursos de idioma ruso. 

Otra gran y fresca selección de útiles en línea para programadores.

Consejo: incluso si a veces es demasiado flojo para estudiar, escuche las conferencias al menos en segundo plano, para sumergirse en la terminología, preste atención a algunos momentos imperceptibles durante el estudio intensivo.


Mitos de la profesion


Hay muchos mitos y rumores sobre los programadores: sobre el carácter, la grosería, la incapacidad para construir una vida personal, etc. Pero estos son casos especiales que se pueden encontrar en la profesión. Por ejemplo, en un momento estuve cerca del campo de la medicina y puedo decir que también hay muchas mujeres casadas en el trabajo y casadas en el trabajo, muchos introvertidos y groseros, pero muchachos profesionales (más bien, drogados). Y, en general, es difícil imaginar el "enclave" de la felicidad en un área en particular.


Y si el programador también es un jugador ... Siempre puedes encontrar una pareja ;-)

Por lo tanto, analizaré los cuatro mitos más populares.

  1. . . , - , , , . , , — , , . 500 . , . « » «» , . , : . 
  2. . , . , , , , , , , - , . , . , , ( !), , , , , , — , , , .
  3. . , . , , CTO, CIO .. . 
  4. . . ? ;-)


Si está aprendiendo a ser programador, un día definitivamente querrá dejarlo todo, porque el camino parecerá demasiado largo. Te cansarás de las monótonas tareas de entrenamiento, cada compilación fallida causará una desesperación aburrida y dolorosa, soñarás con punteros, recursiones y principios OOP (bueno, o llamadas de función fallidas). Todo este alboroto parecerá una locura, no solo por su primer proyecto independiente, sino también por la primera fusión corporativa ... 

El deseo de renunciar es la primera señal de que está yendo por el camino correcto, de que está realmente tenso y no hace malabares con algún código usando el método de copiar y pegar de Google (¡Ni siquiera con GitHub!). Solo cuando esté tan capacitado en tareas simples que se vuelvan desagradablemente aburridas para usted, puede pasar con confianza a una nueva etapa con una excelente base de conocimientos. 

El consejo es simple: no lo deje caer. Tómese un descanso, duerma con estos pensamientos, deje de entrenar por una semana y regrese. Usted mismo no notará cómo algo "hace clic" en su cabeza y todo encaja y aquí está, la primera combinación, el primer código de revisión, el primer compromiso de código abierto, el primer rendimiento en la reunión, su proyecto favorito, las primeras tareas en Postes medios. No te detengas, ¡todo estará bien!


All Articles