emile-perron / Unsplash
Soy un periodista experimentado, editor y aspirante a desarrollador (JS, nodo). Si me hubieran dicho hace nueve meses que trabajaría como técnico y devrel en una empresa rusa de TI, y que me lanzaría de lleno al desarrollo de software con varios cientos de los desarrolladores más fuertes, no lo habría creído.
Aquí quiero contarles cómo pasé de la esfera de los medios a la tecnología de la información, dar consejos a aquellos que están planeando entrar en desarrollo y compartir recursos con aquellos que son nuevos en la programación como yo.
Por que quise cambiar de profesión
En el otoño de 2019, mi oficina editorial fue despedida repentinamente y se abrió un horizonte de oportunidad ante mí.
Ya había demasiado diseño y marketing en mi vida. Durante los 20 años de mi carrera, he escrito sobre tecnologías de impresión y publicación en ComputerPress Publishing House, trabajé para la antes mejor editorial Independent Media, donde hice medios de marca para las principales marcas y la revista de yoga más genial, publiqué un boletín académico en HSE, trabajé en nuevas empresas de medios de moda, logró cocinar en SUP-Media y dirigió sólidas oficinas editoriales.
Pero el entusiasmo por los productos impresos y los proyectos de medios desapareció gradualmente: la circulación del papel disminuyó, las empresas emergentes de medios se cerraron o se convirtieron en automóviles de tráfico, la dependencia de los presupuestos publicitarios causó depresión.
Yo quería algo más:
- , . — .
- . IT .
- , . , .
- . . , , reddit.
- . , , IT .
- . , — . .
// $$$ , IT. . - , .
— 80 . 80 , .
, UX-, , , - . //
Aquí escribiré una secuencia de acciones que en mi opinión es más efectiva para sumarse al desarrollo. Preste mucha atención a la elección de los cursos y al formato de la formación, de lo contrario puede perder tiempo y dinero.
Como no hacer
IT — (200+ 12 ). , . , . , . . — .
Y consideremos cómo hacerlo.
Cómo elegir idioma y dirección
goran-ivos / Unsplash
Decida qué desea programar y en qué entorno. Pero no debes quedarte atrapado en la elección durante mucho tiempo. Sea cual sea el idioma que elijas, un abismo se abrirá ante ti. Y si pasas unas horas todos los días estudiando, el abismo no disminuirá.
Con cada tarea volverás a caer en el abismo de la ignorancia y la incomprensión. Este es el estado normal del desarrollador: sin saber algo, solo necesita acostumbrarse. Continúe tranquilamente en Google todo lo que le plantee preguntas.
Vea el video sobre desarrollo. Obviamente, el desarrollo no se trata solo de codificación. Mire y escuche de qué hablan los blogueros desarrolladores y cómo. Esto le ayudará a sumergirse en el entorno y a familiarizarse con los peligros de la profesión.
// . 0. , , . , .
IT- : (IT-) , .
Hay enlaces a cada uno de estos chicos en el video de Beard. Vea a todos para entender quién y qué le gusta más. Esto también debería ayudarlo a despegar frente a las infinitas opciones y la necesidad de elegir. //
Escuche podcasts. Mi top 5 personal hasta ahora (enlaces de ApplePodcasts):
Bueno, aquí está la mejor selección con podcasts de TI y descripciones detalladas, donde está mi top, incluso con enlaces a diferentes plataformas.
Leer libros sobre programación. Recomiendo comenzar con libros de Robert Martin, escritor y desarrollador, autor del principio SOLID. Le ayudarán a comprender la arquitectura, la cultura y la filosofía de la programación. Ninguna entrevista se lleva a cabo sin conocimientos teóricos. El conocimiento de la teoría es la ley de acceso a la profesión y la garantía de crecimiento en la misma.
Lea los textos sobre los recursos adecuados.Si ya está leyendo este texto sobre este recurso, entonces está en el proceso de entrar en desarrollo. Y también Tproger, vc.ru, la revista "Code" y las infinitas extensiones de Medium para ayudarte. La plataforma Medium me ayuda a resolver problemas específicos, gracias a blogueros-programadores extranjeros a quienes les gusta hacer tutoriales sensatos con código.
Como desarrollador de js, también me ayudan los recursos de MDN , el blog StackOverflow, que incluye learnJavaScript , Metanit , Telegram y YouTube del desarrollador Vladilen Minin.
Aprende inglés.Si aún no lo ha hecho. La mayor parte de la información que necesita para resolver problemas está escrita en inglés. Bucear en el desarrollo sin saber inglés será largo y doloroso.
Sentí sinceramente pena por los chicos que vinieron al novato intensivo sin inglés. Ellos, a su vez, sintieron pena por mí, al ver lo aburrida que era. La programación en pareja en esta situación siempre ha tenido éxito.
Búscate un tutor. Mentor, mentor, tutor, coach: puede llamarlo como quieras. Una persona viva te ayudará con las respuestas a las preguntas más estúpidas, y no te avergonzarás de hacerlas, porque ese es su trabajo.
Un mentor lo ayudará a aprender cómo resolver problemas y establecer el pensamiento, o al menos lo ayudará a determinar la dirección y le enseñará cómo dar los primeros pasos para resolver problemas. Pero qué podemos ocultar, el mentor te enseñará cómo buscar en google, porque al principio ni siquiera entenderás qué escribir en la barra de búsqueda de tu navegador.
Cómo elegir un mentor
adi-goldstein / Unsplash
Busque a su mentor. Adecuado para ti. Si no entiendes lo que te están explicando, todo está bien contigo, es solo que esta persona no te conviene y su pensamiento no está cerca de ti. Sí, encontrar a tu mentor es una tarea que puede que no se resuelva la primera vez. Por cierto, estoy buscando un mentor (js, node, react, también puedes ir).
Huye de aquellos que dicen que tienes un cerebro humanitario y que el desarrollo no es para ti. Este es un desarrollador que no puede explicar, sin capacidad pedagógica y un PSI inestable. Aprendes y en esta etapa dictas las reglas: quién y cómo escuchar.
Huye de los que llaman a Apple una técnica de cocina- Ante ti hay un viejo de bajo nivel, en el mal sentido, y sus profesores eran sexistas a los que les gustaba jugar a apple / microsoft holivar. Es importante comprender para qué se necesita una técnica y utilizarla de acuerdo con el propósito.
No se cuelgue de un mentor. Un mentor lo ayuda a establecer su mentalidad, pero no debe ni puede convertirse en un clon de su guía. Un problema de programación se puede resolver de muchas formas. No existe una única solución adecuada en la programación.
Siempre hay varios, porque la programación es un proceso de pensamiento complejo y no una reproducción de fórmulas matemáticas (no hablaremos aquí de fragmentos de código terminado). Asegúrese de utilizar diferentes fuentes y formatos para el bombeo.
Cómo bombearse
timothy-dykes / Unsplash
Encuentra un youtuber cuyos tutoriales te gusten codificar , o mejor algunos y repite después de ellos. Desarrolle la memoria muscular con listas de tareas pendientes, calendarios, aplicaciones meteorológicas y presupuesto doméstico.
Este tipo de copiar y pegar junto con un programador de habla inglesa también mejora su idioma. Solo tenga en cuenta que el código indio a menudo no funciona y puede ser doloroso. Bueno, el acento indio es muy divertido.
Publique sus soluciones de codewars para usted mismo en github. Y sí, resuelve problemas en codewars. Y sí, crea una cuenta en github.
Compra un segundo monitor . Es cómodo.
Comprometer proyectos estrella en github . Se le acreditará (pero esto no es seguro).
Habla con el pato. No ignoresMétodo del patito para resolver el problema. Realmente ayuda.
Resista la tentación de pagar muchas tasas de matrícula . Todo está en Internet, tiene sentido pagar de más personalmente a su tutor / mentor / mentor si sus explicaciones le van bien.
Después de varios meses de tal vida y de dedicar al menos dos horas diarias a la programación, tiene sentido hacer cursos intensivos, pero puedes conseguir inmediatamente un trabajo como becario o un junio en una empresa y empezar a solucionar problemas con entrevistas.
Cómo elegir cursos
Después de hacer los ejercicios anteriores durante varios meses, pasará bastante por junio, si ya tiene sus propios proyectos en su cartera en github y cierto nivel de bombeo en codewars. Pero en esta etapa, existe un alto riesgo de contraer el síndrome del impostor.
Esta no es una enfermedad tan rara en TI. Los cursos intensivos (y no tanto) ayudarán a hacer frente a él, así como a otras incertidumbres. Mientras te preparas para los cursos, probablemente ya podrás ahorrar tanto para entrenamiento como para un airbag que te ayudará mientras estudias y buscas trabajo.
Con los antecedentes que acabo de describir, serás Yoda en los cursos intensivos para principiantes. Pero si explica mal o no le gusta hacerlo, los que no saben lo que ya saben lo enfurecen, entonces es poco probable que los cursos intensivos lleguen a usted. Porque en la programación en pareja y en grupo, serás un personaje demasiado tóxico.
Los cursos son buenos porque los principiantes pueden intercambiar conocimientos y mejorar sus habilidades; los más experimentados, quienes, a su vez, mejoran sus habilidades para explicar y transferir conocimientos.
Por cierto, en los cursos puedes comprender qué tipo de jugador de equipo eres y qué tan buenas son tus habilidades blandas. Este es un conocimiento muy importante, porque la codificación es solo una pequeña parte del desarrollo y quizás la más agradable para algunos. La mayor parte de los procesos de TI se basa en la interacción entre personas, la capacidad de negociar y trabajar en equipo.
Al elegir cursos, observe:
El programa. Preste atención a la pila de tecnología, pida ver las tareas reales que realizan los estudiantes. Es poco probable que disfrutes de 10 semanas de tic-tac-toe en una terminal si fuiste a estudiar como desarrollador comercial. Y pensaron en comenzar inmediatamente a trabajar en alguna corporación de TI para junio. Pregunte por al menos algunos problemas, es poco probable que se le muestre el plan de estudios completo.
Material educativo. Para que no te enfrentes a los problemas de hace cinco años, escrito en ruso pobre y con un nivel bajo de visualización, pide familiarizarte con el material de formación. Debería gustarle.
Mire cómo se le presenta la información como estudiante. No debería tener la sensación de que ve las instrucciones para una aspiradora china de alik frente a usted cuando lee la descripción del problema.
De lo contrario, mantendrá una baja cultura de enseñanza de programación y redacción técnica. Los autores de las curvas de las descripciones de las tareas pueden poner excusas de que será aún peor en el trabajo, no te dejes engañar por estas cosas podridas. Necesitas un trabajo genial.
Experiencia de los profesores. Solicite un video donde el instructor explique algo. Google todos los instructores. Esto te ayudará a comprender mejor si te visitan o no. Porque son estas personas las que te abrirán los ojos a cómo se organiza un universo completamente nuevo para ti.
Descubra dónde han trabajado los instructores y qué experiencia tienen en desarrollo. Es poco probable que un profesor que ha trabajado como programador en un banco toda su vida lo prepare para trabajar como subcontratista de front-end con clientes comerciales que desean aplicaciones hermosas y rápidas (pero esto no es seguro).
Revisión de código. Pida a los gerentes que averigüen cómo van las revisiones. Descubrí que tengo una revisión una vez a la semana, y lo que es, solo en la tercera semana de entrenamiento. En la revisión, el profesor prefirió hablar de algo abstracto, por ejemplo, para discutir cuánto nos sacamos de la programación de pares aleatorios. No hubo discusión sobre el código en absoluto.
Y a partir de esto, la frustración solo aumentó. Parecía que mi código era tan malo que ni siquiera tenía sentido discutirlo. En medio de mis estudios, este maestro literalmente se cambió los zapatos en el aire y dejó la enseñanza como un gurú de las prácticas esotéricas.
Desafortunadamente, hoy en día, en ninguna parte ni a nadie se le enseña cómo enseñar programación de aplicaciones en poco tiempo. Por lo tanto, busque y elija a su mentor con quien personalmente se sienta cómodo al comprender el arte de la codificación.
Proyectos reales de alumnos. Solicite proyectos reales de alumnos y divida la información recibida por dos. Siempre se muestran los mejores proyectos, pero no es un hecho que te encuentres en el mejor equipo de la corriente.
Proceso organizativo.Es muy bueno si los cursos crean un ambiente real de la jornada laboral de un programador en una buena compañía: la mañana comienza con un stand-up, hay programación en pareja y en grupo, una revisión (normal), un enfoque ágil. Esto lo ayudará a integrarse rápidamente en el flujo de trabajo en el nuevo lugar de trabajo.
Permítanme resumir los primeros pasos para entrar en desarrollo:
- Si decide pasar al desarrollo y la programación desde cualquier otra área, tenga en cuenta que tendrá que dominar mucho por su cuenta.
- Si decides ir a estudiar, debes saber que no debes esperar la memorización habitual del material como en la escuela del aprendizaje. Incluso si pagas mucho.
- — . , . -, , , . , . , , .
- — , . . , .
- , . , .
- - . .