JavaRush /Blogue Java /Random-PT /Como me tornei programador, ou “Dos espinhos às estrelas”...
provisota
Nível 33
Одесса

Como me tornei programador, ou “Dos espinhos às estrelas” =)

Publicado no grupo Random-PT
Como me tornei um programador, ou “Dos espinhos às estrelas” =) Como me tornei programador, ou “Dos espinhos às estrelas” =) - 1 Olá Javarashovets!) Quero compartilhar minha história com vocês, porque sinto uma obrigação moral para com as pessoas maravilhosas que criaram este recurso, bem como para com a comunidade que deu à luz. Gostaria de agradecer aos criadores de alguma forma, e animar os Javarashites que ainda não alcançaram seu tão almejado objetivo, e reforçá-los com uma boa dose de motivação) Muitas vezes imaginei como escreveria este artigo, que palavras eu usaria uso, e agora, finalmente aconteceu, e como Em princípio, eu esperava que todas as palavras desaparecessem em algum lugar, então, por favor, não julgue estritamente pelo estilo de apresentação) Em geral, sobre o principal, tenho trabalhado como programador há duas semanas, e isso se deve em grande parte ao Javarash) Mas está tudo em ordem, primeiro vou contar um pouco sobre você. Tenho 37 anos, casado, dois filhos, uma menina – 6 anos, e um menino – 3 anos. =) Há 15 anos trabalho como alpinista industrial (alpinista de grande altitude), trabalho, como você sabe, relacionado à programação um pouco menos que nada. Mas, em geral, o trabalho não é ruim, o ar puro, te mantém em “forma”, bastante tempo livre, você é seu próprio patrão, e pelo dinheiro, em princípio, muito bom (na temporada), MAS :
  • Tem uma sazonalidade pronunciada, ou seja, 3 a 4 meses por ano praticamente NÃO há trabalho.
  • SEM perspectivas. Tendo trabalhado nesta área durante 15 anos, percebi que nos próximos 5 a 10 anos é muito improvável que alguma coisa mude, pelo menos para melhor.
  • As crianças começaram a crescer e claramente não havia dinheiro suficiente...
  • Começou a ficar chato)… 15 anos ainda é muito tempo, durante o qual qualquer trabalho provavelmente vai começar a ficar chato…
E assim, há cerca de dois anos, ou para ser mais preciso, algures em Maio de 2013, depois de pensar e pesar todos os prós e contras, cheguei à conclusão de que era hora de mudar alguma coisa... ou seja, era hora de mudar de emprego... Bom, demorei muito para pensar em qual deles eu não precisava mudar, mas seria para um trabalho desprovido das deficiências do anterior:
  • Trabalhe o ano todo.
  • Boas perspectivas de crescimento.
  • Salário significativamente mais alto (se não imediatamente, então em um futuro próximo)
  • Um trabalho interessante para o qual tenho inclinação.
Eu tinha uma queda por programação, embora na prática isso só se expressasse no fato de que mesmo na escola eu escrevia um pouco em BASIC, menos ainda em assembler (no ZX - Spectrum, também conhecido como Sinclair já foi um computador de culto, você pode digamos, as pessoas da minha geração devem se lembrar), e eu também poderia instalar / reinstalar facilmente o Windows, lenha, bom, em geral, você pode dizer “usuário avançado” =) E eu sempre fui bom com inglês também, você poderia até dizer que era o meu hobby... Os contras que aconteciam no “arranha-céu” também tiveram aspectos positivos, nomeadamente, todo o meu tempo livre, que tinha em abundância na primavera e principalmente no inverno (na entressafra ), eu poderia gastar de forma útil aprendendo programação. Bem, isso significa programação... e o que exatamente? Programar é um conceito flexível, pesquisei no Google quais linguagens são as mais populares, promissoras e bem pagas hoje... e minha escolha recaiu sobre sua majestade Java =) Desde que comecei do zero, tentei encontrar uma fonte adequada de conhecimento , meu primeiro livro sobre Java foi “ Programação em Java para Crianças, Pais, Avôs e Avós" de Yakov Fain, que me cativou principalmente pelo título =) Não sei dizer se recomendo este livro para iniciantes ou não, talvez haja são livros melhores para iniciantes, já entendo isso agora no que diz respeito ao “jardim de infância”, mas naquela época achei interessante de ler, e bastante compreensível, e os exemplos práticos ali dados, que trabalhei cuidadosamente, me deram o mínimo necessário de habilidades práticas para um maior avanço. Terminei de ler o livro, preciso seguir em frente, resolvi procurar cursos normais, cursos de tempo integral eram um pouco caros para mim, e não tinha certeza se valiam a pena, e aqui, lembrei disso quando Eu estava trabalhando no livro, acho que estou em algum lugar no hub. Li um artigo sobre cursos online JAVARUSH, gratuitos na época =) Bem, no geral, as coisas correram bem)… depois de ler e trabalhar no livro, eu quebrei os primeiros 10-12 níveis como sementes, foi até muito fácil, mas ainda assim interessante, depois ficou mais difícil e ainda mais interessante, mas tentei resolver TODAS as tarefas seguidas, e sem resolver todas as tarefas, não passe para o próximo nível, e então em Javarash eles introduziram mensalidades acima do nível 10... nos primeiros dois ou três meses eu paguei mensalmente, mas depois em Ano Novo Eles anunciaram uma promoção, 50% de desconto, em vez de $ 200 você poderia comprar ilimitado por $ 100, admito honestamente que naquela época eu certamente tinha $ 100, mas não poderia ser chamado de supérfluo... porque... Não trabalhei durante todo o inverno, minha esposa também não trabalhou naquela época, e “cada centavo contava”, porque o dinheiro acumulado durante a temporada precisava ser esticado até março-abril, quando eu voltaria a trabalhar... Mas senti que esses US$ 100 poderiam ser o investimento mais bem-sucedido e lucrativo de toda a minha vida. Tenho um irmão, há cerca de 10 anos ele e a família se mudaram para a Alemanha para residência permanente. Também tive essa oportunidade, mas não aproveitei, porque... Eu amo minha cidade Odessa, meus amigos, meu modo de vida, e eu não estava pronto para desistir de tudo isso, e também acreditava que aqui poderia sustentar adequadamente a mim e minha família e, em geral, provavelmente sou apenas um otimista na vida. E embora tudo esteja muito bem com suas finanças lá, tentei nunca pedir ajuda a ele, a menos que fosse absolutamente necessário, mas sabia que, se fosse necessário, ele não me recusaria, especialmente porque US$ 100 é uma quantia ridícula para ele. Entrei em contato com ele e ele transferiu alegremente US$ 100 da Zeppa para o PayPal, pelo que, é claro, agradeço muito. E eu com calma, pensativo, sem pressa, que está sempre presente se você paga mensalmente, continuei a “roer o granito da ciência” =) Passei pelos níveis da mesma “maneira”, estritamente sequencialmente, ou seja. Li a palestra e, embora meu entendimento estivesse fresco, resolvi os problemas dela e não passei para a próxima palestra até que todos os problemas anteriores fossem resolvidos, com raríssimas exceções. Então cheguei ao nível 20 com 3 a 5 problemas não resolvidos. Se você tiver problemas para resolver problemas, claro, a comunicação no fórum ajuda muito e, ao mesmo tempo, ajudando outros usuários do fórum, você mesmo aprimora suas habilidades! Cerca de meio ano depois, no final de 2013, decidi que era hora de tentar a sorte e me testar em uma entrevista, pesquisei exemplos de currículos na Internet, vários exemplos de currículos foram enviados para mim por amigos de Javarash, eu Também escrevi para o Zepp, ele me deu várias dicas, além de vários modelos de currículo. Escrevi meu currículo, enviei para o Sepp avaliar e ele gostou. Em seguida, postei meu currículo em vários dos sites de busca de empregos mais populares, depois compilei uma lista de e-mails dos departamentos de RH das maiores empresas de TI de Odessa, que têm vagas para Desenvolvedor Java (não apenas juniores), consegui uma lista de cerca de 20 empresas. Por precaução, reservei metade para depois, caso estraguei tudo para que houvesse uma opção de backup, e metade enviei meu currículo e comecei a esperar convites para entrevistas =) eu não direi que me bombardearam diretamente com convites, mas no final, dentro de um mês – durante um ano e meio, fui a 3 – 5 entrevistas, algumas mais ou menos bem-sucedidas, outras nem tanto, em algum lugar onde os candidatos concorrentes estavam à minha frente, e havia também duas ou três tarefas de teste, que também concluí com sucesso variável, bem como uma entrevista em inglês falado, na qual passei com sucesso, mas antes disso. A entrevista não aconteceu porque... como outro candidato me venceu. Também quase entrei no chamado “benchmark” da Luxsoft, passei nos testes, na entrevista, mas no último momento, quando li o contrato, mudei de ideias e recusei, pareceu-me que as condições que estavam oferta era muito ruim. Resumindo, eles te ensinam por três meses, e te pagam uma bolsa de $ 300, após a conclusão do treinamento, se gostarem de você, te oferecem um emprego júnior, por $ 500, depois de 9 meses, podem aumentar seu salário, MAS o principal, MAS, como ficou claro no acordo, foi que a partir do momento da assinatura, se você não frequentar os cursos, por exemplo, ou após os cursos quiser mudar de local de trabalho dentro de um ou dois anos, então você será obrigado a pagar-lhes uma indenização pela sua formação em a quantia de $ 2.500. Achei tais condições inaceitáveis ​​e recusei. Também recusei outra vaga porque... Parecia-me que não teria perspectivas nesse trabalho. Mas o principal é que ganhei uma experiência muito valiosa em entrevistas, e depois de cada entrevista tive uma ideia muito melhor do que me esperava na próxima, que tipo de perguntas me fariam e que respostas esperariam. de mim... bem, não é como se me fizessem em todas as entrevistas as mesmas perguntas, mas muitas perguntas são feitas quase sempre, e depois de cada entrevista eu fiz para mim uma pequena lista de perguntas nas quais “nadei”, e depois encontrei respostas claras para eles. Em geral, ir a entrevistas é realmente muito útil, independentemente dos resultados... Mais ou menos na mesma época (outono - inverno de 2013), Diana me escreveu uma mensagem pessoal e perguntou se eu gostaria de participar do “Projeto Real ”, eu disse isso em geral - então não me importo... E em algum lugar, um mês depois, Hubert escreveu com uma proposta mais específica para participar do projeto que já havia começado há duas ou três semanas. Provavelmente me ofereceram isso simplesmente porque naquela época eu estava entre os líderes em termos de problemas resolvidos. Para ser sincero, depois que Hubert me listou as tecnologias utilizadas nele (Spring, Hibernate, GWT, MySQL, Maven, Git), ficou um pouco estranho, porque... Na maioria das vezes, ouvi essas palavras apenas pela primeira vez, e talvez tenha ouvido algo em algum lugar uma vez com a “ponta” da minha orelha, mas apenas com a ponta da minha orelha... Bem, pensei que não tinha nada perder de qualquer maneira, tempo para Há participação, em qualquer caso será uma experiência útil, e concordei. Confesso que no começo foi muito DIFÍCIL, mas depois de uma semana - uma semana e meia - duas, li livros e artigos na net, me acostumei um pouco e mergulhei tanto no trabalho do código existente que eu poderia escrever algo sozinho e fazer meu primeiro commit. Tive MUITA sorte com os caras do projeto, acho que éramos quatro no total: Timur, Zhenya, Seryoga e eu. Supervisionamos nosso projeto e Timur trabalhou principalmente no back-end, Zhenya no front-end, Seryozha no banco de dados, eu fiz um pouco no front-end, um pouco no back-end, mas provavelmente principalmente no front-end -fim. Depois de dois ou três meses, nos tornamos a primeira equipe a concluir com sucesso um verdadeiro “Projeto Real”, que todos os residentes de Javarash usam agora - este é o projeto “Avaliações” =) Bem, para dizer que o “Projeto Real” me deu um muito é não dizer nada!) Além dos benefícios óbvios (uma enorme quantidade de novos conhecimentos valiosos), muito mais importante é a compreensão de que mesmo para um “programador Java”, conhecer apenas Java está longe de ser a única habilidade necessária, embora é fundamental. Java é como o ABC da programação, mas além do alfabeto, você também precisa conhecer as regras de ortografia, gramática, sintaxe, saber construir frases corretamente, ter um vocabulário rico, enfim, no geral, acho que a analogia é clara. Também na programação, você precisa de conhecimento e capacidade de usar diversos frameworks, padrões e ferramentas de desenvolvimento, bem como capacidade de buscar soluções para problemas emergentes e respostas para suas dúvidas. Após o projeto real, me interessei por tecnologias mais avançadas, e aprofundei meu conhecimento naquelas que já conhecia... Meus interesses foram além do Java Core puro. E no meu currículo apareceu um item novo e sólido na coluna “Experiência de Trabalho”, com uma descrição das tecnologias bacanas e modernas que foram utilizadas no projeto =) Mas o projeto foi concluído e silenciosamente comecei um novo “trabalho temporada” em arranha-céus... havia muito menos tempo livre e a questão da mudança de profissão ficou em segundo plano, mas ainda assim, dediquei quase todo o meu tempo livre (às noites depois do trabalho e nos finais de semana) à programação , escrevi todo tipo de “miniprojetos” para mim, às vezes resolvia problemas em Javarash, monitorava vagas e no final do outono também me inscrevi em cursos gratuitos no escritório de TI da DataArt. Bem, os cursos em si acabaram sendo uma besteira, principalmente de revisão, então eles seguiram em frente, não aprendi quase nada de útil lá, mas dentro da estrutura desses cursos, os alunos foram convidados a se dividir em equipes e escrever um “Projeto” =) O projeto consistiu em escrever um sistema de testes online, com cadastro de usuários, parte do usuário (preenchimento de questionários) e área administrativa (criação de questionários e gerenciamento de contas). Acabei em uma das quatro equipes e, mais tarde, descobri que praticamente escrevi o projeto sozinho. =) E em cerca de um mês (enquanto trabalhava em um prédio alto ao mesmo tempo) eu mesmo escrevi um aplicativo web bastante aceitável, ao que me parece, baseado quase nas mesmas tecnologias e padrões que usamos no Real projeto com o pessoal em Javarash, bem, mais jsp, e Spring Security, e mais alguma coisa =) Se alguém estiver muito interessado, posso lançar um link para um repositório aberto com o código fonte do projeto... Além disso, em algum momento de dezembro , fui convidado para uma entrevista em um escritório, que mais tarde acabou sendo Kiev. A entrevista ocorreu via Skype. E depois houve uma entrevista com um dos gerentes de uma grande empresa - um cliente de Odessa deste escritório de TI de Kiev. Eles me disseram que quando tomassem uma decisão, ligariam... bem, como sempre, pensei então, se eles não me contratassem imediatamente, então haveria pouca esperança... mas ainda assim, cerca de um mês depois, depois Ano Novo, escrevi para essa gerente de RH e perguntei sobre minha candidatura, por incrível que pareça, ela respondeu que a vaga ainda estava aberta e a decisão ainda não havia sido tomada... bom, isso significa que ainda há esperança. E agora, quase um mês depois, em algum lugar no final de janeiro, ela me ligou com a pergunta “ainda estou procurando emprego”, à qual eu “incansavelmente” respondi “sim, ainda estou procurando”, aí ela me disse que eu era ela eu já encontrei, porque... Eu gosto deles!))) A sensação é certamente indescritível, quando você ouve isso por telefone, suas asas simplesmente crescem =) para entender isso você só precisa vivenciar você mesmo, que é o que desejo para você em um futuro próximo) Bem, então um gerente de Kiev veio aqui, nos conhecemos com ele, nos conhecemos, aprendi mais sobre o projeto que tenho que trabalhar. Resumindo, esta empresa de Kiev está desenvolvendo um grande aplicativo ERP para seu cliente corporativo em Odessa e o desenvolve há muito tempo, pelo que entendi, no total, 3 a 4 anos já =) já foi escrito por muitos, mas ainda existem inúmeros bugs nele. Além disso, o aplicativo tem muitas nuances específicas, e a comunicação com o cliente é constantemente necessária, e enviar constantemente pessoas de Kiev para cá é muito hemorróida, e ficar dias ao telefone também não é uma opção, e eles decidiram que eles precisava de uma pessoa aqui, localmente, em Odessa. E agora tenho que terminar esta aplicação. O aplicativo é escrito em GWT + ExtGWT + Spring + Hibernate + MySQL e várias bibliotecas menores de suporte. Acontece que esta é exatamente a pilha de tecnologia na qual desenvolvi e tenho uma experiência mais ou menos tolerável. A desvantagem é que o projeto é antigo e usa versões antigas de bibliotecas e abordagens de design desatualizadas, e elas estão tão desatualizadas que praticamente não estão sujeitas a atualização... ou reescrever metade do código... também descobriu que Eu mesmo irei terminar =) é claro que é um pouco estranho o trabalho com o qual eu estava contando, presumi que como qualquer júnior, um líder de equipe mais experiente seria designado para mim, que de alguma forma me orientaria, revisaria meu código, e com quem poderia consultar em caso de dificuldades =) Mas o destino decretou o contrário... Foi-me confiado um trabalho pensado para um desenvolvedor experiente e independente, e isso tem prós e contras. Bem, já que pensei nisso, seria uma boa ideia pedir imediatamente um aumento de salário =) e aumentar o valor original em $ 200. Isto não causou qualquer indignação da parte deles. Bem, não vou dar números específicos, mas direi que o salário superou significativamente as minhas expectativas. Além disso, há apenas um (não três, como sempre acontece em todos os lugares) mês de período probatório. E agora se passaram duas semanas, à primeira vista, claro, dá medo olhar para um projeto tão grande, mas agora eu sei que a primeira impressão muitas vezes engana, e no começo é sempre difícil, mas como dizem, “é não os deuses que queimam panelas” e “a água desgasta as pedras”. "=) E assim, aos poucos, comecei a me aprofundar no código e agora sei que tudo vai dar certo... É verdade, não deram querem que eu formalize, disseram que eu formalizaria o SPD, mas isso, pelo que ouvi, é uma prática comum para programadores. Quero ressaltar também que trabalhar como programador também ainda não é um resort, é também, antes de tudo, um trabalho para o qual você precisa se levantar de manhã e voltar à noite, mas esse trabalho é muito melhor do que muitos outros, por uma série de razões já listadas acima, e juros, dinheiro e perspectivas, ela tem tudo. E é especialmente legal quando você sabe que conseguiu isso sozinho, com sua mente, com seu trabalho, com sua perseverança, que conseguiu traçar uma meta séria para si mesmo e alcançá-la. Consegui mudar minha vida, para que em muitos aspectos você seja o dono do seu próprio destino. A única coisa que tenho medo agora é da minha preguiça, que tendo alcançado esse resultado eu fique com preguiça e pare de crescer profissionalmente, mas espero muito que isso não aconteça =) Concluindo, vou continuar a tradição e listar resumidamente as tecnologias que foram e ainda são para mim fundamentais na formação e agora no trabalho) é MUITO desejável, talvez até OBRIGATÓRIO, conhecimento de bancos de dados, SQL (MySQL), jdbc, Hibernate, Jpa, tecnologias de rede html, jsp, servlets , xml, Tomcat, conhecimento de padrões JavaSE básicos é OBRIGATÓRIO chamado de padrões GOF), também será uma ENORME vantagem ter pelo menos uma compreensão superficial de Spring, SpringMVC, também de preferência o construtor de projeto Maven, log4j logging, teste de unidade JUnit , trabalhando com sistemas de controle de versão, Git por exemplo, às vezes eles também pedem ou dão tarefas de teste em web services (SOAP, REST) ​​​​... mas junto com tudo isso, o conhecimento do core Java deve ser, senão impecável, então pelo menos muito confiante. E ainda assim, o conhecimento de todas estas tecnologias (mesmo que na sua maioria superficiais) não garante que na entrevista não lhe será perguntado algo de que quase ouve falar pela primeira vez), mas aqui também, dependendo da sua sorte... talvez apenas o núcleo Java esteja sendo empurrado e pronto) Mais uma vez quero agradecer aos criadores deste recurso maravilhoso, em particular Sepp, Hubert e Diana! E desejo a você, Dzhavarashovita, perseverança e paciência no caminho que escolheu, como disse o avô Lênin: “Vão pelo caminho da aldeia, camaradas!” =) e não se entregue à preguiça, e o principal é “NUNCA DESISTA” e quem caminha dominará o caminho! Desculpe por muitas cartas) então pelo menos muito confiante. E ainda assim, o conhecimento de todas estas tecnologias (mesmo que na sua maioria superficiais) não garante que na entrevista não lhe será perguntado algo de que quase ouve falar pela primeira vez), mas aqui também, dependendo da sua sorte... talvez apenas o núcleo Java esteja sendo empurrado e pronto) Mais uma vez quero agradecer aos criadores deste recurso maravilhoso, em particular Sepp, Hubert e Diana! E desejo a você, Dzhavarashovita, perseverança e paciência no caminho que escolheu, como disse o avô Lênin: “Vão pelo caminho da aldeia, camaradas!” =) e não se entregue à preguiça, e o principal é “NUNCA DESISTA” e quem caminha dominará o caminho! Desculpe por muitas cartas) então pelo menos muito confiante. E ainda assim, o conhecimento de todas estas tecnologias (mesmo que na sua maioria superficiais) não garante que na entrevista não lhe será perguntado algo de que quase ouve falar pela primeira vez), mas aqui também, dependendo da sua sorte... talvez apenas o núcleo Java esteja sendo empurrado e pronto) Mais uma vez quero agradecer aos criadores deste recurso maravilhoso, em particular Sepp, Hubert e Diana! E desejo a você, Dzhavarashovita, perseverança e paciência no caminho que escolheu, como disse o avô Lênin: “Vão pelo caminho da aldeia, camaradas!” =) e não se entregue à preguiça, e o principal é “NUNCA DESISTA” e quem caminha dominará o caminho! Desculpe por muitas cartas) Continuação
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION