Michał Papis, Developer in Berlin, Germany
Michał is available for hire
Hire Michał

Michał Papis

Verified Expert  in Engineering

Unix Shell Scripting Developer

Location
Berlin, Germany
Toptal Member Since
January 18, 2021

Michał has many years of experience in a variety of languages, but he has solely focused on Ruby since 2010. Ever since then, he's been polishing his Ruby on Rails skills at companies both large and small, working on open-source projects, and teaching others. He enjoys collaborating and sharing his knowledge to solve complex problems.

Portfolio

Packet
SQL, Ruby Performance, Software Architecture, Test-driven Development (TDD)...
Toptal
SQL, Ruby Performance, Leadership, Software Architecture...
​Consileon Polska
SQL, Ruby Performance, Software Architecture, Test-driven Development (TDD)...

Experience

Availability

Part-time

Preferred Environment

Software Architecture, Test-driven Development (TDD), PostgreSQL, Back-end, Automation, *nux Shells, Ruby on Rails (RoR), Git, SUSE, Linux, RubyMine

The most amazing...

...feature in RVM I've developed is autolibs feature. It replaced manual instructions with an automated system, installing necessary components for Ruby.

Work Experience

Senior Ruby Developer

2019 - 2020
Packet
  • Delivered greenfield application in a tight schedule. It had a minimalistic UI to enter data. In background jobs, it synchronized API data to match with existing data. Multiple reports grouped the data on multiple criteria, including forecasting.
  • Maintained and extended existing Billing Rails API. My work included porting the previous app to the API and planning and implementing new features around it.
  • Convinced the team to use easier solutions despite hard pushback. This reduced the required work by half and limited possible errors with a cache for communication.
Technologies: SQL, Ruby Performance, Software Architecture, Test-driven Development (TDD), RSpec, REST APIs, PostgreSQL, Back-end, JavaScript, APIs, Employee Training, Public Speaking, Shell, Ruby Gems, Automation, RubyMine, Database Design, Object-oriented Design (OOD), Git, Billing, Ruby on Rails (RoR), Ruby

Senior Ruby Developer

2016 - 2019
Toptal
  • Managed a team of eight people with a 13-hour difference in time-zones; developed an asynchronous process for the team to allow fully asynchronous work.
  • Completed over 70 technical interviews, checked architectural skills, and solved complex problems.
  • Wrote a library to monitor blocked Java processes—this helped our DevOps team solve problems with Jenkins running over 100 concurrent builds.
  • Trained a junior developer to a mid-level, fully functional team member within a senior-only company in just a few months.
  • Promoted the use and development of open-source tools, encouraged other developers to make a presence, developed multiple open-source tools that gained quick traction in the community, and gave multiple talks at conferences about the tools.
Technologies: SQL, Ruby Performance, Leadership, Software Architecture, Test-driven Development (TDD), RSpec, GraphQL, REST APIs, PostgreSQL, Back-end, JavaScript, APIs, Employee Training, Conference Speaking, Public Speaking, Ruby Gems, *nux Shells, SUSE, Linux, RubyMine, Unix Shell Scripting, Database Design, Object-oriented Design (OOD), Git, Automation, Java, Shell, Ruby on Rails (RoR), Ruby

Senior Ruby Developer

2016 - 2016
​Consileon Polska
  • Wrote Ruby integrations for third-party APIs, including over five integration APIs for different financial systems.
  • Supported the team with Ruby on Rails development.
  • Implemented some small features with Ruby on Rails.
Technologies: SQL, Ruby Performance, Software Architecture, Test-driven Development (TDD), RSpec, REST APIs, PostgreSQL, Back-end, Object-oriented Design (OOD), JavaScript, Billing, Employee Training, Conference Speaking, Public Speaking, Shell, Ruby Gems, Git, SUSE, Linux, RubyMine, Database Design, APIs, Ruby on Rails (RoR), Ruby

Senior Ruby Developer

2015 - 2016
​Stack Builders
  • Co-managed a team of 10+ people, planning features and Ruby and Rails development.
  • Built long-term architecture plans for the project.
  • Paired with developers to help them improve coding skills (also JavaScript).
  • Collaborated with and helped sysadmins automate tasks.
Technologies: SQL, Ruby Performance, Leadership, Software Architecture, Test-driven Development (TDD), RSpec, REST APIs, PostgreSQL, Back-end, Object-oriented Design (OOD), APIs, Billing, Employee Training, Conference Speaking, Public Speaking, Shell, Ruby Gems, Git, SUSE, Linux, Unix Shell Scripting, Database Design, Automation, JavaScript, Ruby on Rails (RoR), Ruby

RVM Release Manager

2011 - 2013
​Engine Yard
  • Served as a RVM (Ruby version manager) and handled releasing new versions, maintenance, and implementing new features.
  • Integrated with internal services. Helped plan and implement the integration of RVM with internal Ruby services.
  • Solved issues and implemented automation solutions to prevent problems from happening. Discussed user problems in tickets and on StackOverflow.
Technologies: Ruby Performance, Leadership, Software Architecture, Test-driven Development (TDD), RSpec, Back-end, Object-oriented Design (OOD), JavaScript, APIs, Employee Training, Conference Speaking, Public Speaking, Java, *nux Shells, Git, SUSE, Linux, C++, Unix Shell Scripting, Ruby Gems, Ruby on Rails (RoR), Shell, Ruby, Automation

IT Consultant/Team Coordinator

2007 - 2011
​Consileon Polska
  • Supported our customers, providing them with the highest level of knowledge from all over the IT range.
  • Developed and maintained the deployment process, which included installing dependencies and setting up servers and databases.
  • Managed coordination and communication between our customers and our team of Rails developers.
Technologies: SQL, Ruby Performance, Leadership, Software Architecture, Test-driven Development (TDD), RSpec, REST APIs, PostgreSQL, Back-end, JavaScript, Employee Training, Shell, Ruby Gems, *nux Shells, Git, Linux, C++, Unix Shell Scripting, Database Design, Object-oriented Design (OOD), Java, APIs, Ruby on Rails (RoR), Ruby, Automation

Ruby Version Manager

http://rvm.io
RVM helps developers to install Rubies, switch between different versions of Rubies and sets of Gems. I improved the tool, adding automation whenever it was suitable. Adding autolibs or RubyGems-bundler solved many problems and reduced the number of support tickets. Multiple times, I investigated issues on the verge of Shell, compilation, Ruby, Gems, Bundler, and Rails.

Gem RubyGems-Bundler

https://github.com/rvm/rubygems-bundler
A Gem to help developers avoid typing `bundle exec` before each Ruby command. It hooks into both RubyGems and bundler. It helped to reduce number of issues opened for RVM by 10-fold. The project has over 106 million downloads.

Gem Executable-Hooks

https://github.com/rvm/executable-hooks
Ruby Gem to add support for executing plugins on running ruby executables. It required hooking into RubyGems and extending it in a compatible way with other plugins, and generating executables. The project has over 36 million downloads.

Gem Pluginator

https://github.com/rvm/pluginator
The gem allows an automatic and configurable way of loading plugins into ruby applications. The gem comes with an extendable interface through its own plugin interface. This gem has almost 1 million downloads.

Languages

Ruby, SQL, C++, Java, JavaScript, GraphQL

Frameworks

Ruby on Rails (RoR)

Tools

RSpec, RubyMine, Git, *nux Shells, Shell, Bundler

Paradigms

Automation, Database Design, Object-oriented Design (OOD), Test-driven Development (TDD)

Other

Ruby Gems, Back-end, Unix Shell Scripting, Public Speaking, Conference Speaking, Employee Training, APIs, Software Architecture, Leadership, Ruby Performance, Billing

Libraries/APIs

REST APIs

Platforms

Linux

Storage

SUSE, PostgreSQL

1999 - 2003

Engineer's Degree in Computer Engineering

Technical University of Szczecin - Szczecin, Poland

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring