Milan Kovacic
Verified Expert in Engineering
Serverless Developer
Banja Luka, Republika Srpska, Bosnia and Herzegovina
Toptal member since May 13, 2016
Milan has 10+ years of Python experience as a back-end developer and data scientist. He has worked on some big projects for BCG, H&M, Delta Airlines (Atlanta Airport), BMLL Technologies, Audi, Aerwave, and FieldClock. Milan has consistently played a significant role in highly experienced teams and served as a team leader when needed.
Portfolio
Experience
Availability
Preferred Environment
PyCharm
The most amazing...
...and complex projects I've worked on are Audi autonomous driving, H&M sales improvement, and the Atlanta Airport flight schedule optimization.
Work Experience
Senior Python Developer
Python Dev Center
- Created algorithmic trading bots for various strategies.
- Built complex bots with the ability to generate trends, key levels, moving averages, and false breakouts.
- Created options for the bot as long and short trades were included with various trade strategies. It could trade with different symbols at the same time and on different timeframes.
Python and Django Developer
FieldClock LLC
- Migrated existing codebase from Tornado to Django v3 to improve robustness, scalability, performance, and test coverage.
- Increased the number of users and user requests per second, improved performance in general by detecting bottlenecks via Datadog, and improved the codebase.
- Covered the whole codebase with tests using the test-driven development approach.
Python Developer
Universal Music Group
- Developed a complex Django app artists use to release songs and albums, schedule concerts, keep various statistics, and have their own to-do boards.
- Developed an app similar to Jira but with extra features and adapted it to be used by artists.
- Utilized the Django tech stack with a GraphQL layer on top of it and PostgreSQL, CloudFormation, Docker, and Selenium for testing.
Python Developer
Boston Consulting Group – Major US Airline
- Refactored, improved, and optimized programs and made production-ready code for highly complex projects.
- Created a system for the Atlanta Airport to reduce airport delay times if a flight schedule order gets disrupted, whether it's swapped flights or delayed flights for a smaller amount of time to spare time on other flights.
- Used an object-oriented and functional approach, depending on parts, app type, and execution speed needed.
Python Developer
Boostlabs
- Created a hotel program management system with big hotel chain clients.
- Used serverless architecture to improve caching and reduce response times due to big SQL queries.
- Created a Python API to support various tasks and calculations needed in the app.
- Built the ETL process for storing client files on S3 and loading them into a PostgreSQL DBS hosted on AWS.
- Integrated serverless and Docker for easier deployment to different stages with different database connections.
On-site Python Developer
Boston Consulting Group – H&M
- Created a system for dynamic allocation of items into stores based on sales. That included replacements and adding new articles but keeping core types always in stores.
- Made article comparisons via image processing, classifying them into various categories.
- Used a data lake and various data inputs to generate standardized machine readable and human readable files.
- Made sales predictions based on previous and current year sales for the purpose of ordering goods for the next season.
- Improved client sales by 15% globally, which is a significant improvement.
Tech Lead | Python Developer
Aerwave.io
- Created a reusable image for a specific group of routers using and configuring OpenWRT and adding client software.
- Created a framework using hostapd to enable a specific SSID without interrupting others.
- Provided VPN support to allow different networks to be grouped on one or multiple routers.
- Created an app for configuring the complete system.
- Auto-updated the hardware with generic images and the newest available client software.
Python Data Scientist (Contract)
BannerPeakGroup
- Conducted a subscription and payment cohort analysis on various pieces of data.
- Made financial predictions based on subscription data.
- Built an app for data analysis with custom parameters.
Python Data Scientist
AdCrush Media
- Created a platform for pop-under traffic analysis.
- Used Voluum API for fetching data for various timeframes and with various grouping parameters.
- Built a SQLite database for storage; speed was irrelevant because all processing was done via Python Pandas, and tables are dropped every time for every campaign after recalculations.
- Fetched data in JSON format, which was converted in pandas.DataFrames and processed.
- Created a complex algorithm for prioritizing offers based on return-on-investment parameter, number of conversions left for current day/week, geolocation, offer pool, number of conversions, expenses, etc.
- Developed complete automatization of processes with algorithm auto-execution (cron job tasks), engine auto-update (Voluum API), mail notifications (Python Mailbox), and report generation.
Python Data Scientist
BMLL Technologies
- Created a system for handling and processing huge and complex datasets and associated algorithms.
- Handled large sets of data directly from matching engines around the globe (stock exchanges) and complementary datasets used to analyze the matching engine-generated data.
- Gained substantial experience using data science packages such as NumPy, SciPy, PyTables, Pandas, and Cython.
- Optimized and profiled using Python's cProfile module, detected bottlenecks, and made static Python code with Cython. Gained 50x higher execution speed as a result.
- Created parsers for data from stock exchanges located in London, Madrid, Singapore, Moscow, American NASDAQ, and more.
- Created similar hash tables from various datasets for easier and more standardized processing.
- Built quotes and reconstructed limit order books (LOBs). Quotes and LOBs are reconstructed based on input datasets and quotes, respectively. They represent a record of unexecuted limit orders maintained by a specialist.
- Used Redis for storing hashes, quotes, LOBs, and tables.
- Used RabbitMQ for message queues between system parts on different machines.
- Handled both structured and unstructured data with poor documentation.
Embedded Software Developer | Python Developer
RTRK Institute
- Created multiple frameworks for automated application, integration, and system tests for the AUDI zFAS autonomous driving platform. Developed for 2+ years using Python.
- Built the application integration test (AIT). Used Python with various modules to support automation, data processing from multiple sources, data fetching, and software components (SWCs).
- Developed the system integration test (SIT), which processes results from AIT and executes more system tests with all SWCs flashed on the platform. Measured host startup time, checked signals and signal groups, and checked runtime measurements.
- Created a framework for the conversion of XML files to PDF.
- Supported signal capture and replay on the zFAS platform in 32-bit and 64-bit architectures. Dealt with large and complex PCAP files and facilitated signal extraction, routing manipulation, IP and MAC address filtering, and payload modification.
- Used CANoe, a VectorCAST tool, for hardware-in-the-loop (HIL) testing. Created CANoe tests for diagnostics, extracting various signals on the platform being tested. Integrated everything into the Python framework with automation as the primary goal.
- Published two scientific works: Data Flow in Automated Testing of the Complex Automotive Electronic Control Units and Information Retrieval about C Compiler Based on the Content of Binary File.
- Flashed components to the platform on four different hosts that run on different MCUs and operating systems (e.g., Ubuntu and VxWorks). Involved in signal extraction, SWC manipulation, and behavior monitoring.
- Generated XML reports for every SWC and converted them to PDF.
Embedded Software Developer
Comtrade
- Designed a home automation system with ZigBee and Bluetooth modules. The system uses a few Arduino modules and a development board with a PIC32 microcontroller as the main routing part. An Android application was designed to control the whole system.
- Designed a ZigBee and Bluetooth converter on the PIC32 microcontroller, which allows sending signals from smartphones to the ZigBee network and vice versa.
- Created a wirelessly controlled oscilloscope on the PIC32 MCU using Mikroelektronika's development board. The sampled data is shown on the main platform display and smartphone screen, which is used as a controller unit.
- Created an access control system based on RFID identification using Arduino.
- Created a Raspberry Pi car system with multimedia support, navigation, and a camera.
- Created a complex Bluetooth chat application for Android.
Education
Bachelor's Degree in Electronic and Telecommunications
Faculty of Electrical Engineering - Banja Luka, Bosnia and Herzegovina
Skills
Libraries/APIs
Pandas, SQLAlchemy, REST APIs, Scikit-learn, SciPy, NumPy, PyQt
Tools
Git, IPython, PyCharm, Cron, RabbitMQ, AWS CloudFormation
Languages
Python, C, C++, HTML, CSS, Java, SQL, Python 3, GraphQL
Frameworks
Django, Flask, Apache Spark, Django REST Framework
Paradigms
Object-oriented Programming (OOP), Scrum, ETL, Test-driven Development (TDD), Radio Frequency (RF) Protocol
Platforms
Amazon Web Services (AWS), MacOS, OpenWRT, Docker, AWS Lambda, Linux, Raspberry Pi, Arduino, MetaTrader 5
Storage
MySQL, MongoDB, Redis, PostgreSQL, Amazon S3 (AWS S3), JSON, Datadog
Other
Async/Await, APIs, Back-end, PIP, Software Packaging, Web Scraping, Serverless, Data Science, Machine Learning, Predictive Analytics, Optimization, Cython, Tornado, Electricity, Embedded Systems, Universal Asynchronous Receiver/Transmitter (UART), Zigbee, Bluetooth, Microcontrollers, Algorithms, Algorithmic Trading, Algorithmic Trading Analysis, TradingView, Forex Trading, Bots, Options Trading, Backtesting Trading Strategies
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring