JavaRush /Blogue Java /Random-PT /Java Middle em 2,5 meses.
novago219
Nível 34

Java Middle em 2,5 meses.

Publicado no grupo Random-PT
Saudações a todos os leitores que pensaram que em 2,5 meses do zero você pode realmente se tornar o Médio. Apresso-me em decepcioná-lo - isso só é possível com muito trabalho consigo mesmo, e sei como todo mundo quer tudo de uma vez - agora e de nenhuma outra maneira. E a frase do zero se aplica a mim apenas em um certo status condicional, porque eu realmente não tinha absolutamente nenhum conhecimento de Java como linguagem de programação. Mas eu ainda sabia e era capaz de fazer algo antes mesmo de conhecer o JavaRush, e talvez gostaria de começar minha história com isso, porque o crescimento da minha carreira é uma combinação bastante estranha de conhecimento, habilidades e sorte de alguma forma. Então, deixe-me dar uma lista que me deu uma vantagem competitiva sobre os outros, e também me permitiu passar pelo JavaRush (até o nível 34) com bastante rapidez e sem muita dificuldade (pelo menos não me surpreendeu). A lista consiste no conhecimento que a universidade me deu, bem como no que eu mesmo me interessei. Não vou separar onde está tudo e também não vou nomear a universidade. Se desejar, você deve dominar todo esse conhecimento por conta própria, caso sua universidade não o ensine.
  1. Algoritmos e estruturas de dados: meu caminho nessa direção começou com o estudo dos princípios de construção de algoritmos, lendo livros clássicos (Knuth) e estudando a linguagem de programação Pascal, e continuou com a linguagem C, a implementação de todas as estruturas de dados e uma análise de as vantagens e desvantagens de cada um deles. Não direi que, além de tudo, sei trabalhar com Máquinas de Turing e Algoritmos de Markov, ou melhor, já disse isso, mas você pode ignorar, embora, na minha opinião, o conceito de um fita de memória infinita e o movimento de um ponteiro ao longo dela dá a ideia mais correta de como um computador realmente funciona por dentro, mas esta é apenas minha humilde opinião.
  2. Arquitetura de computadores e montador: quando você decidir que entendeu completamente o princípio de operação do computador, tente escrever programas em um nível muito baixo (caso contrário, como você apreciará todas as delícias do Java?), e eu pessoalmente considerei todas as opções educacionais com um , dois, três registros e percebi como é preciso esquivar quando só há um registro e o programa funciona (surpreendente, né?).
  3. Matemática discreta: naturalmente, paralelamente ao acima, também vale a pena abordar este assunto, pois dá uma compreensão completa do pensamento lógico, e a teoria das máquinas de estados finitos lhe dirá como o interior do processador está organizado e como eles são organizados em circuitos integrados. Não esqueçamos que aqui também se estuda Teoria dos Grafos, o que não será 100% supérfluo.
  4. Matemática superior: Decidi destacar todas as outras disciplinas matemáticas em um parágrafo, para não confundir muito a sua cabeça. Aqui estão: análise matemática, teoria das probabilidades e estatística, álgebra linear - aliás, uma coisa muito, muito importante se você quiser fazer gráficos tridimensionais (eu sei, o sonho de todo mundo é escrever jogos, embora para isso você também vá tem que fazer curso de equações diferenciais e métodos numéricos, mas isso é tão - pequenas coisas), e outras áreas.
  5. Arquitetura do sistema operacional. Linux: depois que você se sentir confortável aqui, o multithreading em Java levantará muito menos questões, e acontece que você já ouviu o conto de fadas sobre filósofos em algum lugar.
  6. OOP, linguagem C++: bem, quase alcançamos o topo da cadeia alimentar. Não vou explicar em detalhes aqui e não direi por que a implementação de OOP em C++ é muito mais interessante de se olhar.
  7. Além disso: mais algumas coisinhas que eu já sabia eram: computação gráfica (OpenGL, Unity 3D) e C# (Core).
O que o JavaRush tem a ver com isso?
Bem, junto com todo esse lixo de conhecimento, em setembro do ano passado me deparei com o JavaRush, percorri alguns níveis e desisti, pois encontrei facilmente um emprego depois da universidade (não como programador, mas em TI, talvez alguém pode adivinhar o que poderia ser?). Mas logo descobri que não estava nem um pouco interessado nisso, em alguns meses quase cheguei ao teto e percebi que não adiantava desenvolver aqui, embora a direção da empresa oferecesse opções quase divertidas (entre as quais DevOps), que rejeitei. Ao mesmo tempo, preparava alunos para as Olimpíadas de informática (esqueci de mencionar - gostava muito de programação esportiva) e, depois de deixar meu trabalho principal, fui para lá de cabeça. Fiquei feliz com tudo por cerca de 4-5 meses, até me cansar disso também. As perguntas foram repetidas, todos os tópicos foram abordados e foi aí que me lembrei do JavaRush. Sendo um racionalista (ganancioso), primeiro passei pelos 10 níveis iniciais de capa a capa, depois olhei mais longe (parecia que o nível 15 era suficiente), percebi que isso era bastante interessante e do meu jeito típico - acabei de fazer a qualquer momento livre. Você tem 5 minutos de sobra? Ótimo, vou adicionar a lógica do método. Total: comprei duas assinaturas mensais. No primeiro mês passei do nível 10 para o 28, no segundo incompleto (cerca de 15 dias) passei do nível 28 para o 34. Cronologicamente, foi abril-meados de maio, ou seja, foram gastos 1,5 meses (faça você mesmo as contas em rublos). Não vou te dizer como fazer e como não fazer - muito já foi falado sobre isso.
Emprego
Por volta do nível 30, olhei as vagas na minha cidade e resolvi não ter pressa e não enviar currículos para todos, mas selecionar especificamente a empresa desejada, me preparar para isso e só depois enviar meus rabiscos para o departamento de RH. Também desenhei os rabiscos com muito cuidado e ficou muito bom. Fui rapidamente convidado para uma entrevista e passei com muita confiança (pelo menos no que diz respeito ao Java Core). Não vou descrever quais eram as perguntas. Os problemas começaram quando me perguntaram como o Spring funcionava e se eu conhecia alguma tecnologia empresarial. Na verdade, eu disse que não sei, mas com esse nível - Junior está garantido (você não vai pular mais alto), mas ainda pulei e aqui, provavelmente, começa a parte mais interessante. Em geral, quando me foram explicadas as condições (2 meses - período probatório, cargo - Junior e faixa salarial), percebi que não gostava muito delas, mas disse que concordava e perguntei se poderia começar a trabalhar mais tarde, motivador porque eu precisava terminar as coisas no meu trabalho atual antes de ingressar em uma nova empresa. Assim, me dei quase um mês para me preparar. Fiz uma entrevista no início de maio e comecei a trabalhar no dia 23. Naturalmente, estudei mais uma vez os requisitos, descobri quais tecnologias eram utilizadas (Java EE 6) e me preparei para o trabalho.
Médio ou não Médio?
Pois bem, comecei a trabalhar e descobri que tinham recrutado cerca de 5 Juniores, entre os quais, claro, me destaquei, mas não muito. Em primeiro lugar, conheci meu superior imediato, percebi que ele fumava e comecei a sair para fumar com ele (e eu não fumo de jeito nenhum). Também estava conosco outro programador, falarei sobre ele um pouco mais tarde. Em geral, enquanto fumava (3-4 vezes por dia de trabalho), conversei com o gerente, falei mais detalhadamente sobre meus sucessos, mencionei casualmente meu conhecimento (deve ter sido útil) e, em geral, ganhei confiança da melhor maneira que pude. poderia. O churrasco e a cerveja no final da primeira semana permitiram estabelecer melhores relações, que organizei. Fiquei no escritório trabalhando até as 23h (dia útil até 18h30), até que o segurança me expulsou. Às vezes o CEO e o CTO da empresa ficavam comigo no escritório, com quem também me comunicava, jantávamos juntos e saíamos juntos do escritório (o CTO até me ofereceu carona para casa, mas recusei educadamente). Assim, em primeiro lugar, estabeleci um bom relacionamento com meu supervisor imediato e, em segundo lugar, mostrei à alta administração que concluiria a tarefa e só depois voltaria para casa. Naturalmente, tudo isso não me torna intermediário. Então, o que isso fez? Deixe-me lembrá-lo que antes da entrevista eu não conhecia nenhum framework (exceto JUnit). É aqui que vale a pena voltar ao programador que mencionei acima. Ele era um programador muito poderoso com 20 anos de experiência, que trabalhou por 5 anos em Moscou, cerca de 7 anos na América (como arquiteto-chefe de projetos) e em muitos outros lugares, incluindo projetos governamentais de especial importância (aprendi tudo isso enquanto fumava com ele). Então, esse programador recebeu uma tarefa muito séria e decidiu me contratar como assistente. Depois que lhe foi dada esta tarefa, descobriu-se que ele precisava sair urgentemente do país e não poderia trabalhar. Ele escreveu o framework do aplicativo e me deixou no comando, dizendo que iria monitorar de longe. Foi esse momento que me ajudou a chegar ao Middle e terminar o período probatório não em 2 meses, mas em um e ter direito a um salário mais sério. Porque esse programador não conseguiu monitorar de longe e o projeto ficou inteiramente comigo. Concluí-o com sucesso em um mês, pelo qual recebi meu cargo e a oportunidade de me candidatar a um salário maior.
Qual é a moral?
Você pode dizer que tive a sorte de estudar onde me deram todo esse conhecimento (mas observe, apenas usei isso para mencionar aos meus superiores), que as circunstâncias foram tais que tal projeto caiu sobre meus ombros, e o que o JavaRush tem a ver fazer com isso, ao que parece? Deixe-me lembrá-lo mais uma vez que antes do JavaRush meu nível de proficiência em Java era 0 - é isso. Em segundo lugar, quando você resolve problemas na 52ª tentativa, algo fica gravado em sua mente - eu tinha um talento especial para exceções, verificações, etc., o que também era uma vantagem competitiva sobre os outros, e em geral - você começa a entender o JavaCore muito bem ( o que confirma o certificado OCA, que passei às custas da empresa e obteve 94%), e sem isso não vejo muito sentido em seguir em frente. Na próxima semana, sou designado para um novo projeto do zero, que eu mesmo liderarei (incluindo design de banco de dados, seleção de tecnologia e também recrutamento de equipe). Além disso, realizarei entrevistas e analisarei o progresso dos Juniores para determinar se vale a pena ou não. Quero dizer que nestas questões fui ajudado não só pelo conhecimento factual, mas também pela capacidade de estabelecer comunicação com a equipa, apresentar-me bem à gestão, capacidade de impressionar e provar que farei tudo até ao fim. o fim. Obrigado pela atenção, desejo a todos mais perseverança e atenção aos detalhes.
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION