01 // Software Engineer

joseagus@cadiz:~$whoami

→ José Agustín Cabrera Castillo

Software
engineer

I build software with the whole system in mind: where the requirements come from, how it gets tested, and who keeps it running once I'm not around.

  • C++ · Qt
  • Web development
  • Mission-critical systems
STATUS
Software Engineer @ Ghenova Digital
BASE
Trebujena, Cádiz · ES
FOCUS
Python · REST · Web
LANG
ES · EN · IT

02 // About

$ cat about.md

Who's behind the code

~/workspace.png
Pixel-art illustration of José Agustín coding at his desk, with Cádiz at night in the background and his dog beside him

I started out making websites because it was the most direct way I had to build things and watch them work. Over time I moved on to more complex projects, where understanding properly what you're building ends up mattering as much as making it work.

I currently work as a software engineer on naval projects, and it's a stage where I'm learning a lot about how software is built and maintained in demanding environments.

I like understanding the systems I work with properly. How the different parts relate to each other, what sits behind each decision, and what impact a change might have further down the line. In the end the code is only one part of it: there are also the requirements, the tests, the infrastructure and everything else that makes the system actually work.

I also try to keep learning and testing new things, but always for a reason. Rather than knowing lots of technologies, I'd rather understand the ones I use properly and know when it makes sense to apply them in a project.

03 // Skills

$ ls ~/stack

What I can do

I work across different parts of the software, and what interests me is understanding how it all fits: not just making it work today, but making sure it still makes sense when the time comes to maintain it.

[01]

Product & frontend

I build web interfaces from what the product actually needs. Design, requirements and code move together: the frontend isn't a separate layer you paint on at the end.

[02]

Backend & data

I connect applications and services to their data, with APIs and databases in between. I'd rather have a boring, clear contract between components than a clever one nobody understands six months later.

[03]

Delivery & automation

I use Git, CI/CD, Docker and whatever else it takes so that building, testing and deploying comes out the same way every time. Shipping shouldn't be scary.

[04]

Systems & networking

I've got a grounding in Linux, virtualisation and networking. Knowing what happens underneath helps when the fault isn't in the code, which happens more often than you'd think.

sdlc.yml

Beyond the code

I try to be there for the whole process: working out what's needed, building it, testing it and seeing how it behaves once it's in use.

  1. 01

    Requirements

    • User needs
    • SRS & specifications
    • Use cases
    • Traceability
  2. 02

    Design

    • Solution design
    • Architecture
    • UML modelling
    • Interface definition
  3. 03

    Development

    • Implementation
    • Integration
    • Code review
    • Version control
  4. 04

    Testing

    • Unit tests
    • Integration tests
    • Validation
    • Bug fixing
  5. 05

    Delivery

    • Release planning
    • CI/CD
    • Client demos & validation
    • Deployments
  6. 06

    Maintenance

    • Support & incidents
    • Enhancements
    • Refactoring
    • Technical documentation
languages.yml

Languages & technologies

  • C / C++
  • Qt
  • Python
  • Java
  • PHP
  • SQL
  • HTML / CSS
  • React
  • Next.js
backend.yml

Backend & data

  • REST APIs
  • Django
  • PostgreSQL
  • MongoDB
delivery.yml

Delivery & automation

  • Git
  • GitHub
  • CI/CD
  • Workflows
  • Pipelines
  • Docker
  • Terraform
systems.yml

Systems & networking

  • Linux
  • Windows
  • macOS
  • SSH
  • DNS
  • SMTP
workflow.yml

Management & documentation

  • Jazz / IBM ELM
  • Jira
  • ClickUp
  • Notion
  • Trello
  • LaTeX
certs.yml

Certifications & languages

  • Cisco CCNA Network administration · 2021
  • English Trinity College London · ISE I (B1) · 2016
  • Italian B1 · Erasmus in Rome
  • Spanish Native
  • HPS Spanish Personal Security Clearance · pending

// The idea: someone else can pick this code up a year from now and carry on without calling me.

04 // Work

$ ls -la ~/projects

What I've developed

Projects I've taken end to end: working out what the client needs, building it, launching it and sticking around when things have to change.

~/projects
◆ Academic

WASA Web

Academic project · an Instagram-style social network

An Instagram-like social network I both designed and built. Go on the backend, and a frontend laid out by hand with CSS.

It stayed on my machine: it never went to production.

  • Go
  • CSS
  • Academic project
  • Web

05 // Experience

$ git log --graph --oneline

Commit history

  1. a3f9c21HEAD → mainfeat2025 — PresentHPS · pending

    Software Engineer @ Ghenova Digital

    • I build software in C++ with Qt for military ships of the Spanish Armed Forces.
    • Working on Navantia's national programmes, in the combat systems area.
    • I maintain and evolve mission-critical software, where a failure isn't just another ticket.
    • I manage requirements and tasks in IBM's Jazz platform.
    • My Spanish Personal Security Clearance (HPS) is in progress; it's needed to work with classified Defence information.
    • C++
    • Qt
    • Jazz
  2. 7b1e0d4feat2024

    Co-founder · Software Engineer @ Atlansec

    • I built modern web solutions, mostly frontend, and had a say in where the product was going.
    • Para Procuradores: the platform was on a badly outdated version of PHP and Laravel, with plenty of bugs. We upgraded it and I kept fixing things until it was stable in production.
    • New platform for procuradores and lawyers: we moved it to TypeScript, with Next.js and React up front and an Express API with Drizzle ORM over MySQL, plus NextAuth for authentication.
    • We set up a Turborepo + pnpm monorepo: a portal for procuradores, another for lawyers, an admin panel, the API and a React Native mobile app, with tests in Vitest and Playwright.
    • I gathered requirements with the client and organised the work and the issues in YouTrack.
    • GIEQs: a web platform for the medical and education sector.
    • PHP
    • Laravel
    • TypeScript
    • Next.js
    • React
    • Express
    • MySQL
    • YouTrack
  3. 5c82aa9edu2022 — 2023

    Erasmus @ Sapienza · Università di Roma

    • A whole academic year in Rome, studying at another university and in another language.
    • I came back with a B1 in Italian.
    • Several course projects that sparked my urge to dig deeper into computing.
  4. 2d4f6b0cert2021

    Cisco CCNA · Network administration

  5. 9e07c13edu2018 — Present

    Computer Engineering @ Universidad de Cádiz

  6. e1f0a00init2016 — 2018

    High school (Bachillerato) @ I.E.S. Alventus, Trebujena

    Initial commit.

06 // Contact

$ ssh joseagus@cabrera

Open a connection

Got a project, a role, or just fancy talking software? Drop me a line and I'll reply as soon as I can.

Send email
bash — 80×24

$ssh joseagus@cabrera

Connecting to Trebujena, Cádiz…

Handshake · ECDHE-ED25519 · OK

✔ Connection established. There's someone on the other end.

Type a command or click one below. Start with help.