Vanja Radovanović

Vanja Radovanović

Pula, Croatia
Hire Vanja
Scroll To View More
Vanja Radovanović

Vanja Radovanović

Pula, Croatia
Member since May 26, 2013
Vanja is a fast learner most interested in projects that combine a multitude of technologies with development best practices. He adores Ruby and anything Ruby related and has a special interest in Software Craftsmanship and personal development--both in the field and in general.
Vanja is now available for hire
Portfolio
Experience
  • JavaScript, 3 years
  • Node.js, 2 years
  • Apache Storm, 2 years
  • Java, 5 years
  • React.js, 1 year
  • Google App Engine, 1 year
  • Elixir, 1 year
  • Kafka, 1 year
Pula, Croatia
Availability
Part-time
Preferred Environment
Linux, Git, IntelliJ Idea, GVim, Github, Jenkins
The most amazing...
...moment for me was seeing the Jenkins plugin for Gitlab integration I wrote actually be used ... a lot.
Employment
  • Google App Engine Web Developer
    Storie, Inc.
    2015 - PRESENT
    • Created http://storie.com web, running on Google App Engine.
    • Integrated the web with the back-end API, also on Google App Engine, using URLFetch GAE service.
    • Created a build system for client-side scripts.
    • Implemented caching of main resources from the back-end API, to speed up page load times.
    • Created a mechanism to work with models both on server and client side.
    • Supported video playback using customized JWPlayer.
    Technologies: Google App Engine, Java, Google Guice, Restlet, Jade, jQuery, SCSS
  • Senior Software Engineer/System Integrator
    Infobip d.o.o.
    2010 - PRESENT
    • Introduced Apache Storm into technology stack, with the purpose of processing incoming (big) data stream in real time to e.g. prepare in advance the data for user dashboards to improve user experience; reached processing power of about 100.000 messages per second with a small cluster.
    • Helped develop a set of internal tools used by support team and developers alike that monitor existing services, alert on various conditions, display metrics and related graphs etc.
    • Led a team of developers in charge of integrating above mentioned Apache Storm and monitoring tools into companies stack; also worked as product owner for the related products.
    • Managed and maintained the entire CI flow for about 150 developers throughout the company, using Stash as Git server (previously used TFS and Gitlab), Jenkins as build farm, Artifactory as repository and Jira and Confluence as project management tools; helped integrate Java (Maven) and other types of projects (NodeJS, Ruby, .Net) into the flow.
    • Wrote a custom Jenkins plugin for integration with Git backend, to improve build start times; written in JRuby and open sourced to comunity.
    • Created the base tools for automated deployments and maintenance of Java and other types of services by writing Bash (Linux) and Powershell (Windows) set of deployment scripts that support automated deploys, upgrades etc.
    • Created internal tool for validating SQL schema for the entire platform and for automated building and seeding of various databases needed to run related services in staging environment.
    • Helped transition existing code to new standards, e.g. converting UI to Bootstrap, using Angular on the front end and writing corresponding REST service on backend.
    • Led coding dojos within the team; taught new candidates the basics (SOLID) within our developer workshops (used to bring new talent to the firm).
    Technologies: Apache Storm, Java, Angular, Coffeescript, JavaScript, REST, HAL, Magnolia, Groovy, Bash, Powershell, Ruby, MS SQL
  • Full stack developer
    Butchershop Creative
    2015 - 2016
    • Integrated the web site with Oracle Eloqua backend.
    • Integrated the web site with Drupal backend.
    • Built web API for fetching custom Drupal data.
    • Built web API for fetching contact/form data from Eloqua.
    • Built generic React/Redux component and flow to render custom Drupal data and related contact forms.
    Technologies: Node, Express, React, Redux
  • Full stack Rails Engineer
    Soma Inc. (via Toptal)
    2014 - 2014
    • Helped develop declarative admin interface called Deckhand, similar to RailsAdmin but more Google like in usage, Ruby backed with Angular on the front end.
    • Helped untangle largely coupled business logic. e.g. for various billing and shipping use cases, and separate it in distinct concerns, easier to compose and test.
    • Reorganized and fixed a large portion of specs, made them faster by skipping database calls where not needed.
    • Decoupled several background jobs from ActiveModel into Whisper gem's style of publish/subscribe model, helped with decoupling logic from models.
    • Generally worked on improving business cases, whether by adding new features or updating the existing ones to match the changing business needs more closely.
    Technologies: Ruby, Ruby on Rails, Angular, Angular UI, Sidekiq
  • Senior RoR Developer
    HootRecruit (via Toptal)
    2014 - 2014
    • Integrated with FullContact API for both live and background contact importing, respecting request rate limits.
    • Reorganized and made deploy process simpler, allowing for sandbox and production deployments on the same target server.
    • Fixed various UI issues related to displaying on various mobile devices, and Twitter Bootstrapped the remaining pages.
    • Added support for indexing and full text search of uploaded candidate's resumes (PDF and MS Word) along with other candidate data.
    • Exposed API for resolving contact details given an email, integrates with FullContact API, used on UI to fill data for manually entered contacts.
    Technologies: Ruby on Rails, JavaScript, jQuery
  • Analyst, System Integrator
    QiQo d.o.o.
    2003 - 2010
    • Incorporated the company's ERP solution into the client's business process.
    • Lead various efforts to create custom modules for the ERP product, e.g. for newspaper publishing, textile industry etc.
    • Gathered and analysed client requirements, created solutions within the given ERP product.
    • Educated various teams at the client's site, to work with ERP and presented solutions.
    • Created design templates for various ERP components.
    Technologies: Clarion
  • Lead developer, System Engineer
    Grad d.o.o
    1998 - 2003
    • Created reusable framework for dynamic addition of custom medical documents to the system; important because most doctors have their own idea about how to handle and write patient documentation.
    • Created packaging and distribution tools and procedures to speed up deployment of new versions and fixes; also enabled seamless deployment (users not interrupted in their work).
    • Integrated the product (medical system) into a number of hospitals; migrating existing data and flows and developing the missing functionalities.
    • Created a reusable framework for administration, e.g. registering new document types; enabled fast addition of new data types to the UI.
    • Worked on various stand alone (not incorporated into the main product) but medically related products.
    Technologies: Visual Basic, MS SQL
Experience
  • Apache Storm Overview & Integration Lecture @ DORS/CLUC Conference 2104 (Other amazing things)
    https://www.youtube.com/watch?v=UeAnxXmx8s0

    Gave a lecture on Apache Storm and related ecosystem with following topics:
    * the basics; why it has been created and how it is usually used
    * the motive for usage in Infobip's technology stack; real-time processing of incoming data stream
    * how it has been integrated; using Kafka and MS SQL
    * issues and challenges; DB throughput, Java (de)serialization performance bottleneck etc.

    The video can also be found at DORS/CLUC's conference page: http://mod.carnet.hr/index.php?q=watch&id=3554, and the related slides are shared at SlideShare: http://www.slideshare.net/vax/storm-integration.

  • Jenkins Gitlab Webhook Plugin (Development)

    Enables Gitlab web hooks to be used to trigger SMC polling on Gitlab projects.

    For Gitlab there is an existing solution that might work for you. You can just use the notifyCommit hook on Git plugin like this: http://your-jenkins-server/git/notifyCommit?url=<URL of the Git repository for the Gitlab project>

    But, with a large number of projects that are mostly polling (no hooks), the project might actually be built with a great delay (5 to 20 minutes).

    That is where this plugin comes in.

    It gives you the option to use build_now or notify_commit hook, whichever suits your needs better.

    Recently, it as also used to trigger Stash commits as well.

  • Dealesque (Development)
    https://github.com/elvanja/dealesque

    Finds the best combination of sellers and postage options for a selection of Amazon products.

    A pet project used to try the Clean Ruby way of developing a web application. Currently uses Rails but is intended to be decoupled from any framework at all.

  • Roar Example (Development)
    https://github.com/elvanja/roar_example

    An example of a working ecosystem of services and client applications that interact using roar and roar-rails gems. The main idea is to show how one might use those libraries to build such a system.

    Components:
    * book_of_orcharding - contains all the domain / business rules about fruit management
    * orchard - serves us as the persistence layer for the orcharding rules
    * tutti_frutti - exposes orcharding rules as a json api
    * smoothie_mixer - rails project that consumes the api and delivers delicious fruit smoothies
    * basher - command line api client

  • Vanja is a mentor in the Toptal Global Mentor’s Program. This program is a partnership between Toptal and General Assembly to provide high quality mentorship for students from minority and low income backgrounds who are looking to begin their careers as professional software engineers. Vanja shows commitment to diversity in tech by mentoring a General Assembly student every week for a year, covering everything from coding tips and tricks to advice on making it in the industry.
Skills
  • Languages
    Ruby, JavaScript, SQL, AS3, SCSS, Java, CoffeeScript, Bash, SASS, Haml, CSS, HTML, Groovy, ABAP, PowerShell, Elixir
  • Frameworks
    Express.js, Ruby on Rails, Mockito, JUnit, PowerMock, GAE, Gaia, Bootstrap, Bootstrap 3, Spring, Flux, Sinatra
  • Libraries/APIs
    Restify, Node.js, Guava, Google Maps, Devise, Amazon Product Advertising API, Nokogiri, React.js, Java RMI, Facebook API, D3.js, Google API, jQuery, Twitter API, Highcharts, Kafka
  • Tools
    Maven, Stash, Git, Apache Storm, Jenkins, RSpec, IntelliJ IDEA, GitLab, JIRA, Artifactory, Rake, VCR, Git flow, Adobe Photoshop, Vim, Magnolia, Cucumber, Grunt
  • Paradigms
    Continuous Integration, REST, Refactoring, Agile Software Development, Test-driven Development (TDD), Metaprogramming, Object-oriented Design (OOD)
  • Platforms
    Factual, WordPress, Linux, Heroku, Google App Engine
  • Misc
    HATEOAS, HAL, JSON, Lambda Architecture, Big Data
  • Storage
    MS SQL, PostgreSQL, MongoDB, MySQL, Memcached
Education
  • Masters degree in Computer Engineering
    Faculty of Electrical Engineering and Computing Zagreb - Croatia
    1993 - 1998
Hire the top 3% of freelance developers
I really like this profile
Share it with others