Existem muitas maneiras - como encontrar o seu?
O herói deste artigo, Roman Mayer, recebeu uma educação em artes liberais e chegou a TI de áreas completamente diferentes. Ele desenvolveu seu próprio negócio, trabalhou como gerente de vendas, era advogado e, aos 28 anos, percebeu que ainda não havia encontrado um emprego dos sonhos e que estava na hora de aprender algo novo. Ele contou por que decidiu ir para a TI, como estudou programação e que dificuldades encontrou em um novo campo para si mesmo.
Se você tem amigos que também querem começar a programar, mas não sabem por onde começar ou estão preocupados com a possibilidade de que tudo dê errado, compartilhe esta postagem com eles. Se você se esforçar, tudo vai acabar, e a história de Roman é um exemplo.

Sua empresa e seu trabalho na especialidade
Estudei na faculdade de direito e, ao mesmo tempo, no meu terceiro ano, em uma escola de negócios. Havia muita teoria e prática na criação e desenvolvimento de um negócio. Naquela época, eu ainda estava interessado em literatura sobre eficácia pessoal e psicologia - livros de Stephen Covey, Eric Burn, e li as histórias de bilionários famosos: Richard Branson, Warren Buffett, Bill Gates. Inspirado nos livros e no que foi contado nos cursos, pensei que qualquer tarefa dependesse de mim.
Tive a ideia de começar meu próprio negócio, tirei uma licença acadêmica na universidade e abri uma agência de viagens. Eu era diretor, mas - como a empresa era muito pequena, de um a três funcionários em momentos diferentes - fiz tudo seguidamente. Ele vendeu passeios, ensinou seus subordinados, refletiu sobre uma política de marketing, preparou relatórios fiscais e resolveu questões legais.
Em algum momento, comecei a me sentir decepcionado. No começo, pensei em estabelecer processos rapidamente e só pediria dinheiro. Acontece que isso não funciona: muitas vezes você precisa dedicar noites ou até fins de semana aos seus negócios. Além disso, os resultados financeiros não foram tão impressionantes quanto eu esperava. A agência sempre obteve lucro, mas eu nunca soube o que aconteceria em um mês - que cataclismos aconteceriam em qual país - e quão bem-sucedidas as vendas seriam. Como resultado, tendo adquirido uma boa experiência, tendo formado uma base de clientes, tendo crescido vários funcionários, vendi a agência e retornei à universidade.
Jurisprudência realmente não me interessava. Concluí as tarefas com sucesso, mas isso não me "iluminou". Além disso, vendo salários de advogados em locais de trabalho, achei que as perspectivas não eram muito boas. Portanto, não queria trabalhar na minha especialidade e, depois de defender meu diploma, comecei a procurar um emprego que me convinha.
Fui imediatamente oferecido para me tornar um especialista em vendas de produtos para empréstimos em um grande banco e prometi um bom salário. Eu sabia que gosto de conversar e, se realmente gosto de algo, posso falar sobre isso com prazer. Então eu concordei. Os empréstimos eram muito lucrativos para os clientes e eu os vendi com sucesso. Gostei desse trabalho. Certa vez, cheguei ao terceiro lugar em termos de vendas entre todos os funcionários das agências russas do banco.
Depois de algum tempo, as condições mudaram, os empréstimos subiram de preço e eu precisava não apenas apresentar o produto, mas manipular as pessoas para comprá-lo. Eu não gosto disso. Então percebi que esse trabalho também não é para mim.
Eu não sabia o que fazer a seguir, o estado estava deprimido. E de repente um colega de classe, com quem estudamos na faculdade de direito, se ofereceu para trabalhar na minha especialidade. Eu não tinha ideia de para onde ir e decidi tentar - vou gostar de repente. Durante quatro anos fui advogado. Durante esse período, ele trabalhou em vários campos - em uma empresa de administração, em publicidade, aluguel de imóveis, construção.
Talvez eu tenha me encontrado com empresas malsucedidas, ou talvez o ponto esteja na minha percepção - mas percebi que esse trabalho também não combina comigo. Basicamente, tive que lidar com trabalho contratual, quase sempre em pouco tempo, e casos judiciais interessantes raramente foram encontrados. Dado que o mercado de advogados é super saturado e os salários são pequenos, pensei que era hora de mudar o escopo da atividade.
Como eu liguei o caminho de TI
Talvez eu me tornasse um programador muito antes. Na oitava série, escolhi um perfil técnico e fui para a aula de matemática: pensei que tinha uma queda por isso. Estudei bem, mas a carga era pesada e estava muito cansada. Uma vez discutimos isso com nossos pais e chegamos à conclusão de que os engenheiros não são tão procurados quanto advogados e economistas. Então mudei para a classe humanitária e entrei no orçamento da faculdade de direito. Mas eu sempre gostei de matemática e ciências da computação.
Eu tenho alguns colegas programadores. Um dos meus amigos, sem formação especializada, aprendeu a programar e se tornou um desenvolvedor de sucesso - ele cria sistemas distribuídos complexos. Fiquei muito inspirado pela história dele. Eu entendi que isso era real, e não em uma base altíssima. Quando trabalhei como advogado, meus colegas disseram que eu era bom na criação de sistemas (por exemplo, para distribuir trabalho entre funcionários). Eu pensei que não estava tão longe do desenvolvimento, e esse trabalho foi fácil para mim. Eu tinha o pensamento: "Por que não aprender a programar também?" Então eu ainda trabalhava como advogado, mas senti que era hora de mudar alguma coisa.
O trabalho em TI me pareceu mais confortável. Programação flexível, sem código de vestimenta - todo mundo usa jeans e camisetas, muitas guloseimas - no sentido literal e figurativo, salários atraentes e a demanda por especialistas está em constante crescimento.
Comecei a cavar, que tipo de desenvolvimento está mais próximo de mim - back-end ou front-end. Em reuniões amigáveis, havia muita conversa sobre programação, e eu já entendia um pouco o que era o quê. Percebi que quero escrever um back-end. Eu li quais idiomas são populares e decidi aprender Java.
Programação a partir do zero
Comecei a procurar cursos na Internet e me deparei com o JavaRush - eles ensinam desenvolvimento a partir do zero. Comecei a fazer este curso e trabalhei em paralelo.
No começo do caminho, era difícil para mim pensar em abstrações, criar uma nova lógica. Demorou muito tempo. Às vezes, durante vários dias, pensei nas tarefas que eram dadas nos cursos.
Comecei com programas elementares - um dos primeiros que escrevi poderia se comunicar com o usuário. Ela exibiu o texto, eu escolhi o que responder e o programa estruturou seu trabalho dependendo da minha resposta.
Lembro-me de como criei o primeiro aplicativo multithread. Foi legal entender que uma lógica é implementada em um encadeamento, a outra em outro, eles interagem e tudo funciona.
Seis meses após o início dos cursos, percebi que queria me concentrar no desenvolvimento e deixei o emprego. Fiquei preocupado: tinha 28 anos, abandonei minha carreira jurídica e não sabia o que estava por vir. Eu queria aprender Java o mais rápido possível. Mas quando há essa pressão interna - você precisa se apressar, o tempo está se esgotando - fica mais difícil aprender, porque o estresse consome muita energia.
Um amigo de programação aconselhou a leitura do livro Java: The Complete Reference. Está escrito em um idioma acessível e fornece uma boa base. Eu também estudei sobre isso.
Vários de meus amigos de desenvolvimento trabalharam para o EPAM, e eu aprendi com eles que a empresa realiza cursos de programação. Havia boas críticas sobre a empresa e os cursos, e eu queria entrar nelas. Enquanto esperava um novo conjunto, decidi fazer cursos sobre Oracle e Java em Sbertekh. Era preciso passar por uma seleção decente: das 130 pessoas que queriam fazer o curso, 30 levaram pessoas. Meu conhecimento básico e um pouco de experiência foram suficientes para entrar no número deles.
Depois de algum tempo, um conjunto para um curso de desenvolvimento Java começou no centro de treinamento do EPAM. Eu decidi ir até ele. Lá o abandono também foi grande, foi necessário passar por duas entrevistas - por telefone e pessoalmente. Durante a entrevista, eles avaliaram o conhecimento básico de Java, a capacidade de criar lógica simples em movimento e verificaram o nível de inglês. Como resultado, eles me levaram a um centro de treinamento.
Comecei a fazer dois cursos ao mesmo tempo - em Sbertekh e no EPAM. Principalmente pessoas com educação técnica estudaram comigo. Havia quem já tivesse trabalhado em teste ou desenvolvimento. Eu não estava confiante em mim mesmo: não só vim de uma área completamente diferente - eu era mais velho que a maioria dos caras. Mas eu realmente queria terminar os cursos e conseguir um emprego. Portanto, todo o meu tempo foi gasto em palestras e trabalhos de casa. Nos cursos, estudamos os conceitos básicos de programação orientada a objetos, classes e métodos em Java, familiarizamos-nos com bibliotecas e estruturas e, no final, criamos um aplicativo cliente-servidor no Spring e no AngularJS.
Encaminhar para o novo
No verão de 2016 - seis meses após o início dos cursos - me ofereceram um emprego nas duas empresas de TI. Eu escolhi o EPAM: eu queria ir para lá desde o início, meus amigos trabalharam lá e eles gostaram.
Havia um ponto interessante: quando os cursos do EPAM estavam chegando ao fim, foi perguntado ao nosso grupo quem quer trabalhar com o Big Data. Todos levantaram suas mãos, exceto eu. Eu sabia pouco sobre essa área, ouvi dizer que trabalhar com big data não é fácil. Além disso, eu quase não tinha experiência em desenvolvimento. Eu só queria programar em Java, não havia grandes ambições.
Mas depois da entrevista no final do curso, eles me chamaram para a direção do Big Data. Eu pensei por um longo tempo, pesava os prós e contras. Eu pensei o seguinte: por um lado, quando você é chamado para a companhia dos seus sonhos sem experiência, não é razoável recusar ou apresentar seus requisitos. Por outro lado, fiquei assustado com a complexidade dessa direção. Mas eu sabia que essa área era promissora. Além disso, antes de iniciar o trabalho no projeto Big Data, era necessário fazer outro curso interno no EPAM - isso dava uma sensação de segurança. E eu me decidi.
O curso de dois meses acabou por ser rico: nos familiarizamos com diferentes tecnologias - Hadoop, Spark, Kafka, HBase, Elasticsearch, Ignite, Cassandra, Flink. Aprendemos a escrever programas de processamento de dados, aprendemos sobre máquinas virtuais, contêineres do Docker e outras coisas que os desenvolvedores de Big Data precisam.
Então, por três meses, participamos do projeto de abertura de fluxo de dados Flink - criamos novas funcionalidades ou bugs corrigidos. Foi uma experiência interessante: você interage com pessoas de outras partes do planeta e participa do desenvolvimento de um sistema tão difícil.
No começo do meu trabalho, eu tinha uma síndrome de impostor. Na escola, eu costumava ser o melhor: eu estudava perfeitamente, era um diretor da universidade. E então me senti pior, porque sabia pouco. Mas sempre tomo pressão - apenas venho e faço isso todos os dias. Inicialmente, gravei conversas com colegas quando conversamos no Skype, para não perguntar novamente. Com o tempo, a necessidade de gravações desapareceu. Comecei a entender mais rápido, lidar melhor com as tarefas.
Para lidar com algo novo tinha que constantemente. Aqui, o Google ou os conselhos dos colegas me ajudaram. Às vezes eu tinha que ler a documentação - bom, ela pode ser facilmente encontrada. Eu aprendi algumas coisas com o vídeo.
Dependendo do projeto, o desenvolvedor de Big Data pode escrever em Java, Python, Scala e em vários outros idiomas. Aconteceu que em meus projetos eu dominei o Scala e agora programo principalmente neste idioma.
Quando cheguei à TI, eu não tinha comunicação. No ginásio, faculdade de direito, em trabalhos anteriores, havia muito dele. Aqui, as pessoas ficam em silêncio por um longo tempo, mais imersas em si mesmas. Mas se você pedir ajuda, eles o ajudarão.
Agora sou desenvolvedor de nível médio e meus planos são crescer para gerente de projetos. Eu acho que será perto de mim. Eu já fiz algumas tarefas administrativas em projetos, e tudo acabou bem.
Se você quer se tornar um programador
Tenho várias recomendações para quem também deseja mudar sua área de trabalho e ir para o desenvolvimento:
- Conselho básico: não vá por dinheiro, mas pelo que é interessante. Ouça a si mesmo - o que você quer fazer? Isso se aplica à escolha da empresa, à direção e até à escolha do projeto - se houver. Se você fizer o que quiser, todos os esforços serão recompensados.
- Não tente dominar tudo sozinho. Faça perguntas, discuta uma nova área para você com aqueles que a entendem ou, como você, apenas aprendendo. Isso ajudará a se desenvolver mais rapidamente.
- Visualize suas idéias. Costumava ser muito difícil para mim imaginar como o programa funciona e manter tudo na minha cabeça. Isso ajuda a visualização - toda ou parte da lógica. Eu uso a ferramenta draw.io. Lá você pode escrever textos, criar fluxogramas, conectá-los - muito conveniente.
- Conselho bastante óbvio, mas logo no início pode ser útil: programa usando o ambiente de desenvolvimento. Quando instalei o IntelliJ IDEA após várias semanas de treinamento, fiquei agradavelmente surpreso com a conveniência e o prazer de trabalhar.
- Aprenda não apenas o que você precisa, mas também o que você atrai. Se você deseja mudar ou entender um assunto mais profundamente - não se esforce. Não tenha medo de dar um passo para o lado. Então você tem o prazer de aprender a base e, se houver lacunas - preencha-as. Lembrei-me das palavras de um vídeo no YouTube: se você está folheando um tutorial sobre Java, não está onde você precisa, mas onde é interessante.