Evolução na profissão

  • Formado em 2007, em Engenharia Elétrica, com ênfase em Eletrônica.
  • Analista de Desenvolvimento: OpenK (2006 - 2008).
    • Desenvolvedor Full Stack para grandes empresas.
    • Codificava em Java e JSF
  • Analista de Desenvolvimento: Algar Telecom (2008 - 2014).
    • Criando Aplicativos Telco usando a Tecnologia Open Source como Mobicents.
    • Trabalhou com JMS usando ActiveMQ, Spring, JBoss, Banco de Dados Oracle, PL / SQL e tendo acesso a Servidores Linux.
  • Diretor: Algarworks, Treinamentos e Serviços (2012 - 2017).
    • Um dos instrutores e diretores da AlgaWorks.
    • Trabalhou muito com Java, Design Patterns, SOLID, Spring Framework, MySQL.
  • Engenheiro de Software Senior: Softbox - Soluções Inteligentes em TI (2017 - 2018).
    • Trabalhou com Java (Java EE, EJB, CDI), PostgreSQL e JavaScript (Vue.js), criando e mantendo aplicativos para grandes empresas ao redor do mundo.
  • Engenheiro de Software Senior: TQI +Tecnologia +Qualidade +Inovação (2018- 2019).
    • Teve sucesso usando Java, Gradle, Docker, Swarm Docker, Jenkins, Terraform, Ansible e AWS durante o tempo nesta empresa.
  • Especialista em TI na Zup (Atual)


Descrição da atividade atual

Ele é o responsável por gerenciar as informações da organização, criando e distribuindo-as em redes de computadores, além de lidar com processamento de dados, engenharia de software, informática, hardwares e softwares.



Requisitos mínimos para exercer a profissão

  • Domínio do inglês: Para um trabalho que requer constante atualização em seu conhecimento, saber inglês faz com que se torne simples obter conhecimento, através da internet e de livros, além de abrir portas para oportunidades.
  • Saber resolver problemas: Nem sempre a primeira solução é a melhor, flexibilidade e prática são muito influenciadores para isso.
  • Persistência: Como dito anteriormente, os problemas não são facilmente resolvidos, e nem sempre são resolvidos com eficiência no início, logo erros são muito comuns.
  • Estudar muito: Nunca deve-se contentar com o conhecimento que tem, sempre buscando mais. Praticar bastante ler e escrever códigos, além de compartilhá-los com outros programadores. Ademais certificação é uma forma de mostrar que a pessoa estuda.
  • Ser sociável: Manter-se humilde e sempre ajudar as pessoas ao seu redor, mostrando sempre disposição e competência.
  • Manter boa qualidade: Não contentar-se com o que fez, tentando sempre aperfeiçoar seu produto.
  • Responsabilidade: Deve apresentar positividade, disposto a trabalhar com algo fora de sua zona de conforto, além de evitar depender dos outros, mantendo sempre prioridade em cada uma de suas ações.


Ferramentas usadas no dia-a-dia

Rescue Time: ferramentapara acompanhar a produtividade da equipe Essa ferramenta monitora em qual atividade a equipe gasta mais tempo quando utiliza o computador. Ela cria um relatório que contém quanto tempo foi gasto em cada site ou aplicativo. Gantter: ferramenta do Microsoft Project Essa ferramenta permite a criação de gráficos, conhecidos como gráficos de Gantt, que contém a duração de cada tarefa, os recursos e também os requisitos necessários para aquela tarefa. Como nem sempre é possível ter o Microsoft Project à disposição, o Gantter lançou uma solução online que permite a visualização de tais gráficos.

Microsoft Security Essentials: ferramenta que promove proteção ao computador O famoso anti-vírus é muito necessário quando o assunto é tecnologia da informação, e é claro que não poderia ficar de fora da nossa lista de ferramentas de TI. Essa ferramenta foi criada para proteger computadores de uso pessoal e de pequenas empresas contra vírus, malwares e outros softwares que possam prejudicar sua máquina.

Screencast-O-Matic: ferramenta de criação de vídeos para capacitação Sabemos que às vezes é um desafio à parte conseguir capacitar a equipe, pois nem sempre os funcionários estão motivados para estudar e aprender novas técnicas. Sendo assim, o Screencast-O-Matic permite que a sua empresa crie vídeos de até 15 minutos gratuitamente. Esse tipo de conteúdo — conteúdo em vídeo — costuma dar mais resultados que os conteúdo tradicionais, pois são capazes de prender melhor a atenção de quem assiste.

Pipefy: plataforma de armazenamento de dados em nuvem. Essa é uma ferramenta de gestão de processos e é muito utilizada por empresas de pequeno e médio porte. O pipefy utiliza o método Kanban, que define tarefas e prazos de entregas para cada demanda, otimizando assim o gerenciamento dos processos da organização.

LastPass: ferramenta que cria e armazena senhas confiáveis. Ih, aposto que ficou com um pé atrás, não é? "Armazenar minhas senhas? Como assim?" Pois é, pode ser maluquice, mas não é. O LastPass é uma ferramenta confiável que cuida das suas senhas. No dia a dia, é provável que você tenha uma mesma senha para vários sites e isso pode facilitar a descoberta de alguma senha por parte de um hacker, por exemplo. Como os profissionais de TI precisam lidar um alto fluxo de dados e informações diariamente, essa ferramenta diminui as chances de confusões serem feitas.

Sistema de Chamados: software que possibilidade a gestão de chamados. Quando falamos de ferramentas de TI não podemos ignorar os vários softwares de sistema de chamados que existem.

A Desk Manager, inclusive, tem um excelente software de Gestão de Atendimento que foi idealizado, orientado a metodologia do ITIL para a gestão de chamados assim centralizando os processos necessários para um bom atendimento. O Desk Manager não é um simples software de TI, ele contém diversos diferenciaisque trazem uma experiência muito mais satisfatória, tanto para quem atende quanto para quem é atendido.




Tecnologias envolvidas

  • Versionamento: GitHub.
  • Diagramas UML: Lucidchart, Draw.io, Gliffy, Astah.


Ética profissional

  • Apontar qualquer situação em que é necessário ética. Seja alguma situação vivida pelo profissional ou que ele tenha tido conhecimento. Importante ressaltar o comportamento adequado do profissional dentro de uma empresa ou de um negócio.
  • Caso o profissional não sugira nada, a equipe deverá pesquisar e discutir algum caso
  • Os casos, tanto podem tratar de comportamentos éticos positivos quanto de situações onde a ética tenha sido desvirtuada.


Exemplo de resultado tangível

  • Citar um exemplo de algum resultado relevante e real produzido pelo profissional.
  • Aqui pode ser o exemplo de um equipamento, de um sistema embarcado, de um sistema web ou mobile, de um projeto ou documento que retrate a contribuição do convidado no negócio onde ele atua.


Upload da apresentação

https://drive.google.com/open?id=1moEnkLWYF-zeEFouUWEOOV11nzfcob3Z

Dúvidas


  • 01. Cite e defina 3 áreas da tecnologia, segundo o palestrante, que são fundamentais para Arquiteto de Software atual.
    • Desenvolvimento para Back-end
    • Infraestrutura de TI
    • Cloud Computing


  • 02. Avaliar o problema, raciocinar, propor uma solução, agir rápido! Que conhecimento básico foi esencial para essa habilidade?
    • Lógica em programação.


  • 03. Por quê certificações são importantes para o profissional de TI?
    • As certificações apresentam um grande peso ao profissional de TI, pois é relacionado a um mercado que está em constante mudança, exigindo sempre atualização no conhecimento do profissional. O certificado garante que o profissional apresenta domínio em certos conteúdos da área de seu trabalho. Logo, o certificado é uma prova concreta sobre determinado conhecimento, algo que nem sempre a graduação da faculdade pode oferecer.


  • 04. A metodologia SRE, citada na apresentação. envolve questões de Engenharia de Software. O que vem a ser ESOF? Quais os benefícios?
    • A reutilização de software se baseia no uso de conceitos, produtos ou soluções previamente elaboradas ou adquiridas para criação de um novo software, visando melhorar significativamente a qualidade e a produtividade.


  • 05. Qual a diferença entre um Arquiteto e um Engenheiro de Software ? (Explicar cada uma)
    • O Arquiteto de software é aquele que define os componentes, propriedades externas e seus relacionamentos do software com outros. Já o engenheiro é aquele que busca especificar, desenvolver e manutenciar os sistemas de software, buscando organização, produtividade e qualidade.


  • 06. Código open-source: é interessante o desenvolvimento baseado em código-aberto? Quais vantagens e desvantagens?
    • Vantagens:
      • O custo de propriedade é menor;
      • Existe uma maior independência face ao fornecimento de software;
      • Possibilita um maior nível de personalização;
      • É um sistema mais seguro;
      • Traz soluções inovadoras que traduzem os valores e as necessidades da comunidade.
      • O cliente não fica “preso” a um determinado fornecedor.
      • Possibilita acesso aos dados bem como a sua conversão.
      • É compatível com outros sistemas.
    • Desvantagens:
      • O software proprietário pode já possuir um conjunto de funções desejadas pela organização, de maneira que pode não se ajustar às necessidades de uma organização, sendo menos dispendioso ficar com o software proprietário com as características desejáveis do que efectuar modificações no produto de open source.
      • Alguns produtos de open source necessitam de suporte pago.
      • A maioria dos softwares de open source não são concebidos para todas as plataformas que existem (mainframes).
      • Requer equipas técnicas
      • O open source não é gratuito.
      • É necessário pagar licença e manutenção.


  • 07. É importante que o Arquiteto de Software domine SOs como Linux? Por quê?
    • Sim, pois a maior parte dos servidores utilizam o linux como SO.


  • 08. AWS, Google e Microsoft? Que tipos de serviços estas empresas prestam em comum? Tem alguma mais viável?
    • As três possuem o serviço de armazenamento na nuvem, sendo os três mais conhecidos.


Tecnologia a ser pesquisada


  • Kubernetes:
  • Para que serve?
    • Esta ferramenta open source criada pela google é um sistema que tem como objetivo harmonizar e gerenciar clusters de containers. Esses clusters são várias máquinas, que apresentam um engine de container, sendo em sua grande maioria das vezes o Docker na criação de conteiners nos nós do cluster e estes sendo monitorados pela Kubernetes.
  • Outras soluções no mercado
    • Docker Swarm, Amazon ECS.
  • Como funciona?
    • Como uma plataforma que permite hospedar aplicações nativas na nuvem que requerem elasticidade (escalabilidade rápida).
  • Exemplos de uso
    • O jogo mundialmente conhecido, Pokemon Go utiliza das kubernetes para conseguir orquestrar um serviço para milhões de jogadores melhorando continuamente.