
Nikola Đuza
Verified Expert in Engineering
Software Developer
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
Experience
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. It's simple but useful.
Work Experience
Full-stack Web Developer
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.
Ruby and React Full-stack Web Developer
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.
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.
- 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.
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
https://www.facebook.com/sogette/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
Skills
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)
Education
Master's Degree in Computer Science
Faculty of Technical Sciences - Novi Sad, Serbia
Bachelor's Degree with 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