
Nikola Tanev
Verified Expert in Engineering
Multithreading Developer
Skopje, Macedonia
Toptal member since February 17, 2016
Nikola is a skilled and result-driven software architect with experience in challenging tasks involving designs of multi-platform systems, horizontally-scalable solutions, asynchronous designs, and usage of various network protocols. His active knowledge in various technologies, platforms, and their integration in combination with great communication, analytical, and problem solving skills make him a valuable member of any software team.
Portfolio
Experience
- C++ - 15 years
- Multithreading - 8 years
- Java - 5 years
- Sockets - 5 years
- Lua - 4 years
- Qt - 3 years
- JSON - 3 years
- Boost - 2 years
Availability
Preferred Environment
MacOS, Linux
The most amazing...
...thing I've built was a multi-platform game development framework based on Cocos2d-x. Games were completely written in C++, Java, Lua, and Objective C.
Work Experience
Owner, Solution Architect
Fabula Tabula
- Developed in-house gaming platform.
- Designed educational games for kids.
- Won a grant from the "Fond of Technological Advancement" in Macedonia.
- Developed games and game tools.
Software Architect
Musala Soft
- Created mapping specifications for TDI.
- Guided developers.
- Made performing acceptance tests.
Solution Architect, Lead Developer
NTH Group
- Developed a multi-platform VoIp Client based on Baresip SIP agent.
- Architected a solution for the project “Voice Server” (remote configuration and management of multiple Freeswitch instances). The Voice Server allows creation of user accounts on FreeSWITCH endpoints and generation of VoIp client instance configured for that account.
- Maintained several in-house products (web applications, Spring).
Team Leader
Seavus
- Wrote the software architecture of a multi-platform game framework - SGPClient.
- Was the team leader of a team of 5 members for the development of 2 games on the SGPClient platform.
- Developed a multi-platform game framework - SGPClient.
- Performed market (iOS and Android) integration through Lua.
External Consultant/Solution Architect
Synergy
- Was the external consultant for the project “Agriculture Strengthening and Accession Project (ASAP) 4861-MK, Implementation of ERP and DMS”.
- Performed business analysis, establishing business processes in the agency.
- Was responsible for the complete development of the project leading 2 technical people and 1 system integration specialist.
- Was responsible for the training strategy of 25 employees in the agency.
External Consultant/Developer
SRC
- Developed a module “Module for communication and playback for the VETS application for video surveillance”.
- Wrote the C++ component with a high level .NET interface (using C++/CLI) to be used in .NET desktop application.
- Performed on-site consultancy work.
Senior Software Developer, Technical Leader
Ein-Sof
- Composed the solution architecture for NRE (Nouvelle réglementation de Européenne – New European regulation) for Renault, an authoring tool to export ECU specifications from the CLIP's simulation data (from XML and Access database). Led a team of 3 software engineers assigned for the project.
- Worked as a solution architect implementing the Documentum DMS and BPM (Business Process Modeling) in 11 institutions in the government of the Republic of Macedonia.
- Performed maintenance, feature proposal, and development for Renault's diagnostic tool CLIP.
- Made a “CLIP on Vista” study to asses the risk and to estimate time for porting the Renault's diagnostic tool (CLIP) to newer OS (Windows Vista at the time) for the migration from Visual Studio 6 to Visual Studio 2013.
- As software developer on a platform for unitary test performed execution and reporting. Reverse engineered (code -> documentation -> test strategy) the Renault's authoring tools.
- Was the software developer on the Renault's Authoring Tool.
Software Developer
Secretariat of European affairs (Government of RM)
- Created software for standardization of a translation process. A tool used internally for the purpose of the project “translation of the questionnaire for admission in the European Union”. Automated the self-learning tool to replace legal phrases during the translation (ex. “Ministry of Agriculture” instead of “Agricultural Ministry”).
- Developed many VBA macros/tools for standardization of the formatting.
- Performed administration of CDAD (Central Donor Assistance Database).
- Provided IT support.
- Created software for automatic invoice generation for the translators based on the number of word translated.
Experience
Game Development Framework
My main role was to design the architecture and develop the core of the framework. I was assigned a team of developers in order to make games with the framework.
I am especially proud of the multi-platform solution on the platform-specific functionalities. By applying the observer pattern, I was able to drill-down messages from Lua - through C++ - Java and back giving the opportunity to use a JSON based protocol of communication to solve the platform specific requirements.
Links on the game developed with the framework on Google play and AppStore:
https://itunes.apple.com/ca/app/farkle-battlefield/id891640317?mt=8
https://play.google.com/store/apps/details?id=org.cocos2dx.lua&hl=en
Module for Communication and Playback for the VETS Application for Video Surveillance
My role was to reverse-engineer the protocol the DVR used for the communication due to non responsiveness from the DVR vendor.
I am especially proud of the asynchronous functionality of the component, especially because the client needed several streams to play simultaneously.
It was completely written in C++ then using CLI (Common language interface) was exposed to the .NET framework as a C# component.
Signal and Slots Architecture
Object-oriented Programming in Lua
VoIp Server
I architected the solution and helped during the development by researching the FreeSWITCH integration and leading the development team. I also have written the VoIp client in C++/Qt using a Baresip library.
Technologies Used: Java, Spring, FreeSWITCH, FS mod_xml_curl, FS-mod_es, C++, Qt, and Baresip.
Education
Bachelor of Science Degree in Software Engineering (Internet and Mobile Technologies)
Saints Cyril and Methodius University of Skopje - Skopje, Macedonia
Skills
Libraries/APIs
Sockets
Tools
FreeSWITCH
Languages
C++, Java, XML, Lua, C#, Visual Basic for Applications (VBA), VB, Objective-C, JavaScript, Delphi, Python, C++11
Storage
JSON, MySQL
Frameworks
Boost, Qt, Spring, Cocos2d-x
Paradigms
Agile Software Development
Platforms
Windows, Linux, Android, MacOS, iOS, Windows Vista
Other
Multithreading, Command-line Interface (CLI), EMC Documentum, IBM Tivoli Directory Server
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