Dmitry Non

photo.png

1 Contact info

2 Bio

Originally from Russia. Started doing programming at 14, mostly competitive programming (still remember some data structures and algorithms from that time :D).

Got my first job in the beginning of my first university year as PHP-developer.

Switched to Ruby accidentially (funny story, actually) and fell in love with the language and object-oriented design. Got lucky enough to not start ruby career with rails. Was working on inner CLI in pure ruby + thor (cli framework).

During the boom of popularity of functional programming I, naturally, got interested in it. Good thing that smart people from all around the world adapted techniques form it to our everyday object-oriented problems. Really enjoying looking at software design and development from another perspective (which is why we should study paradigms, not languages).

As a developer I prefer learning ideas instead of technologies. I love SOLID principles and how it's kind of in a little war with the KISS principle. I appreciate TDD even though I hate writing tests. I find it crazy fun and enjoyable to do interactive programming (hello lisps). Of course, as a ruby developer I love OOP. And I am passionate about functional programming (but who isn't?).

3 You should contact me if…

  • The job benefits the humanity
  • The project uses interesting technologies that can provide me with another perspective on software design.
  • The company pays a lot ;)

Bear in mind I am russian citizen atm so I require a UK visa sponsorship.

3.1 Some things that could interest me at the moment

  • OCaml
  • Haskell
  • Staticly-typed languages in general (Golang sounds kinda interesting)
  • Medical startups (everyone want to make a difference in this world, don't they?)
  • Data analysis
  • Data science (have no experience whatsoever but sounds cool).
  • Remote work with ability to come to the office (visa sponsorship is a must, sadly).

4 Work experience

4.1 carwow

Software Engineer
2019-02-04 - present

  • Worked as a part of Used/Leasing team for half a year as a fullstack dev. Did lots of feature AB-testing and consider the team and the company in general to have succeeded in that. Tools:
    • Ruby on Rails (latest version for the time)
    • Elm
    • LaunchDarkly (feature flags and ab-testing)
    • AppPhrase (for i18n)
  • Moved to car-data team which is focused on developing core data APIs and uses Clojure for that. Moved during active migration of APIs to an external application so my Rails expertise was highly useful.

4.2 InSales

Full-stack Ruby on Rails Developer
2016-08-01 - 2019-01-19 (2 years 5 months)

  • Worked on authorization system of the main product - SaaS-platform for creating online shops (like Shopify)
  • Developed the helpdesk system for InSales from scratch (mostly). It was a SPA react.js application with Rails 5 backend. The main goal of a project was (and is) gaining control over helpdesk system (which we couldn't get with Omnidesk and Zendesk we used before). With our own helpdesk we could tweak whatever we (mostly, our support team) wanted: telegram notifications, statistics, integration with InSales. And there're many plans on future of the project making it more than helpdesk system. Tools used:
    • Ruby on Rails 5 (API)
    • Postgresql
    • Pundit
    • EcmaScript 6
    • Webpack
    • React.js
    • Redux.js
    • Chart.js (for visualising stats).
    • Sass
    • Gitlab with CI
    • Docker (locally and in CI)
  • Developed an external application integrated with InSales that allows some of insales shops become resellers for another insales shops. Basically, it is supplier-reseller relationship app. I left the company during beta-testing over a pool of interested customerst. Tools:
    • Ruby on Rails 5
    • Postgresql
    • Pundit
    • Bootstrap
    • Gitlab with CI
    • Docker (locally, in CI and on production, though I am not responsible for production envorironment).

4.3 Lakehouse

Full-stack Ruby on Rails Developer
March 2016 - July 2016 (5 months)

  • The only developer on a legacy-project for L'Oreal (logistics system). Tools:
    • Ruby on Rails 4
    • Postgresql
    • JQuery
    • React.js (on some pages)
  • Helping with BAE development of some other clients' Rails projects (mostly, typical rails stuff).
  • Development and integration of company's own product: ODIN. Introduced utilising of Rails engines in order to share logic between different clients. Before that there were three branches with customers' projects with only root shared (old master). Tools:
    • Ruby on Rails 4
    • Postgresql
    • Angular 1

4.4 PROF-IT

Junior Ruby developer
October 2015 - March 2016 (6 months)

  • Developer of inner gem for working with Redmine via ActiveResource
  • Backend developer of GIS-application (never published because of bankrupcy). Tools:
    • Sinatra
    • Geoserver
    • ArcGIS
    • Ember.js
    • Leaflet.js

4.5 QSOFT

Junior PHP-developer
October 2014 - May 2015 (8 months)

Framework: 1C-Bitrix

5 Skills summary

Every list somewhat ordered by descendence of experience/knowledge.

5.1 Backend

  • Ruby on Rails
  • Pundit
  • Sinatra
  • Clojure

5.2 Testing

  • RSpec
  • Capybara
  • Minitest

5.3 Frontend

  • ES6/JavaScript/CoffeeScript
  • React.js
  • Elm
  • JQuery
  • HTML/Slim
  • Angular.js (ver. 1)
  • Ember.js (played with)

5.4 Programming languages

  • Ruby
  • ES6
  • JavaScript
  • Clojure
  • Elm
  • OCaml (interested in it)
  • CoffeeScript (because I am a Rails-developer)
  • PHP - a little experience
  • Java - played with Android back in high shool
  • Python, Perl, C/C++ - used back in high school and university.

5.5 Database

  • Postgresql (work experience)
  • Mongodb (played with Clojure)

5.6 Other

  • Emacs
  • git
  • bash
  • tmux
  • Heroku (hobby)
  • Redmine (+ API)
  • nginx (deployed helpy.io on DigitalOcean for L'Oreal)
  • Platforms: Mac OS (currenty), Linux (Ubuntu, ArchLinux)

5.7 Languages

  • Russian - native speaker.
  • English - proficient.