Alfred G. G.

Software Engineer

You can access to a plain and shortened resume version clicking on the next button:

Printable Resume

Presentation

Hi! I’m a software developer specialist in Python and enthusiastic about open source and the sharing culture. I was born in 1981 and hail from Barcelona.

Since I started my career in software development I have been programming for several types of companies. This gave me the opportunity to work in a great diversity of scenarios and software architectures. I always put my whole energy on analyzing and finding the most appropriate solution for the given situation. Years ago I decided to stick to Python and to master it for building advanced products. I can find joy from other technologies and paradigms though, sometimes even more than from this scripting language.

Still programming is something I do both for fun and for make a living, I have always wanted to cultivate new skills beyond coding. Philosophy, communication, and building things are some of my other interests. All of them come together in what is a meaningful point for me: making things for people with people. Open source and free software are pretty close to that idea.

On March 2022 I had two big good changes on my life. I started living in Cirerers and entered in Jamgo as a new member. These two coops mean a lot for me as they go in the direction of my main values. Community, horizontality, mutual support, and all of this addressed to produce a social change.

Until now my intention has been to make a positive impact while I work in what I like. That is the main reason because I spectacularly failed over and over again. Now I work where I can, and do whatever I am able to do. And I am not able to do much. However, this is an optimization problem and I am mostly happy with the current scenario. Also new projects are coming and I can’t wait for keep trying.

And this is my professional web page! Here we will go in detail through my developer career while I try to clarify where my expertise knowledge comes from. At the end of this page you will also find instructions to contact me. Please, use them wisely.

Skills

Great initiative, analytic capabilities, and creativity

My extensive experience in software development has driven me to acquire a good aptitude for building a big variety of software architectures. Also I can contribute to any project with great will and a charismatic and open personallity.

Mastery level in Python

I’ve been developing in Python since almost the beginning of my career. At first it was for personal projects and, in the last years, mainly for professional and complex developments.

Experience in several programming languages

In my professional path I have had to code in several languages depending on the projects requirements. Moreover I usually like to learn new ones as a hobby, you will find some of this code at my git repositories. Nowadays one of my favorite languages is Elm; it’s being hard to learn but is also giving me new skills for functional programming.

  • JavaScript
  • NodeJS
  • Elm
  • Go
  • C#
  • C & C++

Web applications developer

These days the most common development is web applications. I have work with several frameworks and put all my efforts on mastering the build of resilient and reliable architectures. My preference is on the server side development; however, I am also used to work in front-end environments.

  • Django
  • Flask
  • Django REST Framework
  • React

Database management

One of the most useful skills in this guild is the database control. I have been using relational and object oriented engines. However, these days I feel enchanted by how powerful PostgreSQL is.

  • SQL
  • PostgreSQL
  • MongoDB

Systems and DevOps

I’m a passionate Linux user since 2009. Still systems administration is not my strongest point, I have dexterity managing Unix based operating systems. Concerning to other close fields, like DevOps, I have performed several tasks on them but, again, they are not my strength.

  • Linux
  • Docker

Multimedia developer

One of the fields I always loved is computer interactivity. I’m very attracted to 3D, computer generated graphics, and multimedia development.

  • OpenGL
  • OpenFrameworks
  • Unity
  • Blender

Artificial intelligence

I’m also curious about artificial intelligence and data analysis. However, still having a master’s degree on those fields, I haven’t performed big tasks on them.

  • OpenCV
  • Computer Vision
  • Machine learning

Other technologies and paradigms

Not being a specialist on some areas sometimes I have had to perform tasks using, at that moment, unknown technologies for me.

  • GIS
  • RabbitMQ
  • Arduino
  • Android
  • R

Jobs

Here I will differentiate between position titles. I will name the position as “software developer” when I have not have the opportunity to make decisions on the developed product. On those cases my role has been senior developer to differentiate on junior positions. Software engineer positions will be those in which I had some responsibility for the end-product architecture or was allowed to say my opinion on the decision-making moments.

Jamgo member

https://jamgo.coop 2022, March ─ Nowadays

Driven by the idea of collaborating on the creation of an inclusive bootcamp, project which was being supported by Jamgo, I applied for being part of this working cooperative. Working there I also do coding for several types of projects, most of them centered on the Barcelona social economy.

Freelance Software Engineer

2012, October ─ 2022, February

Since I finished my Master’s degree I have been performing numerous freelancer tasks on distint type of companies. These jobs have had different durations and levels of implication. Most of them were around web development or interactive multimedia software.

This has helped me to shape my expertise on advanced architectures. Apart from that I also had to work with platforms not so common like Android (on its beginnings), Oculus VR, Unity, DirectX, or OpenFrameworks.

Software Developer in GTD

https://www.gtd.eu/en 2018, December ─ 2020, July

Firstly, I started for the aerospace area, which develops software for the European Space Agency. After that, I asked for a change, then started working for the science, infraestructures, and robotics department.

At GTD I had to speciallize in critical software, having to reinforce its reliavility with advanced testing techniques.

Software Engineer in Electronic Stars

https://www.electronicstars.com/ 2012, October ─ 2018, April

I helped to develop the first prototype of the application, coding the backend and the client parts in Python and C# respectively. I was promoted to backend leader when the company grew. After a one year pause that was between 2015 October and 2016 October, I worked with them again. I continued performing my previous role and contributed with new knowledge about microservices and containerization with Docker.

Software Developer in Visyon360

https://visyon360.com/ 2015, November ─ 2016, June

They hired me because I did a DirectShow filter for 360 video streaming when I was freelancer. There, I had to develop virtual reality and augmented reality engines, interactive environments, and all kind of advanced graphical stuff.

Assistant Professor in Universitat de Barcelona

https://www.ub.edu/web/ub/ca/ 2012, November ─ 2013, October

I wanted to try the experience of being a college teacher, so after my Master’s degree I was offered an assistant professor possition in the Computer Science department of University of Barcelona. The subjects that I imparted were: Programming, Software Engineering, and Computer Graphics.

I enjoy a lot teaching and most of my current projects go around the idea of sharing my knowledge with people who could make good use of it.

Software Specialist in Autoritat del Transport Metropolità de Barcelona (ATM)

https://www.atm.cat/ 2008, November ─ 2010, November

I worked on numerous projects based on the public transport field. I used .NET framework to build software that managed transport data, creating RESTful web services, and applying GIS technologies.

I also had many tasks that were about project management and administration.

Monkey Coder in short-term jobs

2003, June ─ 2008, November

During my apprenticeship period I did small collaborations with some companies. Those were short-time jobs, with an average of one year length.

I was lucky enough to find good mentors and the possibility to learn a huge variety of technologies and programming languages. I had to use those languages that were fashionable in that moment, like ASP4, VBScript, PHP, or VisualBasic 6. I also had jobs with Java or C#.

Education

Degree, Philosophy (Unfinished)

UNED. 2015, October ─ 2016, June

Master's degree, Artificial Intelligence

Universitat Politècnica de Catalunya, Universitat de Barcelona, Universitat Rovira i Virgili. 2010, October ─ 2012, September

Engineer's degree, Computer Science

Universitat Autònoma de Barcelona. 2005, October ─ 2008, September

Technical courses in computer science and programming

Stucom. 2000, October ─ 2003, June

Projects

Social Coding Bootcamp (until we find a better name)

2022 ─ Nowadays

The idea behind the Social Coding Bootcamp is to break with some of those limitations that common coding bootcamps have. High costs of courses, demanding dedication times, and their harsh conditions cause that common bootcamps not being accessible for everyone. This project approaches the learning about programming to those people who need it most.

It has been promoted from Jamgo and in the future it is planned to work together with other coops from Barcelona on it.

Codi Cooperatiu SCCL

https://codi.coop 2018, January ─ 2020

Codi Cooperatiu is a coop which works with open source software and is focused on building social economy projects. I contributed to create it at the beginning of 2018.

Two years later I had to leave due to capitalism and how it affects to the rent payment.

3D scene reconstruction and understanding from single shot pictures

September, 2011 ─ September, 2012

This was my master’s degree thesis, a research project which aimed to reconstruct a 3D scene from single shot pictures using a machine learning approach. It made reconstructions of those pictures in navigable 3D scenes. It also integrated virtual elements to form an augmented reality scenario.

You can access to the thesis on this link.

N-bolas

June, 2008 ─ September, 2008

My dissertation for the Computer Science Engineering. It consisted on developing a multimedia framework from scratch, which was used to create a videogame controlled by a computer vision engine. It was a spaceships race, you drove your vehicle using two different color balls which were tracked by OpenCV code.

Still being a very old project I keep the documentation, you can access to it on this link.

Personal projects

During the course of my career I have used several technologies to implement a large variety of projects for personal use focused my everyday tasks easier, or just to learn a new technology. They range server to mobile phone applications.

You can access to most of them in my code repositories.

Volunteer

Companion in Gamestar(t)

http://gamestart.arsgames.net/ 2015, April ─ 2015, September

Gamestar(t) is a project that brings together art, videogames, and technology. All of these elements are connected using an innovative theory in pedagogy. When I discovered it, I did my best to cooperate with them.

Information

Current location: Barcelona

Languages

I usually express myself in Spanish, that's my mother tongue and the one I feel most comfortable with. However, I'm Catalan by birth and love to talk in that language too. About my English, I use it quite often in my everyday life. Not being as fluent as with the others I can communicate perfectly with it. If you appreciate the beauty of an Spanish accent, we won't have problems interacting in that language.
  • Spanish ─ Native
  • Catalan ─ Native
  • English ─ Fluent communication

Online Profiles

Currently I’m not active on any social network. However, you can find some online content of mine.

  • On my git repositories you will find most of the code I produce for my projects, for experimenting, or just for pleasure.

Contact

You can contact me via mail on the address hello at alfredgg.dev.