Nikola Đuza, Developer in Novi Sad, Vojvodina, Serbia
Nikola is available for hire
Hire Nikola

Nikola Đuza

Verified Expert  in Engineering

Software Developer

Location
Novi Sad, Vojvodina, Serbia
Toptal Member Since
March 1, 2018

Nikola is a software engineer that enjoys tackling serious problems and solving them with a minimal set of tools and maximum elegance. He loves working with Ruby and is most comfortable with Ruby on Rails, React, and Elixir.

Portfolio

Integral Agile (via Toptal)
JavaScript, Jest, PostgreSQL, RSpec, Docker Compose, Docker, Redux, React...
Software Lead Weekly (via Toptal)
JavaScript, Redux, PostgreSQL, RSpec, React, Ruby on Rails (RoR), Ruby
Rendered Text
Cucumber, Jest, Redux, PostgreSQL, Amazon S3 (AWS S3), RSpec, Docker, Elixir...

Experience

Availability

Part-time

Preferred Environment

ITerm, Zsh, GitHub, Vim Text Editor, Linux, MacOS

The most amazing...

...thing I've coded is a Ruby gem for asynchronous rendering of page parts. It's simple but useful.

Work Experience

Full-stack Web Developer

2018 - 2019
Integral Agile (via Toptal)
  • Built new features in React UI and Rails back end. Everything was running inside Docker containers with docker-compose.
  • Added new custom authorization system on the back end and front end in Rails and JavaScript.
  • Optimized Rails back end API endpoints response time with SQL query optimization.
  • Created better data selection in Redux with reselect library.
  • Wrote Jest and RSpec unit tests.
  • Created login, register, and log out mechanism with email sending that combines API tokens and UI experience for the user. Used mailcatcher, devise_token_auth, and devise gems to make this possible.
  • Implemented drag and drop, drag preview, and drop preview logic in React using react-dnd library.
  • Implemented handling of big lists in React using the react-virtualized library.
  • Transferred async jobs to use Sidekiq instead of ActiveJob for performance reasons.
  • Registered users on Firebase and dealt with permissions for accessing data in Firebase. Both on the back end and the front end.
  • Created multiedit fields that show who is editing viewable text on the screen with Firebase.
Technologies: JavaScript, Jest, PostgreSQL, RSpec, Docker Compose, Docker, Redux, React, Ruby on Rails (RoR), Ruby

Ruby and React Full-stack Web Developer

2018 - 2018
Software Lead Weekly (via Toptal)
  • Shipped full features, from Ruby on Rails back end to React front end.
  • Added support for adding a company on a personal profile. Also built a company page which showcases the user within the company.
  • Set up Sidekiq and added Rails mailers for sending emails.
  • Built comment and review part of the website. Users can ask for reviews from reviewers, and enable comments from normal users.
  • Prepared the project for launch with the whole team.
Technologies: JavaScript, Redux, PostgreSQL, RSpec, React, Ruby on Rails (RoR), Ruby

Software Engineer

2015 - 2018
Rendered Text
  • Built AWS deployment integrations for projects. Integrated with services such as Elastic Beanstalk, Lambda, S3.
  • Developed integrations with Docker Registry providers for projects that use Docker.
  • Released a gem for asynchronous rendering of parts of the HTML page.
  • Rewritten the "Build" page of the Semaphore CI using React and Redux, together with Rails API and Pusher.
  • Created a Dockerized web service in Elixir that tracks user's waiting time for a build using RabbitMQ. It also tracks usage in a certain project, and can calculate data for weekly insight mails that is sent to users.
  • Transfered Rails Asset Pipeline assets to the webpack manages assets. Set up Jest and tools like ESLint, prettier inside a big old Rails project.
  • Increased whole JavaScript code coverage to above 95% writing tests with Jest.
  • Kept dependencies up-to-date, both Rails gems and JavaScript packages.
  • Built a page where users can gain insight in ther CI speed and how much are they waiting for their builds to start.
  • Wrote Elixir microservice for sending emails about waiting times to users.
Technologies: Cucumber, Jest, Redux, PostgreSQL, Amazon S3 (AWS S3), RSpec, Docker, Elixir, JavaScript, Ruby on Rails (RoR), Ruby

Research Scholar

2016 - 2016
Rice University
  • Set up crawlers to crawl through Alexa toplists using Python and Scraping Hub.
  • Distinguished websites which block adblocking software from the one that don't by parsing the website's HTML, JavaScript, and HAR.
  • Configured and used a huge cluster of computing power to parse through the scraped data.
  • Created a tool in Rails to scan couple of projects, that track and maintain adblocking related lists, for any recent changes.
Technologies: JavaScript, Ruby on Rails (RoR), Ruby, C++, Python

Semaphore CI

https://semaphoreci.com/
Worked on a continuous integration service. Built most of the UI parts of the service in Rails and React. Built integrations with AWS Elastic Beanstalk, AWS S3, and AWS Lambda (mostly in Rails). Built integration with all the major Docker Registries (Docker Hub, AWS ECR, Google Cloud Registry, Quay.io etc.) using Rails. Built integration with GitHub Marketplace, a place where GitHub users can buy plans on Semaphore CI. Created a microservice in Elixir for handling user build times and waiting times. As an extension of that microservice, created another microservice in Elixir that sends email summaries of user build times and waiting times.

box-metrics

Elixir microservice that is Dockerized and it serves as a data provider for a part of the Semaphore CI. It consumes messages from RabbitMQ and stores data in its database. It exposes endpoints for fetching the stored data. It calculates waiting and build time of a particular user, project or an organization. It is very useful since it reveals insight in how much users are using Semaphore CI.

18F Micropurchase

https://github.com/18F/micropurchase
Worked on a website for publishing and bidding job auctions. Most job auctions are about software engineering positions. Worked on a logic for publishing auctions, and showing them to the users. I did this as my first job as a freelance web developer.

Soggete - Banking Personal Assistant

https://www.facebook.com/sogette/
Built a chat bot that changes your relationship with the bank. It works through Facebook Messenger and it's a Rails application on Heroku. It's won 3rd place at the Fintech Hackathon at ICT HUB in Belgrade.

LetsMeet

https://github.com/pineapple-devs/lets-meet
Built a React Native application for the Android phones in a group of 3 people. We used latest practices in React, Redux and JavaScript. Application lets you schedule events with your friends. You invite your friends via email and they can respond whether they'll be participating. Once a friend confirms or denies, you get a push notification to your device.

render_async gem

https://github.com/renderedtext/render_async
render_async renders partials to your views asynchronously. This is done through adding JavaScript code that does AJAX request to your controller which then renders your partial into a Rails view. JavaScript code is injected at the bottom of your page and it's ran when the page loads. The JS code sends a GET request to your server in order to fetch data. Once the request is finished, response data is then rendered in the HTML at the place user specified.

This project alleviates the need for using Single Page Application and it saves the user from writing the same Rails and JavaScript code if he wants to load something asynchronously on the page.

Ordinare gem

https://github.com/nikolalsvk/ordinare
Gem that sorts your Gemfile alphabetically. It is meant to be used inside Rails projects so the Gemfile is nice and sorted.

Personal Blog

https://pragmaticpineapple.com/
My personal blog, where I write about tech-related topics. I also keep a newsletter that goes about four times a year. It features blog posts I wrote as a guest writer for other blogs, as well as blog posts I wrote exclusively for my blog.

Personal Website

A small website where you can find links to my profiles on social networks and contact me via email. It's done in plain HTML and CSS.

Languages

HTML, Ruby, JavaScript, CSS, Elixir, Python, C++

Frameworks

Ruby on Rails (RoR), Redux, Jest, Jasmine

Libraries/APIs

Node.js, React, GitHub API

Tools

RSpec, Cucumber, GitHub, Vim Text Editor, Zsh, ITerm, Docker Compose

Paradigms

Test-driven Development (TDD), Behavior-driven Development (BDD), Functional Programming

Other

Gatsby, ESLint, Writing & Editing, Presentations

Platforms

Docker, MacOS, Linux, Netlify

Storage

PostgreSQL, Amazon S3 (AWS S3)

2016 - 2019

Master's Degree in Computer Science

Faculty of Technical Sciences - Novi Sad, Serbia

2012 - 2016

Bachelor's Degree with Honors in Computer Science

Faculty of Technical Sciences - Novi Sad, Serbia

NOVEMBER 2016 - PRESENT

Single Page Web Applications with AngularJS

Coursera Course Certificates

MARCH 2016 - PRESENT

HTML, CSS, and Javascript for Web Developers

Coursera Course Certificates

FEBRUARY 2016 - PRESENT

Ruby on Rails Web Services and Integration with MongoDB

Coursera Course Certificates

NOVEMBER 2015 - PRESENT

Rails with Active Record and Action Pack

Coursera Course Certificates

OCTOBER 2015 - PRESENT

Ruby on Rails: An Introduction

Coursera Verified Certificates

JULY 2009 - PRESENT

First Certificate in English

Cambridge International Examinations

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