IT Skills

Technologies experience

Experience Level

  • Basic: Theory and basic practice with classic examples.
  • Elementary: Used at least in one real project.
  • Intermediate: Used in some projects. Decent skill for most use cases.
  • Advanced: Used for years. Big confidence and advanced knowledge.
  • Expert: Absolute Mastery. Many years working with it.

Blinking means it's used within the last two years.

Languages / Engines / Services
PHP
Advanced
With a wealth of experience in PHP projects spanning PHP3 to PHP7, I have a strong background in developing websites using MVC patterns in custom frameworks. My day-to-day responsibilities include implementing new features utilizing OOP techniques.
Javascript
Advanced
With a deep understanding of Javascript, I have honed my skills from its early days to the modern era, embracing ES6 features. I am adept at employing bundlers and tools such as Node.js, Babel, Webpack, and various npm utilities.
MySQL
Advanced
Boasting years of experience in SQL/MySQL, I have developed a strong proficiency in various aspects such as E/R diagrams, relational models, advanced queries, configuration optimization, index optimization, and integration with PHP using PDO and Mysqli.
HTML5
Advanced
I began writing HTML at 12 years old and have used it in all my web projects. HTML is relatively simple to use.
CSS3
Advanced
With years of experience, I have honed my skills in raw CSS. I am proficient in fonts, Google fonts, layouts using floats, tables, flexbox, and responsive media queries. However, my weaker area is animations, as I do not often use them in personal projects.
Typescript
Intermediate
Having successfully completed several projects with TypeScript, I appreciate the advantages of static typing while recognizing its occasional challenges. Ultimately, the decision to use TypeScript depends on the team and the project requirements.
Nodejs
Intermediate
Having delved into Node.js, I have utilized it as a backend service with Express and APIs. As an essential frontend tool, I have gained significant experience in npm, module bundlers, Babel, TypeScript, and other related technologies.
AWS
Intermediate
I have experience creating EC2 instances with elastic IPs to support Java Tomcat applications, as well as using S3 to host static websites. I have also worked with Lambda serverless functions, Cognito for identity management, and API Gateway.
C#
Intermediate
My experience with C# comes from developing mobile games. Although my knowledge of the .NET Framework is limited, I am highly interested in learning more about it.
Unity
Intermediate
I have developed a few small games using the Unity engine. These 2D mobile-optimized games incorporated physics and arcade logic. While it is not my specialty, I am confident in my ability to create additional games.
Java
Intermediate
Drawing from my background in C# and OOP, I am accustomed to statically strong-typed languages. My academic training provided me with Java experience, and I am eager to continue advancing my skills in this domain.
BASH Scripting
Intermediate
I have experience creating BASH scripts for software deployments and system maintenance tasks.
PostgreSQL
Basic
Though my experience with PostgreSQL is limited to academic projects, I am familiar with SQL and eager to work with it in production.
Python
Basic
I have explored Python extensively during my academic training and implemented numerous algorithms. However, I have yet to use it in any professional projects.
Frameworks / Libraries
ReactJS
Advanced
With a strong affinity for React, I have successfully completed numerous projects using this technology, including exploring hooks. This website is a testament to my proficiency, as it was built entirely with React and GatsbyJS.
NextJS
Advanced
I have migrated entire websites from classic PHP server-side rendering to modern NextJS-powered React applications featuring SSG, SSR, and ISR capabilities.
Tailwindcss
Advanced
I greatly appreciate Tailwind CSS for its seamless compatibility with React, making it my preferred choice over 'CSS IN JS' libraries.
jQuery
Advanced
I have years of experience with jQuery, mainly during a time when JavaScript was less advanced, and jQuery offered numerous advantages.
React Router
Intermediate
I have mainly used React Router for static routes and basic routing implementations.
Express
Intermediate
Creating a simple REST API with Express and Node is quite manageable and works well for small services. However, my experience with advanced features is limited, which might lead me to explore other options, like NestJS, for more complex projects.
Bootstrap
Intermediate
I've used Bootstrap in some projects, but I don't like to use it for every project. It's useful but can also add significant load to a website.
Testing Library
Elementary
Though relatively new to testing, I have diligently honed my skills in accessibility compliance, best practices, and user experience testing, leveraging userEvent companion to enhance my proficiency.
Jest
Elementary
Jest is a JavaScript testing framework that I have used in multiple projects, both personal and professional. I feel comfortable using Jest to perform unit tests in projects based on React, as well as in other JavaScript projects.
MaterialUI
Elementary
I have experience using Material UI with React for an academic project that also incorporated AWS Lambda and serverless services.
GatsbyJS
Elementary
This website was created entirely with GatsbyJS. I love this tool and would like to build more with it in the future.
GraphQL
Elementary
I only used GraphQL because GatsbyJS required it, and only for the client-side. It was a bit confusing at first but became easier once I understood it.
Laravel
Elementary
Having experience with other PHP MVC frameworks, I'm familiar with the core concepts and can adapt to Laravel. While I'm currently expanding my knowledge in Laravel, further hands-on practice will enhance my proficiency.
Tools / Programs
RegExp
Advanced
Having crafted numerous regular expressions, I've developed the expertise to tackle complex pattern-matching tasks, demonstrating a strong command of this powerful and versatile tool.
Debian Linux
Advanced
Debian Linux was my main desktop OS for years. I gained a strong Linux background without being a sysadmin expert.
SSH
Advanced
I have experience connecting via SSH and handling SSH keys.
Webpack
Advanced
I configured Webpack configs to make some plugins work. After using create-react-app, Angular, and Vue, I relied on it less.
Arch Linux
Advanced
Arch Linux is my main system on my laptop, reflecting my Linux background and preferences.
PHP-FPM
Advanced
I usually worked with PHP-FPM when using PHP and Nginx.
Subversion
Advanced
Subversion was the standard when I worked at Panaworld for 8 years.
LESS
Intermediate
I worked with LESS extensively because Bootstrap was too bloated.
Docker
Intermediate
I've used Docker extensively for personal projects but not in an enterprise environment.
Nginx
Intermediate
Nginx has been my preferred choice for web servers. I have more knowledge about Nginx than Apache HTTPd.
Git
Intermediate
I am comfortable working with branches, commits, merges, and conflict resolution. I have used both local and remote repositories, and collaborated on shared projects using tools like GitHub. I have also conducted code reviews to improve software quality.
Rsync
Intermediate
I used Rsync for backups and deploying static websites.
Glamor
Elementary
Glamor is a useful tool for CSS in JS. I used it on this website.
Composer
Elementary
I've used Composer to pull libraries and for autoload.
CentOS Linux
Elementary
I used CentOS when it was the only option for dedicated servers. Later, Debian became the standard.
Firebase
Basic
I used Firebase once for saving a form using their free tier.
Other Concepts
Web Development
Advanced
As an accomplished web stack specialist, I possess extensive experience in the field, allowing me to tackle complex web projects and deliver high-quality solutions.
Responsive design
Advanced
With extensive experience in crafting responsive websites, I am well-versed in utilizing CSS and media queries to ensure optimal user experiences across various devices and screen sizes.
OOP Programming
Advanced
I possess a strong grasp of OOP concepts, including composition, inheritance, polymorphism, interfaces, coupling, cohesion, and SOLID principles. This expertise allows me to effectively design and implement maintainable, scalable, and robust software solutions.
Netbeans
Advanced
I used Netbeans as my IDE for PHP for many years.
SEO
Advanced
Though I'm not fond of SEO due to its risks, I was responsible for technical SEO in a company that required top optimization, so I have extensive knowledge, including UX benefits.
UI Design & UX
Intermediate
I have honed my skills in UI and UX design through years of hands-on experience, including my tenure as a product manager, which enables me to create intuitive and visually appealing interfaces.
VSCODE
Intermediate
VSCode is my go-to "non-IDE" for tasks like JavaScript development, including this website.
VIM
Intermediate
I am proficient in using VIM for coding, although I may not know all the advanced tricks. I find it particularly useful for editing configuration files inside Linux operating systems or Docker containers that have vi/vim installed.
REST
Intermediate
I have a solid understanding of fundamental concepts and best practices for designing, implementing, and consuming RESTful APIs. I have expertise in creating routes, resources, and HTTP verbs, as well as authentication and authorization of users in a REST API. I have experience with various data exchange formats and tools, including Axios and Fetch API, and am knowledgeable in error and exception handling for REST APIs.
SOLID principles
Intermediate
With practical experience in implementing these principles, I am able to create scalable, maintainable, and flexible software solutions. I am passionate about clean architecture, have read Robert C. Martin's books on the subject, and have a strong knowledge of SOLID principles and their practical application.
Game Dev
Intermediate
With experience in creating multiple 2D mobile games, I have a solid grasp of game development fundamentals and can effectively apply these concepts to various projects.
Social Api
Intermediate
I possess a strong foundation in working with social media APIs, including those of Facebook, Twitter, and the now-deprecated Google Plus. I can effectively integrate these APIs into various applications to enhance their social features.
Testing (TDD)
Elementary
I am comfortable with the fundamental concepts and procedures of this software development approach. Although I don't have extensive experience in implementing TDD, I am motivated and excited to continue exploring this approach to software development. I have some practical experience and have used tools such as Jest to perform unit tests, and feel confident in creating unit tests and writing code that meets test requirements.
Visual Studio
Elementary
I have gained experience in using Visual Studio through working with C# during the development of Unity games, enabling me to utilize the tool for various tasks and challenges.

Contact Me

Do you have any questions? I'm from Barcelona. Below you'll find different contact options.

Status: I'm currently working 100% remotely as a Full Stack Developer, but I'm also open to opportunities that will help me grow my career.

contacto@danieldev.es

This PWA has been created by Daniel Domínguez Rubio using technologies such as: React, Gatsbyjs, GraphQL, Nodejs, AWS S3, and Cloudfront.

v1.11.0