Gordan Sikic, Developer in Medulin, Croatia
Gordan is available for hire
Hire Gordan

Gordan Sikic

Verified Expert  in Engineering

C++ Software Engineer and Developer

Location
Medulin, Croatia
Toptal Member Since
November 5, 2018

With over two decades of experience, Gordan是一位资深的c++软件工程师,在数值分析方面有很强的背景,对虚拟现实充满热情, 3D graphics, and visual simulations. 他在数学建模、CAD系统和实时系统方面也很有经验.

Portfolio

Jungle Disk LLC
c++、XML、Git、XML解析、Windows、面向对象编程(OOP)...
Uljanik Shipbuilding Computer Systems
犀牛3D、3D CAD、3D、虚拟现实应用设计、虚拟现实(VR)...
Uljanik Shipbuilding Computer Systems
3D CAD, 3D, Solaris, Microsoft Visual Studio, XML, Unix, wxWidgets, XML- rpc...

Experience

Availability

Part-time

Preferred Environment

Git, Windows, Linux, MacOS, 3D, c++, CMake, Rhinoceros 3D, OpenGL, MATLAB

The most amazing...

...我已经设计并实现了米格-21飞机动态行为的数学模型,用于克罗地亚空军的飞行模拟器.

Work Experience

Senior Software Developer (C++/Windows)

2019 - 2022
Jungle Disk LLC
  • 改进并重组了CMake构建系统. 我创建了一种在所有支持的操作系统上构建所有程序的统一方法, Windows, MacOS, and Linux, building installers, 以及自动构建第三方库.
  • 通过转换和使用移动str结构,使代码现代化,并将现代c++功能引入系统. 其思想是尽量减少重新设计的类之外的源更改,并改进内部类设计.
  • 介绍了各种设计模式,例如生产者-消费者、适配器和访问者. 目标是降低内部绑定和源库各个部分之间的相互依赖关系.
  • 对一个完整的代码库进行了一般的重组. 重组后的代码库更清晰,为将来的更改做好了充分的准备,并且更易于维护.
  • 对程序的未来设计进行了调查,以引入用于XML处理和远程过程调用的自动代码生成. 这包括使用现代中间件库(如gRPC和SSD代码生成器)进行XML解析.
Technologies: c++、XML、Git、XML解析、Windows、面向对象编程(OOP), Windows API, C, CMake, Multi-platform Development, SQLite, Wix Installer, MSBuild, Asynchronous Programming, Concurrency, Libcurl, Microsoft Visual Studio, OpenSSL, Amazon S3 (AWS S3), Google Cloud Storage, Windows File Systems, XML-RPC, Semantic Versioning, Data Encryption, wxWidgets, Boost

Head of Development

2013 - 2019
Uljanik Shipbuilding Computer Systems
  • 为ShipExplorer套件开发虚拟现实扩展, 让人完全沉浸在飞船里. It was made using Oculus Rift and OpenGL 4.X的使用是为了改善用户体验,比如阴影和水面反射.
  • 内置立体3D扩展的船舶资源管理器套件. 这是一个与操作系统无关的系统,旨在提升使用立体声3D输出设备的用户体验. It was made using OpenGL.
  • 在不损失图像质量的情况下实现了速度增强,整艘船从10-15 FPS提升到150-250 FPS. 这允许展示和检查整个船没有任何退化的用户体验.
  • 创建了一个客户端/服务器系统,在不同计算机上运行的许多ShipExplorer进程之间共享数据和完成程序状态, 确保所有人都可以访问相同的数据. 它是使用用于RPC和c++的Apache Thrift库制作的.
  • 构建了一个系统,从运行在另一台计算机上的远程进程控制ShipExplorer. 它是一个基于回调的系统,也允许外部进程响应用户输入. 它是使用Apache Thrift、c++和Python实现的.
  • 基于CMake,利用SVN开发了模块化构建系统. 这允许许多相互不连接的存储库充当一个虚拟存储库,而不需要SVN的外部功能, 从而大大简化了构建系统.
  • 在ShipExplorer可视化子系统中添加动态行为,使用c++实现实时微分方程求解. 每个视图参数都以SISO系统的形式呈现, 并将系统的输出结果用于实际绘图.
  • 研究了在Uljanik造船厂使用JavaScript将3D船舶模型包含到业务web应用程序中的可能性, WebGL, and Three.js.
Technologies: 犀牛3D、3D CAD、3D、虚拟现实应用设计、虚拟现实(VR), Solaris, Microsoft Visual Studio, XML, Three.js, Unix, wxWidgets, XSD, Rhino, C++11, Linux, JavaScript, WebGL, Apache Thrift, Oculus Rift, MATLAB, Boost, CMake, OpenGL, Python, C++

CAD Subsystems Designer

2005 - 2013
Uljanik Shipbuilding Computer Systems
  • 构建了一个基于antlr的替代系统,用于解析和解释CADDS-5专用语言,该语言有助于几何形状的参数化创建.
  • 开发了一个基于corba的客户机/服务器系统,用于计算异构网络环境中的远程隐线移除,该环境允许快速地为大量客户机提供服务. 花了几十小时的计算现在几分钟就完成了.
  • 在CADDS-5控制台中引入了一个流c++接口, 而不是保持原来的类似fortran的界面.
  • 创建了一个钩子系统,允许扩展和更改内部cad -5命令的行为.
  • 使用STLport将STL (Standard Template Library)引入到CADDS-5的c++编程中.
  • 在cad -5开发环境中引入了CMake构建系统, 从而大大简化了完整的构建周期.
  • 设计并创建了ShiplExplorer的第一个版本, a software suite for the visualization, examination, and augmentation of ship structures; it ran on Windows Linux and Solaris. 它是使用c++、OpenGL和Boost c++库从零开始制作的.
Technologies: 3D CAD, 3D, Solaris, Microsoft Visual Studio, XML, Unix, wxWidgets, XML- rpc, XSD, Linux, Standard Template Library (STL), ANTLR 2, CORBA, MATLAB, Boost, CMake, OpenGL, C++

Software Engineer (Contract)

2004 - 2004
Uljanik Shipbuilding Computer Systems
  • 创建了一个用于自动嵌套壳板的系统,在Linux和Solaris上运行.
  • 建立了一个用于二维操作和几何形状检查的库.
Technologies: wxWidgets, C++

Software Engineer (Contract)

2003 - 2004
Teleconsult
  • 创建了一个可视化和操作库,能够作为基于web的客户端/服务器系统的一部分处理巨大的地形区域. 它被用于GSM桅杆放置的初始决策.
  • Implemented a real-time visibility check; taking into account the type of terrain, terrain heights, and terrain draping.
  • 计算作为地形位置函数的全方位可视性和阴影区域, height of the mast, terrain type, and terrain draping.
  • 开发了一个绘图速度管理系统,使用地理映射方法来优化用户体验.
  • 建立一个多线程内存管理系统,以保持内存占用尽可能低,并确保所有相关的地形瓷砖加载和可见.
技术:3D, Microsoft Visual Studio, GIS, GRASS GIS, Visual Basic, OpenGL, c++

Software Engineer

2001 - 2004
IT-Base
  • 改进了程序后端的数学正确性. 所有的计算都被转移到一个专门的手工库中.
  • 通过编写各种评估测试来优化图形速度,然后相应地更改绘图功能. 所有的动态纹理操作都从GDI中移出并手动执行.
  • 重新设计了程序的可视化子系统. 为了用OpenGL取代GDI可视化后端,我们做了许多修改.
  • 通过创建通用IO库重新设计了导入/导出子系统,其中所有不同的格式都表示为一系列回调, resulting in greatly simplified code.
技术:Microsoft Visual Studio, GDI(+), OpenGL, c++

Software and Simulation Engineer

1995 - 2000
Institute for Defence Studies
  • 设计并实现了反坦克导弹制导的各种算法. 最初的设计和测试是在MATLAB和控制工具箱中完成的,并实现了, in real time, with C++.
  • 创建了一个可视化的交互式实时坦克射击模拟, 利用Fagot导弹的数学模型. 自动驾驶仪的内回路基于“逆动力学”算法,外回路设计为半自动系统,只需要手动照亮目标. 结果是一个非常健壮的系统能够处理菲格特动力学的高度非线性本质,最终, 提高了发射导弹的人的安全性.
  • 开发了米格-21飞机的数学动力学模型. 它被组织为一组非线性微分方程,并在三个层面上进行了检查:纵向和横向模式的动态行为的重建, 再现其飞机性能(最大高度或操作包线), 并在真实飞机上重现了飞行员手册中提到的行为.
  • 利用米格-21飞机的数学模型,设计并实现了一个完整的实时视觉飞行仿真. 使用先前设计的数学模型, 我做了一个完整的分布式实时交互可视化仿真, based on RTLinux extensions. 核心程序作为具有最高优先级的RT进程运行,而原始Linux内核以最低优先级处理. 该数学模型被重新实现为一组内核模块, 而其余的模拟则在“用户空间”中运行.
Technologies: 3D, Linux, MATLAB, OpenGL, C++

Real-time Dynamic Behavior Template Library

这个头文件代表了一个“仅头文件”的库,它为特定类型的变量定义了动态行为.

动力学定义为二阶单输入单输出(SISO)系统, using state space representation. The DC gain is 1.0,意味着在稳定状态下,变量的值与输入的值相同.

Dynamic calculations are done in real time, using an Euler integration method, independent of the actual computing speed, 只要CPU足够快(RT系统的关键要求之一).

可以使用动态变量行为,例如.g., 平滑鼠标的移动,并在使用OpenGL的程序中创建更吸引人的用户体验.

Languages

c++ 11, c++, Python, JavaScript, Visual Basic, XSD, XML, C

Libraries/APIs

wxWidgets, OpenGL,标准模板库(STL), GDI(+), Rhino, WebGL,三.js, Windows API, Libcurl, OpenSSL

Tools

MATLAB, Qt Creator, CMake, Microsoft Visual Studio, Git, Subversion (SVN), GRASS GIS, Rhinoceros 3D, ANTLR 2, GIS, Wix Installer, MSBuild

Platforms

Solaris, Windows, Linux, Unix, Oculus Rift, MacOS

Other

Virtual Reality App Design, Virtual Reality (VR), 3D CAD, 3D, CORBA, Concurrency, Semantic Versioning, Data Encryption, Programming

Frameworks

Boost, Apache Thrift

Paradigms

面向对象编程(OOP),多平台开发,异步编程

Storage

XML- rpc, XML解析,SQLite, Amazon S3 (AWS S3), Google云存储,Windows文件系统

1995 - 2000

多学科技术科学硕士学位

University of Zagreb - Zagreb, Croatia

1983 - 1990

Bachelor's Degree in Aerospace Engineering

University of Belgrade - Belgrade, Serbia

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