Jesús Chapman
← Volver a todas las entradas

04 / BLOG

Construir software con intención

Una nota inicial sobre simplicidad, seguridad y sistemas que siguen siendo comprensibles con el tiempo.

Jesús ChapmanEntrada fijada

El software útil no necesita ser complicado. Necesita tener un propósito claro, límites comprensibles y una base que permita cambiarlo sin perder el control.

Empezar por las restricciones

Antes de elegir herramientas intento responder tres preguntas: qué problema debe resolver el sistema, qué no debería hacer y cuáles son las condiciones en las que debe seguir funcionando. Esas restricciones reducen decisiones accidentales y mantienen el diseño enfocado.

Un modelo pequeño en Rust puede expresar esa idea sin esconderla detrás de demasiadas capas:

#[derive(Debug)]
struct SystemProfile {
    purpose: &'static str,
    secure_by_default: bool,
    dependencies: Vec<&'static str>,
}

impl SystemProfile {
    fn new(purpose: &'static str) -> Self {
        Self {
            purpose,
            secure_by_default: true,
            dependencies: Vec::new(),
        }
    }

    fn with_dependency(mut self, dependency: &'static str) -> Self {
        self.dependencies.push(dependency);
        self
    }
}

fn main() {
    let service = SystemProfile::new("serve useful software")
        .with_dependency("axum")
        .with_dependency("tokio");

    println!("{service:#?}");
}

Simplicidad no significa fragilidad

Una solución sencilla puede incluir validación estricta, observabilidad y pruebas. La diferencia está en que cada pieza existe por una razón concreta y puede explicarse sin depender de conocimiento oculto.

Mi objetivo es construir sistemas cuya intención siga siendo visible después de que pase el entusiasmo de la primera versión.

Este blog será un registro de decisiones, experimentos y aprendizajes alrededor de software, sistemas *NIX, seguridad y código abierto.

COMENTARIOS / DISCUSIÓN

— comentarios

Únete a la conversación

Inicia sesión con tu cuenta preferida para publicar comentarios, opiniones y respuestas. La autenticación se utiliza únicamente para mostrar tu nombre y foto de perfil; no almacenamos datos privados ni usamos rastreadores. Requerimos este tipo de registro para prevenir spam y mantener un ambiente de debate constructivo, técnico y respetuoso.

Cargando la conversación…