Definições de conceitos ligados ao desenvolvimento de software, ao processo de produção, aos testes, à implementação e às práticas das equipas de IT.
O que é a programação?
A programação é o processo de desenhar, criar, testar e manter software. Inclui a escrita de código, mas também a escolha da arquitetura, das ferramentas, dos métodos de trabalho e das práticas que asseguram a qualidade e a segurança dos sistemas.
Âmbito dos conceitos
A programação combina temas técnicos e organizacionais: linguagens de programação, API, testes, controlo de versões, automatização de implementações, gestão de dependências e ciclo de vida do software. Abordagens como TDD, DDD, Agile, Scrum, DevOps, GitOps e CI/CD também são relevantes.
Importância em IT
As boas práticas de programação influenciam a estabilidade das aplicações, a rapidez de entrega de alterações e os custos de manutenção dos sistemas. Nas equipas modernas, a programação está estreitamente ligada a testes, monitorização, segurança, infraestrutura e colaboração entre negócio e tecnologia.
Agile é um conjunto de princípios e práticas que apoia a gestão flexível de projetos, o desenvolvimento iterativo de produtos e a resposta rápida a requisitos em mudança.
O Ansible é uma ferramenta open source sem agentes para automatizar a configuração de sistemas, a implementação de aplicações e a gestão da infraestrutura de TI.
Chaos Engineering testa a resiliência dos sistemas através da introdução controlada de falhas e perturbações, para detetar pontos fracos antes de incidentes reais.
CI/CD automatiza a integração, os testes e a entrega de software, permitindo às equipas lançar novas versões das aplicações de forma mais rápida e segura.
DDD, ou Domain-Driven Design, é uma abordagem ao desenvolvimento de software que centra a arquitetura e o código no domínio de negócio, nos seus conceitos e nas suas regras.
Os testes E2E, ou end-to-end, verificam uma aplicação completa através de cenários realistas do utilizador, desde o ponto de entrada até ao resultado esperado.
Um Easter Egg é um elemento oculto, geralmente humorístico, presente num software, numa aplicação ou num site e descoberto pelo utilizador de uma forma específica.
Um feature toggle permite ativar ou desativar dinamicamente funcionalidades de uma aplicação sem disponibilizar uma nova versão do código. Facilita os testes, os lançamentos faseados e a resposta rápida a erros.
Um freelancer é um especialista independente que realiza projetos para clientes e define autonomamente o âmbito do trabalho, os prazos e as condições de colaboração.
Git é um sistema distribuído de controlo de versões para acompanhar alterações, trabalhar com branches e colaborar em segurança em projetos informáticos.
GitOps é uma metodologia de gestão de infraestruturas e implementação de aplicações em que um repositório Git funciona como fonte de verdade para a configuração e a automatização.
O Jira é uma plataforma da Atlassian para gestão de projetos, acompanhamento de erros e organização do trabalho das equipas, sobretudo em Agile, Scrum e Kanban.
MLOps é um conjunto de práticas, processos e ferramentas para automatizar todo o ciclo de vida dos modelos de machine learning, desde a preparação dos dados e o treino até à implementação, monitorização e atualização.
No-code é uma abordagem para criar aplicações, sites e automatizações com ferramentas visuais, componentes prontos e configuração, em vez de programação tradicional.
O npm é um gestor de pacotes para JavaScript e Node.js que facilita a instalação de bibliotecas, a gestão de dependências e a automatização do desenvolvimento de aplicações.
Um PoC, ou Proof of Concept, é um protótipo funcional utilizado para verificar a viabilidade de uma ideia, tecnologia ou solução antes da implementação completa.