About me
I am a passionate developer with a lifelong interest in technology and programming. My curiosity drives me to explore new methods and techniques, dedicating much of my free time to independent research. While my professional experience has primarily focused on backend development, DevOps, Frontend and now in Swift Lang and iOS, I have always enjoyed venturing into new areas. For me, the excitement of discovery is an essential aspect of development.
What am I looking for?
- Challenging projects: Working on innovative and demanding projects to expand my knowledge of iOS development and Swift.
- Teamwork: Joining a collaborative team of developers who share a commitment to creating high-quality iOS applications.
- Mentorship: Seeking experienced mentors to guide me through the intricacies of iOS development and best practices.
- Continuous learning: Staying updated with the latest trends and technologies in iOS development and finding opportunities for professional growth.
NaizFit February 2024 / June 2024
Product Owner, Android & iOS Developer, Tech Lead
My decision to join NaizFit was driven by a desire for challenges and a longstanding interest in understanding the dynamics of entrepreneurship from the inside. I believed that joining a well-established startup was the perfect way to achieve this. In this regard, the most valuable lesson I learned at NaizFit was how to build a company culture where everyone feels like part of a family.
Despite my brief tenure at NaizFit, it was there that I found an exceptionally rewarding work environment, and it has been one of the briefest yet most enriching experiences of my professional career.
Initially hired to develop the iOS application, I quickly needed to take the lead on a legacy Android project. To meet this challenge, I learned Kotlin, Jetpack Compose, and Android from scratch. NaizFit was notable for its excellent CI infrastructure, assembled with limited resources, and a team that excelled in working harmoniously and being fully committed to the project's goals.
Unfortunately, due to budget cuts by investors and a subsequent workforce reduction, I had to leave the company. During my time there, I not only advanced the initial development of a project on iOS using the iOS 17 stack but also became extensively familiar with Android and Kotlin, and took on responsibilities for parts of the backend developed in Scala and learning about the CI infrastructure. Although originally hired as an iOS app developer, my role quickly evolved into Product Owner and Tech Lead, taking full responsibility for an entire project.
Tyris August 2023 - February 2024
Senior iOS Developer
Before completing my training at the Apple Coding bootcamp, I joined Tyris as a Senior iOS Developer. In this role, I had the opportunity to be part of a highly cohesive and effective team. During my tenure, I delved into functional programming and worked extensively with the SwiftUI technology stack. Among my most significant contributions were migrating the project to Async Await and implementing the coordinator pattern within the League team.
Additionally, our workflow at Tyris was structured around the Scrum methodology and the teams had the responsibilities properly segregated, for example with a testers team, a designers team and separated teams for Android, iOS, Backend and Frontend. We utilized tools such as Jira for project tracking, Figma for interface design or Jenkins for CI.
Despite the fulfilling challenges, I decided to seek new opportunities due to the limited amount of work available, prompting me to look for roles that offered greater challenges.
Apple Coding Academy Bootcamp 2023 (Febr - Sept 2023)
Final Project: Formidable App
At present, I am enrolled in an immersive Apple Coding Bootcamp, under the expert guidance of Julio Cesar Fernandez. This is part of my plan to shift my career and become a skilled iOS developer. I'm close to finishing the course and it's given me a lot of professional experience.
For the bootcamp project, I developed an app called . The goal of this project was not just to gain practical experience with iOS development and improve my coding skills, but also to explore the potential for monetization. I aimed to create an app that was not only user-friendly, but also had commercial potential.
After completing the bootcamp, I'm looking forward to using my new skills and experiences to contribute to an innovative team as an iOS developer.
Formidable App (October 2022 - Currently)
Tech: SwiftUI, Packages, API Architecture, Async Await
After completing my work at CERN, I knew I wanted to continue learning and growing, as personal development has always been of great importance to me. I have always admired individuals who can independently develop projects, and this inspired me to create an app that would allow me to both learn Swift and Apple system development and launch a product on the App Store.
This is how the idea for Formidable App was born. I saw an opportunity to develop an app that would enable users to save and easily reuse forms for future use. My goal in developing this app was not only to learn but also to innovate. As a result, I focused on designing the app with code reusability and scalability in mind, ensuring that it would have the potential for significant growth in the future.
My application aims to help users save time when entering data into their systems. With Formidable, users can store the configuration of their form targeting platforms such as Notion, Todoist, Calendar, or Reminders. They can then fill out this form with the relevant information and save it. Users can access and reuse this form as many times as needed to input customized data, allowing for quick inbox access and increased productivity.
In today's world, we are constantly subjected to distractions, and I believe my application can help users maintain focus and improve their overall efficiency.
About the code of Formidable, I extracted the main parts of the application to a group of repositories to allow the users to modify it and make Pull Requests to my repository. The original idea was that Formidable would be customizable by the community.
CERN - Switzerland (October 2019 - October 2022)
Tech: React/Redux, Openshift/Docker, iOS Development & Python/Flask
I decided to move to Switzerland to work at CERN, as it presented a fantastic opportunity for my career advancement. My work at CERN focused on the CERNphone project, which aimed to replace Skype for Business by integrating it with CERN's telecommunication systems.
I was fortunate that the pandemic began just six months after I arrived at CERN. As you can imagine, it was a unique professional and personal experience to have endured this historic and challenging time at such a remarkable institution. The team I had the privilege of working with was composed of highly responsible and friendly individuals. Thanks to their support, we were able to overcome challenges and maintain a high level of productivity. Our team successfully refactored, fixed, and restructured a project that had been reassigned to us by CERN management.
Initially, my primary responsibility was the development of the CERNphone Desktop App for macOS, Windows, and Linux using Electron. The client application utilized React, Redux, WebSockets, and SIP.JS as its main technology stack. The project also required a Python-based REST API to manage sessions and other services provided to the app, which was deployed in OpenShift. The system is now in production, replacing Skype for Business, and serves over 5,000 users while handling approximately 30,000 calls daily.
In addition to the desktop application, our team developed web services and daemons to manage the call system in a user-friendly manner. We employed OpenShift, Docker, Python, and Flask for the backend, and React-Redux and TypeScript for the frontend. Our choice of technology stack allowed for agile development, efficient testing, and the implementation of both development and production environments, following DevOps principles. During this time, I enhanced my Docker skills through hands-on experience with OpenShift and Kubernetes, as well as additional training.
Subsequently, we began working on the CERNphone mobile applications for Android and iOS. My focus was on iOS development using Swift. This experience marked my first professional encounter with Swift and the Apple Development Program, providing valuable learning and practical insights into deploying software for real users.
This opportunity proved to be highly enriching, particularly regarding the work environment. I collaborated with multicultural teams, communicated in English, managed software requirements, planned and delivered solutions, and provided in-person support to end-users from around the world. I also had the chance to concentrate on a Swift-based project, applying best practices in software development that I had acquired up to that point. Upon leaving CERN, I ensured a smooth knowledge transfer and successful completion of the project I had initiated.
ReclamaHoy Project (2019-2020)
Entrepreneurship, Stakeholders handling, Tech lead
Before departing for CERN, I decided to help a friend with a project he had in mind. As a lawyer, he was anticipating a Supreme Court ruling on "revolving credit cards." He believed that the banks would be ordered to pay compensation and wanted to attract clients to file claims.
We collaborated with a digital marketing agency called Binima and, within a few months, set up a landing page and profiles in social networks. As soon as the court ruling was issued, we began advertising on social media platforms. To our surprise, the campaign gained significant traction and attracted a considerable number of clients. Although the legal proceedings for this project are still ongoing, our marketing efforts have long been completed.
This project allowed us to gain practical knowledge about how digital marketing works and experience a small entrepreneurship adventure with limited investment costs.
Lin3s - Bilbao (March 2017-August-2019)
PHP Backend Developer, Domain Driven Design, TDD & Frontend React
I began my career working on backend projects, primarily using Symfony and Sylius to create REST APIs. I also gained experience with Drupal 8 while working on a major project for Euskaltel's website. My role involved programming part of the backend for the new site, including its Drupal administration system and shopping cart, through a REST API. I applied Domain Driven Design, BDD and TDD testing, CQRS, and Clean Architecture principles.
The Euskaltel Web Project was particularly useful in my professional development, as it taught me the importance of quality in large-scale projects. Despite eventually transitioning from backend to frontend programming, this project left a lasting impact on my approach to software development.
During this time, I was also working on my Master's thesis, which focused on best practices in project development, particularly in the backend. My research expanded to include Docker and DevOps, and I later applied this knowledge to deploy new projects using Docker and automate testing, development, and production environments.
After completing the Euskaltel project and my thesis, I took on increased responsibilities and started a new internal project for a client. I first focused on organizing the backend and implementing Docker and DevOps before moving on to redesign the frontend. To do so, I acquired training in React and Redux and developed the frontend architecture.
This project provided valuable learning experiences, as it was my first time assuming the role of a software architect. The system I developed replaced the old management system and is being configured for new customers. It also allowed me to apply my backend knowledge of good development practices to frontend development using React and Redux.
During this period, I continued working on small personal projects in Swift, including a tvOS application. I was drawn to Swift due to its strong typing and the quality of software it enabled. In addition, I purchased a home server and set up Docker-based systems for automating information backups and managing home automation. This experience further deepened my understanding of Docker and high availability services.
