G | A

Gerasimos Athanasopoulos

ABOUT ME

I am a Software Engineer with over a decade of professional experience in building non-trivial web applications.

Rich User Interfaces are my specialty. I have developed and optimized large client-side applications ranging from realtime Single Page Applications to a heavily interactive IDE very recently.

EXPERIENCE

Trainerflow

Apr 2018 – Present

Founder

Software for advanced athletic programming. From concept to design and implementation, in Clojure(Script), my work here includes

  • Language Development - Built a parser, a compiler and a runtime for the Coach DSL.
  • Browser-based IDE - Built an IDE consisting of a Visual Editor, a Program Simulator and Vega-based program Insights.
  • Web / Mobile Application
  • Clojure(Script)
  • Rum
  • React(Native)
  • PostgreSQL

Consulting / Contractor

Jan 2017 – Feb 2020

Notable contributions include

  • Architecture - Applied Clean Architecture principles on a NodeJS / React SPA as well as led the effort for abstracting the multi-coin and multi-token (ERC-20 Ethereum) integration. Software quality improved dramatically.
  • FRP JavaScript - Led the development of a CycleJS SPA for a high traffic search-based application that replaced a legacy PHP application, resulting in +18% more conversions in a single month. Managed a team of three developers and a designer.
  • Custom Discourse - Migrated a large private forum (~250k posts) from legacy phpBB to a custom Discourse installation.
  • Ruby
  • NodeJS
  • C++
  • Architecture
  • CycleJS

100mentors

Feb 2015 – Nov 2016

Senior Software Engineer

  • Integrated the TokBox WebRTC provider for the live streaming mentoring sessions.
  • Redesigned their AngularJS SPA and their JSON API. Introduced software practices like TDD and SCRUM that made the product and the team adaptable to the rapidly-changing requirements.
  • WebRTC
  • Websockets
  • NodeJS
  • MongoDB
  • Redis

Bethere

Feb 2014 – Jun 2014

Senior Software Engineer

REST API development for their mobile application.

  • Ruby on Rails
  • PostgreSQL
  • PostGIS
  • Redis

Persado

Jul 2012 – Feb 2014

Software Engineer

Fullstack development of business critical internal tools used by copywriters.

  • Ruby on Rails
  • JRuby
  • Java
  • BackboneJS

MyNextCar

Nov 2010 – Jun 2012

Software Engineer

Fullstack development for one of the largest Greek vehicle marketplaces. Migration of the codebase from version 2 to version 3 of the Ruby on Rails framework.

  • Ruby on Rails
  • Solr
  • MySQL

EDUCATION / COURSES

Mathematical Physics

2002 – 2007

Bachelor’s Degree

Coursera

  • Algorithms I - Princeton University
  • Algorithms II - Princeton University
  • Functional Programming Principles in Scala - EPFL
  • Machine Learning - Stanford University

OPEN SOURCE

skidder

ClojureScript

A Drag and Drop library for ClojureScript. It uses the HTML Drag and Drop API under the hood and exposes an easy to use system.

aye-db

ClojureScript

Mininal IndexedDB API wrapper using promises to expose a friendlier API than the callback based one.

Duct module for developing and compiling ClojureScript with shadow-cljs.

unit

Clojure(Script)

Library for dealing with units of measurement and conversions between them.

antlr4-gc

JavaScript

Unofficial ANTLR4 runtime for JavaScript using Google Closure.

algo.generic

Clojure(Script)

Clojure(Script) port of algo.generic.

Paste and Indent functionality for VSCode.

Automatically detect and load your .envrc for VSCode.

A Ruby DSL for building SAX parsers.

SKILLS

Product-focused technical solutions

Strong ability to research and assess different technical solutions, taking into account the business constraints involved as well as the long-term vision.

Team leadership

Communication with stakeholders and managers to break down business requirements / needs to actual work units within small cross-functional teams. Organization of work into deliverables as well as timely interventions to prevent blocking within the team.

Teaching / Mentoring

I have an excellent record of technical teaching and mentoring, such as algorithms, software processes, architecture etc. While I like to teach and mentor, I love to be mentored and learn from others even more!

Responsibility

I am a very responsible person. I will move mountains to make something work or deliver something on schedule.

Problem-solving

I am a notorious problem-solver. I love researching, studying and collaborating with my colleagues to solve difficult problems. Communication here is key and I always strive to be as effective as possible.

Technical

  • Clojure(Script)
  • NodeJS
  • Ruby (on Rails)
  • Java
  • ES6
  • React
  • Git
  • ANTLR4
  • Solr
  • Redis
  • PostgreSQL
  • MongoDB
  • UNIX
  • AWS
  • Emacs

INTERESTS

Software

I like to hack on different things such as compilers, programming languages, web technologies and more.

Travelling

I love visiting different places and getting to know new people and their culture.

Dad activities

I spend a good amount of my time with my two boys playing soccer, hiking and reading about dinosaurs!

Powerlifting

I am an intermediate level powerlifter in the 83kg class and I have competed in several national powerlifting events.