O caminho de um desenvolvedor do Cazaquistão: como vim para o Java

Ei! Meu nome é Binali, sou o chefe do departamento de desenvolvimento da Beeline Cazaquistão, trabalho na empresa há quase um ano. Eu vim para o Beeline em 1º de junho de 2020 como desenvolvedor Java, agora sou o gerente do departamento de desenvolvimento ESB. O gerenciamento começa a levar muito tempo, mas às vezes ainda dá tempo de levar a tarefa para o desenvolvimento, para não perder as habilidades de programação.



Contarei como um cara comum do Cazaquistão decidiu se tornar um programador, mudou de uma pilha de tecnologia para outra e por que acabou escolhendo Java. Em primeiro lugar, estou escrevendo este texto para desmascarar o mito sobre a dificuldade de mudar uma ferramenta de trabalho.







História de formação



Antes de falar sobre como mudar a pilha (vou escrever sobre isso em detalhes no segundo artigo ), quero compartilhar minha história. Decidi que a história ficaria incompleta sem ela.



Eu me interesso por tecnologia desde a infância. A mágica para mim foi inserir um pedaço de plástico em um gravador e ouvir a música tocar. Mais tarde, comecei a me interessar por eletricidade. Certa vez, tentei consertar uma transportadora com defeito, depois de observar como meu tio, um eletricista, fazia isso. Fita isolante, uma faca e minha ideia engenhosa de conectar os fios entre si causaram um curto-circuito, plugues quebrados e alguns tapas de minha mãe. Em 2007, quando eu estava na sétima série, ganhei meu primeiro celular, o Nokia 6151.







Depois de alguns meses, eu já queria fazer uma espécie de análogo do site tegos.ru. O telefone tinha apenas WAP (antigos, acho, eles lembravam) e eu não tinha computador com Internet. Mas eu ainda estava procurando opções para implementar a ideia. Me deparei com um construtor wap-site wen.ru - o mais primitivo, mas esta era a sua peculiaridade. Então, eu tive que aprender a marcação WML - uma extensão XML para WAP. Sim, naquela época já existia xHTML, mas ainda não entendi nada.





Encontrado no arquivo :)



Fiz um site, que hospedava principalmente links úteis para proprietários de Nokia, e também encontrei um serviço para organizar um bate-papo. Foi assim que começou a minifesta de fãs da Nokia no site, que continha apenas algumas dezenas de páginas. Aqui conheci muitas pessoas com ideias semelhantes da Bielo-Rússia, Azerbaijão e Rússia. Aliás, se houver alguém dessa festa aqui, por favor responda nos comentários.



O próximo estágio da minha evolução técnica são sites com formulários de registro, livros de visitas e formulários de feedback. A principal característica deles é a abundância de cores e imagens de fundo. Aqui eu me familiarizei com xHTML e PHP4. Naquela época, eu tinha um computador - uma padaria baseada em um processador AMD Athlon XP, 2 GB de RAM, 128 GB de HDD. Foi comprado pelo chefe da minha mãe, que percebeu minha paixão por tecnologia. Em 2008, um computador usado custava 18.000 tenge (agora custa cerca de US $ 40). Minha jornada no mundo da programação real começou com a leitura de vários artigos sobre PHP e comecei a escrever código para encontrar soluções para vários problemas.



Já no 11º ano, me dedicava a projetos freelance de aplicativos em PHP, e a partir do segundo ano encontrei um emprego oficial em uma pequena empresa de TI que atua no desenvolvimento de produtos. Era preciso programar em C #. Para passar na entrevista, criei e concluí uma tarefa de teste para mim: descrição aqui , código aqui . Foi implementado em PHP, graças aos idosos, que naquele momento só queriam saber se eu conseguia escrever em pelo menos alguma coisa.



Mais tarde comecei a frequentar conferências e os nossos concorrentes me notaram. Os caras me atraíram para uma empresa cuja linguagem principal era Java. O motivo da minha transição foi meu interesse por coisas novas e um desejo de experimentar.



Em seguida, mais algumas transições de empresa para empresa, nosso próprio projeto gamedev, trabalhar em um sistema de gerenciamento de serviço (MRO ou MMS) com o uso ativo de tecnologias RFID. A propósito, neste projeto, meus colegas e eu criamos um framework para o framework, que os líderes nos permitiram trazer para o OpenSource. O código está aqui .



Agora trabalho em Beeline Cazaquistão, onde escrevemos em Java, mas percebi que estava pronto para contar toda a história de minhas transições de uma linguagem para outra. Talvez seja útil para alguém.



Meu primeiro projeto .NET



Conheci o .NET no meu primeiro local oficial de trabalho: uma pequena empresa de TI que coopera com a indústria do petróleo. Meu primeiro projeto foi sobre como calcular o tempo de operação de tubos em poços de petróleo. Eu tenho uma implementação de amostra de trabalho dessa ideia, escrita em ASP.NET, .NET 4.1. Honestamente, eu não entendia como essas tecnologias funcionam.





Temos um projeto que funciona, mas não podemos construí-lo.



Passei uma semana inteira montando o projeto sem sucesso, após a qual decidi entrar em contato com um desenvolvedor sênior para obter ajuda com a construção. Não foi fácil. Agora você pode pensar nisso como um grande problema no ASP.NET clássico sobre o sistema complicado de dependências de ligação.



Após a montagem, outra surpresa me esperava: o projeto forneceu uma interface para carregar um arquivo excel. Para ler, ele lançou um MS Office completo e percorreu as células, lendo os valores na memória. Depois de ler na memória e fazer cálculos, o aplicativo reabriu o Office e anotou os dados da célula. Sim, sim, diretamente um aplicativo gráfico por meio da interoperabilidade.



Fiquei chocado, pois me disseram que o projeto já está funcionando e você só precisa implantá-lo no IIS no Windows Server. Foi aqui que comecei a conhecer o mundo .NET de verdade.



Naturalmente, nada funcionou no servidor. A razão é óbvia - o servidor IIS não tem acesso ao subsistema gráfico e, portanto, não pode iniciar nada, incluindo interagir com a área de trabalho.



Arregaçando as mangas, comecei a procurar uma solução de como chamar o Office gráfico e analisar o arquivo excel manualmente, então dominei a biblioteca OpenXML, o que não foi fácil para mim, mas rapidamente resolvi todas as dúvidas. Agora o arquivo foi analisado usando OpenXML, após o qual os dados foram salvos no banco de dados. Os dados de saída podem ser obtidos na forma de um relatório com os filtros necessários.



Fiquei muito feliz por poder remover a muleta como um mês de junho.



Com o tempo, o .NET me pareceu uma tecnologia ainda mais legal, e parei completamente de escrever em PHP. Em algum momento, ele começou a participar de disputas e discussões sobre a frieza desta ou daquela tecnologia, e falou especificamente para .NET. Agora minha opinião mudou.



A pior coisa que tive de enfrentar foi o desenvolvimento para Windows Mobile no .NET Compact Framework. A propósito, isso foi no âmbito da empresa sobre a qual escrevi acima. Esses projetos eram tão difíceis de desenvolver que o sênior constantemente respondia ao nosso gerente “é impossível” a uma solicitação de qualquer recurso :)



Em geral, gostei da linguagem C # e da plataforma .NET, mas vou escrever em detalhes sobre todos os prós e os contras no próximo artigo . Lá também direi quantas vezes passei de pilha em pilha e por que parei em Java.



All Articles