Vasil Velikov, Developer in Sofia, Bulgaria
Vasil is available for hire
Hire Vasil

Vasil Velikov

Verified Expert  in Engineering

Software Developer

Location
Sofia, Bulgaria
Toptal Member Since
November 5, 2019

Vasil是一位充满好奇心的软件工程师,对算法和数学有着深入的了解. 他有超过十年用c++编写高性能软件的经验. His expertise includes design, architecture, estimation, implementation, testing, integration, deployments, and documentation.

Availability

Part-time

Preferred Environment

Git, Visual Studio, Visual Studio Code (VS Code), Vi, Linux

The most amazing...

...我开发的软件是一套用于逼真渲染的复杂计算几何算法.

Work Experience

Technical Lead Product Development Manager

2017 - PRESENT
PROS
  • Led a 10-member team of developers, QEs, and DevOps.
  • Contributed to RESTful API design.
  • Designed deployment procedures.
  • Automated the deployment process using Jenkins.
  • Implemented core product features using C++.
  • Performance-tested REST services.
技术:SaaS,云,REST, Linux, Python, MySQL, MongoDB, c++

Core Software Developer

2016 - 2017
ESI Group
  • Developed various features in C++ 14.
  • Developed a generic C++ reflection framework.
  • 用OpenGL实现几何处理算法和可视化.
  • 开发了基于web的CAE数据管理系统PoC的前端和后端.
  • Developed the continuous integration system.
Technologies: Jenkins, Git, Node.js, JavaScript, GLSL, OpenGL, Java, C++

Software Developer

2014 - 2015
INCOM Storage GmbH
  • 设计并实现了一个独立的Linux软件,用于录制CD, DVD和蓝光.
  • Implemented an extensive test coverage.
  • Created documentation with Doxygen.
  • Owned all stages of the development - design, architecture, estimation, implementation, testing, integration, and documentation.
Technologies: Linux, C++

Software Developer, Scientific Computing

2014 - 2015
弗劳恩霍夫算法和科学计算研究所
  • 设计并实现了分子电位拟合模块.
  • Applied local and global optimization methods.
  • 从各种研究论文中研究优化算法.
  • 通过非阻塞MPI调用实现了计算的并行化.
  • Created documentation with Sphinx.
Technologies: Open MPI, SciPy, NumPy, Python

Software Developer

2009 - 2014
Chaos Group
  • 在c++中实现并优化了渲染和计算机图形算法.
  • Owned all geometry processing modules.
  • Integrated with third-party libraries and frameworks.
  • 贡献了详细的分析,重点是微调算法和内存性能.
  • Implemented Python binding for the C++ API.
技术:数学,算法,VTune, Intel, Python, c++

Search Engine for Airline Tickets

寻找从a点到B点的往返路线这一看似简单的任务,其计算复杂性是巨大的. 航空旅游业的发展使得寻找可能的航班和价格变得棘手. 本项目试图通过启发式和缓存技术的混合来解决这种复杂性. 搜索引擎的核心是基于各种启发式图算法,用于在搜索空间中导航. 该引擎的上层积极地在NoSQL数据库中预计算和缓存数百gb的数据.

I oversaw the delivery of the project.
My responsibilities included:
-制定项目路线图并确保其交付
- resource allocation
-定义并坚持内部敏捷流程
- release and deployment management
-积极参与技术和建筑设计
- active participation in code reviews
- delivery of core features

The technologies used were:
- modern C++, Python
- several SQL and NoSQL databases
- Linux, Git
- virtualization and distributed computing

Framework for Generic C++ Reflection

c++和大多数现代语言之间的一个关键区别是缺乏反射——执行运行时自省和方法调用的能力. 其主要原因是c++的核心理念——“不用为不用的东西买单”.然而,即使在c++环境中,反射也有一些有用的应用:

My responsibilities included:
- automatic serialization and deserialization
-自动构建其他语言的API绑定
- in-depth code analysis

该项目的目的是为c++反射创建一个通用框架,该框架可以在任何代码库上运行,而无需对代码进行任何修改. The implementation of the framework was based on a two-pass compilation; the purpose of the first pass was to gather and store the class meta information. 该框架是用c++编写的,并充分利用了现代c++特性——可变模板和模板特征技术.

My responsibilities in the project were to design, implement, and document the entire framework, 以及提供上述应用程序的概念实现的证明.

Subdivision and Displacement Geometry Algorithms

每个逼真渲染引擎的关键部分是底层几何, which represents all objects in the scene. There are various types of geometry from simple meshes, NURBS, metaballs, point clouds, and dynamic geometry, to name a few. 这个项目的目的是实现各种类型的动态几何, generating demand only when needed. 几何处理是渲染系统中需要最多处理时间和内存的部分之一. 这就是为什么正确选择算法和彻底优化是至关重要的.

I worked on this project and the V-Ray rendering engine. I had ownership of the dynamic geometry modules.
My responsibilities included:
-设计和实现新的动态几何生成算法
-维护和改进现有的算法
-深入剖析,性能和内存优化
- integration of third-party geometry libraries
- documentation

使用的技术是c++和几个分析工具.

Molecular Potential Fitting

该项目包括实现Tremolo-X软件的潜在拟合模块. 该模块的目的是利用各种局部和全局优化技术来找到一组模型参数,使模型值与实际数据之间的差异最小化. 该模块是用Python实现的,并使用OpenMPI框架部署在集群环境中.

Languages

c++, c++ 14, Java, JavaScript, Bash, Python, HTML, PHP, CSS, GLSL

Libraries/APIs

Standard Template Library (STL), jQuery, Node.js, NumPy, SciPy, Open MPI, OpenGL

Tools

Git, CMake, Jira, Confluence, Visual Studio, VTune, Jenkins, Gerrit, Buildbot, Apache JMeter, Postman, Vagrant

Paradigms

通用编程,设计模式,REST,并发编程,数据科学

Other

算法,数学,数据结构,软件架构,处理 & Threading, Profiling, Debugging, Performance Tuning, Full-stack, Numerical Methods, Computational Geometry, Vi, Cloud, SaaS, Rendering

Frameworks

Boost, Bootstrap, Swagger

Platforms

Linux, Windows, Visual Studio Code (VS Code), Intel, NVIDIA CUDA, Docker

Storage

MySQL, MongoDB, MariaDB

2012 - 2016

科学计算与数值数学硕士学位

University of Bonn - Bonn, Germany

2010 - 2012

Bachelor's Degree in Mathematics

Sofia University - Sofia, Bulgaria

2007 - 2011

Bachelor's Degree in Computer Science

Sofia University - Sofia, Bulgaria

Collaboration That Works

How to Work with Toptal

在数小时内,而不是数周或数月,我们的网络将为您直接匹配全球行业专家.

1

Share your needs

在与Toptal领域专家的电话中讨论您的需求并细化您的范围.
2

Choose your talent

在24小时内获得专业匹配人才的简短列表,以进行审查,面试和选择.
3

Start your risk-free talent trial

与你选择的人才一起工作,试用最多两周. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring