
Nikola Đuza
Verified Expert in Engineering
Software Developer
Novi Sad, Vojvodina, Serbia
Toptal member since March 1, 2018
Nikola is a software engineer who thrives on the challenge of tackling complex problems and solving them with a minimal set of tools and maximum elegance. He finds great fulfillment in working with Ruby and is most comfortable with Ruby on Rails, React, and Elixir.
Portfolio
Experience
- Ruby - 6 years
- Ruby on Rails (RoR) - 6 years
- RSpec - 6 years
- Test-driven Development (TDD) - 6 years
- Cucumber - 6 years
- JavaScript - 5 years
- React - 4 years
- Redux - 3 years
Availability
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—simple but useful.
Work Experience
Full-stack Web Developer
Integral Agile (via Toptal)
- Added a new custom authorization system in Rails and JavaScript on the back and front ends.
- Optimized the Rails back-end API endpoint response time with SQL query optimization.
- Created better data selection in Redux with the reselect library.
- Wrote Jest and RSpec unit tests on the front and back ends.
- Created a 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 the 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 and front ends.
- Created multi-edit fields that show who is editing viewable text on the screen with Firebase.
Ruby and React Full-stack Web Developer
Software Lead Weekly (via Toptal)
- Shipped full features from the Ruby on Rails back end to the React front end.
- Built support for adding a company to a personal profile. Also created a company page that showcases the user within the company.
- Set up Sidekiq and added Rails mailers for sending emails.
- Built the comment and review parts of the website. Users can ask for reviews from reviewers and enable comments from regular users.
- Prepared the project for launch with the whole team.
Software Engineer
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.
- Rewrote 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.
- Transferred Rails Asset Pipeline assets to the webpack manages assets. Set up Jest and tools like ESLint, prettier inside a big old Rails project.
- Increased the 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 an Elixir microservice for sending emails about waiting times to users.
Research Scholar
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.
Experience
Semaphore CI
https://semaphoreci.com/box-metrics
18F Micropurchase
https://github.com/18F/micropurchaseSoggete - Banking Personal Assistant
LetsMeet
https://github.com/pineapple-devs/lets-meetrender_async gem
https://github.com/renderedtext/render_asyncThis 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/ordinarePersonal Blog
https://pragmaticpineapple.com/Personal Website
Education
Master's Degree in Computer Science
Faculty of Technical Sciences - Novi Sad, Serbia
Bachelor's Degree (Honors) in Computer Science
Faculty of Technical Sciences - Novi Sad, Serbia
Certifications
Single Page Web Applications with AngularJS
Coursera Course Certificates
HTML, CSS, and Javascript for Web Developers
Coursera Course Certificates
Ruby on Rails Web Services and Integration with MongoDB
Coursera Course Certificates
Rails with Active Record and Action Pack
Coursera Course Certificates
Ruby on Rails: An Introduction
Coursera Verified Certificates
First Certificate in English
Cambridge International Examinations
Skills
Libraries/APIs
Node.js, React, GitHub API
Tools
RSpec, Cucumber, GitHub, Vim Text Editor, Zsh, ITerm, Docker Compose
Languages
HTML, Ruby, JavaScript, CSS, Elixir, Python, C++
Frameworks
Ruby on Rails (RoR), Redux, Jest, Jasmine
Paradigms
Test-driven Development (TDD), Behavior-driven Development (BDD), Functional Programming
Platforms
Docker, MacOS, Linux, Netlify
Storage
PostgreSQL, Amazon S3 (AWS S3)
Other
Gatsby, ESLint, Writing & Editing, Presentations
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring