Scroll To View More
Greg Navis

Greg Navis

Szczecin, Poland
Member since September 19, 2016
Greg started programming at 7 and still loves it at 31. He specializes in software development, design, architecture, and processes. He's led 3 engineering teams, built and launched multiple products, advised clients on scalability, and rescued troubled projects. He's passionate about building business software and believes business should be driving development not the other way round. He also contributes to open source and has an MSc in maths.
Greg is now available for hire
Portfolio
  • Greg Navis Consulting
    Ruby, Ruby on Rails, PostgreSQL, Python, Heroku, Linux
  • Beag.ly
    Ruby on Rails, React, Redux, HTML, CSS, JavaScript, Bootstrap, PostgreSQL...
  • ClubCollect
    Ruby on Rails, HTML, CSS, JavaScript, Bootstrap, Heroku, PostgreSQL...
Experience
  • C, 16 years
  • Software Design, 13 years
  • Software Architecture, 11 years
  • Object-oriented Programming (OOP), 11 years
  • Python, 7 years
  • Software Development Management, 5 years
  • Ruby, 4 years
  • JavaScript, 2 years
Szczecin, Poland
Availability
Part-time
Preferred Environment
Linux, Vim, Terminal, Browser, Git
The most amazing...
...results of mine are at the intersection of business and technology: 8x reduction in code size, 10x reduction in support overhead, QA from months to minutes.
Employment
  • Owner
    Greg Navis Consulting
    2016 - PRESENT
    • Advised multiple clients on PostgreSQL performance and scalability (can provide testimonials).
    • Created and maintained active_record_doctor based on consulting experiences. See more at GitHub.com/gregnavis/active_record_doctor.
    • Developed and launched an MVP of a crowd-sourced financial advice platform for a client. The project used Rails, Heroku and integrated with Plaid.
    • Built a back-end for a mobile app for an agency. The backend included an admin panel (using the administrate gem), a support text/voice chat (implemented with Twilio) and international recurring payments (Braintree).
    • Created a console tool for easily switching between projects. See more at GitHub.com/gregnavis/bash-ctx.
    Technologies: Ruby, Ruby on Rails, PostgreSQL, Python, Heroku, Linux
  • Lead Software Developer for an Online Survey App
    Beag.ly
    2016 - 2018
    • Implemented an email campaign feature (including storage-effective opt-outs) using SendGrid.
    • Added browser tests for critical features (e.g., Facebook login) and ensured that they're always functional.
    • Implemented geographic survey restrictions that reduced fraud.
    • Implemented continuous delivery by integrating ClubHouse, Heroku, GitHub, and CodeShip. The process was heavily automated and the aforementioned systems were kept in sync with custom glue code.
    • Monitored and optimized the app performance.
    • Troubleshot multiple complex problems affecting Facebook Login, core product features, data consistency, performance, security.
    • Implemented Slack notifications for important business events (survey published, paused, stopped, etc.).
    • Implemented data exports and reports.
    Technologies: Ruby on Rails, React, Redux, HTML, CSS, JavaScript, Bootstrap, PostgreSQL, Heroku
  • Lead Software Developer
    ClubCollect
    2014 - 2016
    • Implemented an accounting system that managed millions of euros and handled hundredths different of business cases.
    • Optimized the search feature in the support console using pg_trgm. Contributed support for it back to Rails (see more at Github.com/rails/rails/pull/19090).
    • Came up with a design that allowed the company to implement features required by customers in a new market.
    • Modified the business logic to prevent users from circumventing late payment fees.
    • Helped hire three senior developers.
    • Implemented grouped email notifications to reduce email volume.
    • Optimized a search feature in the support console using pg_trgm. Contributed support for it back to Rails (see more at Github.com/rails/rails/pull/19090).
    • Optimized a few memory intensive operations and reduced the hosting bill by $1,600 a month.
    • Maintained an extensive test suite for the whole billing cycle.
    Technologies: Ruby on Rails, HTML, CSS, JavaScript, Bootstrap, Heroku, PostgreSQL, Bootstrap, Mailgun
  • Software Developer
    Adbeat
    2013 - 2014
    • Implemented a system for identifying the most significant websites in the US display advertising space.
    • Wrote a test suite for ad identification code that used mitmproxy to hijack SSL sessions and PyQt to run JavaScript.
    • Automated scraping proxy setup with Ansible.
    • Introduced continuous integration, set up and maintained Jenkins.
    • Introduced Vagrant for local development.
    Technologies: Python, PyQt, AWS, Ansible, Jenkins, Vagrant
  • Lead Software Developer and Manager of the Internal Tools Department
    Red Sky
    2012 - 2013
    • Introduced development processes based on Kanban using Trello, GitLab, code reviews, and continuous integration (Jenkins).
    • Mentored developers concerning software architecture, design, and development.
    • Led the design and development of an auto-completion service. The design was easily extensible and each component (e.g., data storage) was replaceable without affecting the rest of the system.
    • Led the design and development of a distributed scraper built with Flask on the server and a pure Python script on the client. The team responsible for scraping used the service to distribute scrapers to nodes and collected results via the API.
    • Oversaw the development of a scraping proxy built on Tornado.
    Technologies: Python, MySQL, Redis, Twisted, Flask, Tornado, Git, dpkg
  • Software Developer (Online Gambling Project)
    Red Sky
    2011 - 2012
    • Designed an API for games provided by vendors that eliminated repetitive integration work and decoupled validation protocol and game mechanics.
    • Overhauled a fraud detection system by moving validators from imperative to declarative style. This made them simple-to-understand and reduced their length from approximately 500 lines to about 50.
    • Maintained and enhanced an ActionScript library used by vendors to integrate games with the platform. Implemented extensive debugging logic and simplified the implementation by using state machines.
    • Built a developer console for use by vendors that allowed them to troubleshoot games on their own. This reduced support overhead from 40 to 4 hours a week.
    • Automated the game testing with a custom Python tool that reduced the QA feedback cycle from weeks to minutes and made it easier to troubleshoot hard-to-reproduce concurrency issues.
    • Integrated several games with the platform and supported other developers.
    • Integrated the fraud detection system with the front-end.
    Technologies: PHP, HTML, CSS, JavaScript, ActionScript, MongoDB
  • Software Developer in a Distributed File System Project
    Red Sky
    2010 - 2011
    • Implemented HTTP actions in a custom C++ HTTP server.
    • Implemented file system calls in a FUSE module that exposed the file system to the userland.
    • Implemented server monitoring (CPU load, bandwidth and disk usage) that helped the file system make better decisions where to put file replicas.
    • Built a distributed file system stress test automation tool in Python that helped measure file system performance and troubleshoot hard-to-reproduce concurrency issues.
    • Troubleshot low-level networking and concurrency issues during development and maintenance.
    • Improved error handling and made the file system more reliable.
    Technologies: C++, Boost, Python, FUSE, Linux
  • Software Developer
    Coriolis PRO
    2007 - 2009
    • Prepared digital maps for publication with MapGuide.
    • Developed MapGuide UI extensions in JavaScript.
    • Wrote waterway signage tracking software using PHP, JavaScript, Google Maps, and MySQL.
    Technologies: PHP, JavaScript, MapGuide, MySQL, GIS
Experience
Skills
  • Languages
    Python, Ruby, HTML, C, SQL, JavaScript, PHP, CSS, C++, SCSS
  • Frameworks
    Ruby on Rails (RoR), Flask, Redux, Scrapy, Twisted, Django, Knockout.js
  • Tools
    GitHub, Git, Vim Text Editor, Jenkins, Terminal, SemaphoreCI, Codeship
  • Paradigms
    Unit Testing, Kanban, Test-driven Development (TDD), Behavior-driven Development (BDD), Object-oriented Programming (OOP), Continuous Deployment, Continuous Integration (CI), Refactoring, Continuous Improvement, Agile Software Development, REST
  • Platforms
    Linux, Heroku, AWS EC2, Amazon Web Services (AWS), Mac OS
  • Misc
    API Design, Debugging, Mathematics, Code Review, Software Design, Software Architecture, Integrations, HTTP, Monitoring, Scalability, Performance Optimization, Software Development Management, Scraping, DNS, Email Marketing, Marketing Automation, TCP/IP, UDP, Reverse Engineering
  • Storage
    SQLite, PostgreSQL, Redis, AWS S3, MySQL, MongoDB
  • Libraries/APIs
    AWS EC2 API, React.js, jQuery, Twilio API, Braintree API
Education
  • Master's degree in Mathematics
    University of Szczecin - Szczecin, Poland
    2006 - 2011
I really like this profile
Share it with others