I’m Carles. I’m Catalan, from Barcelona, expert in technology, problem solver and Entrepreneur. Currently living in Ireland, since 2017 when a multinational brought me here with a relocation package.
I discovered a computer at age 5, and instantly I knew that was for me.
My mother bought me a 8 bits MSX computer and I started to develop software in Basic: games, programs like agendas… until I exhausted the 64 KB RAM of the comp.
As the computer manual was in English I learned English just by reading the coding manual at my spare time, and trying after, at home. So I code since I was 5 y.o. and I know English since then too. Basic language is very close to English (run, goto, print, return…)
At age 10 I won a computer’s contest (best in the Spanish State) -consisting of testing my computer’s knowledge for a year by releasing weekly works in paper newsletter format about different computer and programming themes- and the prize was my first Pc (one for me and 10 for my school). A 8088 with a 5 1/4 floppy disk, a CGA graphics card and green black and white monitor. Part of the prize was also an scholarship for the university when I got older, but they never provided that.
Soon I expanded my first Pc with another floppy disk that I bought by myself, and that year I drilled the computer case and installed an external switch connected to the motherboard to turn off the internal speaker at my will as I was programming and playing until late at night and the speaker was not possible to turn off and it was very noisy. (I deduced how to do that, and just tried)
Since then I have bought all my computers by parts and assembled them myself. I push myself to be in contact with the latest technologies from the motherboards, knowing buses speeds, etc… so every year or two years I will assemble a new computer just to be up to date with the latest buses, speeds, constraints and technologies.
I was on modems, on that time when only computer geeks were there (in the BBS) and I was able to talk and to report bugs directly to the distant located creators of a piece of software after the message had jumped over tens of computers of heavy computer fans that shared their comps. and pay phone bills non-profit for all of us, and after two days the message was on their hands, and two days more, in mines. My first modem was 2,400 bps, but I had one 300 bps large board. And I had all kind of models up to 57,600 external. I loved the Zyxel’s. I had UARTs card buffers as well, and I owned my own BBS. I operated my own BBS too, in my own line, paid by myself working on the weekends. I also coded an intro in assembler for my best friend at that time, Jordi Mas, that featured graphics in 320×200, midi music, and I synchronized the LEDs of the modem in the screen with the LEDs on the Keyboard. The screens showed several sinusoidal waves overlapping from a modem with the BBS to another at home, plus a cool logo. I think it was only 6KB although I used internal compression (the code self unpacks when you start it). :)
I love Software and Hardware both equal.
I’m a proud founding member of softcatala.org a non profit Catalan org that translates software to Catalan. I was one of the core founders that contributed economically to create it as a cultural org, and also I spent hours translating Software. Our first release was Netscape navigator, before any other country in Europe. We called it l’Almogàver – the name of ancient Catalan ferocious warriors.
I’ve never stopped creating and doing brilliant things.
I created the first ticketing selling system for events at European level, Linux + C in 1996. It was very cool being making history. Later I was hired by a bank multinational to lead their Ticket systems platform due to my experience in the field, coding, and in Linux and Sun Solaris. (At 19 I already was the responsible of Linux of a ISP and I migrated many systems from Windows to Linux)
I learnt a lot from sources (code source) from others, so I’ve been always been creating Freeware and Open Source projects to be also nice to the Community.
I’ve developed in Assembler 80×86 (Dos, windows, Linux), C, C++, all kinds of Basic, PowerBasic, Visual Basic, .NET, Clipper, Pascal, Turbo Pascal, Java, .NET, Perl, Bash, Python (I wrote a book about programming in Python) and PHP, that is the language that I usde most often for web for Startups (I created my own Framework in 2014), although most of my time I code in Python, including webs and APIs. Add to the list many others like Node.js, jQuery, Ruby on Rails, Go…
I’m very well known across the business for being the guy that solves the impossible to solve technical problems. And I was proudly defined by a famous CEO of several Start ups, that later became my friend, as the most brutal tech guy he ever knew, being able to solve impossible problems and big tech bottlenecks easily.
Some companies in Barcelona were very sad when I joined Blizzard, as I stopped helping them.
I’m what in the United States they call a language agnostic. I really love computers and love the technology. I’m not a fanboy of one single language, I love them all, and I can’t consider a single language to be the best over the others. Each language has its pros and cons, strengths and weaknesses. They are tools. So I simply use what is best for every case. In some cases is speed, in others speed of development and time to market, in other availability of Developers in the market, portability, available libraries, support for multi-threading, available Frameworks, support for Cassandra… but I know the problems of those languages and I’ll point them merciless to the fanatics that made of a language or technology a religion.
I’ve seen a lot of those fanboys, that normally only look for their own glory/ego growth, make projects to fail and cause terrible economic losses.
Many people don’t know what they don’t know. If they invested the energy they put into gossiping, into learning, instead, maybe they would be great. Instead, they think they know a lot, but they just don’t know what they don’t know.
I created a Messenger in 1996 before any other, and I sold a license to a bank multinational, that is still using it (server and clients) to sell tickets for events in point of sales (with the security mechanism to preventing fraud).
In 2004 I created my own Internet Browser that was able to translate youtube to Catalan, that time Google had not translated it to Catalan yet. And a proxy Software from the scratch, and a load Server generator Software to see how many connections the servers could handle, and a garbage data sender over Tcp and Udp to test reliability and buffer overflows…
I created several own frameworks for my use and for my customers, as well as e-Commerce solutions.
One of my favorite Softwares I made is MySql Proxy Client, as I did a TCP/Ip multithreading solution that caches the queries and the results, and knows the modifications to the objects, so automatically handles cache releases. I loved that I had to learn and debug the MySQL Binary protocol.
I was the youngest Project Manager in Volkswagen IT (gedas), 1999. I passed the ISO 9001 auditory of the Internet Department, with one of my projects. (The Portal of Seat’s Intranet, used by 50.000 people). I became Head of Department of Re-usability and Code Components.
I was interviewed in a Seat magazine distributed across all Spain, as I created and directed the SEAT Intranet’s portal.
I was not only as manager, but a hands on Software Development Team with a mix of Internal and External (Outsourcing) Teams, that I trained and I reviewed their code. And from time to time I was requested to solve impossible problems, like I did for Port of Barcelona or for la Caixa (now caixabank).
Winterthur Insurance (multinational now owned by Axa) was following my success, and they hired me via a head hunter to create a Software for the Contact Centers of all the Winterthur Contact Centers in the world, and there I leaded the first e-Commerce project working with Health Data, including heavy authentication, hard and soft tokens, other eCommerce projects HP/Ux, Solaris, Java, Oracle…
I created my own Start up in 2004 so I created many more pieces of brilliant Software including embedded video players (the first able to reproduce flash) upgradeable through Internet, WYSIWYG newsletter builder, software to know when an email was read, my own E-Commerce store, payment gateways for England companies that wanted to operate with Visa in Spain…
I’ve worked in some famous Start ups in Barcelona like Privalia or Atrapalo, trip4real where I was CTO, I leaded the internationalization, and the company that was sold to airbnb for €45M.
From time to time I organize courses to help people that need a hand and I teach Python, PHP, Java and Bash Shell Scripting.
I’ve a project called Neurona.cat where I teach to develop, non-profit, people that are nice, good humans, and clever, but had no opportunity to learn just because life is hard and they had problems that forced them to work at early stage.
I consult for companies across the world in Software Development or I work as CTO or Head of Development or in special cases I Develop as Core Senior as Contractor.
I’m really good coding, I review all the code of my projects, and I teach my Teams.
But I’m very good in business too, so I use to give business ideas to my clients that make them rich.
I’m very creative and always have ideas. Tons of ideas.
Normally I find security bugs in all the webs I review.
I’ve some rack servers of my property running in a Data Center, several Amazon Cloud EC2 instances, Google Cloud instances, CloudSigma VMs, as well as instances from other Cloud Providers less known and dedicated servers in different parts of the world.
Tired of finding so many bugs in other’s webs, and horrible code, in 2013 I released my own PHP Framework as Open Source in order to help others to create high quality and secure webs very fast.
I’m serious and very professional working and I can’t suffer mediocrity.
I know how to create applications from the scratch (web and desktop), I care about the details and I don’t allow errors in the code. I’m perfectionist, not as obsession but as at service of a well done work. I do not allow the Team to take the fast terrible solutions that compromises security and the future.
My code is proudly running on hundreds of thousands of servers around the world on different companies’ platforms.
By my side, I have physical rack servers and Vmware virtual machines that I configured 16 years ago and are still serving Internet contents in Production. There are Linux and windows servers. It’s really cool to still use a mail server that I configured with sendmail rules so far. :)
I’ve develop a lot of applications for windows, Linux, and long long time ago for Ms-Dos.
When I do an application nowadays I create it as multiplatform (Linux, Mac, Windows) and normally it supports running in Raspberry Pi too.
I love computers, development and technology. I really love Linux and Open Source, but I’m not a fundamentalist. I use what best fits for my project’s needs.
Must say that I hate microsoft because being the biggest Software company in the world for so many years, they created terrible products, full of bugs. Myself reported bugs 28 years ago that were present in the next, and the next, and the next, version… (so they never fixed) and I dislike them too because they have played dirty with other’s Software creations. Despite that, I still have some Microsoft Servers and I’ve developed in the past for Windows. (.NET, Visual Basic, ASP, Visual C++, Turbo Pascal, Power Basic, Quick Basic, products like Documentum…). My proportion of Servers is 9 to 1 (90% Linux to 10% Windows). But I do love Xbox ;)
For the same reason I hate apple. Because they decide for us (I use Linux, I owned an iPhone and I hate iTunes, now I’m supper happy with my Samsung Android) and Mac OS X is not as good as it should. But at least apple offers good quality hardware + software.
Despite my preferences I love technology, I’m not a fundamentalist and I choose the technology that fits best for each case. Is what we call technology agnostic.
On my spare time I enjoy studying, coding in Python Production Engineering Tools, meeting clever people (on IT, Science, Research…), and in the past I enjoyed a lot developing apps for Android, writing Software for Linux with QT, writing games with OpenGL, C++, creating Web Projects… things that I wasn’t able to do during my busy week. Before I tried to find a pretext to learn technical things that normally I don’t need to know, but now I push to learn things that make me grow (for example, I studied a lot about Linux Kernel, Python programming, deploying apps, etc..).
I was doing lots of sport almost every day until I had an accident in a rainy day that damaged my spine. Fortunately I can walk, but I struggle to do sport as the pain is huge and I lost a lot of elasticity too.
I’m super creative but I’ve bad memory and tend to forget what I don’t use often, so I use certain Softwares that allow me to be very effective and keeping only that something is possible and more or less how, and the index key to search for :) and then I query my Software for the exact way to proceed. I also keep myself busy in projects, so I don’t loss sharp in my skills. From time to time I help in askubuntu and stackoverflow.
In a past past job around 2013 I was CTO of an Start up, where we created a Software and Platform for managing different clouds providers. My technical designs provided Auto-Scaling -even for providers that doesn’t supported it at that time-, and I worked as CTO of a very cool Cloud Provider with infrastructure in many countries. In 2017 June I was Cloud Architect for a multinational named Sanmina, in the division Storage, and I Lead the Cloud division, with my own Team. I was working a lot in Python and ZFS. You can watch my DRAID speech in OpenZFS in San Francisco.
I solved impossible problems in many Start ups, being the CTO, and half-half, half in technology, half leading the Team as Software Development Manager (SDM) and leading the business from IT, I managed to help Start ups to be sold for 45 M€, last one to airbnb. I’m always hands on. I code and I love it.
I’ve been offered to lead, as CTO, or Tech Lead, different amazing companies around the world, a big crawler/search engine in Japan, Uber in Germany before it was so famous, projects in The States, Vietnam… for lots of money. I chose carefully to help certain companies as I knew I was the difference between success or closing, and sacrificed some personal goals for helping others.
But after a very good friend committed suicide, and the girl I thought she could be the love of my life was so cruel, cold, irresponsible, player, she committed a series of lies and manipulations and took advantage of me, when I was so vulnerable, I decided to take care of myself and to live life in the present. Chase my dreams and do not make long term plans. I make yearly compromises/contracts and if I’m happy I renew.
I knew what my friend did, in the airport, when I was going to the final interviews with Facebook, in Menlo Park (California, US) for a SDM (Software Development Manager) position in the SRE (Site Reliability Engineering). I remember that girl being super cold when I was leaving, not having clarified anything to me, about her real intentions, and coming for me when she wanted, as I was funny, nurturing, caring, sweet, and an unconditional friend. I remember how many dreams I sacrificed for ungrateful, selfish people, until I learnt to set boundaries.
I always contributed to charity, but as I’ve seen the dark face of many people, I choose wisely who I help.
Up to 2019 September, when Sanmina moved the Ireland Storage Software Factory to Colorado, US, I was Cloud Architect for the Multinational, division Storage, and I Lead the Cloud division, with my own Team. I specialized in ZFS, and in Declustered Raid (DRAID). I was also Product Owner (PO) of Cold Storage Backup Solution (Software + Hardware) and Software Development Manager (SDM) leading my Team in Ireland and the US. I created a product for Storage (DRAID, De-clustered Raid) and taught and lead my Team, in Python, and Testing procedures for the 4U 90 drives and 4U60 drives, also for 1U 60 SSD drives, 10, 25, 40, 50, 100 Gbps NICs. I had under my control and to my entire disposition entire racks of Servers, and Hardware (with drives SAS, SSD, NVMe), valued in millions, and a nice Team that would be my remote hands when I was not in the States.
After this, I was thinking about the offers I had and what I really wanted to do and I decided that I wanted to stay in my city, Cork, Ireland, the city, the country and the people that has treated me so well since I came, and on Dec 2019, after many interviews with a Team of super brilliant people, and doing a coding exercise during 5 hours, I agreed to join Blizzard Entertainment (Activision Blizzard King), in the GNOC (Global Network Operations Center) as Operations Engineer. From there I can help a lot of different departments and I really enjoy. Has been one of the best decisions in my life. I’ve so many fun finding bizarre problems and saving the day for the players. :)
They are playing the games I love, thanks to our work. And that’s great. If you play World of Warcraft or Star Craft 2, I’ve solved problems there, making happy again hundreds of thousands of players. :) It is very nice to do something difficult with the skills I learned during years, and see that helps players to be happy. :)
I was offered to join in the States directly, but my future boss was fair and transparent, and had dedicated a lot of efforts through the process, and I considered that the best was to be at least one year in Ireland and help them. I’ve been blessed to find super nice colleagues and managers, so I’m happy.
As I write this, I am approaching my second year in Blizzard, and even with the covid-19, they have kept sending merchandising: collector’s edition games, t-shirts, hoddies, caps… they allow us daily time to study and grow…
I’m part of the Standards Guild, were we define the Standard procedures and tools, and I help my colleagues teaching Python, Unit Testing… (I keep teaching how to code people in my spare time too), I’ve contribute some monitoring PR code that runs in all our Servers (physical, instances and cloud), I’m responsible of some Automation Tools, and I code new ones, and I’ve been presenting for two years in the Activision Blizzard King Technology worldwide IT demos, where I demoed my project CTOP for monitoring servers (including the plugins to control Raspberry Pi LEDS and external electronics), cmemgzip to compress files when the Server diskspace is completely full.
What can I say? I’m happy here. :)
If you want to know more about me, click here to see my self description when I joined the company.