Pular para o conteúdo principal

Mais um blog sobre tecnologia

logo do node.js

Olá, novamente. Seja bem vindo(a) ao meu novo blog.

Meu nome é Rubens e resolvi abrir um novo blog sobre tecnologia. Para quem não conhece, meu antigo blog é o PHP, Web e coisas assim. Como o nome sugere, o antigo blog falava principalmente sobre PHP e tecnologias web. Resolvi criar este novo blog com a intenção de abrangir outras linguagens como JavaScript (node.js), Python e Go (golang), além de temas relacionados à arquitetura, infraestrutura, containers, cloud, etc.

Mas neste primeiro post, vou apenas me apresentar e contar um pouco sobre a minha trajetória profissional.

Apresentação

Hoje, 29/11/2018, tenho 34 anos, sou casado com a Iúna, tenho uma filha de quase 6 meses e trabalho como desenvolvedor sênior na Catho.

Utilizo Linux (Fedora e, mais recentemente, dei uma chance pro Ubuntu também) e, curiosamente, utilizo o editor nano para desenvolver. Sei que muita gente se dá muito bem com IDEs, mas eu gosto de uma abordagem simplista. Acredito que se algo está tão complexo a ponto de exigir uma IDE, talvez o projeto esteja com algum problema arquitetural. Evidentemente existem linguagens que simplesmente não foram pensadas para serem usadas sem IDE, mas para a maioria delas, fico com o nano.

Enfim, sou um cara apaixonado por programação, e nas horas vagas pratico o pensamento lógico no codewars. Inclusive, se você ainda não conhece, te convido a se cadastrar lá por este link: cadastro no codewars. E também te desafio a passar minha pontuação: pontuação do Rubens no codewars

Por onde comecei

Mas meu primeiro contato com programação foi por volta de 1998~2002, quando aprendi a editar scripts para o mIRC, um cliente de chat que já foi muito popular (pelo menos na minha escola). No mIRC comecei a desenvolver minha lógica de programação com base na tentativa e erro, de forma autodidata, observando os scripts prontos que existiam na época. Cheguei a fazer, inclusive, alguns "programinhas visuais" como um player de mp3. E foi daí que surgiu meu interesse por programação em geral.

Curso superior faz diferença?

Em 2003, entrei para o curso de Ciência da Computação na Ufla, sendo que concluí na metade de 2007. Foi uma época de muito crescimento profissional e pessoal, já que fui morar sozinho em Lavras - MG, uma cidade pequena e longe da família. Durante o curso tive contato com muitas linguagens de programação (Pascal, C, C++, Perl, Delphi, Haskell, Prolog, Matlab, R, Java, PHP, TCL). Eu aproveitava muito o tempo livre para fazer experimentos no laboratório, já que não trabalhava. Lembro-me de fazer dezenas de experimentos principalmente na minha página pessoal em PHP, como gerar gráficos em imagens geradas dinamicamente, conectar nos mais variados bancos de dados, gerar de PDFs dinâmicos, conectar com LDAP, criar webservices Soap, e muito mais.

Eu sinto que o curso foi muito bom pra mim. Tive contato com pessoas bem diferentes, e oportunidade de participar de eventos e cursos distintos. Embora a realidade do trabalho seja um tanto que distante da visão acadêmica, noto que existem muitos conceitos acadêmicos que ajudam muito a ter uma visão mais ampla das coisas práticas. Por exemplo, para cada linha de código escrita hoje, me vem em mente toda uma pilha de camadas por debaixo de algumas instruções alto nível. Leio as características de uma tecnologia e já me vem em mente as possibilidades de estratégias que foram adotadas para que a tecnologia fosse lançada. E, no final das contas, me parece que entender as motivações para que algo fosse criado ajude consideravelmente no aprendizado e utilização do artefato, seja uma lib, um banco de dados, ou uma linguagem de programação.

Portanto, minha opinião sobre a importância de se concluir um curso superior na área de tecnologia é: depende. Aliás, pra quase tudo na área de computação, acho que a resposta mais coerente é "depende". Acredito que o curso que fiz foi importante pra mim, não apenas pela parte técnica/acadêmica, mas pessoal. Mas isso não significa que todas pessoas precisam de curso para se destacarem na área de tecnologia. Conheci excelêntes programadores que não fizeram curso nenhum, ou que fizeram curso técnico. Com o passar dos anos, alguns acabam se destacando em conhecer muitas ferramentas e saber qual é a melhor para cada situação, outros se destacam em conhecer um pouco mais de infraestrutura, outros se envolvem com solução de problemas ou com arquitetura de sistemas. Eu acredito que meu ponto mais forte seja o de solução de problemas de lógica. Embora existam várias ferramentas boas por aí, sempre fico com uma coceira para reinventar a roda.

Por onde trabalhei

Minha primeira experiência que se pode dizer profissional foi como programador estagiário, em 2004. Foi quando comecei fortemente com PHP, HTML, CSS, MySQL e segui evoluindo com estes recursos por um bom tempo. Nesta época eu desenvolvia ferramentas para um curso de educação a distância.

Por volta de 2006, ainda na faculdade, entrei para um grupo que planejava fundar uma empresa. Na verdade, planejava fundar uma cooperativa, que possui algumas diferenças jurídicas em relação às empresas. Numa cooperativa, os cooperados são os donos do negócio e não possuem salário, mas sim "sobra". Minha visão de cooperativa é como uma união de esforços individuais para se atingir melhores resultados em conjunto, sem a relação empresarial entre patrão/empregado.

Ao final de 2007, junto com um grupo de alunos, ex-alunos e professores da Ufla, fundamos a TecnoLivre (atualmente reestruturada com o nome Polaris, no formato de empresa por conta de algumas limitações que a cooperativa estava tendo em termos jurídicos). Na TecnoLivre, participei de um projeto de grande porte, que foi o de desenvolvimento do Sistema Integrado de Gestão da Ufla, ou seja, um sistema para gerenciar as principais atividades da Universidade, tais como o controle de ingressantes (vestibular, SiSU), controle de ofertas de disciplinas, matrícula em disciplinas, alocação de salas para as aulas, lançamento de notas de provas/trabalhos, controle de concluíntes, registro de pesquisas, controle de recursos humanos (docentes + funcionários), enfim, tinha muita coisa mesmo. E por ser um dos integrantes mais velhos do grupo e ter mais experiência com PHP, nesta época acabei criando um framework para desenvolvimento de sistemas de informação, e também atuei nas ferramentas mais críticas desse sistema integrado.

Em 2009, por curiosidade sobre como estava o meu conhecimento de PHP, resolvi fazer a prova de certificação da linguagem e passei de primeira, ganhando o título de Zend Certified Engeneer - PHP5. Com um pouco mais de confiança sobre o que eu conhecia, resolvi criar o blog PHP, web e coisas assim para compartilhar um pouco das minhas experiências.

Em 2011, resolvi me mudar para São Paulo - SP, e fui trabalhar na Manager Online, um site de oferta de empregos. Nesta época pude me deparar com novos desafios, como a preocupação com SEO, alta disponibilidade, mecanismos de busca (Sphinx) e o mundo dos frameworks MVC. O time de desenvolvimento era pequeno, mas acho que isso foi muito bom para ter contato com muitas coisas diferentes. Naturalmente que também me deparei com muito código legado e pude comparar um pouco com o que eu via em Lavras, pois, na minha percepção, era uma bolha de conhecimento, já que era uma cidade pequena com muitos estudantes, mas poucos profissionais antigos.

Finalmente, em 2015, fui realocado para trabalhar na Catho, já que ambas empresas faziam parte do mesmo grupo. Na Catho, por ser muito maior e ter uma equipe de desenvolvimento relativamente grande, também me deparei com novos desafios. O principal deles era construir uma plataforma homogênea, com os requisitos de disponibilidade, escalabilidade e SEO ainda mais críticos, e com tantas pessoas envolvidas. Além, é claro, de recontruir uma estrutura legada de anos. Estou nesta empreitada até hoje, mas agora com a utilização de tecnologias diferentes, desde linguagens de programação (go, python, node.js), até a arquitetura dos sistemas, abordando o problema através de microserviços ao invés de um monolito.

Conclusão

Espero, portanto, poder continuar compartilhando um pouco do meu conhecimento técnico com a comunidade com o simples intuito de ajudar ao próximo e, de certa forma, tentar melhorar o nível técnico dos profissionais de TI no Brasil.

Comentários

Postagens mais visitadas deste blog