Tecnologías IT

Experiencia en skills de programación

Nivel de experiencia

  • Básico: Teoría y algo de práctica con ejemplos típicos.
  • Moderado: Se utilizó al menos en un proyecto real.
  • Intermedio: Uso en varios proyectos. Nivel aceptable para la mayoría de casos.
  • Avanzado: Uso durante años. Se tiene confianza y conocimiento avanzado.
  • Experto: Control absoluto. Te han salido canas de los años usando la herramienta (Normalmente cambias antes).

En naranja, significa que se utilizó en los últimos dos años.

Lenguajes / Engines / Servicios
PHP
Avanzado
Con una vasta experiencia en proyectos PHP que abarca desde PHP3 hasta PHP7, cuento con una sólida formación en el desarrollo de sitios web utilizando patrones MVC en frameworks personalizados. Mis responsabilidades diarias incluyen la implementación de nuevas funcionalidades utilizando técnicas de OOP.
Javascript
Avanzado
Con conocimiento profundo de Javascript, he perfeccionado mis habilidades desde sus inicios hasta la era moderna, adoptando las características de ES6. Soy hábil en el uso de bundlers y herramientas como Node.js, Babel, Webpack y diversas utilidades npm.
MySQL
Avanzado
Con años de experiencia en SQL/MySQL, he desarrollado una sólida competencia en diversos aspectos como diagramas E/R, modelos relacionales, consultas avanzadas, optimización de configuración, optimización de índices e integración con PHP usando PDO y Mysqli.
HTML5
Avanzado
Empecé a escribir HTML a los 12 años y lo he utilizado en todos mis proyectos web. HTML es relativamente fácil de usar.
CSS3
Avanzado
Con años de experiencia, he perfeccionado mis habilidades en CSS puro. Soy competente en fuentes, Google Fonts, maquetación usando floats, tablas, flexbox y media queries responsivas. Sin embargo, mi área más débil son las animaciones, ya que no las uso a menudo en proyectos personales.
Typescript
Intermedio
Habiendo completado con éxito varios proyectos con TypeScript, aprecio las ventajas del tipado estático al mismo tiempo que reconozco sus desafíos ocasionales. En última instancia, la decisión de utilizar TypeScript depende del equipo y los requisitos del proyecto.
Nodejs
Intermedio
Habiendo profundizado en Node.js, lo he utilizado como servicio de backend con Express y APIs. Como herramienta frontend esencial, he adquirido una experiencia significativa en npm, bundlers de módulos, Babel, TypeScript y otras tecnologías relacionadas.
AWS
Intermedio
Tengo experiencia en la creación de instancias EC2 con IPs elásticas para aplicaciones Java Tomcat, así como en el uso de S3 para alojar sitios web estáticos. También he trabajado con funciones sin servidor Lambda, Cognito para la gestión de identidades y el servicio de API Gateway.
C#
Intermedio
Mi experiencia con C# proviene de mi trabajo en el desarrollo de juegos para móviles. Aunque mi conocimiento del marco .NET es limitado, tengo un gran interés en aprender más al respecto.
Unity
Intermedio
He desarrollado algunos juegos pequeños utilizando el motor Unity. Estos juegos 2D optimizados para móviles incorporaban físicas y lógica arcade. Aunque no es mi especialidad, confío en mi capacidad para crear juegos adicionales.
Java
Intermedio
A partir de mi experiencia en C# y OOP, estoy acostumbrado a los lenguajes de tipado estático y fuerte. Mi formación académica me proporcionó experiencia en Java, y estoy ansioso por seguir mejorando mis habilidades en este ámbito.
BASH Scripting
Intermedio
Tengo experiencia en la creación de scripts de BASH para implementaciones de software y tareas de mantenimiento del sistema.
PostgreSQL
Básico
Aunque mi experiencia con PostgreSQL se limita a proyectos académicos, estoy familiarizado con SQL y deseoso de trabajar con él en producción.
Python
Básico
He explorado Python en profundidad durante mi formación académica e implementado numerosos algoritmos. Sin embargo, aún no lo he utilizado en ningún proyecto profesional.
Frameworks / Librerías
ReactJS
Avanzado
Con gran afinidad por React, he completado con éxito numerosos proyectos utilizando esta tecnología, incluyendo la exploración de hooks. Este sitio web es un testimonio de mi competencia, ya que fue construido íntegramente con React y GatsbyJS.
NextJS
Avanzado
He migrado sitios web completos desde PHP clásico con renderizado en el lado del servidor hacia aplicaciones modernas de React con NextJS, que cuentan con capacidades como SSG, SSR e ISR.
Tailwindcss
Avanzado
Valoro mucho la biblioteca Tailwind CSS por su compatibilidad perfecta con React, lo que la convierte en mi opción preferida por encima de las bibliotecas de "CSS IN JS".
jQuery
Avanzado
Tengo años de experiencia con jQuery, principalmente en una época en la que JavaScript era menos avanzado y jQuery ofrecía numerosas ventajas.
React Router
Intermedio
He utilizado React Router principalmente para rutas estáticas y la implementación de enrutamientos básicos.
Express
Intermedio
Crear una API REST simple con Express y Node es bastante manejable y funciona bien para servicios pequeños. Sin embargo, mi experiencia con características avanzadas es limitada, lo que podría llevarme a explorar otras opciones, como NestJS, para proyectos más complejos.
Bootstrap
Intermedio
He usado Bootstrap en algunos proyectos, pero no me gusta usarlo en todos. Es útil, pero también puede agregar carga significativa a un sitio web.
Testing Library
Moderado
A pesar de ser relativamente nuevo en testing, he trabajado diligentemente en el desarrollo de mis habilidades en pruebas de cumplimiento de accesibilidad, mejores prácticas y experiencia de usuario, utilizando userEvent companion para mejorar mi competencia.
Jest
Moderado
Jest es un marco de pruebas de JavaScript que he utilizado en múltiples proyectos, tanto personales como profesionales. Me siento cómodo utilizando Jest para realizar pruebas unitarias en proyectos basados en React, así como en otros proyectos de JavaScript.
MaterialUI
Moderado
He utilizado Material UI con React en un proyecto académico que también incorporaba AWS Lambda y servicios sin servidor.
GatsbyJS
Moderado
Este sitio web se creó completamente con GatsbyJS. Me encanta esta herramienta y me gustaría construir más cosas con ella en el futuro.
GraphQL
Moderado
Solo he usado GraphQL porque GatsbyJS lo requería y solo en la parte del cliente. Fue un poco confuso al principio, pero se volvió más fácil una vez que lo entendí.
Laravel
Moderado
Con experiencia en otros frameworks MVC de PHP, estoy familiarizado con los conceptos básicos y puedo adaptarme a Laravel. Aunque actualmente estoy ampliando mis conocimientos en Laravel, más práctica práctica mejorará mi habilidad en el uso del framework.
Herramientas / Programas
RegExp
Avanzado
Habiendo creado numerosas expresiones regulares, he desarrollado la experiencia para abordar tareas de patten-matching complejas, demostrando un sólido dominio de esta herramienta potente y versátil.
Debian Linux
Avanzado
Debian Linux fue mi sistema operativo principal durante muchos años. Adquirí un sólido conocimiento de Linux sin ser un experto en administración de sistemas.
SSH
Avanzado
Tengo experiencia en conectarme mediante SSH y manejar claves SSH.
Webpack
Avanzado
Configuré Webpack para que funcionaran algunos plugins. Después de usar create-react-app, Angular y Vue, lo utilicé menos.
Arch Linux
Avanzado
Arch Linux es el sistema principal en mi portátil, lo que refleja mi conocimiento y preferencias en Linux.
PHP-FPM
Avanzado
Usualmente trabajé con PHP-FPM al utilizar PHP y Nginx.
Subversion
Avanzado
Subversion era el estándar cuando trabajé en Panaworld durante 8 años.
LESS
Intermedio
Trabajé mucho con LESS debido a que Bootstrap estaba demasiado sobrecargado.
Docker
Intermedio
He utilizado Docker ampliamente en proyectos personales, pero no en entornos empresariales.
Nginx
Intermedio
Nginx ha sido mi opción preferida para servidores web. Tengo más conocimientos sobre Nginx que sobre Apache HTTPd.
Git
Intermedio
Me siento cómodo trabajando con branchs, commits, merges y resolución de conflictos. He utilizado tanto repositorios locales como remotos y he colaborado en proyectos compartidos utilizando herramientas como GitHub. También he realizado revisiones de código para mejorar la calidad del software.
Rsync
Intermedio
Utilicé Rsync para realizar copias de seguridad y desplegar sitios web estáticos.
Glamor
Moderado
Glamor es una herramienta útil para CSS en JS. La utilicé en este sitio web.
Composer
Moderado
He utilizado Composer para instalar librerías y como autoloader.
CentOS Linux
Moderado
Utilicé CentOS cuando era la única opción para servidores dedicados. Luego, Debian se convirtió en el estándar.
Firebase
Básico
Usé Firebase una vez para guardar un formulario con su plan gratuito.
Otros conceptos
Web Development
Avanzado
Como especialista destacado en el stack web, poseo una amplia experiencia en el área, lo que me permite abordar proyectos web complejos y entregar soluciones de alta calidad.
Responsive design
Avanzado
Con amplia experiencia en la elaboración de sitios web responsive, domino el uso de CSS y media queries para garantizar experiencias de usuario óptimas en diversos dispositivos y tamaños de pantalla.
OOP Programming
Avanzado
Poseo un sólido conocimiento de los conceptos de programación OOP, incluyendo la composición, herencia, polimorfismo, interfaces, acoplamiento, cohesión y principios SOLID. Esta experiencia me permite diseñar e implementar de manera efectiva soluciones de software mantenibles, escalables y robustas.
Netbeans
Avanzado
Utilicé Netbeans como mi IDE para PHP durante muchos años.
SEO
Avanzado
Aunque no me gusta el SEO debido a sus riesgos, fui responsable del SEO técnico en una empresa que requería la mejor optimización posible, por lo que tengo un amplio conocimiento, incluidos los beneficios del UX.
UI Design & UX
Intermedio
He perfeccionado mis habilidades en diseño de UI y UX a través de años de experiencia práctica, incluyendo mi tiempo como product manager, lo que me permite crear interfaces intuitivas y visualmente atractivas.
VSCODE
Intermedio
VSCode es mi "no IDE" preferido para tareas como el desarrollo de JavaScript, incluido este sitio web.
VIM
Intermedio
Tengo habilidades suficientes en el uso de VIM para codificación, aunque puede que no conozca todos los trucos avanzados. Lo encuentro particularmente útil para editar archivos de configuración dentro de sistemas operativos Linux o contenedores de Docker que tienen vi/vim instalado.
REST
Intermedio
Tengo una comprensión sólida de los conceptos fundamentales y las mejores prácticas para diseñar, implementar y consumir APIs RESTful. Tengo experiencia en la creación de rutas, recursos y verbos HTTP, así como en la autenticación y autorización de usuarios en una API REST. He trabajado con varios formatos de intercambio de datos y herramientas, incluyendo Axios y Fetch API, y tengo conocimientos en el manejo de errores y excepciones en una API REST.
SOLID principles
Intermedio
Con la práctica en la implementación de estos principios, soy capaz de crear soluciones de software escalables, mantenibles y flexibles. Soy un apasionado de la arquitectura limpia, he leído los libros de Robert C. Martin sobre el tema, y tengo un fuerte conocimiento de los principios SOLID y su aplicación práctica.
Game Dev
Intermedio
Con experiencia en la creación de múltiples juegos móviles en 2D, tengo un sólido conocimiento de los fundamentos del desarrollo de juegos y puedo aplicar efectivamente estos conceptos a diversos proyectos.
Social Api
Intermedio
Poseo una sólida base en el trabajo con APIs de redes sociales, incluyendo las de Facebook, Twitter y el ahora obsoleto Google Plus. Puedo integrar eficazmente estas APIs en diversas aplicaciones para mejorar sus funciones sociales.
Testing (TDD)
Moderado
Estoy cómodo con los conceptos fundamentales y los procedimientos de este enfoque de desarrollo de software. Aunque no tengo una amplia experiencia en la implementación de TDD, estoy motivado y emocionado de seguir explorando este enfoque para el desarrollo de software. Tengo algo de experiencia práctica y he utilizado herramientas como Jest para realizar pruebas unitarias, y me siento confiado en crear pruebas unitarias y escribir código que cumpla con los requisitos de las pruebas.
Visual Studio
Moderado
He adquirido experiencia en el uso de Visual Studio al trabajar con C# durante el desarrollo de juegos en Unity, lo que me permite utilizar la herramienta para diversas tareas y desafíos.

Vías de Contacto

¿Quieres comentarme algo? Soy de Barcelona. A continuación, te dejo varias opciones para contactar conmigo.

Estado: Estoy trabajando 100% Remoto como Full Stack Developer, pero estoy abierto a oportunidades que me ayuden a hacer crecer mi carrera.

contacto@danieldev.es

Esta PWA ha sido desarrollada por Daniel Domínguez Rubio usando tecnologías como: React, Gatsbyjs, GraphQL, Nodejs, AWS S3 y Cloudfront.

v1.11.0