April 07, 2022

Hello, World!

Summary

Interested in full-stack application development in general, while having achieved expertise developing front-end browser applications using JavaScript & React. Multiple years of Clojure development experience. Proactive about security. Curiosity drives me and I enjoy creating a positive environment around me. Varied interests that span research, involvement in web development across the full stack, mobile, and desktop applications.

Competencies

  • JavaScript, nodeJs, Clojure, Python
  • HTML5, CSS/SASS, REST, AJAX, SPAs, responsive web implementation
  • Immutable, asynchronous, and functional programming
  • Distributed systems and web application architecture
  • SQL, Cassandra, Elasticsearch: data Modeling, query design, and application integration
  • Test-driven development; unit, integration and e2e tests: TestCafe & Cypress
  • ReactJs with redux-toolkit and Material-UI, graphQL client integrations
  • Package managers, bundle builds, task automation and deployments
  • Engineering processes, product lifecycle, code reviews, Jira
  • Linux filesystem, git, terminal environment, tmux
  • Application & Server Security. API design

Professional Experience

Jataware

2022 - Current

Fast prototyping and innovative research-driven projects for government agencies and programs.

  • Rewrite, maintain, and extend web apps to register arbitrary scientific datasets and standardize their output format for external consumption.
  • Document (PDF) ingest and exploration pipeline; semantic search and ai assistant integration.
  • Adapt and extend a PHP board game web app for Tournaments and data collection.
  • Technologies: Python (FastAPI, pandas, Redis Queue, poetry), Javascript (ReactJs).
  • MariaDB, ElasticSearch, deployments, AWS management and auth integration.
  • Docker compose container setup and caddy server for deployments.

Kevel, remote

2020 - 2022

Provides the APIs to quickly build a custom ad platform so that you can take back the Internet and drive more revenue.

Management Systems, Kevel Studio Application - Sr. Software Engineer

  • Clojure, Clojurescript, ring-jetty, Pedestal, React+Helix, Material UI, Hoplon, Cypress testing, MS SQL.
  • Work with the Product team and designer to discover customer needs: gather data, create hypotheses, test and validate prototypes and proof-of-concepts to create new applications.
  • Support Rotation, PagerDuty on-call shifts: maintain a cloud-based distributed system.
  • Usage of AWS services: Cloudfront, CloudFormation, EC2, RDS, S3, Route53, and lambda services.
  • Use of deps.edn, shadow-cljs, and npm builds. AWS Codebuild and Github Actions for CI/CD.
  • Use of craft.js to build a no-code app builder.
  • Modified app backend and public API

DataStax | distributed, remote

2016 - 2020

Built on Apache Cassandra, DataStax delivers the ultimate always-on hybrid and multi-cloud database.

Cloud Applications – UI Technical Lead

  • Design, gather requirements, and code. Participate in planning and tech-debt management.
  • Coordinate with senior engineers and drive decisions by consensus. Write proposals and internal application documentation.
  • Assorted technologies: JavaScript (ES6), React, Material UI, Apollo graphQL, webpack, babel, emotionJs, jest, enzyme, DevExpress, npm+yarn, and testcafe for integration tests.
  • Work on delivering features on a cloud application SaaS offering.
  • Creation and maintenance of an internal UI components library for use across company products, hosted on a private repository.
  • Use of toggle flags for feature delivery, whitelisting, and A/B testing.

OpsCenter Lifecycle Manager: Provisioning – Senior Software Engineer

  • Definition files (edn) used to generate all possible configurations for Cassandra database settings.
  • Clojure for backend server, compojure for API. Boot used for builds, tooling. Mount for application state.
  • JavaScript + React + redux, for an UI that parses definition files and generates form fields for users to customize supported settings, across configuration files, across all supported database versions.
  • Jenkins CI: in order to run development tests during build, as well as a build matrix of all combinations of scenarios for our Automated Functional Tests.

OpsCenter: Monitoring – Software Engineer

  • Clojure-based monitoring agent installed on each Cassandra node. Each agent instance Interfaces with JMX metrics and events published by a running Cassandra instance. Leinengen for build and project configuration.
  • Python daemon for metric collection, API routes. JavaScript front-end.
  • Off-the-shelf installable product. Pseudo-Scrum with backlog and standups.

IRONHACK | Miami, FL

2015

Preparing the next generation of digital creators.

Lab Teacher Assistant & Project Mentor

  • Enable and supervise new software development students on their assignments.
  • Mentor select students for their final project, on a 1-1 basis.
  • Ruby on Rails, HTML, CSS, JavaScript.

SeamlessDocs | Miami, FL

2015

Government forms and task pipelines can be a beautiful experience.

Sr. Software Engineer, Lead

  • Create and maintain multiple EmberJs single page applications.
  • Maintain multiple microservices built with NodeJs, Java (+itext), and Python.
  • Deployment configurations for nginx, and some AWS management.
  • Introduced git and onboarded all applications to version control and github.
  • Implement security on server instances, analyze security with tiger, add swap space, rootkit detection, ulimit for nginx processes.
  • Use tsung/taurus to benchmark server load & capacity.
  • Create WBS spreadsheets and try to come up with creative ways for the team to practice estimation techniques (planning poker).
  • Use of phantomjs to prerender a JavaScript website for a search crawler to consume.
  • Wrote a blog article featuring the company products & technical details of the refactor.
  • Mentor new members of the team as well as junior engineers.

Urban4m

2014 - 2015

Discover and evaluate the best area to expand your business, relocate your family, or find statistical patterns with APIs and a easy-to-use openlayers maps application.

Front-End Web Developer

  • Started a single-page web application using AngularJs, openlayers maps, D3js, and a thin NodeJs application server. Interfaced with elasticsearch.
  • Programmatically generate screenshots of portions of the web interface.
  • Re-worked and re-designed landing pages for a modern feel and a maintainable code base. Use of bootstrap and various CSS grid libraries.

Verizon Wireless POS | Atlanta, GA

2012 - 2014

Systems Engineer at Point of Sale IT Department

  • JavaScript, jQuery, JSP, and Java across various applications.
  • Rewrite of the kiosk application previously used in Verizon stores.
  • Use of JMVC and AngularJs JavaScript frameworks.

Rock Solid Technologies | San Juan, PR

2009

Intern Developer

  • Worked with client on site to retrofit security of an existing application.
  • Removed previous user database and replaced with Active Directory roles.
  • Effort to comply with the Sarbanes–Oxley Act; included reporting and role assignment dashboard.
  • Light exposure to C#, ASP.NET, Microsoft SQL Server.

Nic.pr | San Juan, PR

2008

Puerto Rico Top Level Domains; .pr domain names.

Part-Time Developer

  • Familiarized with basic dns concepts and domain name registrars internals.
  • Exposure to ASP, VBscript, PHP, Javascript, HTML, CSS.
  • Worked on Domains of the Caribbean project.

Education

Bachelor of Science in Computer Engineering. Computer Science Minor. University of Puerto Rico, 2012.

Research topic: Optimized Strategies for the Mastermind Game.

  • Implemented various algorithms from research papers from popular computer scientists (Donald Knuth) including Worst-Case, Entropy, Best-Case.
  • Created a C console application, in order for computer to play and emulate all possible game variations and outcomes per turn, of the Mastermind Game.
  • Based on a brute force approach. Flexibility to run as separate sub programs and report compiled results.
  • Presented results at a conference and published a research paper.
Avatar for Joel Quiles

Joel Quiles

Software Engineer

Divergent thinker who adapts to various technologies and environments regardless of project stage: from prototypes, to high-quality releases. Pragmatic test-driven development practicioner.