Competências
Linguagens de programação
Nível de experiência: 4.5 / 5
Eu desenvolvi software com Python para PC (para Linux e Windows) como módulos e aplicativos com uma interface gráfica usando a biblioteca de interface PYQT para diferentes fins. Também desenvolvi software que emprega bibliotecas Python para raspagem de dados. As bibliotecas mais frequentes que usei são matplotlib, qt, numpy, libxml, pyspice, tensorflow
Nível de experiência: 4 / 5
Desenvolvi scripts usando Bash e Shell para automatizar a implantação de serviços em servidores GNU/Linux e automatizar a inserção de dados nos bancos de dados.
Nível de experiência: 4 / 5
Eu desenvolvi software com JavaScript, principalmente para aplicativos da Web, tanto no Backend quanto no Frontend. Também o usei para interagir com a API do Google e interagir com o Google Sheets e o Google Docs como aplicativos independentes e como Appscripts. As estruturas que usei são React JS (frontend), Express JS (backend) e React Native (móvel).
Nível de experiência: 3.5 / 5
Eu desenvolvi software com C, principalmente para sistemas incorporados (microcontroladores) e em um projeto para um driver ADC. No caso de C ++, também o usei com microcontroladores, especialmente com Arduino.
Nível de experiência: 3.5 / 5
Eu desenvolvi software com C# para interagir com serviços e aplicativos em um ambiente do Windows. No projeto principal em que o apliquei, usei a estrutura .NET para automatizar tarefas nos documentos do MS Word. O aplicativo que desenvolvi possui dois modos, tanto o console quanto uma interface gráfica via WinForms.
Nível de experiência: 3 / 5
Eu usei este software e sua linguagem de programação essencialmente para cálculos matemáticos e para tarefas de pesquisa necessárias usando a caixa de ferramentas fornecida. Também desenvolvi uma interface simples para projetar filtros analógicos.
Nível de experiência: 2.5 / 5
Usei essa linguagem de programação para desenvolver um software executado no lado do servidor. Ele fornece dados para outro software modificado, também escrito em Go, para simular a comunicação para um servidor de rede LoraWAN através da plataforma Chirpstack.
Linguagens de documentação
Nível de experiência: 4.5 / 5
Esta é a primeira linguagem de documentação que aprendi e a uso de preferência para documentos científicos (minha tese e artigos científicos). Eu também costumava escrever relatórios e meu currículo pessoal. Eu também tenho a experiência de escrever modelos com essa linguagem.
Nível de experiência: 4 / 5
É a linguagem de documentação mais comum que uso para escrever a documentação para meus projetos. Eu o usei combinado com estruturas que autogereram a documentação, como DOCFX ou JEKYLL, que é usada nesta página da web.
Projetos:
Repositórios:
Nível de experiência: 3.5 / 5
Usei ele para documentar projetos escritos no Python, pois é perfeitamente integrado a ele através do gerador Sphynx. Também o empregei para projetos de documentação usando Pandoc.
Nível de experiência: 3.5 / 5
Eu o usei para documentar um projeto de implantação de serviço como uma alternativa ao Markdown, juntamente com o software generator Antora.
Projetos:
Tecnologias de computação em nuvem
Nível de experiência: 4 / 5
Eu uso o Docker e o Docker Compose para implantar os serviços no lado do servidor, isolando o ambiente para cada aplicativo. Combino com scripts bash para automatizar a criação e a implantação dos serviços.
Nível de experiência: 3.5 / 5
Eu usei este software para automatizar a implantação de infraestrutura em provedores de nuvem. Eu o empreguei com Linode, Google Cloud e AWS LightSail.
Nível de experiência: 3 / 5
Sei como configurar um projeto e implantar recursos de computador no Google Cloud, bem como ativar as APIs para contas do Google Services.
Nível de experiência: 3 / 5
Eu sei como implantar recursos como EC2 e no serviço de LightSail
Nível de experiência: 4 / 5
Este é o provedor de nuvem que emprego para meus projetos pessoais e tenho um servidor lá para testar minhas implantações.
Tecnologias CI / CD
Nível de experiência: 4.5 / 5
Tenho experiência em usar este sistema de controle de versão. Eu o uso quase para todos os meus repositórios. Também tenho experiência com trabalho colaborativo usando este software.
Nível de experiência: 3 / 5
Recentemente, tornou-se meu serviço de controle de versão preferida (eu costumava empregar o GitLab para meus projetos pessoais). Também aprendi o fluxo de trabalho de desenvolvimento por meio de issues, pull request e projetos. Também uso o recurso de ações do GitHub para automatizar a implantação dos projetos em que trabalho.
Nível de experiência: 3 / 5
Eu costumava empregar este software para meus projetos pessoais e também usei seus recursos de integração e implantação contínuas. Agora, vários dos meus projetos são espelhados deste serviço para o Github.
Nível de experiência: 2.5 / 5
Usei este software em um projeto para implementar um recurso de implantação contínuo em um aplicativo auto-hospedado. Eu integrei juntamente com o Docker, Docker-Compose e Terraform.
Repositórios:
Gerenciamento de bases de dados
Nível de experiência: 3 / 5
Conheço as principais cláusulas para executar as operações básicas para MariaDB / MySQL. Eu também tenho experiência em manter esse tipo de banco de dados.
Nível de experiência: 4 / 5
Eu usei essa base de dados para alguns projetos e o combinei com scripts de shell para implantar, adicionar, atualizar e fazer dados de backup desse tipo de base de dados.
Software de simulação
Nível de experiência: 4 / 5
Eu uso este software para simular circuitos e sistemas eletrônicos. Eu prefiro este software, pois é gratuito e flexível para simular diferentes dispositivos com base em modelos SPICE.
Projetos:
Nível de experiência: 3.5 / 5
Eu também usei este software para simular circuitos e especificamente para simular o modelo SPICE para o dispositivo ISFET.
Projetos:
Nível de experiência: 4 / 5
Eu uso este software para simular circuitos eletrônicos por meio de sua descrição com instruções de SPICE. Ele também permite usá-lo também como scripts com melhor integração com outros programas de software que simulam os circuitos programaticamente.
Projetos:
Linguagens de simulação
Nível de experiência: 4 / 5
Eu usei a linguagem de simulação SPICE para modelar e simular dispositivos ISFET para caracterizá -los e extrair seus parâmetros elétricos.
Nível de experiência: 2.5 / 5
Eu usei VHDL-AMS para simular circuitos eletrônicos. Eu o usei especialmente para simular um circuito analógico e um circuito de condicionamento para um ISFET.
Software de desenho de PCB
Nível de experiência: 4.5 / 5
Este é o meu software preferido para projetar PCBs, pois é de código aberto e versátil para projetar qualquer placa básica. Eu o usei para a maioria dos projetos que exigiam uma placa de circuito.
Projetos:
Nível de experiência: 3.5 / 5
Sei como usar este software e o usei para a placa impressa necessária para minha tese de engenharia. No entanto, não emprego muito devido ao seu preço.
Linguagem de descrição de hardware
Nível de experiência: 4 / 5
Eu desenvolvi projetos em que apliquei meu conhecimento no VHDL para projetar a arquitetura digital para periféricos e uma CPU simples.
Nível de experiência: 3 / 5
Explorei esse idioma em um projeto que pretendia simular um microprocessador. Eu tenho o conhecimento básico para modelar circuitos simples.
Software de modelagem e desenho
Nível de experiência: 4 / 5
Este é o meu software preferido para projetar componentes 3D, e eu o usei em todos os projetos que exigiam um objeto impresso em 3D, geralmente para gabinetes de PCBs.
Nível de experiência: 4.5 / 5
Este é o meu software preferido para projetar gráficos vetoriais 2D, e eu o empreguei para todos os designs que uso em meus artigos e nos meus relatórios.
Nível de experiência: 2.5 / 5
Eu tenho conhecimento básico deste software. Eu o uso de preferência para manipular imagens de bitmap, consertar seu equilíbrio de cores e excluir regiões não utilizadas na imagem.
Sistemas operacionais
Nível de experiência: 4 / 5
Este é o meu sistema operacional preferido que eu uso para programação e minhas atividades diárias. Também tenho conhecimento na configuração da interface com os gerentes de janelas (i3WM, BSPWM) e configuração do ambiente de desenvolvimento via Neovim e Tmux.
Software de desenho de hardware digital (FPGA)
Nível de experiência: 4 / 5
Usei este software para desenvolver os designs digitais e programar FPGAs da Xilinx. Também usei o IPCores da Xilinx para implementar projetos juntamente com circuitos digitais personalizados.
Nível de experiência: 3.5 / 5
Usei este software na universidade para desenvolver todos os projetos de design digital nessa fase, incluindo uma CPU mínima necessária em um curso, que foi implementado em um FPGA da Altera.