JavaRush /Blogue Java /Random-PT /Meu jeito Java
Spoloborota
Nível 22
Казань

Meu jeito Java

Publicado no grupo Random-PT
Como muitos aqui, há muito tempo desejo escrever a história de minha entrada no caminho de um desenvolvedor Java. E agora, consegui implementá-lo. Vou começar de longe. Tudo começou em 23 de janeiro de 2003. Naquela noite, voltei para casa depois da escola e do clube de teatro, entrei na sala e vi caixas no chão. Um muito grande. E alguns outros, menores. Sim, foi isso - meu primeiro computador: AMD Athlon XP 1800+, 256 Mb de RAM, NVidia GeForce 2 64 Mb e 40 Gb HDD. A partir deste dia importante começa uma nova história da minha vida. Então eu estava no 9º ano. O que fiz assim que instalei e liguei? Claro, jogue!!! Abandonei a vida por cerca de 4 anos. Quake, Doom, Warcraft, Starcraft, Diablo, Command and Conker Generals, Civilization, Silent Hill, Deus Ex, GTA, Farcry, etc. Houve muitos conflitos com minha mãe, que por muito tempo não me deixou jogar e contou eu fazer minha lição de casa. Sim, não foi fácil passar a estudar na escola e depois na faculdade. Afinal, existia um mundo virtual tão maravilhoso onde, para conseguir certos sucessos ali, nos jogos, era preciso realizar ações pré-determinadas, você sempre podia lançar um save anterior e conseguir o que queria. Talvez seja na vida real... Resumindo, passei grande parte da minha vida jogando. Mas! Houve uma vantagem muito importante para mim em tudo isso. De vez em quando, os jogos não iniciavam, ficavam lentos ou simplesmente não eram instalados. E nesses momentos havia uma grande vontade de entender o problema. E então instalei, reinstalei, configurei e otimizei tudo que pude. Começando por retrabalhar as partições do disco rígido e alterar o sistema de arquivos com a reinstalação do Windows, terminando com o ajuste do registro e dos arquivos de configuração do jogo. Graças aos conhecimentos adquiridos desta forma, fiquei conhecido entre os meus amigos como “programador”. Ajudou com seus computadores, reinstalando o Windows, removendo vírus, etc. Além disso, naquela época eu ainda não tinha acesso à Internet e adquiri discos com software nas barracas apropriadas. E então, um dia, no verão, depois de terminar o primeiro ano da minha universidade técnica, decidi começar a vender minhas habilidades. Anotei um anúncio no Word com o título “Ajuda de Emergência Informática” e saí por aí postando-o pela vila onde moro. Havia o suficiente para “cerveja e chiclete”. Então, no 5º ano, em vez de escrever uma tese com diligência, consegui um emprego como administrador em um escritório pequeno e torto por meio de um conhecido. Pela primeira vez aprendi sobre o domínio Windows, trabalhando em redes, firewall Kerio Winroot. Quando recebi um diploma na especialidade “Computadores, complexos, sistemas e redes” em 2010, vi 2 caminhos para mim - um programador ou um administrador. A experiência em programação foi limitada a trabalhos de laboratório, cursos e pós-graduação. Mesmo assim eu entendi o que eram arrays, loops, instruções condicionais e classes. Mas eu nunca realmente gravitei em torno da codificação. Houve tentativas de aprender a programar ainda na escola. Mas o GTA interrompeu com sucesso esse desejo. Embora seja importante notar que codifiquei com considerável prazer. Ajudei meus colegas com laboratórios. Mas como tinha mais experiência em questões administrativas, escolhi esse caminho. Em um dos seguintes trabalhos, Quando resolvi os problemas acumulados, decidi que era hora de adotar o Linux. Sentei-me para trabalhar à noite e experimentei. O resultado foi configurar um gateway de Internet com firewall, encaminhamento de porta, conexão à Internet via Wi-Fi, conexão a VPN. Sim, não é muito legal, eu concordo. Mas foi um bom começo. Graças a esse conhecimento, consegui um emprego em 2011 como chefe do departamento de implementação e suporte. Eu tinha 4 pessoas subordinadas a mim. Estávamos implementando um cliente grosso em Java Swing nas lojas e armazéns de uma joalheria. Agora entendo que coisa interessante estávamos implementando! Mas então eu estava pouco interessado nas sutilezas da implementação deste software. Eu morava em Kazan. E há muito tempo eu queria tentar uma vida independente. Eu realmente queria ir para Nerezinovaya para isso. E assim, depois de algum tempo, continuando trabalhando na mesma organização, no final de 2012 me mudei para Moscou. Ahhh, é o metrô! Essas ruas gigantescas com um fluxo rápido de carros caros! Esses enormes fluxos de pessoas estão por toda parte! Fiquei incrivelmente atraído por tudo isso. Fiquei orgulhoso por ter conseguido realizar essa mudança. Após o encerramento do projeto, em meados de 2013, decidi que era hora de deixar de lado a montagem de computadores, o suporte técnico e a administração. Tudo parecia frívolo para mim. Vi 2 opções - análise ou gerenciamento de projetos. Havia uma vaga que indicava a oportunidade de evoluir para esses cargos que indiquei. Eles me levaram até lá.... E lá eu percebi... O que eu nunca quero fazer na minha vida! Houve um momento em que eu, ao reorganizar as páginas do relatório do contrato governamental na ordem correta, de repente percebi o que estava acontecendo. Oh meu Deus!!! Já tenho um quarto de século!!! Eu fico de pé e vasculho esses pedaços de papel, tendo previamente copiado e colado intelectualmente o texto neles dos mesmos pedaços de papel do último período do relatório!!! Mas antes disso eu fazia coisas interessantes com servidores, organizando processos de trabalho, ajudando pessoas... Foi uma virada na minha vida. Uma espécie de “crise profissional”. E então comecei a analisar o que deveria fazer da minha vida. Até que não seja tarde demais. Estou cansado de fazer manutenção. Eu queria criar e criar algo sozinho. Esta foi a principal razão da fermentação na mente. Lembrei-me de que era muito bom em codificação na faculdade. Lembrei-me que os programadores ganham um bom dinheiro. Lembrei-me que existe uma linguagem Java legal, um cliente grosso no qual implementamos e cujos programas podem ser executados em qualquer sistema operacional. E então começou a busca por materiais para estudar o idioma. Não me lembro como descobri o JavaRush. Isto foi por volta de outubro de 2013. A forma como a informação foi apresentada e o grande número de exemplos realmente me atraíram. Fui trabalhar, sentei em frente ao computador, voltei do trabalho e à noite sentei novamente em frente ao computador para estudar. Às vezes eu ficava sentado até tarde da noite. As primeiras 10 aulas foram muito fáceis para mim, porque... muitos conceitos eram familiares para mim. Para ter mais tempo para estudar, parei de ir à academia e peguei alguns pesos e malhei com eles em casa. Por volta de dezembro, planejei que não começarei a procurar trabalho antes do final de março. Mas comecei a prestar atenção extra ao trabalho. Não se esforçou para conseguir mais tarefas, não mostrou iniciativa. E eu odiava esse trabalho. Às vezes, eu executava descaradamente tarefas JavaRush diretamente no meu computador de trabalho durante o horário de trabalho. O resultado não demorou a chegar - no início de janeiro de 2014 me informaram que eu trabalharia para eles apenas até o final do mês. Foi um choque, claro. Saber que ficaria sem renda básica e tendo que pagar pela moradia era muito preocupante. Eu diligentemente aceitei artigos como “100 perguntas que os juniores de java fazem durante uma entrevista”. Bem, continuei a estudar Javarash. Cheguei ao nível 17. Fui a diferentes entrevistas. E então, em uma das organizações, eles me deram uma tarefa de teste para escrever. Foi necessário escrever um programa que determinasse se todos os dominós poderiam ser colocados em uma linha. Se sim, então produza esta solução. Inspirado, sentei-me em frente ao computador para escrever e... fiquei horrorizado! Nas condições extremas das tarefas JavaRush, era muito confortável sentar e escrever código. Mas aqui tivemos que inventar tudo do zero, do zero, por assim dizer! Foi aí que surgiram minhas primeiras dúvidas ao tomar a decisão de me tornar programador. Foi muito difícil para mim escrever código! Eu realmente não sabia nada sobre Java básico, meu conhecimento era muito superficial. E não estava claro como resolver esse problema. Mas ainda consegui encontrar um algoritmo de solução na Internet usando gráficos - tudo se resumia a encontrar o caminho de Euler. Aliás, meu colega do meu trabalho anterior me ajudou muito durante todo o período de aprendizado de Java. Apenas aquele que escreveu esse cliente grosso em Java. Ele me ajudou muito em tudo. Em particular, ele ajudou a resolver o problema usando o método recursivo. E então, enviei a tarefa para revisão. Depois foram 2 longas semanas de espera por uma resposta... Mas correu tudo bem! Eles me levaram!!! Viva, eu consegui! Em 5 de março de 2014 comecei a trabalhar como desenvolvedor Java. A felicidade não conhecia limites. Em grande parte também porque acabei numa empresa que lida com pagamentos eletrônicos. E tratam muito bem os funcionários. Basta olhar para o escritório chique deles e para o café e chá gratuitos - naquela época era uma novidade para mim. E aqui estou eu, resolvendo o projeto... E percebo... Que não entendo absolutamente nada! Servlets, filtros, analisadores Xemel, consultas esque, commits no repositório, get e post, testes unitários... Tudo isso era novidade para mim. Porque só recentemente aprendi como usar interfaces. Houve momentos em que olhei para o código, passei pelas cadeias de chamadas de método e me aprofundei cada vez mais no código. E então percebo que esqueci onde comecei minha busca. De vez em quando eu pensava em simplesmente me levantar e fugir! E depois há alergias primaveris e problemas na minha vida pessoal. O cérebro simplesmente se recusou a ter tempo para entender tudo. Falando brevemente. Não passei no período de experiência. Após 3 meses de permanência nesta luxuosa organização, assinei a rescisão do contrato de trabalho. Foi terrivelmente estressante. Eu não consegui lidar com isso o que tanto sonhei. A autoestima ficou muito prejudicada. Cabelos grisalhos apareceram. Mas decidi continuar o que comecei. Em julho de 2014, eles concordaram em me contratar em Kazan, minha terra natal, em uma organização internacional, cujo produto estava sendo trabalhado no escritório de Kazan. Lá eu escrevi o frontend em swing. O programa transferiu dados de um SGBD para outro. Ah, e então atormentei o líder da equipe e os idosos com meu pouco conhecimento de escrever código Java! Este trabalho me permitiu aprimorar minhas habilidades, aprender técnicas básicas e certamente aprimorar meus conhecimentos. De minha parte, também fiz algumas inovações sérias. Durante esse período, fui dominado por dúvidas. Ainda achava o trabalho difícil, faltava-me perseverança e concentração. E o período de experiência mal passou. Mas, em Fevereiro de 2015, no momento mais crítico, ocorreram reduções de pessoal. Eles me demitiram como o mais inexperiente e sem brilho, e meu colega como o mais velho e já hesitante. Também foi bastante estressante para mim. Eu sabia que ainda era completamente verde em programação. E que durante uma crise, poucas pessoas precisam de novas pessoas na equipe. Eu já tinha apenas 10 meses de experiência profissional. Embora não seja particularmente bem-sucedido, ainda assim é uma experiência. Em março, enquanto eu pesquisava, aconteceu um acontecimento muito interessante. Por acaso, alguém me escreveu em uma rede social russa perguntando se eu gostaria de ensinar Java. Esta proposta me surpreendeu muito. No final das contas, o pessoal de RH apontou acidentalmente o dedo para mim no céu. Afinal, nem as palavras Java ou programação estavam listadas no meu perfil. Bem, eu adoro todos os tipos de aventuras, então concordei em vir e fazer algo como uma entrevista. Consistia em escrever um pequeno programa em um bloco de notas. Eu fiz isso. Embora eu tivesse uma atitude muito negativa em relação a uma forma tão tendenciosa de testar o conhecimento. E então eles me ofereceram uma aula experimental. Eles me deram páginas digitalizadas do manual no qual o curso foi construído. Eu preparei, aprimorei minha apresentação e ensinei esta lição com sucesso. No final me disseram que estava tudo bem, mas as aulas precisariam ser ministradas aos alunos! Entre 12 e 18 anos. Por isso, solicitamos a reformulação do material para que fosse interessante e compreensível para essa faixa etária. Foi o que fiz então. Como resultado, informaram-me que não estavam preparados para me contratar em favor de outro candidato com mais experiência no ensino. Bem, está tudo bem, não fiquei particularmente chateado. Eles também disseram que estavam prontos para entrar em contato comigo no outono, quando novos grupos seriam recrutados. E eu só tinha 10 meses de experiência profissional naquela época. Eu me senti de alguma forma inseguro. Então, em abril, consegui um emprego no maior e mais famoso escritório de TI multidisciplinar de Kazan. Lá trabalhei em vários projetos. Melhorei minhas habilidades em escuel, servlets, etc. Além disso, em agosto tomei a iniciativa de um colega de começar a me preparar para o OCA. Quando comecei a me preparar, percebi que não conhecia nada do básico de Java! Todos esses problemas com a inicialização de construtores durante a herança são apenas uma mudança maluca, Tempo de compilação e tempo de execução. Acontece que comecei a estudar tudo isso pouco mais de um ano depois de começar a trabalhar como programador. No outono de 2015, como esperado, liguei para os organizadores do curso e esclareci o que era o quê. Fui informado que um curso para adultos está sendo preparado para lançamento. Eu estava inspirado. Pedi-lhe que me enviasse o material sobre o qual o curso precisaria ser ministrado. Quando o recebi, fiquei muito surpreso - só havia tópicos que precisavam ser considerados! Acontece que eu mesmo teria que formular todo o material didático - teoria, tarefas práticas em sala de aula, lição de casa. Essa circunstância reduziu muito meu entusiasmo. Afinal, eu esperava simplesmente passar o material do manual para mim mesmo e depois apresentá-lo de alguma forma em sala de aula. Mas, novamente, pensei, quando mais a vida me dará essa oportunidade? Eu vi vários benefícios nesta atividade para mim. Em primeiro lugar, melhorar e consolidar os seus próprios conhecimentos. Não é à toa que dizem: se você quer aprender ou entender alguma coisa, conte e explique para outra pessoa! Em segundo lugar, um motivo para superar o medo de falar em público. Em terceiro lugar, uma boa oportunidade para treinar a sua memória. Em quarto lugar, isto irá melhorar a minha situação financeira, porque... Os juniores ganham pouco, mas há muito tempo quero trocar de carro, porque o Nexusha está totalmente podre. Bem, em quinto lugar, agrada sua vaidade quando você percebe que alguém pode precisar de seu conhecimento e experiência. E assim, em novembro, começaram meus cursos. Foi um inferno! Encontre e prepare material, pense nos tópicos das aulas e nas tarefas de casa. Isso ocupou absolutamente todo o meu tempo livre. No sábado eu estava me preparando para uma aula de terça, no domingo eu estava preparando uma aula de quinta. Mas isso é em teoria. No sábado comecei a me preparar para a aula de terça e à noite estava com pressa tentando pegar o material. Bem, consegui terminar uma parte na quinta-feira. A propósito, ele promoveu ativamente o JavaRush. Como lição de casa, recebi certos níveis para completar neste site maravilhoso. Até o 10º nível gratuito, é claro. Mas eu recomendei ainda a compra de uma assinatura. Porque acho que Javarash é ótimo para colocar em prática com exemplos. Mas a teoria precisa ser mais desenvolvida. Lembro-me daquele pesadelo da minha primeira aula. Entrei na sala de aula. Sentei-me na cadeira do professor. Faltavam 10 minutos para o início da aula... Sentei e entendi que estava tudo bem, estava completamente seguro... Os alunos começaram a entrar na aula... Faltavam 5 minutos para o início... Algo me disse que eu precisava repetir o material, esqueci algo do tema da aula, a ansiedade começou a crescer... E esse momento! Eu preciso começar!!! Eu acordo. saiu para o centro em frente ao quadro de projeção. Levantei a cabeça... E vi uns 20 pares de olhos que me olhavam com atenção e desconfiança, como se tentassem me perfurar! Pânico! Eu me apresentei. Ele começou a dizer alguma coisa, esquecendo completamente tudo o que havia planejado contar. Aos poucos senti que meus joelhos começavam a tremer, minha voz apertava alguma coisa. Tornou-se difícil para mim pronunciar palavras. Eu queria fugir. Mas quando terminei a parte teórica e passei a explicar como criar um novo projeto de eclipse, ou seja, para a parte prática, ficou muito mais fácil e a aula funcionou como um relógio. Assim, em constante estresse pela necessidade de preparar o dever de casa, concluí comigo este primeiro curso de 4 meses. Melhorei significativamente meu conhecimento de Java e solidifiquei o básico. Carro trocado. E parei de ter medo de públicos desconhecidos. Pelo contrário, como escreveram em livros de retórica, senti-me muito motivado durante a aula. O mesmo não pode ser dito sobre o processo de preparação para isso. Sim, foi um período muito difícil em que não tive tempo de me comunicar com os amigos. Bem, acho que não vale a pena mencionar a falta de vida pessoal. Considero que minha vantagem como professor de um curso para se tornar um desenvolvedor Java é que eu mesmo passei por esse caminho há relativamente pouco tempo. Eu tive vários problemas com isso. Passei por um monte de entrevistas. Eu sei quais tecnologias são relevantes no momento. E o mais importante, eu sei o que não fazer! Ou seja, sair em busca de trabalho tão cedo quanto eu. Mas eu estava numa situação tal que precisava de um meio de subsistência. Caso contrário, eu continuaria meus estudos por pelo menos mais 3 meses, estudaria tecnologias e frameworks e tentaria escrever algum tipo de programa inútil, mas tecnologicamente avançado. Nesse caso, haveria muito menos estresse e cabelos grisalhos. Trabalhei naquela organização por um ano e um mês. A princípio estava tudo bem lá em termos de crescimento profissional até a saída do líder da equipe. Esta foi a pessoa que me orientou e me deu diversas tarefas interessantes. Mesmo apesar dos meus erros frequentes, hein. Ele sabia tudo, podia aconselhar sobre qualquer assunto - tanto no front-end, quanto no back-end, e no sub-banco de dados... Com sua saída, o elo de ligação entre gestão, desenvolvedores e analistas foi perdido . Em suma, o caos completo começou no projeto. Aliás, só no final do meu trabalho nesta organização é que parei de pensar no acerto da minha escolha do caminho do desenvolvedor. Antes eles sempre me acompanhavam. Com a consciência de cada dificuldade, demora na resolução de um problema, um bug na minha correção de outro bug. Foi muito urgente. Mas lembro que decidi firmemente no início da minha jornada que só tomaria a decisão de continuar ou encerrar a trajetória de desenvolvedor depois de 5 anos. Tudo estava indo muito difícil para mim. Eu constantemente sentia que as pessoas ao meu redor eram muito mais espertas do que eu, que eu não conseguia entender as coisas tão rapidamente quanto elas. Provavelmente não valeu a pena planejar tudo isso. Em junho deste ano consegui um emprego onde trabalho até hoje. Estamos trabalhando em um serviço muito interessante para fazer backup de dados na nuvem de serviços como Google Disk, Dropbox, Office 365 para servidores Amazon. Gostaria de ressaltar que se não fosse pelo estudo aprofundado do tema multithreading para a realização de aulas, não teria conseguido passar em uma entrevista com esta organização, pois atribuições foram dadas especificamente para esta parte. Então decidi voltar a me preparar para o OCA. No final do inverno encontrei excelentes materiais para isso. Mas ainda não consegui encontrar tempo para me preparar. E assim, entre o 2º e o 3º fluxo de alunos, tive um mês livre para me preparar. Claro, não tive tempo antes do início do curso. Mesmo assim, ele alcançou seu objetivo - passou no exame Oracle 1z0-808 com 81% de respostas corretas e 65% de aprovação. Eu queria, claro, 85%. Mas beber mais de um litro de água antes, para que “o cérebro pudesse pensar melhor”, obrigou-me a terminar meia hora mais cedo, sem oportunidade de verificar tudo. Mas ainda estou muito orgulhoso desta certificação bem-sucedida. No final de janeiro de 2017 pretendo fazer o teste OCP. Sim, não há muito sentido em certificação se você pensar bem. Para mim, pessoalmente, esta é uma oportunidade de solidificar o básico. Porque Às vezes preciso responder a perguntas complicadas dos alunos. Concluindo minha história, quero escrever isso. Apesar de trabalhar como desenvolvedor há quase 2,5 anos, não me considero um programador como tal. Eu sei que preciso passar uma enorme quantidade de informações sobre todos os tipos de algoritmos, subbancos de dados, estruturas de dados, tecnologias web, padrões, front-end, frameworks e suas muitas variedades. E quero continuar estudando JavaRush para desenvolvimento geral, já que a assinatura é ilimitada. Não há fim para o trabalho! E o mais importante, eu gosto disso. Quero saber cada vez mais. Ser capaz de escrever código de maneira mais rápida e melhor. Com o tempo, gostaria de me tornar um líder de equipe ou arquiteto. Mas há muito o que fazer antes disso! Resta administrar bem o seu tempo e procrastinar menos. Obrigado pela sua atenção!
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION