Verified Expert in Engineering
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.
Docker, Git, Visual Studio Code (VS Code), IntelliJ
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.
Freelance Senior Back-end Developer
- 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 the development and testing of 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.
Freelance Senior Full-stack Developer
Airmeet (via Toptal)
- 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.
- Had a leading role in upgrading the client app to support parallel sessions in the same conference and, at the same time, achieving the back compatibility with the old type of single sessions conferences.
- Participated in upgrading the client's old app to optionally support the new UI, consisted of a completely new set of React components and containers with an extended set of functionalities by reusing the existing logic and code structure.
- 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 requests per second with push notifications to the client.
- Developed the API for dynamic permissions control of users based on combining multiple criteria filters. The API allows the conference organizer to control who can access which options are based on 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 towards other services.
- Participated in refactoring some of the 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 that should help others understand the processes and learn some of the concepts on the abstract level that I found useful in my functionalities.
Freelance Senior Full-stack Developer
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.
Freelance Senior Full-stack Developer
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.
Freelance Senior Full-stack Developer
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.
Freelance Senior Full-stack Developer
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.
- 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.
Senior Full-stack Developer
- 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.
- 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.
Junior Full-stack Developer
- 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.
Codility Palladium 2020 Challenge Gloden Award (Hall of Fame)https://app.codility.com/cert/view/certFPCJHK-FQPD23PCNC3J4HAG/
Codility Rhodium 2019 Challenge Golden Awardhttps://app.codility.com/cert/view/cert7CG6UM-TXG7HVQXH7PHNUZ4/
Codility Ruthenium 2019 Challenge Golden Awardhttps://app.codility.com/cert/view/cert2JFH6P-NGD634HG5SVPG5HE/
B2B2C Platform for an Insurance Businesshttps://www.iptiq.com/
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.
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.
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.
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.
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.
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.
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
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
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.
Spring Boot, Spring, AngularJS, Express.js, JPA, Spring Security, Hibernate, Redux, JSON Web Tokens (JWT), Swing, Bootstrap, MUI (Material UI), Adobe Flex, LightSwitch, Swagger, Spring MVC, JUnit
Chai, MyBatis, React, Node.js, REST APIs, jQuery, Plotly.js, Passport.js, Sockets, LINQ, Winston, Ramda
Mocha, Spring Tool Suite (STS), IntelliJ, Kibana, Docker Compose, WebStorm, SmartGit, ActiveMQ, Git, Mongoose, Amazon ElastiCache, MS 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
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
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
MongoDB, NoSQL, Relational Databases, PostgreSQL, Oracle SQL, MySQL, Amazon S3 (AWS S3), Redis, Microsoft SQL Server, Hazelcast
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, Spring WebFlux, Storybook, CI/CD Pipelines, Testcontainers, Kubectl
Bachelor of Science Degree in Theoretical Mathematics and Applications
University of Belgrade, Faculty of Mathematics - Belgrade, Serbia