David E. Martínez

Computer Programmer

profile-pic

Summary

Self-taught programmer with a lifelong passion for technology. I learned to program in C at the age of 12 and have since developed a diverse skill set that includes expertise in JavaScript, TypeScript, Node.js, React, Solid.js, Electron, NW.js, AWS, MongoDB, Redis, and PouchDB. I have experience developing and maintaining microservices, building reactive applications, and releasing multiple open-source projects. With over 6 years of experience in JavaScript and 5 years of experience in Node.js and TypeScript, I am adept at troubleshooting and problem-solving and have proven my ability to design and maintain computer programs and backend systems. Seeking a challenging role where I can apply my skills and continue to grow as a programmer.

Experience

02/2022 - Present

Computer Programmer

TypeScript
NW.js
PouchDB
CouchDB
Solid
Xel

Working on a couple of commercial closed-source applications based on the NW.js runtime, the Solid reactive JavaScript UI library and PouchDB.

Blocksize

08/2021 - 02/2022

Computer Programmer

TypeScript
Node.js
React
Electron
Firebase
Mobx
cryptocurrency
Ethereum

· Mantaining and improving a multi-cryptocurrency wallet with an integrated P2P exchange order book, which was a realtime Electron application made with React, Typescript, Firebase and Mobx. · Writing code to interact with smart contracts on the Ethereum blockchain and/or the Binance Smart Chain.

Pinny App

05/2020 - 11/2020

Computer Programmer

JavaScript
Node.js
React
React Native

· Developed a React Native application. · Maintained Node.js microservices. · Developed a React.js back office application.

Blocksize

05/2019 - 02/2020

Computer Programmer

Node.js
React
TypeScript
Electron
Firebase
Mobx
D3.js
Cryptocurrency

· Maintained and improved a multi-cryptocurrency wallet with an integrated P2P exchange order book. The application was a real-time Electron application built with React, TypeScript, Firebase, and Mobx. · Implemented a technical analysis chart for the order book using D3.js.

True North

11/2018 - 05/2019

Sr. Software Engineer

JavaScript
Node.js
Apigee
Auth0
PostgreSQL

· Maintained multiple microservices written in Node.js. · Conducted research and developed proof of concept for integrating Auth0 and Apigee with the application.

HUMBER

03/2018 - 11/2018

Computer Programmer

JavaScript
Node.js
React
Express
Swagger
MongoDB
Redis
Socket.io
Angularjs
Amazon Web Services
Nginx

· Maintained and improved a Loopback backend, eventually replacing it with a newly programmed Node.js backend made with Express and Swagger. · Developed a customer service chat applet using Socket.io to improve communication between staff and clients. · Improved performance by replacing a questionable MongoDB geotracking workflow with a Redis geospatial cache, reducing the DB size from 30GB to 450MB, thus making it far more viable to have daily backups and proper clustering. That single collection abused of many unnecessary indexes to make it work, with the side effect of very frequently bursting into peaks of CPU and RAM usage that freezed the entire EC2 VM instance. · Set up a MongoDB replica set for redundancy and uptime. The offending collection was no more, but even if it was, with this the DB wouldn't be able to crash the rest of the system in the future. · Replaced a slow Angularjs back office application with a new one written in React from scratch.

Droguería Farmasun

12/2017 - 08/2018

Computer Programmer

JavaScript
Node.js
MongoDB
Express
Angularjs
Swagger
Redis

Worked as a Computer Programmer at Farmasun, where I was responsible for the maintenance of the company's Angularjs back office application and Node.js backend.

CIOM

06/2017 - 11/2017

Computer Programmer

JavaScript
Node.js
MongoDB
Redis

· Refactored the Node.js backend of the company's system. · Created server endpoints for various functions. · Developed frontend views using React.

EducaciónIT

04/2017 - 10/2017

Computer Science Teacher

JavaScript
Node.js
MongoDB
ES6
Concurrent Programming
RESTful Web Services
Swagger
Socket.io

· Taught courses on backend web development and database management using Node.js and MongoDB. Covered topics such as Socket.IO, ES6, concurrent programming, and RESTful web services. · Introduced students to open-API (Swagger) and RESTful services. · Led discussions on asynchronous programming.

Ninety.io

04/2017 - 06/2017

Computer Programmer

JavaScript
Node.js
Dialogflow
Amazon Web Services
Twilio
Slack
Redis

· Developed a Node.js webhook that integrated a Dialogflow natural language chatbot into the platform, allowing users to manage their company's teams via Twilio SMS and Slack as an alternative to the web dashboard. · Utilized Redis and AWS to support the chatbot's functionality. · Worked with artificial intelligence techniques to improve the chatbot's language processing capabilities.

TuSegurodeViaje.NET

08/2016 - 02/2017

Computer Programmer

JavaScript
Node.js
MongoDB
Express
Microsoft SQL Server
Angularjs
Swagger
Redis

· Development of scripts to automate database migration from Microsoft SQL Server to MongoDB. · Creation of a Node.js server (using Express.js) with a public API documented by a Swagger specification to replace the old ASP.NET backend. · Implementation of an Angularjs back office application.

Appen

07/2016 - 08/2016

Social Media Annotator - Facebook SRT

Social Media
Content Moderation
Machine Learning
Search Engine Optimization

· Review and evaluate social media content. · Annotate and categorize content according to guidelines. · Provide feedback to improve content relevance and accuracy. · Understand how social media platforms display content.

Appen

02/2016 - 08/2016

Freelance Translator

Translation
Machine Learning

· Translate a variety of written materials from one language to another. · Ensure translations are accurate and idiomatic. · Proofread and edit translations for quality. · Stay up to date with translation techniques and technologies.

Lionbridge

04/2012 - 10/2012

Internet Assesor

Search Engine Optimization
Machine Learning
Search Engine Results

· Evaluating the quality and relevance of online search results. · Using a set of guidelines to determine whether websites and other online content meet certain quality standards. · Providing feedback and recommendations to improve the relevance and accuracy of search results. · Working with a variety of search engines, such as Google, Bing, and Yahoo. · Understanding how search engines rank and display search results.

Projects

NW.js
TypeScript
Code Protection
Application Packaging

A toolkit for running, compiling, patching, and packaging NW.js apps. Features include the ability to replace the FFmpeg library originally included with NW.js, download a fresh copy of NW.js and package it alongside a built application, and compile JavaScript files into .bin files for source code protection. Also includes typed exports from Node.js built-in modules.

Quorum Space Recorder

02/2022 - 02/2022
NW.js
TypeScript
Solid
PouchDB
Twitter
Twitter Spaces
YouTube
Twitch
Live Streaming

Desktop application that allows to simultaneously capture Twitter Spaces conversations and save them to disk or broadcast them as live streams to YouTube, Twitch and other services.

JavaScript
TypeScript
Bigfloat
Bigint
Decimal
Arbitrary Precision

A library for arbitrary precision decimal floating point arithmetic, allowing exact representation of all decimal fractions. This implementation is built using ES native bigints and offers a functional style approach with a set of functions, a BigFloat class with an API similar to Decimal.js, and an evaluate() function for parsing and resolving expressions. Bigfloat is useful for improving the precision of arithmetic operations in applications where precise decimal representation is important.

Deno
JavaScript
TypeScript
Bigfloat
Bigint
Decimal
Arbitrary Precision

Deno port of the Bigfloat library.

React
PouchDB
CouchDB
React Hook
Reactive Programming

Developed a React hook that automatically subscribes to changes in a PouchDB collection and triggers re-renders, making it suitable for real-time or offline-first applications utilizing the CouchDB replication protocol.

Education

Fundación Proydesa

01/2016 - 06/2017

Cisco Certified Network Associate (CCNA) · LAN/WAN Telecommunications & Administration

EducaciónIT

12/2016 - 02/2017

Node.js & MongoDB

EducaciónIT

01/2017 - 03/2017

ReactJS

EducaciónIT

01/2017 - 03/2017

Advanced Node.js Architecture