Scroll To View More
Greg Navis, C Developer in Szczecin, Poland
Greg Navis

C Developer in 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
  • Object-oriented Programming (OOP), 11 years
  • Software Architecture, 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

    2016 - PRESENT
    Greg Navis Consulting
    • 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

    2016 - 2018
    Beag.ly
    • 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

    2014 - 2016
    ClubCollect
    • 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

    2013 - 2014
    Adbeat
    • 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

    2012 - 2013
    Red Sky
    • 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)

    2011 - 2012
    Red Sky
    • 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

    2010 - 2011
    Red Sky
    • 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

    2007 - 2009
    Coriolis PRO
    • 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

    Ruby, Python, PHP, HTML, SQL, JavaScript, C, C++, SCSS, CSS
  • Frameworks

    Ruby on Rails (RoR), Knockout.js, Redux, Twisted, Scrapy, Django, Flask
  • Tools

    Git, GitHub, Jenkins, SemaphoreCI, Codeship, Vim Text Editor, Terminal
  • Paradigms

    Continuous Improvement, Object-oriented Programming (OOP), Refactoring, Continuous Deployment, Kanban, Continuous Integration (CI), Test-driven Development (TDD), Behavior-driven Development (BDD), Unit Testing, REST, Agile Software Development
  • Platforms

    Linux, Heroku, AWS EC2, Amazon Web Services (AWS), Mac OS
  • Other

    Software Architecture, Code Review, Software Design, API Design, Debugging, Mathematics, Monitoring, Software Development Management, HTTP, Integrations, Scraping, Scalability, Performance Optimization, DNS, UDP, TCP/IP, Email Marketing, Reverse Engineering, Marketing Automation
  • Storage

    Redis, PostgreSQL, SQLite, MongoDB, AWS S3, MySQL
  • Libraries/APIs

    AWS EC2 API, Twilio API, Braintree API, React, jQuery

Education

  • Master's degree in Mathematics
    2006 - 2011
    University of Szczecin - Szczecin, Poland
I really like this profile
Share it with others