Product & frontend
I build web interfaces starting from real product needs. I care about design, requirements and implementation evolving together, rather than treating the frontend as an isolated layer.
01 // Software Engineer
joseagus@cadiz:~$whoami
→ José Agustín Cabrera Castillo
I build software with the whole system in mind: requirements, implementation, integration, testing and maintenance.
02 // About
$ cat about.md

I started out in software building web products and, over time, ended up working on systems where technical decisions carry far more weight than just getting something to work.
I'm a software engineer, and I particularly enjoy understanding systems end to end: what problem we are solving, how the software should behave, how to structure it, and what we need in order to maintain it once it stops being a new project.
I've worked in web development and product, and I'm currently on software projects for highly demanding naval environments. That mix has made me more and more interested in everything that surrounds the code: architecture, requirements, testing, infrastructure and automation.
I keep learning and exploring technologies, but my goal is not to collect them. It is being able to face a system I don't know, understand it and find a good way to build on top of it.
03 // Skills
$ ls ~/stack
I work across different layers of the software and at different points in its lifecycle. My goal is not just to implement a feature, but to understand how it fits, how it is validated and how it is maintained afterwards.
I build web interfaces starting from real product needs. I care about design, requirements and implementation evolving together, rather than treating the frontend as an isolated layer.
I work with APIs and databases to connect applications, services and persistence. I look for clear contracts between components and data models that are easy to understand and maintain.
I use Git, CI/CD, Docker and automation tools to make building, testing and deploying software a repeatable, controlled process.
I have a grounding in Linux, virtualisation, networking and protocols. Understanding what happens beneath the application helps me diagnose problems that don't end in the code.
I take part in different stages of the development cycle: understanding the problem, defining what the system must do, implementing it, validating it and maintaining it once delivered.
// The goal: software another developer can understand, maintain and carry on.
04 // Work
$ ls -la ~/projects
Projects I've taken end to end: from gathering requirements with the client through development, launch and the changes that came afterwards.
Academic project · an Instagram-style social network
An Instagram-style social network built as an academic project, from designing the application to implementing it: a Go backend and a frontend laid out with CSS.
A local project: it never went to production.
05 // Experience
$ git log --graph --oneline
Initial commit.
06 // Contact
$ ssh joseagus@cabrera
Got a project, a role, or just want to talk software? Drop me a line and I'll get back to you as soon as I can.
$ssh joseagus@cabrera
Connecting to Trebujena, Cádiz…
Handshake · ECDHE-ED25519 · OK
✔ Connection established. Channel open to new opportunities.
Type a command or click one below. Start with help.