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 – PresentFounder
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 2020Notable 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 2016Senior 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 2014Senior Software Engineer
REST API development for their mobile application.
- Ruby on Rails
- PostgreSQL
- PostGIS
- Redis
Persado
Jul 2012 – Feb 2014Software Engineer
Fullstack development of business critical internal tools used by copywriters.
- Ruby on Rails
- JRuby
- Java
- BackboneJS
MyNextCar
Nov 2010 – Jun 2012Software 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 – 2007Bachelor’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.
module.shadow-cljs ↗
Clojure
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.
vscode-paste-and-indent ↗
TypeScript
Paste and Indent functionality for VSCode.
vscode-direnv ↗
TypeScript
Automatically detect and load your .envrc for VSCode.
saxxy ↗
Ruby
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.