Computing
The science that studies, develops and produces systems capable of processing data automatically.
Computing combines knowledge from engineering, mathematics, logic and electronics to build devices and systems. It can be defined as the search for solutions to problems from inputs, producing results after processing information. This is a space to explore the most advanced and strategic areas of Computing and Technology — the Software Engineering topics that shape the future and drive innovation across society.
Carlos Diego's writing on Computing is at cdiego.cc.
Software Engineering
Software Engineering is the discipline that combines scientific, technical and creative principles to design, develop and maintain high-quality software systems. It spans from initial conception, through coding and testing, to the delivery and continuous evolution of applications. Methods such as agile development, DevOps practices and microservices-oriented design have transformed how software is built, ensuring efficiency, scalability and alignment with client needs.
More than code, software engineering is about solving real problems. Whether building mobile apps, enterprise systems or cloud platforms, it uses modern approaches — cloud-native architecture, built-in security and test automation — to meet complex demands with a focus on innovation, reliability and user experience.
Distributed Systems
Distributed systems are a modern approach to computing architectures, letting multiple computers work together as a single logical unit. This model is essential to solve complex problems, ensure scalability and deliver high availability in critical applications.
Key aspects
- Transparency — hiding from the user where data lives, how it is accessed and how the system handles failures.
- Fault tolerance — data replication, periodic checkpoints and automatic recovery keep the system running.
- Scalability — horizontal or vertical growth without compromising performance.
- Coordination and communication — consensus protocols such as Paxos and Raft, or messaging such as Apache Kafka.
- Security — authentication, encryption and access controls protect shared data and resources.
- Latency and performance — network tuning, load balancing and parallel processing.
- Resource management — efficient allocation of CPU, memory and storage across nodes.
- Architectures and models — client-server, peer-to-peer (P2P) and microservices.
Cloud Computing
Cloud Computing is a software-engineering approach to building applications that run in the cloud, designed to capitalize on that delivery model. Cloud-native applications are easier to update because they are made of microservices running in containers — the app is split into parts that can be updated individually. DevOps teams use continuous integration and delivery (CI/CD) to keep each part current.
Cloud-native practices
- Cloud-first design — using native services such as serverless functions and object storage to optimize cost and performance.
- API decoupling — well-defined APIs let services evolve and scale independently.
- Automate everything — from provisioning to monitoring, automation is the heart of cloud-native architecture.
- DevOps mindset — integrating development and operations for continuous, responsive delivery.
- Security controls — identity, network and access policies keep systems secure.
Data & Artificial Intelligence
Data & Artificial Intelligence are the foundation of information- and decision-driven organizations. The area integrates Data Engineering, Data Science and Artificial Intelligence to turn large volumes of raw data into actionable knowledge, predictive models and intelligent systems — covering the full lifecycle of information.
As data platforms evolve and Machine Learning and Generative AI advance, extracting value from data has become a strategic advantage. Architectures such as Data Lakes, Lakehouses and event-driven pipelines scale processing, while attention grows to the quality, integrity, bias, privacy and trustworthiness of data.
Key aspects
- Data Engineering — robust, scalable pipelines, batch and streaming ingestion, distributed processing and architectures such as Data Lakes and Data Mesh.
- Data Science — exploration, analysis and modeling to generate insight, with statistics and machine learning.
- Machine Learning and AI — developing, training and deploying models that learn patterns and automate decisions, including generative models.