Autor: Adriano Belfort

Um curso típico de computação tem uma receita bem feijão com arroz: disciplinas introdutórias que permitem que o aluno saiba como pensar para resolver problemas usando programação. Veja bem, introdutórias. De estruturas de dados a consultas em BD, os 4 ou 5 anos de um curso superior na área precisam ter matérias que apresentem ao estudante formas de entender o mundo e suas abstrações, e transformá-las em linhas de código. Pode parecer um tempo grande, mas a computação é um domínio muito abrangente. É literalmente impossível abraçar esse mundo por completo.

Fora do abraço dos cursos de computação de muitas universidades estão conceitos de desenvolvimento web e os seus famigerados frameworks. Por outro lado, a maioria dos serviços oferecidos pela Internet hoje no mundo precisa ter algum tipo de interface web para a comunicação com os seus clientes e para o próprio oferecimento de aplicações. Na PlayKids, a realidade não é diferente — e no começo de 2017 eu, um dos novos estagiários, precisei entrar no barco e aprender a abraçar esse mundo então desconhecido.

Choque inicial: PlayCenter

A curadoria e organização de conteúdo na plataforma PlayKids são essenciais para que as crianças tenham uma experiência de aprendizagem divertida e fluida. Por trás desta organização existe o PlayCenter, o sistema gerenciador de conteúdo com uma interface web. O PlayCenter foi o primeiro projeto com que trabalhei e também o primeiro com que levei um susto.

O sistema era feito na linguagem de programação Ruby com o framework Rails. Não conhecia nenhum dos dois e o canal entre o time de server e o de conteúdo no Slack tinha mensagens todo dia com relatos de erros e pedidos de melhorias. Excelente. O que fazer? Comecei pela leitura do código para entender os componentes principais e a arquitetura do sistema. Enquanto aprendia, atacava problemas mais simples no PlayCenter, afinal não podíamos deixar de agregar valor.

Toda linguagem de programação tem uma sintaxe e estilo de programação próprios e, para mim, que tinha background apenas com linguagens como C, Java e Python, e um total de zero conhecimentos web, a leitura daquele código era uma sobrecarga de informações que separadas não eram claras e juntas não faziam sentido. Era hora de tentar uma outra abordagem.

Peguei na Internet um livro gratuito sobre desenvolvimento com Ruby on Rails. Parecia promissor, mas haviam muitas convenções a serem decoradas e esbarrei na parede dos conhecimentos básicos sobre frontend e backend. Mais uma mudança de contexto. Busquei cursos sobre desenvolvimento web no Udemy, que é oferecido gratuitamente para nós na Movile.

Dois deles me chamaram muito a atenção. Um era sobre desenvolvimento full stack, então eu aprenderia de tudo um pouco sobre front e back. Conforme eu avançava nos cursos, o sistema ia fazendo mais sentido e fiquei mais confiante para fazer alterações maiores e mais significativas. Eis que então entra o fator Movile: a mudança e o rápido processo de erro e aprendizado.

O foco nas vendas

A ideia inicial era que eu tivesse um pouco de experiência em todos os projetos que envolvessem o então time de server, composto basicamente por mim, Robson e Dias. Entretanto, a necessidade de manter o Sales, o nosso sistema de vendas, era grande, pois seu funcionamento era estratégico naquele ponto de crescimento de assinaturas.

Os cursos do Udemy estavam me ajudando bastante no entendimento dos conceitos principais de desenvolvimento web, mas o Sales necessitava de conhecimento específico em um framework: o Spring. O Spring facilita e agiliza o desenvolvimento de aplicações Java com algumas abstrações e pré-configurações. Por ser muito diferente do Rails com que estava me acostumando, a mudança para o Spring me levou à estaca zero.

A mescla de informações da Internet com as explicações do meu gestor, o Robson, foram providenciais para que eu tivesse uma compreensão mais completa do framework e do código do sistema de forma rápida. Essa rapidez foi possível em grande parte pelos conhecimentos de base que adquiri na faculdade. Padrões arquiteturais, de projeto, o básico de orientação a objetos e UML estão entre os principais.

As demandas apareciam e cresciam no time, mas, com o aprendizado rápido em Springe no desenvolvimento de APIs REST, foi possível dar vazão aos pedidos de forma satisfatória. Além disso, quanto mais eu interagia com o sistema, mais eu entendia nosso negócio e os serviços com os quais nos comunicamos.

Spin-off interno

O fator Movile em ação novamente. Mudanças de time ocorreram e, então era hora de assumir a responsabilidade pelo Sales inteiro e o backend novo projeto da “área logada”, que depois viria a se chamar “área dos pais”, um site onde os pais podem acompanhar o desenvolvimento de seus filhos.

Com esse desafio, meus conhecimentos foram postos à prova. Como eu era o principal responsável pelo sistema, precisava ter autonomia e decidir o que implementar, como implementar, além de ser o ponto de referência para dúvidas e reportagens de erros. Paralelamente à implementação que fazia, eu pesquisava mais sobre o framework e também fazia refatorações nos pontos em que percebia que o código não estava em conformidade com os padrões dele. Isso me fez crescer mais ainda e hoje o Sales está mais estabilizado e com mais funcionalidades.

A vida hoje

Hoje eu trabalho em desenvolvimento na plataforma Kiwi dentro da Movile, uma das mais importantes para o funcionamento de nossos aplicativos, especialmente para o PlayKids. O conhecimento que eu adquiri durante ao longo do ano nesses projetos em que trabalhei me ajudam muito no dia-a-dia e também me colocam a par em relação ao que o mercado está utilizando. Ainda há uma boa parte do mundo da computação a desbravar, mas, pouco a pouco, nosso avião do conhecimento nos leva a destinos mais interessantes.

Posted by:Matheus Fonseca

Deixe seu comentário