Linguagens de programação

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
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.
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).
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.
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.
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.
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

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.
É 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.
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.
Eu o usei para documentar um projeto de implantação de serviço como uma alternativa ao Markdown, juntamente com o software generator Antora.

Tecnologias de computação em nuvem

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.
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.
Sei como configurar um projeto e implantar recursos de computador no Google Cloud, bem como ativar as APIs para contas do Google Services.
Eu sei como implantar recursos como EC2 e no serviço de LightSail
Este é o provedor de nuvem que emprego para meus projetos pessoais e tenho um servidor lá para testar minhas implantações.

Tecnologias CI / CD

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.
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.
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.
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

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.
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

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.
Eu também usei este software para simular circuitos e especificamente para simular o modelo SPICE para o dispositivo ISFET.
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.

Linguagens de simulação

Eu usei a linguagem de simulação SPICE para modelar e simular dispositivos ISFET para caracterizá -los e extrair seus parâmetros elétricos.
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

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.
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

Eu desenvolvi projetos em que apliquei meu conhecimento no VHDL para projetar a arquitetura digital para periféricos e uma CPU simples.
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

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.
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.
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

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)

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.
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.