Nikola Stojiljkovic, Developer in London, United Kingdom
Nikola is available for hire
Hire Nikola

Nikola Stojiljkovic

Verified Expert  in Engineering

Algorithms Developer

Location
London, United Kingdom
Toptal Member Since
June 22, 2016

As a computer science major, Nikola has worked in companies such as Google, Microsoft, GSA Capital, and a few startups—developing algorithms to solve large scale problems. He is more of a generalist, though he loves the detail and has a deep understanding development projects. He loves to build systems and to come up with solutions for challenging tasks. He considers it a bonus if projects include problems that haven't been solved before.

Availability

Part-time

Preferred Environment

IDEA IDE, MacOS, Linux

The most amazing...

...thing I've worked on was table detection and reconstruction from an A4 document taken by a phone camera.

Work Experience

Software Engineer

2017 - PRESENT
Improbable Worlds Ltd.
  • Worked as part of the Fabric team, working on the run-time of SpatialOS.
Technologies: gRPC, Scala, Java

Software Developer

2015 - 2017
GSA Capital LLP
  • Worked as part of the CORE team on post-trading processes.
  • Reconciled positions across the firm: pre and post trade.
  • Wrote interfaces to various counter parties (prime brokers).
  • Created an integration test framework for part of the system.
Technologies: SBT, Java, SQL, Scala

Software Engineer

2014 - 2015
Yoterra Inc.
  • Improved on an algorithm that detects products of the same kind.
  • Wrote an algorithm that validates product groups.
  • Developed an algorithm to keep unique IDs for the groups between different pipeline runs.
  • Designed a part of the pipeline that processes hundreds of millions of records.
Technologies: OpenCV, Java, Hadoop

Software Engineering Intern

2014 - 2014
Google Inc.
  • Developed a feature extraction algorithm for spam detection in Google Groups.
  • Created an user interface for debugging spam detection features.
  • Created a framework that populates Google's machine learning system with new features on a daily basis.
Technologies: MapReduce, Protocol Buffers, Java

Software Engineer

2013 - 2014
Yoterra Inc.
  • Developed feature extraction algorithms for product images.
  • Implemented a clustering algorithm on top of Hadoop.
  • Researched regarding applied product search by color.
  • Created a product image color search algorithm based on the previous research.
Technologies: Hadoop, Java, OpenCV, C++

Intern Software Design Engineer

2013 - 2013
Microsoft Development Center Serbia
  • Developed an image processing header/footer similarity detection algorithm on scanned documents with an image in the header/footer.
  • Wrote a bullet-classification algorithm from a 10x10 image.
  • Invented a table detection and reconstruction algorithm from document images created by a phone camera.
  • Created an algorithm that detects the same headers/footers and affines transformations between them so that all elements can be normalized to the same position.
  • Integrated a table detection and reconstruction algorithm into a Windows Phone app.
Technologies: C++

Software Engineer QA

2012 - 2013
Yoterra Inc.
  • Created a testing framework to ensure product data integrity.
  • Wrote dozens of Hadoop jobs that analyze product information.
  • Developed a couple of large scale algorithms for grouping products.
Technologies: Hadoop, Java

Weiler Atherton Clipping Algorithm

https://github.com/freezing/Weiler-Atherton-Clipping-Algorithm
This is a Weiler-Atherton clipping algorithm as an exam project for the class Geometric Algorithms.

Transposition Cipher Genetic Algorithm Attack

https://github.com/freezing/Transposition-Cipher-Genetic-Algorithm-Attack
An attack on a transposition cipher using a genetic algorithm.

Speech Recognition using HMM and MFCC

https://github.com/freezing/Speech-Recognition
Speech Recognition using HMM and MFCC.

Product Color Search - Prototype

https://github.com/freezing/Product-Color-Search
A graduation thesis—indexing product images by predefined colors from the palette.

Kaggle Product Search Relevance Contest

https://github.com/freezing/kaggle-product-search/blob/master/README.md
A Kaggle competition organized by the Home Depot.

It required writing a machine learning algorithm that could be trained with given data: product information (title, attributes, description, other meta data), search terms, and relevance.

Lucky Slider

Lucky Slider is gambling game that uses DASH cryptocurrency as the only payment method. The back-end is implemented in Scala/Play-Framework while the front-end is implemented in Angular 2.

Languages

Go, HTML, Scala, Python, Java, CSS, SQL, C++, JavaScript, HTML5, PHP, Bash Script, C#

Frameworks

JUnit, Apache Spark, Hadoop, gRPC, Laravel

Paradigms

MapReduce, Concurrent Programming, Functional Programming, Distributed Programming

Other

Algorithms, Bitcoin, Data Structures, Cryptocurrency, Cryptography, Protocol Buffers, Machine Learning, Entrepreneurship, OCR, Genetic Algorithms, Image Processing, Artificial Intelligence (AI), Speech Recognition

Tools

Git, Vagrant, Apache Maven, SBT, IDEA IDE

Platforms

Meteor, Linux, Unix, MacOS, Windows

Storage

MySQL, MongoDB

Libraries/APIs

OpenCV, Backbone.js, Scalaz

Industry Expertise

Banking & Finance

2011 - 2015

Bachelor's Degree in Computer Science

Union University, School of Computing - Belgrade, Serbia

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