Mladen Krstic, Developer in Belgrade, Serbia
Mladen is available for hire
Hire Mladen

Mladen Krstic

Verified Expert  in Engineering

Full-stack Developer

Belgrade, Serbia

Toptal member since September 17, 2018

Bio

Mladen is a senior full-stack software developer who strives for a profound understanding of both the concept and technology used. Due to his varied work experience, he's an expert in using a number of technologies for different application layers but remains open-minded and likes to learn and try out new things. He relishes taking on challenges and using his problem-solving skills and knowledge to deliver the product successfully.

Portfolio

Swiss Re
Java, Spring, Spring Boot, Microservices, Apache Kafka, MongoDB, PostgreSQL...
Airmeet
Node.js, Express.js, Swagger, Mocha, Chai, Java, Spring, Spring Boot...
Moneyhub Enterprise (via Toptal)
MongoDB, PostgreSQL, Docker Compose, Docker, Material UI, Redux, React...

Experience

  • JavaScript - 13 years
  • OOP Designs - 11 years
  • Java - 10 years
  • Concurrent Programming - 9 years
  • MongoDB - 8 years
  • Spring - 6 years
  • React - 5 years
  • Node.js - 5 years

Availability

Part-time

Preferred Environment

Docker, Git, Visual Studio Code (VS Code), IntelliJ IDEA

The most amazing...

...project I've developed is a scalable API that handles sudden bursts of up to 10,000 requests per second while pushing notifications to all clients in real time.

Work Experience

Freelance Senior Back-end Developer (via Toptal)

2021 - 2023
Swiss Re
  • Participated in developing the complex microservices-based back end of the iptiQ platform, a B2B2C solution developed by Swiss Re, the Fortune 500 company and one of the world's leading insurance and reinsurance providers.
  • Performed a key role in upgrading the reporting mechanism, aggregating all relevant financial data about insurance policies across the system, and allowing business staff to verify policy data from the financial perspective.
  • Implemented an extendable framework for recording Prometheus metrics within different services based on the Micrometer library. I also created a POC on using different Prometheus metric types in different scenarios.
  • Upgraded the part of the payment system for handling insurance claims and effecting the premiums and payment plans appropriately when different kinds of insurance claims happen during a policy lifetime.
  • Coordinated effectively with business analysts during developing and testing the functionalities I worked on.
  • Performed a key role in integrating services for underwriting and service request processing with the standard security approach, designed to be unified across the whole system.
  • Completed the POC for integrating a Spring Boot application with the AWS Parameter Store and live reloading parameter values in the Spring Boot app.
  • Participated in the planning phase for the in-house manual underwriting solution, which is supposed to be integrated with the existing platform.
  • Performed general maintenance of the functionalities related to underwriting flows.
Technologies: Java, Spring, Spring Boot, Microservices, Apache Kafka, MongoDB, PostgreSQL, Swagger, Docker, Docker Compose, GitLab CI/CD, CI/CD Pipelines, JUnit, Testcontainers, Prometheus, Grafana, Kibana, GitLab, Amazon Web Services (AWS), AWS SDK, Apache Maven, IntelliJ IDEA, Kubectl, Event Sourcing, Event-driven Architecture, API Integration, Relational Databases, SQL, Spring Security, Hibernate, OOP Designs, RESTful Services, Concurrent Programming, AWS CLI, APIs, Back-end, Java 8, REST APIs, Microservices Architecture, Test-driven Development (TDD), Containerization

Freelance Senior Full-stack Developer (via Toptal)

2020 - 2021
Airmeet
  • Performed significant roles in different important parts of the system, both on the client and the server side, during my engagement at Airmeet, a company that develops a platform for online conferences.
  • Headed the client app upgrade to support parallel sessions in the same conference while maintaining back compatibility with single-session conference formats.
  • Participated in upgrading the client's app to support a new UI optionally with advanced React components, containers, and an extended set of functionalities while reusing the existing codebase structure and logic.
  • Owned the development of multiple storybook components independently and integrated them into the functional page, building the new UI incrementally on top of the existing app as part of the previously mentioned process.
  • Performed a leading role as a part of the back-end team in the analysis, design, and implementation of Polls API, capable of handling sudden bursts of tens of thousands of requests per second with push notifications to the client.
  • Developed the API for dynamic user permission control by combining multiple criteria filters, enabling conference organizers to dictate access options through the abstract and generic criteria.
  • Introduced asynchronous I/O in Spring using Spring Reactive libraries as a part of Spring WebFlux and documented the general principles to present its advantage. The idea was to neutralize Node.js advantage over Java in IO-intensive apps.
  • Took the initiative to introduce test-driven development and covered most of the flows on the API layer with full end-to-end integration tests by using local dockerized databases and mocking network calls toward other services.
  • Participated in refactoring some core APIs by completely switching the old non-optimal relational data model to the new redesigned document-based MongoDB data model. We relied heavily on the integration tests that I introduced.
  • Wrote documentation for the features I worked on to help others understand the processes and learn some of the concepts on the abstract level that I found useful in my functionalities.
Technologies: Node.js, Express.js, Swagger, Mocha, Chai, Java, Spring, Spring Boot, Spring MVC, Spring WebFlux, PostgreSQL, MongoDB, Firebase, Docker, Apache Kafka, Redis, Amazon Web Services (AWS), Amazon API Gateway, AWS Lambda, Amazon EC2, AWS CodeDeploy, AWS ELB, Amazon ElastiCache, Amazon MSK, React, Redux, Storybook, Event-driven Architecture, API Integration, Relational Databases, JavaScript, Full-stack, SQL, Microservices, OOP Designs, RESTful Services, APIs, Back-end, Front-end, Java 8, REST APIs, Microservices Architecture, Test-driven Development (TDD), Containerization

Freelance Senior Full-stack Developer

2019 - 2020
Moneyhub Enterprise (via Toptal)
  • Refactored an API for generating customer notifications in order to achieve standardized data structure, reusable common tools and logic and easier adding new kinds of notifications.
  • Refactored integration tests of different services to achieve common structure and organization of integration tests as well as of flows for setting up a testing environment.
  • Implemented an end-to-end full-stack flow of the feature that allows creating templates for generic customer notifications that can be sent on demand.
  • Improved ETL process that aggregates data from various services and used it to implement filtering of previously mentioned custom notification templates.
  • Built a feature that allows sending specific types of customer notifications on demand.
  • Implemented features for managing tenant counterparty incentives.
  • Changed a data model and APIs within a system to support assigning multiple sub-tenants to a user instead of a single sub-tenant.
  • Improved the permission assigning rules and adapted them with a new business rule that assumes assigning multiple sub-tenants to a user.
  • Implemented server-side filtering and pagination for custom notification templates.
  • Implemented server side filtering and pagination for sub-tenants.
  • Developed feature for exporting cache flow as well as assets and liabilities CSV files.
  • Implemented a new API for generating provider activity reports with boosted performance in comparison with the previous one.
  • Composed several provider activity reports based on the new API.
  • Integrated back-end and front-end code for data visualization from an external app into the system.
  • Further improved the ETL process and extended filters for custom notification templates.
  • Implemented a feature for managing firms.
Technologies: MongoDB, PostgreSQL, Docker Compose, Docker, Material UI, Redux, React, Bluebird, Ramda, Pact, Chai, Mocha, Passport.js, Express.js, Node.js, API Integration, Relational Databases, JavaScript, Full-stack, SQL, Microservices, RESTful Services, APIs, Back-end, Front-end, REST APIs, Microservices Architecture, Functional Programming, Test-driven Development (TDD), Containerization

Freelance Senior Full-stack Developer

2019 - 2019
ThinkWhy (via Toptal)
  • Handled the complete development of a Node.js/React full-stack app that automated economic report generation. There are two key flows to generating reports for an entire month. The first is to prepare data for that month. Another one is to use those prepared data to generate an actual report.
  • Implemented about 200 automatic resolvers that create dynamically those flexible context-dependent text parts of the app above. Reports are composed of different paragraphs. Every paragraph describes a specific topic and its parts vary from month to month. Some of those parts should be manually edited and some of them should be automatically resolved using data fetching and combining dependently on context.
  • Implemented the back end and front end for data administration for two main kinds of reports that allow economists to get resolved paragraph templates for a full month and to finish their manual editing and to complete data preparing.
  • Explored and integrated a Node.js app with the Contentful platform.
  • Installed data publishing on the mentioned data administration page which connects the application with the Contentful platform and stores prepared data there in order to be loaded in a report later.
  • Developed the responsive HTML version of the two main kinds of reports; this included not only static text but also interactive charts for visualization of different economic parameters.
  • Implemented options for downloading generated reports as PDFs. The same content and the same charts but in a form of static images are included in PDF version of the report.
  • Managed the deployment of the app on the AWS platform.
  • Actively communicated with the clients, discussed features with them, and responded to their requirements.
Technologies: Amazon EC2, Plotly.js, PostgreSQL, Contentful, Knex.js, Apollo, Apollo Server, GraphQL, React, Node.js, API Integration, Relational Databases, JavaScript, Full-stack, SQL, Amazon Web Services (AWS), RESTful Services, APIs, Back-end, Front-end, REST APIs

Freelance Senior Full-stack Developer

2019 - 2019
Evelyn Software (via Toptal)
  • Handled the complete development of a Node.js/React full-stack application for task management within a company including the following features.
  • Implemented authentication based on Google Sign-In and JWT.
  • Developed of global layout structure on client side React app that is used as a base for other features.
  • Built a rich interactive form for the administration of main tasks in terms of administration of simple and complex fields with different kinds of notifications.
  • Created complex flyout windows for the administration of subtasks within a particular task. The main window is automatically affected if a change in a sub job has side effects.
  • Made a side menu for creating new main task.
  • Constructed the complete back-end in Node.js for the mentioned features.
  • Managed the deployment of the application and database on cloud platforms such as AWS and MongoDB Atlas.
Technologies: MongoDB Atlas, Amazon EC2, Redux, React, MongoDB, Chai, Mocha, Mongoose, Winston, Express.js, Node.js, JavaScript, Full-stack, Amazon Web Services (AWS), RESTful Services, APIs, Back-end, Front-end, REST APIs

Freelance Senior Full-stack Developer

2018 - 2019
Benchvote (via Toptal)
  • Upgraded the administration for creative asset management—specifically for the individual upload and bulk assets uploaded by a user.
  • Developed a flexible social sharing functionality.
  • Built client-side features that allow users to automatically visualize data.
  • Developed a feature that allows clients to inject JavaScript code (e.g., Google Analytics).
  • Created a feature which clients to create different kinds of email templates which will be triggered and sent on different user's actions.
  • Made a feature which allows clients to specify custom fields to capture additional, contextual data. There are also predefined fields like the first name, last name, email, and so on but the goal was to allow custom fields for other types of data a client may require.
Technologies: MySQL, Amazon CloudFront CDN, Amazon CloudWatch, Amazon S3 (AWS S3), AWS Lambda, Amazon API Gateway, React, AngularJS, AWS CLI, Java Amazon SDK, AWS SDK, API Integration, Relational Databases, JavaScript, Full-stack, SQL, Amazon Web Services (AWS), OOP Designs, RESTful Services, Serverless Architecture, APIs, Back-end, Front-end, Java 8, REST APIs

Senior Full-stack Developer

2015 - 2018
Mozzart
  • Organized and actively participated in the full-stack development of the application for manual and automatic tracking of results of sports events which is one of the key components for the company's entire business.
  • Integrated several functionalities including one the calculation of betting ticket payments and another for calculating the tables and standings with the service for results tracking.
  • Integrated a service for Teletext pages management with the service for results tracking.
  • Researched and introduced new technologies to the IT sector of the company. Specifically, I organized presentations on AngularJS and set up the structure of the dashboard application, which is now actively used within the company.
  • Played a significant role in migrating the infrastructure for local development from Vagrant to Docker and migrated legacy Spring apps to Spring Boot.
  • Integrated Spring Boot apps with Prometheus and Kibana infrastructure for metrics monitoring.
  • Maintained and improved the functionalities for the administration of lotto draws.
  • Maintained and improved desktop client applications for the monolithic legacy system.
  • Interviewed candidates from junior to senior level.
  • Mentored new employees and interns, especially during their onboarding process.
Technologies: Kibana, Prometheus, Git, Jenkins, Yeoman, Bower, Grunt, AngularJS, Docker, ActiveMQ, Apache Maven, Oracle, MyBatis, Hazelcast, Spring Cloud, Netflix, Spring Boot, Java, Event-driven Architecture, API Integration, Relational Databases, JavaScript, Full-stack, SQL, Microservices, Spring Security, OOP Designs, RESTful Services, Concurrent Programming, Swing, Desktop App Development, APIs, Back-end, Front-end, Java 8, REST APIs, Microservices Architecture, Test-driven Development (TDD), Containerization

Full-stack Developer

2013 - 2014
CBS Systems
  • Developed a module for the ERP solution called Retail Connect for petrol station chain client, Nestro Petrol, for the synchronization of the central server with the local servers in particular petrol stations.
  • Actively interacted with clients from Nestro Petrol and implemented their requirements.
  • Maintained the existing functionalities of the Retail Connect ERP solution and adapted it to the specific needs of the clients.
  • Developed a module for company's BrandPulse software for cross-sectional studies of poll and survey data. The purpose of the module is the adaptation of various data sources (from large clients such as JTI, Ipsos Strategic Marketing, Philip Morris) into a format that matches the input of the BrandPulse.
Technologies: Subversion (SVN), Microsoft SQL Server, Adobe Flex, PostgreSQL, Java, API Integration, Relational Databases, Full-stack, SQL, OOP Designs, Concurrent Programming, APIs, Back-end, Front-end

Junior Full-stack Developer

2011 - 2012
E-Smart Systems
  • Developed and maintained Mesmet, a type of software for the automatic remote reading and configuration of electric meters.
  • Created software for calculating employee salaries for the Institute of Computer Science and Statistics in Belgrade.
  • Built SharePoint workflows for the Stada pharmaceutical company.
  • Actively interacted with clients and collected and implemented their requirements.
  • Wrote various kinds of business reports using SQL Server Reporting Services.
Technologies: TFS, SharePoint, LightSwitch, Microsoft Silverlight, Microsoft SQL Server, WCF Web Services, LINQ, C#, Relational Databases, Full-stack, SQL, OOP Designs, APIs, Back-end, Front-end

Codility Palladium 2020 Challenge Gloden Award (Hall of Fame)

https://app.codility.com/cert/view/certFPCJHK-FQPD23PCNC3J4HAG/
I participated in the Palladium 2020 algorithmic challenge organized by Codility and sponsored by Iress (https://www.iress.com) and I won the Golden Award. I also earned a hall-of-fame status because I was among the first three participants who submitted the flawless solution.

Statistics:
https://app.codility.com/programmers/challenges/palladium2020/

Codility Rhodium 2019 Challenge Golden Award

https://app.codility.com/cert/view/cert7CG6UM-TXG7HVQXH7PHNUZ4/
I participated in the Rhodium 2019 algorithmic challenge organized by Codility and I won the Golden Award.

Statistics:
https://app.codility.com/programmers/challenges/rhodium2019/

Codility Ruthenium 2019 Challenge Golden Award

https://app.codility.com/cert/view/cert2JFH6P-NGD634HG5SVPG5HE/
I participated in the Ruthenium 2019 algorithmic challenge that was organized by Codility and I won the Golden Award.

Statistics:
https://app.codility.com/programmers/challenges/ruthenium2019/

B2B2C Platform for an Insurance Business

https://www.iptiq.com/
Swiss Re, one of the world's leading insurance and reinsurance providers, created a B2B2C platform called iptiQ, allowing other insurance companies to use this comprehensive solution to extend their business processes. It is a scalable, microservices-based, and event-driven platform that covers all aspects of the insurance business. Its efficiency is confirmed by the fact that Zurich Insurance Group, another leader in the industry, is actively using it.

During my engagement on this platform, I worked on different system segments and became familiar with the elaborate business processes previously unknown to me. I performed significant roles in delivering complex business and infrastructure-oriented functionalities that allowed me to get detailed insights into what an end-to-end lifecycle of delivering a product looks like in a complex distributed system for such a large company. These included business specification to implementation, testing, deploying, monitoring, and tracing in different environments.

Airmeet Platform

https://www.airmeet.com
Airmeet is a platform for hosting virtual conferences. The idea behind the platform is to allow organizers to schedule not only individual interactive sessions but to simulate complete events from registering attendees, creating sessions, registering speakers and hosts, allowing participants to interact in a social lounge between the sessions, registering booths and sponsors, and more. Starting as a startup, they quickly raised 15 million dollars from investors and grew up to a company with hundreds of employees whose platform is used by some large clients such as Volvo, Philips, Walmart.

During this engagement, I had a great experience and the opportunity to do a lot of stuff, from research and analysis to designing and implementing the solutions multiple times, taking a leading role for the parts that I was working on. I am especially proud of the Polls API that I designed in coordination with other teams. The API handles the voting process of the attendees in the session, and it can handle jumps from low traffic to sudden bursts of up to 10 thousand requests per second. At the same time, aggregated data about voting results are pushed in real time to the clients no matter how intensive the traffic is.

Moneyhub Platform

Moneyhub platform is one of the first global Open Banking platforms. It offers different kinds of services to the customers that can be individuals as well as companies. Customers can manage and take control of their finances through the web and mobile applications as well as secure APIs. Platform connects to different services accounts such as banks, cards, pensions, savings and investments.

Technical infrastructure is based on Node.js microservices and Docker environment. I was involved in different important processes as a full stack developer and I had an opportunity to develop and to upgrade features that are spread throughout the multiple layers within this complex system. Using cutting-edge technologies and best practices I had an opportunity to take responsibility for features that handle high throughput, to optimize reports with huge data sources, to refactor APIs in order to support easier upgrading and to cover flows with unit and integration tests… I was also involved in discussing and actively proposing technical solutions and ideas.

ThinkWhy Platform

In coordination with the data science team, I developed an app that allows economists to prepare data and generate different types of economic reports along with automation of the different flows.

Data preparation is performed monthly, and different paragraphs that can be automatically resolved for every month using the data from the different data sources. This automatic process gives an economist an initial template for every paragraph and the ability to additionally manually edit those paragraphs.

With about 200 variable parts in various paragraphs, the challenge was resolving all of them in a consistent way. Another challenge was to optimize the resolving speed of all those paragraphs before they appear on a page for further editing.

After implementing those key mechanisms, I used them to handle the entire full-stack development of all the features that give economists a complete flow and allows them to effectively finish the job from a user perspective.

Using Node.js, GraphQL, and React as a basis in technical terms, I also had an interesting experience in terms of the integration with different storage types such as PostgreSQL and Contentful.

Benchvote Platform

I handled the full-stack development of a platform that allows the collection of marketing data. The app can be embedded in external websites and users can automatically share results on different social networks.

My role was to develop new and upgrade existing functionalities using AWS serverless architecture on the back end and using AngularJS and React on the front end.

Sportpedia

This is an application that allows users to implement the automatic tracking of sports events results by fetching external feeds or to track results manually if the specific sports event requires more detailed tracking.

Users also have options to set the level of details for tracking a specific sports event or competition—to exclude a sports event or competition from tracking and to retroactively control and edit the result of the ended events. Not only is it possible to track the results of the matches, but it is possible to edit the details of each score (goal, offside, foul, point, rebound, and more) individually (the time when it happened, identify the player who scored, and more). With many other features and details that make the everyday work of a user easier, this application is one of the key business mechanisms of Mozzart's, a betting company that is operating in the market with tens of millions of users.

Sportpedia Integration

Moving a result-tracking functionality from the old information system to the separated application was a part of the process of migrating the entire information system from monolithic to microservice architecture. I separated the full-stack application that didn't have any value for the company's business while it was not integrated with the rest of the system. So the other important projects, besides the separated application itself, were modules for the integration with other functionalities.

There was a module of the legacy system which processed tracked sports events concurrently in real-time and actually simulated results tracking in the legacy system itself. My main role was developing the adapter between the new results tracking application and the functionalities in the old system and to ensure that it functioned reliably in production. I also played a crucial role in the implementation of the microservice for the management of Teletext pages.

Research and Introduction of New Technologies into Real Businesses

A Docker containerization platform is a strategic component in planning the migration to microservices for the betting company, Mozzart. One of the longterm plans was to apply Docker not only as a production platform but also as a platform used for every local development effort instead of using Vagrant. I actively researched Docker capabilities and moved the key infrastructure components (Oracle databases, MongoDB databases, ActiveMQ brokers, and more) from Vagrant to Docker. As a result, Vagrant was not used anymore in Mozzart and Docker is generally accepted within the company's IT sector and developers have not only minimized the use of hardware resources but also have a much easier and practical way of setting up local environments.

In order to develop a centralized front-end dashboard app to be used for different jobs within the Mozzart, AngularJS was chosen as the mainstream tech. Since the AngularJS hadn't been used at Mozzart, I needed to research it, to organize presentations and tutorials for other employees, and to set up the main structure of the mentioned dashboard app. As a result, both AngularJS and the dashboard app are now extensively used in the company.

Retail Connect Integration

PetrolSoft is an IT company that offers ERP solutions to a few gas station chains. Their system was already in use by a few large clients and it was designed to be distributed with local servers that are integrated with a centralized server, all via a common API so that a centralized solution should be replaceable.

Nestro Petrol, a large gas stations chain owned by Zarubezhneft looked for such a solution and RetailConnect, the ERP software developed by CBS Systems, was accepted as the most suitable solution for the above-mentioned centralized server.

I was working for CBS Systems at the time so I was responsible for developing the integration between RetailConnect and PetrolSoft's distributed system and adapting RetailConnect for the specific needs of the client. Every bookkeeping document, invoice, or any new item in the assortment must be synchronized through the integration module that I developed. I also had the opportunity to work with different technologies on different layers and to achieve a consistent state between Microsoft SQL Server as a middle layer and PostgreSQL for storage.
2006 - 2010

Bachelor of Science Degree in Theoretical Mathematics and Applications

University of Belgrade, Faculty of Mathematics - Belgrade, Serbia

Libraries/APIs

Chai, MyBatis, React, Node.js, REST APIs, jQuery, Plotly.js, Passport.js, Sockets, LINQ, Winston, Ramda

Tools

Mocha, Spring Tool Suite (STS), IntelliJ IDEA, Kibana, Docker Compose, WebStorm, SmartGit, ActiveMQ, Git, Mongoose, Amazon ElastiCache, Microsoft Silverlight, TFS, Grunt, Bower, Yeoman, AWS SDK, Java Amazon SDK, Amazon CloudWatch, Amazon CloudFront CDN, Knex.js, Apache Maven, Subversion (SVN), Jenkins, AWS CLI, MongoDB Atlas, AWS CodeDeploy, AWS ELB, GitLab CI/CD, Grafana, GitLab, Kubectl

Languages

Java, JavaScript, SQL, Java 8, GraphQL, PHP, C, C#

Frameworks

Spring Boot, Spring, AngularJS, Express.js, JPA, Spring Security, Hibernate, Redux, JSON Web Tokens (JWT), Swing, Bootstrap, Material UI, Adobe Flex, LightSwitch, Swagger, Spring MVC, Spring WebFlux, JUnit

Paradigms

Concurrent Programming, Microservices, Microservices Architecture, Object-oriented Programming (OOP), Test-driven Development (TDD), Agile, Desktop App Development, Functional Programming, Event-driven Architecture, Scrum, Serverless Architecture, Event Sourcing

Platforms

Docker, Eclipse, Visual Studio Code (VS Code), Amazon Web Services (AWS), Amazon EC2, AWS Lambda, Contentful, Apache Kafka, SharePoint, Netflix, Oracle, NetBeans, WordPress, Kubernetes, Firebase

Storage

MongoDB, NoSQL, Relational Databases, PostgreSQL, Oracle SQL, MySQL, Amazon S3 (AWS S3), Redis, Microsoft SQL Server, Hazelcast

Other

OOP Designs, RESTful Services, Full-stack, APIs, Back-end, Back-end Development, API Design, Distributed Systems, API Integration, Containerization, Prometheus, Spring Cloud, Algorithms, WebSockets, Apollo, Front-end, AWS Cloud Architecture, Cloud, WCF Web Services, Amazon API Gateway, Apollo Server, Pact, Bluebird, Amazon MSK, Storybook, CI/CD Pipelines, Testcontainers

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