
Ionut Grigorescu
Verified Expert in Engineering
Software Developer
Bucharest, Romania
Toptal member since March 21, 2016
Ionut is a computer engineer who started working as a software developer in 2005, during his 3rd year at university. He's worked for companies such as Bitdefender, IBM, and Lenovo. His areas of expertise include Linux, C, C++, Python, and data science. Ionut's hobbies are reading, martial arts, playing the piano, and learning Chinese and traditional Chinese medicine.
Portfolio
Experience
- Python - 7 years
- Django - 7 years
- Jupyter Notebook - 4 years
- Docker - 3 years
- Pandas - 3 years
- Flask - 3 years
- Ansible - 3 years
- AMQP - 2 years
Preferred Environment
Linux, Python
The most amazing...
...project I've developed is Bitdefender's geometrical text classification algorithm for spam detection, granted with the patent US8170966B1.
Work Experience
Lead Software Engineer
Airport Planning Solutions, LLC
- Designed and implemented a custom data retrieval system for flight data.
- Performed the database administration and optimization for the system.
- Designed a data visualization board for flight schedule modifications.
Senior Python Developer
European Patent Office
- Improved the design and developed more than 60% of a very powerful data retrieval library, providing a unified and consistent way of getting data from multiple internal providers.
- Improved the project's code quality by introducing development rules and adding linters and code quality checks in the CI/CD tools.
- Migrated several repositories from Jenkins to GitHub Actions.
Senior Python Developer and Junior Data Scientist
GrubHub
- Contributed to the development and maintenance of GrubHub's delivery scheduling prediction system. The efficiency of the scheduling prediction system highly optimized GrubHub's revenue and customer satisfaction.
- Performed occasionally data science tasks such as different EDAs.
- Integrated the data engineering team's tools and infrastructure into the project.
- Performed various data migrations, working with systems such as Hadoop and Presto.
- Migrated from Python 2 to Python 3. Our team was the first to migrate and among the few with no issues caused by the migration.
Data Engineer
Nexibeo
- Designed and implemented a cryptocurrency price aggregation system.
- Explored various technologies and APIs and used the ones that most fit the job description and the budget.
- Contributed to the CoinCheckup real-time information.
QA Tech Lead
Honeywell
- Designed the QA process for one of Honeywell's Aerospace applications' back end.
- Designed and implemented the test plan, test cases, and automated tests.
- Designed and implemented the Jenkins pipeline using Docker Swarm.
Python Developer | QA Team Leader
Nexibeo
- Started as a Python developer with the primary task of optimizing the current codebase and adding new features. A few months later, I also got the QA team lead role.
- Improved the quality of the codebase, making it more idiomatic and robust.
- Increased the speed through profiling and optimizations—lowering AWS costs.
- Implemented the Robot Framework test automation process within the QA team.
Linux Developer
Luxoft
- Worked on the CIM protocol development and bug-fixing for IBM and later the Lenovo Chassis Management Modules (C, C++, and Linux).
- Developed a performance monitoring platform for the Chassis Management Modules using C, C++, Python, and Django.
- Maintained and fixed bugs in the OpenPegasus using C++.
- Worked on a custom-embedded Linux distribution running on the Chassis Management Modules.
- Maintained and developed the Chassis Management Modules' infrastructure with Linux and Bash.
Software Architect and Lead Software Engineer
OpenDev Software Development
- Designed and developed a GPS on a board computer for transportation vehicles using Linux, C++, and Bash.
- Created an automatic update system for the on-board computers.
- Built a fleet management, e-ticketing, and bus dispatching solution for public transportation operators using Python and Django.
- Developed and managed custom products and turnkey solutions using C, C++, Python, and Django for various customers activating in various fields.
Anti-spam Engines Developer
Bitdefender
- Developed KNN and a spam classification algorithm (patented).
- Built a greylisting spam filter, which was very fast and very effective.
- Ensured the proper functionality of the anti-spam engines on FreeBSD and Linux (32- and 64-bit) platforms.
- Implemented an automated system for spam scanning, stress testing, endurance testing, and statistics.
- Modified open-source technologies for internal use like memory profiler, RBLDNSD (SURBL server), and pdnsd (DNS proxy).
Unix Developer
Axway
- Maintained and improved the HTTPS, email, and MIME connectors of the Synchrony Integrator (Axway.com/products/synchrony_integrator.php).
- Managed and maintained the team's OS/400 platform servers.
- Developed technical documentation for the internal tools and processes of the R&D team.
- Worked closely with the Q&A, sales and customer support teams, and upper management.
- Modified open-source technologies to reproduce and resolve our customers' problems or requests.
Software Tester
Gecad
- Tested automation in order to verify the proper functioning of the mail server Axigen (Axigen.com).
- Implemented functionality testing, stress testing, endurance testing, and security testing.
- Wrote test cases and automated tests to check for RFC compliance.
Experience
KNN - A Highly Efficient Text Classification Algorithm
http://www.google.com/patents/US8170966From two sheets of paper filled with mathematical formulas written by Claudiu C. Musat, to a production-ready system, it was a long and challenging road.
I was responsible for the project's design, architecture, development, and testing.
Eight years after its completion, KNN is still a core technology of Bitdefender's anti-spam, leading to several prizes in anti-spam competitions.
OpenFleet
The project involves software and hardware since it's a complete solution.
On the hardware side, it involves GPS and 3G onboard computers for the buses, ticket validators, information panels for the buses, and real-time information panels for bus stations.
On the software side, it involves a custom Linux distribution for the onboard computers, a dispatching platform for the buses, complete with algorithms that show if a bus is going to be late or early, and also to inform the panels about the time a bus will arrive at the station. It can also show real-time, historic location, speed information, real-time ticket validation information, bus routes, schedules, and more.
Some of the technologies we used are Linux, Arduino, Python, Django, GeoDjango, PostGIS, Leaflet, OpenLayers, C, C++, Qt, MQTT, Bash, Nginx, and Salt Cloud.
KNN Prizes
Education
Bachelor's Degree in Automation, Control, and Computer Science
Politehnica University of Bucharest - Bucharest, Romania
Skills
Libraries/APIs
Sockets, Pika, ZeroMQ, PyMongo, Standard Template Library (STL), Requests, NumPy, Pandas, Gevent, Fabric, CCXT, jQuery, AMQP, Beautiful Soup, SciPy
Tools
Vim Text Editor, Jupyter, MQTT, Ansible, Celery, Jenkins, NGINX, Neoim Text Editor, StatsModels, Tableau
Languages
Python, C, C++, Bash, JavaScript, Perl, SQL, Python 3
Platforms
Unix, Ubuntu, Docker, Linux, ARM Linux, Kubernetes, BSD, Amazon Web Services (AWS), Jupyter Notebook, Embedded Linux
Frameworks
Django, Flask, Selenium, Robot Framework, GeoDjango, Qt, Presto, Streamlit
Paradigms
Unit Testing, Design Patterns, REST, Microservices, ETL
Storage
MongoDB, Azkaban, MySQL, PostgreSQL, PostGIS, Microsoft SQL Server
Other
Network Protocols, Memory Profiling, Gunicorn, Multiprocessing, Logbooks, OS/400, Embedded Systems, ARM Embedded, Data Science, Clustering, Machine Learning, Text Classification, Task Automation, Tableau Server, FastAPI
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