Aleksandar Danilovic, Developer in Belgrade, Serbia
Aleksandar is available for hire
Hire Aleksandar

Aleksandar Danilovic

Verified Expert  in Engineering

Bio

Aleksandar has over 15 years of experience developing Java applications, mainly for the financial industry. He strives to constantly improve himself and wishes to leave a mark on various achievements during the years of his work. Aleksandar is a passionate coder and intends to code for the rest of his life.

Portfolio

telXira
Java, Spring, Spring Boot, Redis, Percona, MySQL, RabbitMQ, API Integration...
Musix
Java, MaxDB, Spring, Spring Boot, SQL, Unix, Git, SOAP, REST, Spring Data JPA
Dib Travel
Java, Spring, Spring Boot, MySQL, Microservices Architecture, MongoDB...

Experience

  • Unix - 15 years
  • MySQL - 15 years
  • Java - 15 years
  • Spring Data JPA - 9 years
  • MongoDB - 9 years
  • Spring - 9 years
  • Spring Boot - 8 years
  • Elasticsearch - 6 years

Availability

Part-time

Preferred Environment

Java, Spring, Spring Boot, Spring Data JPA, RESTful Microservices, RabbitMQ, MySQL, Redis, Elasticsearch, MongoDB

The most amazing...

...thing I've developed is a cryptocurrency trading bot that uses various algorithms to decide when to buy and sell cryptocurrency.

Work Experience

Principal Engineer

2022 - PRESENT
telXira
  • Led the team in successfully implementing a highly available architecture.
  • Implemented the most crucial parts of the system that led the system to handle 2,000 API requests per second.
  • Mentored and supported team members of various expertise levels (from junior to senior). Worked with a more significant role among developers, acting as the primary person between the product owner and the rest of the team.
Technologies: Java, Spring, Spring Boot, Redis, Percona, MySQL, RabbitMQ, API Integration, Relational Databases

Senior Java Developer

2022 - 2023
Musix
  • Refactored a lot of legacy code with JUnit tests as proof it works as expected and as protection of functionalities.
  • Migrated Apache HttpClient from v4 to v5 for the whole system.
  • Participated in discussions about system architecture, suggested improvements, and worked on some of them.
Technologies: Java, MaxDB, Spring, Spring Boot, SQL, Unix, Git, SOAP, REST, Spring Data JPA

Senior Java Developer

2020 - 2022
Dib Travel
  • Worked as a senior Java programmer and feature lead for DIB Travel, a Swedish startup that specializes in business travel.
  • Collaborated on projects for climate compensation, taxi offers, and rental cars. Led and mentored a small team and worked on the system core.
  • Innovated in developing our models for calculating CO2 emissions for whole trips, including flights, trains, cars, buses, and hotel stays.
  • Introduced and implemented a search engine based on AWS Elasticsearch.
Technologies: Java, Spring, Spring Boot, MySQL, Microservices Architecture, MongoDB, Elasticsearch, Spring Data, Unix, SQL, Docker, WebFlux, Git, Bitbucket, Jenkins, Jira, Slack, Windows, IntelliJ IDEA, SOAP, REST, Spring Data JPA, Spring Cloud, API Integration, Relational Databases

Senior Java Developer and Solutions Architect

2019 - 2020
Shifuku Tech
  • Worked as a solutions architect and senior Java programmer for Shifuku Tech, a small Serbian startup company specializing in payment processing and monitoring, remote diagnostics, and remote repairing of ATMs.
  • Designed the whole system from the ground up, including the front end. The solution successfully worked for an international bank. Monitored production, fixed bugs, and oversaw a pretty stable process.
  • Led a team of three and participated in discussions with engineers from the bank and installed complete solutions on the bank's premises.
Technologies: Java, Spring, Spring Boot, SQL, Oracle, jQuery, NGINX, SQL Server 2010, LDAP, Spring Tool Suite (STS), JavaScript 6, Webpack, NPM, Babel

Senior Java Developer

2017 - 2019
enjoy.ing
  • Worked as senior Java programmer for Enjoy.ing, a Swiss software outsourcing company specializing in establishing and managing dedicated development teams in Serbia and Romania.
  • Collaborated on projects with a Swiss telecommunications company and a Swiss bank.
  • Introduced the use of Java Lambda expressions in a Swiss telecommunications company.
  • Participated in architectural decisions in derivatives trading solutions for a Swiss bank.
Technologies: Java, JavaScript, Spring, Spring Boot, Oracle, MySQL, React, REST, Microservices Architecture, Elasticsearch, Spring Data, Docker, Spring Tool Suite (STS), Eclipse IDE, API Integration, Relational Databases

Senior Java Developer

2016 - 2017
InterVenture Sourcing
  • Worked as a senior Java programmer for InterVenture, a Swiss software outsourcing company specializing in establishing and managing dedicated development teams in Serbia.
  • Collaborated on a project with a Swiss startup company specializing in tax digitalization projects for the banking and financial sectors.
  • Learned about Java Lambda streams, Spring Boot, and AngularJS.
Technologies: Java, Spring, Spring Boot, JavaScript, AngularJS, IntelliJ IDEA, API Integration, Relational Databases

Senior Java Developer

2014 - 2016
Interactive Data
  • Worked as a senior Java programmer for Interactive Data, an American company that provides financial market data, analytics, and related solutions to financial institutions, active traders, and individual investors.
  • Implemented a forex solution for bank brokers. It was a real-time solution with dozens of different currencies.
  • Worked on various solutions in stock trading for banks and broker houses.
Technologies: Java, JavaScript, Unix, Spring, MongoDB, SOAP, REST, API Integration, Relational Databases

Java Developer

2008 - 2014
Halcom
  • Employed with Halcom, a Slovenian company that develops electronic banking software. Worked on various projects in e-banking, most of which were focused on mobile phone payments.
  • Administered a complex project (mobile phone payments) known as "PlatiMo." I was honored to be the first administrator of the project. Integrated with Telenor Mobile and banks in Serbia.
  • Implemented solutions in e-banking for several banks in Serbia and Bosnia. Solutions were web-based, and the integrity of payments was based on digital signatures from smart cards or USB keys.
  • Integrated with mobile providers in Serbia for various SMS banking solutions.
Technologies: Java, Java EE, SQL, Unix, IBM Db2, SOAP, Relational Databases, API Integration

Junior Java Developer

2008 - 2008
Groundlink
  • Employed in Limores (now Groundlink), an American company with an IT sector located in Serbia. Primarily, the company was engaged in renting limousines. Worked as a Java programmer, and implemented a new autoquoting module.
  • Recieved system emails from many web sites with user requests for limousine rentals. These emails were in a different format and often contained non-validated user inputs. Parsed emails with the autoquoting module.
  • Parsed emails and validated addresses through the Google Maps API, and tried to offer the requested vehicle to users . Sent automatic system email offers to users.
  • Forwarded emails with AI through the autoquoting module to customer support If something was suspicious during the request process and if the program couldn't make a decision by itself.
Technologies: Java, Java EE, JPA, SQL, MySQL

Experience

Business Messaging

https://telxira.com/
Developed a business messaging system in a startup. Lead the team to the successful implementation of a highly available, scalable, and performant system. Helped the company to have new customers, which resulted in the successful selling of our startup company.

Flight CO2 Calculation

My company needed to calculate how much a user's flight could cause CO2 emissions to offer the users an opportunity to compensate for it and be environmentally responsible. I investigated various methods for the calculation of a flight’s CO2 emissions. Then I applied the polynomial formula using numerical interpolation. The calculation of CO2 was the function of air distance between two airports. Using various airports' geocoordinates, I calculated air distance with the Haversine formula (sphere geometry).

ATM Remote Repair & Monitoring

Designed a whole new system for ATM Remote Repair & Monitoring from the ground up, including the front-end part. The system was implemented for an international bank. The system used RESTful microservice architecture, and the web app has multiple roles such as super admin, admin, and user with different privileges. Cron jobs monitored all ATMs in the bank system using the bank's database, its data, and some Windows-specific protocols where the ATMs were Windows machines and the bank also used Windows servers.

Web Application for Trading of Derivatives

Worked as senior Java programmer on a completely new system for trading derivates. Took part in system architecture decisions with other senior team members. The system used the bank's existing trading API and was intended to be used by the brokers employed in that bank and the banks that joined the system. The system was designed as a RESTful microservice system and used Spring Cloud.

Skills

Libraries/APIs

jQuery, React

Tools

Slack, NGINX, Git, Bitbucket, Jenkins, Jira, IntelliJ IDEA, Spring Tool Suite (STS), Eclipse IDE, Webpack, NPM, Babel, Bamboo, RabbitMQ

Languages

Java, SQL, JavaScript, JavaScript 6

Frameworks

Spring, Spring Boot, JPA, AngularJS, WebFlux

Paradigms

REST, Microservices Architecture

Platforms

Java EE, Windows, Unix, Oracle, Docker, Percona

Storage

Spring Data JPA, MySQL, Spring Data, IBM Db2, MaxDB, Relational Databases, MongoDB, Elasticsearch, SQL Server 2010, Redis

Other

API Integration, SOAP, LDAP, RESTful Microservices, Spring Cloud

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