Lead Full-stack Developer2019 - 2020Torstar
- Integrated the newest React Create app with a Rails 4 app.
- Used React Router, Redux, Thunk, and hooks.
- Developed React components using Material-UI design.
- Helped the team make a smooth transition from a full Rails-and-jQuery app to an app based on Rails, API, and React.
- Updated key gems on the Rails app.
- Set up and deployed the whole app to new staging environment.
- Added Docker and Docker Compose to the development environment.
Full-stack Developer2019 - 2019Teespring
- Developed the overall custom collections system for the Teespring app.
- Built a full REST API on the back end to support basic operations such as CRUD and more complex such as export and import in bulk.
- Added some missing indexes to the db and fixed some bugs related to controller helpers.
- Built the front-end part using React with hooks.
- Fixed bugs related to session flickering on the frontend Redux store.
- Integrated Webpacker with the Rails 4 app.
Back-end Developer2019 - 2019Procore
Technologies: Ruby on Rails (RoR), Ruby
- Implemented improvements which lessened the effects of database deadlocks.
- Sped up the response time of the API.
- Fixed a major problem in the system (NIL-related issue).
- Helped the team migrate to API versioning.
- Upgraded the overall payment services.
Lead Full-stack Rails and React Developer2018 - 2019BitLab BVBA
Technologies: GraphQL, Ruby on Rails (RoR), Ruby
- Constructed an API using Rails and GraphQL.
- Built front-end components based on the ANT design.
- Integrated Redux along side React Router and hooks.
- Coordinated the whole back-end team's work flow.
- Composed the GraphQL code via the use of metaprogramming and requiring very little boilerplate code; I also developed the library.
- Implemented the automatic generation of documentation for GraphQL endpoints.
- Organized the team using Atlassian board.
Full-stack Developer2018 - 2019Ourea Systems
Technologies: Ember.js, Ruby on Rails (RoR), Ruby
- Created a user-managed integration testing framework using RSpec and Active Admin.
- Improved numerous sub services which used Ruby.
- Optimized the developer workflow with Docker, Heroku, and CircleCI.
- Improved the front-end features using Ember.js.
- Generated PDF reports from HTML using wkhtmltopdf command line tool.
- Tracked the statuses of background jobs.
Front-end Developer | Back-end Developer | DevOps2018 - 2018Freelance Work
Technologies: Elasticsearch, Redis, Capistrano, Ember.js, React, Ruby on Rails (RoR), Ruby
- Fixed numerous bugs and added features to projects which have been using Ruby on Rails.
- Upgrade and migrate React apps to newer versions.
- Enhanced the developer workspace using Rake, Git, Docker, and Docker-compose.
- Helped teams move to React hooks.
- Deployed a Rails apps to AWS, DigitalOcean, or VPS.
- Configured Nginx servers and Cloudflare.
- Stored images and documents with Rails 5 active storage.
- Upgraded multiple apps from Rails 3/4 to 5.
- Migrated Ember.js apps to newer versions.
- Upgraded the deployment using Capistrano, Rake, Hatchbox, and Git.
- Improved the appspeed when using PostgreSQL, MongoDB, Redis, and Elasticsearch by using more efficient queries, more performant gems, and an improved configuration of database systems.
Senior Ruby on Rails Engineer2018 - 2018Tutory
Technologies: Ruby on Rails (RoR), Ruby
- Started the project using Ruby on Rails.
- Built a reliable API to handle front-end requests.
- Constructed the database schema.
- Documented the API using Swagger, Postman, and Apipie Gem.
- Generated reports and documentation from RSpec testing.
CTO2017 - 2017GGCrypto
- Setup the base for a React and Node.js application which connects to Firebase.
- Configured a developer work environment with Docker and AWS Cloud9 Amazon Web Services.
- Scaled Node.js code across multiple servers on AWS.
- Developed a custom Redis-based system for matching up players.
- Created reusable components in React.
- Integrated Node.js with an Ethereum wallet.
- Created the GGCrypto currency and managed it in the system.
- Organized meetings for developers (standup, retrospective).
- Managed and reviewed pull requests.
- Architected the system for the future integration with Steam.
- Managed Steam users and integrated the Steam chat into our app.
Lead Software Engineer2016 - 2017Skupos
- Setup the Rails app, database, and Nginx server; then deployed them to AWS.
- Developed the back-end API using JSON API resources.
- Secured the back end with CanCanCan and tracked changes with a custom-built and private gem.
- Created Rake tasks to import sample data for developers to use during development.
- Implemented authentication, invitations, and Google Analytics.
- Integrated a single-page app theme bought from ThemeForest.
- Created front-end services to fetch CRSF tokens and monitor user online statuses.
- Built background jobs to sync the database with a convenience store's (c-store) inventory.
- Developed an electronic app for convenience stores to install (it was used for inventory syncing).
- Created custom services to implement Ajax queries to the back end (Ember.js services and jQuery).
- Enabled the app to cache the models using Web SQL Database.
- Implemented a React-based login, registration, and blog.
Full-stack Software Engineer2014 - 2016Crewmeister
- Designed the API and implemented it using a JSONAPI-resources gem for the Ember.js front end.
- Secured the operations on the back-end side using Pundit and Papertrail which tracks model changes.
- Participated and taught others in a coding session; specifically on how to structure their code and be very productive with TDD.
- Fixed the existing test suite which we had inherited from the previous developers.
- Migrated the above existing test suite from MiniTest to RSpec.
- Added background jobs through Sidekiq for operations which took longer than necessary.
- Instigated a workflow change: we now deploy our code through Capistrano and configure the servers with Chef.
- Converted the front end from being Backbone.js based to Ember.js—improving our productivity.
- Developed a custom calendar component for holiday schedule; it used Moment.js for computing time ranges.
- Used i18n everywhere to prepare for external use outside of Germany.