01 We are
A native remote multi-disciplinary full stack team.
No lo busques en Google, te lo explicamos. Este término lleno de anglicismos significa que somos capaces de desarrollar todo lo necesario en un proyecto tecnológico de alto nivel. Te acompañamos en todas las capas y fases del proyecto, desde la visión al backlog, desde el navegador hasta el Cloud, desde la ideación o la implementación a la optimización de recursos, la escalabilidad o la seguridad. Todo ello de forma remota, con metodologías Lean y Agile, en colaboración con tu equipo o de forma totalmente externa a tu compañía.
03 Our toolbox
Techs&Methods
Conoce todas las tecnologías y métodos de trabajo que utilizamos en Couragium.
Angular
Framework de desarrollo para JavaScript creado por Google que utilizamos para crear y mantener aplicaciones web.
Angular.ioReact
Librería Javascript de código abierto para crear interfaces de aplicaciones. Mantenida por Facebook y la comunidad de software libre.
React.orgVue
Framework progresivo para construir interfaces de usuario. Diseñado para poder ser integrado con facilidad en cualquier proyecto.
Vue.orgHugo
Generador de contenido estático escrito en Go. Ha ganado popularidad debido a su potencia y la cantidad de herramientas diponibles. Hemos utilizado Hugo para construir esta misma web.
GoHugo.ioJavascript
Lenguaje de programación interpretado, dialecto del estándar ECMAScript. Se define como orientado a objetos, basado en prototipos, imperativo, débilmente tipado y dinámico.
Javascript.comJest
Framework para testing en JavaScript, mantenido por Facebook y enfocado en la simplicidad. Se integra muy bien con Babel, TypeScript, Node.js, React, Angular y Vue.js. Funciona desde el primer momento y sin configuración.
JestJS.ioSASS
Metalenguaje de Hojas de Estilo en Cascada (CSS). Es un lenguaje de script que es traducido a CSS. SassScript es el lenguaje de script en sí mismo. La sintaxis más reciente, SCSS, usa el formato de bloques como CSS.
Sass-Lang.comWeb Assembly
Estándar abierto que nos permite la ejecución de código binario, compilado con lenguajes como C, C++ o Rust en la Web.
Webassembly.orgWeb GL
API multiplataforma destinada a crear gráficos 3D en un navegador basada en la biblioteca de gráficos OpenGL ES 2.0
Khronos.orgQT
Framework multiplataforma orientado a objetos usado para desarrollar interfaces gráficas, herramientas para la línea de comandos y consolas para servidores que no necesitan una interfaz gráfica de usuario.
QT.ioSSR
El server side rendering es una técnica por la cual se renderizan los componentes en el servidor y se proporcionan así al cliente las páginas totalmente renderizadas.
Wikipedia.ioSPA
Una single-page application (SPA), es una aplicación web que cabe en una sola página con el propósito de dar una experiencia más fluida a los usuarios, como si fuera una aplicación de escritorio.
Wikipedia.orgRust
Un lenguaje ideado para construir software fiable y robusto. Rápido, eficiente con la memoria: sin runtime ni colector de basura, inmejorable sistema de tipos, alta productividad... Simplemente nos encanta ❤️
Rust-lang.orgNode.js
Entorno en tiempo de ejecución multiplataforma, de código abierto, para servidor, basado JavaScript, asíncrono, con E/S de datos en una arquitectura orientada a eventos y basado en el motor V8 de Google.
Nodejs.orgJava
Lenguaje de programación que se ejecuta en una máquina virtual otorgándole un caracter multiplataforma. Es orientado a objetos y necesita ser precompilado a bytecode para ser ejecutado en la JVM.
Java.comPython
Python es un lenguaje de programación interpretado, dinámico y multiplataforma, cuya filosofía es la legibilidad. Soporta orientación a objetos y, en menor medida, programación funcional.
Python.orgC++
Este lenguaje fue creado con la intención de extender el lenguaje C con herramientas para la manipulación de objetos. A día de hoy es mucho más, siendo un lenguaje multiparadigma muy rico.
CPlusPlus.comGo
Go es un lenguaje de programación concurrente y compilado inspirado en la sintaxis de C, que intenta ser dinámico como Python y con el rendimiento de C o C++. Ha sido desarrollado por Google.
GoLang.orgKotlin
Kotlin es un lenguaje de programación de tipado estático que corre sobre la máquina virtual de Java y que también puede ser compilado a código fuente de JavaScript. Es desarrollado principalmente por JetBrains.
KotlinLang.orgLua
Lua es un lenguaje de programación multiparadigma, imperativo, estructurado y bastante ligero, que fue diseñado como un lenguaje interpretado con una semántica extendible. El nombre significa «luna» en portugués.
Lua.orgMySQL
Sistema de gestión de bases de datos relacional, propiedad de Oracle y desarrollado en su mayor parte en C++ y ANSI. Está considerada como la base de datos de código abierto más popular del mundo.
MySQL.comPostgreSQL
Sistema de gestión de bases de datos relacional orientado a objetos y de código abierto, publicado bajo la licencia PostgreSQL. Preaparada para alta concurrencia y con una amplia variedad de tipos nativos.
PostgreSQL.orgMongoDB
Sistema de base de datos NoSQL, orientado a documentos y de código abierto. Guarda la información como estructuras de datos BSON con un esquema dinámico. La integración con ciertas apps es fácil y rápida.
MongoDB.comElasticsearch
Servidor de búsqueda basado en Lucene. Provee un motor de búsqueda de texto completo, distribuido y con capacidad de multitenencia con una interfaz web RESTful y JSON. Basado en Java y de código abierto.
Elastic.coRedis
Motor de base de datos en memoria, basado en el almacenamiento en tablas de hashes (clave/valor) que opcionalmente puede ser usada como una BD durable o persistente. Está escrito en ANSI y de código abierto.
RedisLabs.comRabbitMQ
Software de negociación de mensajes de código abierto que funciona como un middleware de mensajería. Implementa el estándar AMQP. Está escrito en Erlang. Ejecución distribuida y conmutación ante errores.
RabbitMQ.comKafka
Plataforma unificada, de alto rendimiento y de baja latencia para la manipulación en tiempo real de fuentes de datos. Cola de mensajes pub-sub, altamente escalable y con registro de transacciones distribuidas.
Kafka.Apache.orgCloud Computing
Disponibilidad a pedido de los recursos de un sistema informático o aplicación, especialmente el almacenamiento de datos y la capacidad de cómputo, sin una gestión activa directa por parte del usuario.
Wikipedia.orgKubernetes
Sistema de código libre, diseñado por Google, para la automatización del despliegue, ajuste de escala y manejo de aplicaciones en contenedores. Soporta varios entornos de ejecución de contenedores, incluido Docker.
Kubernetes.ioDocker
Proyecto de código abierto que automatiza el despliegue de aplicaciones dentro de contenedores de software, proporcionando una capa adicional de abstracción y automatización de virtualización.
Docker.comTerraform
Software de infraestructura como código desarrollado por HashiCorp. Permite definir y configurar la infraestructura en un lenguaje de alto nivel, generando un plan de de ejecución para los cloud providers.
Terraform.ioLinux
GNU/Linux es un sistema operativo de tipo Unix, multiplataforma, multiusuario y multitarea. Es la combinación de varios proyectos, entre los cuales destaca GNU.
Wikipedia.orgGCP
Plataforma que reune todas las aplicaciones de desarrollo web que Google ofrece. Utilizada para crear ciertos tipos de soluciones a través de la tecnología almacenada en la nube.
Cloud.Google.comAWS
Plataforma de computación en la nube ofrecida por Amazon.com. Una de las ofertas internacionales más importantes de computación en la nube.
AWS.Amazon.comDigital Ocean
Proveedor estadounidense de servidores virtuales privados y servicios cloud. Con sede principal en la ciudad de Nueva York. La compañía provee de un servicio de HPC muy potente.
DigitalOcean.comCluster DB
Sistemas distribuidos de conjuntos de computadoras unidos entre sí normalmente por una red de alta velocidad y que se comportan como si fuesen un único servidor.
Wikipedia.orgCache
Utilizamos sitemas de cache, tales como Redis y otros, para recuperar y servir datos con mayor rapidez en futuras peticiones dentro de los sistemas que diseñamos.
Wikipedia.orgColas
Una cola es una estructura de datos, caracterizada por ser una secuencia de elementos en la que la operación de inserción push se realiza por un extremo y la operación de extracción pull por el otro.
Nodejs.orgAutomatización
Automatizamos procesos recurrentes de forma que puedan ejecutarse mediante disparadores o controles de horario, permitiendo una ganancia significativa en la gestión de recursos.
Nodejs.orgInstrumentalización
Instrumentalizamos paneles de datos con métricas y gráficas de distintos tipos de informarción relacionadas con el estado actual de la aplicación, informacion valiosa para negocio, etc.
Wikipedia.orgELK Stack
Estos son Elasticsearch, Kibana, Beats y Logstash (también conocido como el ELK Stack). Toma datos de cualquier fuente de manera confiable y segura. Permite tratarlos, de forma que se pueden realizar búsquedas, análisis y visualizaciones en tiempo real.
Elastic.coSentry
Sentry provee monitorización de errores mediante alojamiento própio de su software o como SASS mediante su servicio cloud, que ayuda a todos los equipos de desarrollo a catalogar y priorizar errores en tiempo real.
Sentry.ioDomain Driven Design
Enfoque para el desarrollo de software con necesidades complejas mediante una profunda conexión entre la implementación y los conceptos del modelo y núcleo del negocio.
Wikipedia.orgTest Driven Development
Desarrollo guiado por pruebas de software, o Test-driven development (TDD) es una práctica de ingeniería de software que involucra otras dos prácticas: Test First Development y Refactoring.
Wikipedia.orgEvent Sourcing
Captura de todos los cambios de estado de una aplicación como una secuencia de eventos. Esta secuencia puede ser almacenada y reproducida para obtener el estado en un cierto momento.
MartinFowler.comClean Architecture
En Clean Architecture los objetos encargados de la coordinación entre objetos de la capa de dominio y datos son los Use Case, también denominados Interactors.
Nodejs.orgSOLID
Single responsibility, Open-closed, Liskov substitution, Interface segregation y Dependency inversion. Guías que pueden ser aplicadas en el desarrollo de software para obtener código legible y extensible.
Wikipedia.orgContinuous Delivery
Enfoque de ingeniería de software en que los equipos de desarrollo producen software en ciclos cortos, asegurando que el software puede ser liberado en cualquier momento, de forma confiable.
Wikipedia.orgArquitectura Hexagonal
Es un patrón de arquitectura usado en el diseño de software. Se basa en la creación de componentes de la aplicación sin acoplamiento que pueden ser conectados a sus entornos mediante puertos y adaptadores.
Wikipedia.orgMicro-Servicios
Patrón de diseño en el desarrollo de software que consiste en construir una aplicación como un conjunto de pequeños servicios, los cuales se ejecutan en su propio proceso y se comunican con mecanismos ligeros.
Wikipedia.orgEvent Storming
Es un método basado en workshop para encontrar rápidamente que está sucediendo en el dominio de un programa de software. Mediante un worksop se describen todos los procesos que forman parte de un dominio y luego se trabaja sobre ello.
Wikipedia.orgGood Practices
Auditamos la implantación de buenas prácticas en el desarrollo de software en las empresas de nuestros clientes e implantamos formaciones orientadas a corregir los posibles errores.
Wikipedia.orgCode/Project quality
Controlamos la calidad del código de los proyectos que acometemos para asegurar el máximo posible de calidad del código, potencia y relevancia.
Wikipedia.orgEscalabilidad
Nos enfocamos en la escalabilidad para poder ofrecer aplicaciones que llegan a decenas de miles de peticiones por segundo distribuidas en clústeres de servidores.
Wikipedia.orgTeam Building
Ayudamos a mejorar las sinergias entre los miembros de tu equipo mediante sesiones de Team Building dirigidas. Un equipo contento es un equipo productivo.
Wikipedia.orgRemote Working
Trabajamos 100% en remoto y podemos ayudar a nuestros clientes a implantar nuestras metodologías de trabajo remoto en sus equipos. Comunicación asíncrona.
Wikipedia.orgLean
Hacemos consultoría LEAN en las empresas de nuestros clientes y ofrecemos formaciones encamindas a asentar todo nuestro conocimiento en su empresa.
Wikipedia.orgAgile
Trabajamos con metodologías ágiles como Scrum. LLevamos a cabo los procedimientos básicos de estas metodologías y podemos formar a su equipo en este sentido.
Wikipedia.org04 Why us
Motivos
Descubre por qué trabajar con un equipo de desarrollo remoto y por qué confiar en Couragium.
05 Ideas on software development
Artículos del Blog

Oferta de trabajo, Backend developer
En Couragium buscamos un nuevo compañero/a backend con ganas de aprender Rust. El salario es de 30.000 € brutos anuales y 36.000 € para seniors. Trabajamos 100% en remoto y no tenemos oficinas.

Al mal SCRUM buen Agile
Se podría decir que en el desarrollo web el 95% se hace intentando usar SCRUM, aun así, en experiencia, muy pocas empresas son Agile. El problema es que SCRUM existe como una forma de implementar Agile, y si no eres Agile tu SCRUM va a ser una fuente de tensiones y conflictos.

De MVP a Lean Management
Dirigirse a un mercado no es una acción, es un proceso, y puede ser muy difícil si no se tiene una metodología que te permita descubrir cual es ese producto con un buen encaje con el mercado.