I'm software engineer and project manager by formation and software developer by passion.
I started working professionally on software projects back in 2001 as plain developer and quickly evolved to higher technical and management roles. Then, I earned my PMP and CSM certifications, had the opportunity of building up development teams while working on growing companies and experienced the fast-paced nature of the startups in a small and promising company that is changing the entertaining industry by developing bright ideas with the latest technologies, frameworks and tools.
Currently, I enjoy developing a high-performance and scalable Node.JS-powered backend hosted in the cloud with complex web frontend and mobile apps. I also help people learn new tools and technologies as a way to give back to the community.
In my spare time I work on some personal projects and participate in different communities as Meetup.js, BA Node.js, Latam.JS, NodeSchool, NodeConf Argentina and DevDayAr. In the past, I also volunteered at the PMI Buenos Aires Chapter.
- Aug 23rd, 2018, "Brevísima intro a Ethereum" lightning talk at Meetup.js / slides
- May 10th, 2018, "La esencia de React" at Meetup.js / video
- Oct 19th, 2016, "Creating packages with ES2015/17" at BA Node.js / video and slides
- Sep 7th, 2016, "Babel and Feature detection are new friends" at Meetup.js / video and slides
- Oct 31st, 2015, "Realtime Web Aplicaciones" at LibreConference 2015, LSL, UTN-FRA / video and slides
- Sep 17th, 2015: "Advanced Socket.IO" at BA Node.js / slides
- Jun 18th, 2015: "Testing in the browser" at Meetup.js / slides
- Apr 1st, 2015: "Testing, mocha, chai and istanbul" at BA Node.js / slides
Take a look at my other contributions to open source projects and the community!
- Github: gabmontes
- Twitter: @gab_montes
- LinkedIn: gabmontes
Initial programming skills, software engineer and master degrees
I started programming a clone of an ancient Sinclair 1500 home computer at an age of 12. That was my first contact with BASIC and programming languages. A few years later moved to a Commodore 64 and at the age of 16 got my first 286 PC that used to program my own 3D graphics library written in C/C++ with some routines written in assembly to achieve better performance.
At the Instituto Tecnológico de Buenos Aires I obtained a BS degree in Computer Science in 1997. I came back many years later to get a Master degree in Software and Knowledge Engineering. Finally obtained that degree in 2009.
My first job!
Just a week after finishing my degree, I took an opportunity to start working at Motorola Argentina in the IT Infrastructure team. The main responsibilities were to provide IT support to other employees and, as I earned the confidence of my management, to be in charge of several key areas as the Internet connectivity, office's telephony infrastructure and the acquisition processes of all the IT equipment and software.
I also provided remote support to the office in Chile, participated in the IT setup processes of the offices at Uruguay, the new office at Buenos Aires and the Global Software Group's office at Córdoba.
From developer to project manager with focus on process and quality
Right after the Córdoba's office was ready, I moved there and was one of the initial 16 software engineers selected to staff the Software Development Center that years later passed the 350 headcount mark.
There, I started my professional career in software development playing several roles: as software developer, tester, test leader, technical leader and project leader. It was mandatory to periodically report project status to both local management and the remote customers in the US.
During that period I was introduced to the process and quality-oriented culture of the company. Great people as @fabiogrigorjev)) and Gustavo Parlanti teach me with their own example the fine art of people management. Readings as Tom De Marco's Peopleware and Steve McConell's Classical Mistakes Enumerated to name just a few, along with my own passion for a data-driven and quality-oriented management processes shaped my professional profile. Managers as Raúl Crespo and Pedro Colla helped me learn the key factors to success in such a high-pressure and very professional environment.
That process-oriented culture allowed us to mature and succeed in the CMM Level 3, CMM Level 5, CMMI Level 5 assessments and the ISO 9001/2000 certification processes. I actively participated in all those projects from my role in the development teams and also leading several organizational efforts directly related to those assessments and certifications.
During several years I was in charge of the project management training given to the new hires as part of the company's mandatory induction program.
Managing remote teams
After returning to Buenos Aires, I joined Neoris Argentina in March, 2007 to manage large projects for US customers.
Managing a team of more than 20 developers and testers working remotely from different locations in Argentina, we successfully delivered several core projects for Lowe's on time, on budget and achieving the highest customer satisfaction ratings.
Later, I switched to manage a top-level HR project for McDonald's Argentina with a similar distributed team and the additional complexity of having to interface part of out development process with other supplier that developed the previous version of the system being rebuilt. The need to meet a tight and multi-country roll-out schedule was not easy at all for the team.
Finally, managed the planning and inception phases of a new project for Ryder, leading the initial requirements gathering on site at Atlanta.
During 2008 and 2009 also coached several project managers within the organization to be able to obtain their own PMP certifications.
Developing software engineering teams
In January, 2010 I joined Politec Argentina (later acquired by Indra) with the objective of developing the to-be-created nearshore Java and .Net delivery team. The team had a slow start due to the difficulty to find talent in the required quantities. During that time we were able to provide services to clients such as Automatic Data Processing, Agência Nacional do Petróleo and Americas' SAP Users' Group in the US and Global Crossing and Pan-American Energy in Argentina.
Due to that slow start and the opportunity of pursuing the same objective in a different environment, in September, 2010 I joined abc Consulting, which was just acquired by ProKarma. As the manager of the new Custom Enterprise Development Operation I run the selection process that allowed the operation to quickly have more than 40 Java/J2EE, Flex and .Net developers.
Collaborating with the US and India development centers, the local team successfully provided services to US companies such as Union Pacific Railroad, PS Technology, Hughes Telematics and T-Mobile.
By the end of 2011 I left the Company and thought on taking a full year off to rethink both my personal life and professional career.
Back to the basics, the life on a startup and giving back
In April, 2012, I met my old classmate @alfiv_ and immediately joined forces to develop a game-changing platform that later was named "I am at".
It is a mobile-first, cloud-first, content-delivery, second-screen and real-time, interactive platform built on top of the latest technologies and frameworks as Node.JS, MongoDB, Redis, Express and Socket.IO, among many others. It was initially hosted in Amazon Web Services and later migrated to the Google Cloud Platform. HTML5 and mobile clients were developed for the main platforms as Android and iOS.
I architected and evolved the whole platform from scratch along with @jaclar and @freynolds. Since then, the development team grew up with the addition of dedicated Android, iOS, frontend and backend developers.
As the complexity of the platform increased very quickly, I developed most of the backend automated test suites that run on Mocha, Chai and istambul to ensure high quality and stability at the same time new features are added to the codebase.
The platform is controlled from a very complex real-time web application. I successfully stabilized the quality of its communication layer and developed a new modular approach to activate features by configuration which is very important due to the diversity in needs of different customers.
Some of the main customers in Argentina are: Telefónica, Telefé, Compañía de Medios Digitales, Endemol and La Corte (Fútbol Para Todos). And around the world: Telefónica, Verizon and others.
Finally, in July, 2015, I started providing trainig classes of PhoneGap/Cordova, AngularJS and Node.js at Coderhouse to both individuals and organizations as the Dirección General de Estadísticas y Censos of Buenos Aires City. This is one of many ways to give back to the community and I really enjoy helping others walk the complex path to master new tools and technologies.
Have no fear of moving into the unknown!
This was a year of change, getting back to work remotely, developing software for medium and big companies in the US and Canada. It was also a year of getting back to teaching and speaking at local meetups, which is another way to give back I enjoy a lot.
In the first part, I worked in the architecture and initial development Mad Mobile's core solutions: Mad-X platform and Concierge. These solutions are used by many large companies in the US, like Talbots, one of its first customers. Some of the technologies used to develop this microservices-oriented platform included Node.JS, Express, MongoDB, Redis, etcd, RabbitMQ, SOAP, REST APIs and more.
In the second part, developing the integrated shipping system (backend and apps) for Dicom Transportation Group, one of the biggest logistic companies in Canada. The development required my best skills with JavaScript latest languaje features, Babel, Node.JS, BookshelfJS/KnexJS and Postgres, REST APIs, Azure Storage Services, React, Redux, SASS and Electron app development.
Teaching durung 2016 included participating as the JavaScript specialist in the Full Stack JavaScript training couse at Digital House, one of the top software development training providers in Argentina, backed by some of Argentina's top companies. Corporate training this year included JavaScript training classes to one of the core development teams at Assist Card of Argentina.
My dream come true
By the end of 2016 I got in touch with @jgarzik, former Linux kernel developer, former Bitcoin core developer and entrepreneur. After talking to him a couple of times I had the opportunity of joining the Bloq team and started applying my management, JavaScript and Node.JS skills on the world of the cryptotechnologies: Bitcoin, Ethereum and others.
This is literally my dream come true. I have been dreaming about having this chance since I first learned about Bitcoin back in 2012.
In the last 3 years I developed Bitcoin-based solutions based on the Copay wallet and Bitpay backend services, developed the official Ethereum-based Metronome crypto-wallet and infrastructure (see https://github.com/autonomoussoftware) and lately lead the development of Bloq.Cloud, an on-demand blockchain infrastructure platform. I'm also actively contributing to open source projects
This part of the history is being written right now. Stay tuned...!
Sometimes, I cannot fully develop certain skills at work. These personal projects are ways I found to go that extra mile:
While teaching and developing, some solutions can take the form of generic components or packages that would be used not only in other of my projects but can help the community facing the same issues. Whenever I find myself in that situation, I evaluate the possibility of creating and sharing the knowledge, components and packages.
Package | Downloads |
---|---|
tiny-promisify | 56,800 |
babel-preset-latest-minimal | 3,853 |
es-feature-detect | 3,817 |
arrayslicer | 1,238 |
(table based on the stats on my npm packages for the last 12 months)
The code of all packages is hosted in GitHub and my top starred repos are:
Name | Stars |
---|---|
babel-preset-latest-minimal | 91 |
es-feature-detect | 11 |
source-map-cli | 8 |
exploring-not-react | 7 |
fast-haversine | 7 |
(table generated with my-top-starred-repos.js)
I think bitcoin will shape the future in many ways. We may not be able to see the full potential of the ideas behind it but am sure our sons will. My two cents are simple apps that calculate the exchange rate for the Argentinean peso. While developing the apps, I learned new development frameworks:
- Android - Native app mixed with JavaScript bitcoin libraries
- BlackBerry 10 - WebWorks (JavaScript) app
- Windows Phone - Native WinJS app for Windows Phone 8.1
- Certified Scrum Master (CSM), 2010
- Project Management Professional (PMP), 2007
- Sun Certified Java Professional (SCJP), 2003
- DevDayAr, Dec 3rd, 2016 - Staff
- NodeConf Argentina, Nov 17th-19th, 2016 - Staff
- JS Conf Uruguay, Apr 15th-16th, 2016 - Attendee
- JS Conf Uruguay, Apr 23rd-24th, 2015 - Attendee
- JS Conf Argentina, Nov 29th, 2014 - Attendee
- JS Conf Argentina, May 19th-20th, 2012 - Attendee
- PMI Tour Cono Sur, Nov 2nd, 2011 - Attendee
- PMI Tour Cono Sur, Nov 10th, 2010 - Attendee
- PMI Tour Cono Sur, Nov 9th, 2009 - Attendee
Something is wrong, outdated, missing? Please open a pull request!