My Hard and Soft Skills

Here you will find some of the skills I have developed over the years and the technologies I have been working with.

I am always eager to learn more.

Java is my favorite programming language. This general-purpose, strongly typed, class-based object-oriented language is very powerful. I like that strong data typing enforces a rigorous set of rules to ensure consistency of results. I've played a lot with Java and one project that I really enjoyed working on was an application that provides a geographical view into a family history.

I found very impressive the many powerful Amazon Web Services cloud-based products. I particularly enjoyed working with AWS Lambda and DynamoDB services. The serverless compute service that runs code in response to events and automatically manages the underlying resources helped me manage scalability easily, and the fully managed proprietary NoSQL database service that supports key–value kept data organized.

I fell in love with the artistic side of web programming. I think HTML, CSS, and Javascript are very powerful languages with which one can create aesthetically pleasing websites. That is what motivated me to create my own. I wanted to create something efficient and pleasing to the eye with code. It is amazing to think that amazing and wonderful sites can be built with just a couple of files.

It was fascinating to work with this high-level, dynamically-typed, general-purpose programming language. Although, I still prefer to work with Java, I was very impressed by what Pyton can do. Implementing a prime number test based on Fermat's little theorem and the Miller-Rabin conditions in Python was stimulating.

Out of the databases I worked with, the source-available cross-platform document-oriented database program, MongoDB, was the easiest to set up. MongoDB uses documents which are composed of field and value pairs, similar to JSON objects, and these can have a flexible schema which means not all documents need to have the same structure.

C++ was the first programming language I learned when I started studying software engineering. This language introduced me to encapsulation, polymorphism, abstraction, and inheritance, the four primary features of my favorite type of programming, Object-Oriented.

Learning about algorithm designs was challenging and exciting. It is fascinating to know that the order of a series of steps can create efficient solutions to complicated problems. One of the problems that I had fun working on was a convex hull problem. For this I used a divide-and-conquer algorithm design to efficiently find the convex hull of a set of points.

One of my favorite things I enjoyed learning about was software design patterns. These design patterns are general, reusable solutions to commonly occurring problems within a given context in software design. These are very useful and powerful. I particularly had fun with the factory pattern. This design pattern creates a "factory" which creates objects.

I love how easy it is to build user interfaces and sinle-page applications with Vue.js. This open-source model–view–viewmodel front-end JavaScript framework helps keep files organized and code clear. This framework and ecosystem that covers most of the common features needed in frontend development makes designs flexible and incrementally adoptable.

I've always loved technology and business. As I learned about both, I became more and more impressed by Microsft. When I was getting my Associate's degree in business, I became very proficient with the powerful Microsoft Office. Now I am falling in love with Visual Studio, Visual Code, Azura, and all the many other Microsoft tools for programmers.

Ever since I started to study programming I have learned about Linux and the power of the Linux terminal. You can do everything including, creating and removing files and directory, browsing the web, setting up a network connection, and monitoring system performance using the command-line terminal. And over 90% of the fastest computers in the world use Linux.

Being raised in Barcelona, Spain can be hard sometimes because we have multiple official languages. Two of the them are Catalan and Spanish. Knowing those languages has become a very useful skill, especially for business and programming. Being multilingual helps you think differently, get more programming acumen, and understand users that speak languages other than English more.

Acting is a complicated art and a wonderful one. I like to apply what I've learned with acting in all the aspects of my life because acting is not pretending to be someone else; it is actually becoming, being the character. It can require control over feelings, emotions, and body. This can be useful when you are under pressure or things do not work well, or when you find a stubborn bug.