I'm an experienced software developer and engineer. I've been programming since 1999 (remember Y2K?), and have been doing it professionally for over ten years. I've worked with a great deal of Python (and Django) since around 2012 and I'm very passionate about writing good code, correctness, standards compliance, and writing clean, maintainable software using modern technologies and workflows. As of recent years, I've grown rather fond of Vue, Rust and Typescript as well, and am interested in working with them further.
I’ve been designing and implementing applications to handle live management of video streams. I’ve used AWS Lambda to implement small event-based microservices, as well as contributed to improving our pipeline, migrating to GitLab CI, and improving developer experience through automation and standardisation.
Tiqets was my first experience as a Tech Lead at a larger company. While somewhat intimidated by the challenge at first, I quickly realised that what a is expected of a Tech Lead are exactly those things which I’d been leaning towards in recent years.
As well as providing higher level problem solving, I’ve been pushing to improve the way our teams work. I’ve led the adoption of tools that improve developer productivity and happiness at the same time. I’ve also contributed to coordinating better system design and greater inter-team collaboration.
I enjoyed my time and 3D Hubs, and am happy to have collaborated with the growth of the our platform and our team during my time at there.
My responsibilities included interviewing and helping new joiners on board, assisting them in understanding how our systems work and our development workflows.
I presented proposals on improving our work practices (eg: git flow, automated migration management), solid solutions for eliminating accumulated technical debt, and reached a consensus with the team on how we’d address each of these.
Finally, I contributed to documenting how our system work, including some of those non-obvious internals that all large systems tend to grow, which helped the team (including newcomers) have a clearer vision of moving parts.
I was accountable for consistently shipping quality features that add value to the product while minimizing debt. It is also my responsibility to improve team’s effectiveness by identifying knowledge, tools, and process gaps in team and partnering with management to address them.
I worked on several smaller projects in Python, Flask, Django, which ran on docker both in our own DCs and AWS. My role required me to identify needs of consumers and then design and implement our systems based on these needs.
My responsibilities include collaborating with cross-funcional teams to deliver product features and enhancements, writing unit tests for automated testing and implementation of data models in relational and non-relational stores.
My responsibilities have varied for simple development, to defining workflows, deployment techniques, and selecting the appropiate tools, services and environments for the team, though all final decisions
I worked as a freelance developer for several companies and smaller projects (many of these solo projects).
- Developed and maintained multiple Django-based web applications and REST APIs.
- Performed python2->python3 migration for existing codebases.
- Worked as full stack developer and admin for django-based applications hosted at AWS.
I enjoyed not only programming at these positions, but also understanding the exact problem my clients had, and figuring out the best solution for their specific needs.
I was responsible for all aspects of development, design and maintenance of web-based software in Java and JSF. I was required to take broad ownership of technical tasks including the study, analysis, design and programming of new and existing applications and functionality.
I contributed to the design and development of a tornado-based REST API, as well as the backend project which handled and manipulated high volumes of health-related information, and analysis of various related statistics.
My tasks included the creation of various java web-based application, including several data-processing and format-conversion systems, used to convert large volumes of non-uniform data into standardized formats.
I provided first-level IT support for SAP staff.
I participated in the development and maintenance of various web-based, desktop and mobile software applications, in Python, Java, C# and Flex. Administration of related servers and networks, as well as on-site IT support in general.
- My internship was at the IT department, where I was responsible for provisioning and maintenance of our on-site systems. I did a lot of automatinion in terms of provisioning new devices to our staff (professors and researchers).
As well as experience mentoring fellow developers in professional environments, I've experience educating in academic environments too.
I taught the basics of procedural and object-oriented programming (as a TA on the course Programming I), object-oriented patterns and design (as a TA on Object Orientation I) and best practices in general to Engineering students.
I taught the course Instruction on Object Oriented Programming I to Programming students, diving into the basics of OOP in a Java-based environment.
I helped shape the minds of young students by teaching and assisting them through student the basics of procedural programming and low-level computing to Computer Science students, as a TA on the course Introduction to Programming.
I researched and implemented multiple purpose evolutionary algorithms, and their applications in intelligent web crawling.
I worked on an intelligent web crawler which implements an exploration method based on consideringthe semantic distance between keywords.
I’ve completed all courses and exams for this title, but have not done the final thesis required to complete it.
I’ve completed this career and possess a graduate title for it.
I did not finish these studies nor receive a degree since I relocated to Buenos Aires to pursue richer career opportunities.
Technical and Personal Skills
- Programming Languages:
- Proficient in: Python, TypeScript, shell, Docker, git
- Very interested in: Python, TypeScript, Rust
- Also worked with: C, C++, C#, Rust, Tex, Golang, PHP, Java, Rust, CoffeeScript, Ruby
- Industry Software Skills: Git, GitLab, GitHub, CI, CD, Docker.
- General Professional Skills: Good presentation skills, great at communication. Skilled at coordinating teams and their workflows.
- I am bilingual, having excellent domain of Spanish and English, both in written and oralforms. My knowledge of English was acquired as a child, doing several years of primary school inBristol, UK.
- I have studied some general German, but can only handle basic reading and writing.
- I’m currently studying Dutch, though lack proficiency for a professional setting.
- Other skills: Good understanding of operating systems, architectures, and full-stack engineering. Can write clear and organized documentation.
Interests and extra-curricular activities
Open Source Contributions
I’ve collaborated with dozens of contributions to a variety of open source projects over the years, varying from small one-line fixes to large refactors or rewrites.
I am one of the maintainer for the pimutils organization (github.com/pimutils), as well as the lead maintainer of todoman and a frequent collaborator of other projects under the organization’s umbrella.
I also maintain a variety of other open source projects of my own available at GitLab, GitHub, and the AUR.
Other interests and activities
I am a free software advocate. I have contributed to multiple open source projects, both in bug reports and patches (merge/pull requests). Whenever possible, I prefer to solve issues upstream, and create reusable code. I also strongly support open, well-documented standards and interoperability, as well as proper documentation and design.
I am an animal rights activist (both for non-humans and humans), and have collaborated promoting these in public events organized by NGO Animal Libre Argentina.
Oh, I really try to document all my work properly.
Lists are defined in YAML format here, and Jekyll renders this HTML page based on a markdown file.
Pushes to the master branch trigger GitLab CI, which renders this static website, and publishes it via GitLab Pages.
Last updated 2021-02-16