Position: C++/Swift Developer
Primary keyword: C++
English level: intermediate
Experience years: 5

### Бібліотека реактивного програмування на AutoLISP &mdash; 2004..2005

* _Опис_: Значно спрощує написання програм автоматичної генерації креслень з інтерактивним графічним інтерфейсом і складними обчисленнями, бо в AutoLISP неможливо задіяти структури чи масиви, тільки функціональні списки
* _Інтерпретатор_: AutoCAD 12..2008
* _Впровадження_: Використовувалася в програмах автоматичної генерації креслень розгорток конусних переходів, зрізаного конусу, переходу з кола на прямокутник

### Логічна гра зі словами "Балда" &mdash; 2006

* _Опис_: Гра "Балда" з графічним та консольним інтерфейсами. Власноруч розроблена структура даних Persistent Trie для пошуку можливих слів з словника на 44 тисячі слів
* _Компілятор_: GHC 6.x.x
* _Технології_: List, Array, IO, wxHaskell, Random

### Бібліотека шаблонів сумісних з STL, заснована на компактних префіксних деревах PATRICIA &mdash; 2005..present

* _Опис_: Асоціативні контейнери для векторних ключів, суфіксні дерева з лінійним часом та пам'яттю, пошук за подібністю у словнику чи повнотекстовий (за маскою, за відстанню Геммінга чи Левенштейна), O(1)-обчислення найближчого спільного предка та інші методи пошуку і аналізу текстової чи бінарної інформації
* _Компілятор_: MSVC 6..present, Clang, GCC, ICC
* _Технології_: STL, WinAPI, Graphviz

### Бібліотека та набір утиліт для обробки зображень надвеликого розміру &mdash; 2010..2013

* _Опис_: Бібліотека призначена для обробки растров величезного розміру (сотні мегапікселів), які виникають внаслідок сканування креслень з роздільною здатністю 300..600 DPI. Внутрішнє представлення зображення оптимізоване під паралельну та біт-паралельну обробку з використанням векторних вказівок SSE2. Реалізована архітектура рядок-за-рядком генераторів обробки для економії RAM і кращої часової та просторової локальності звернень до кешів. Набір утиліт реалізує можливості: склеювання кількох растрів в один, швидкого повороту на довільний кут, доворот до горизонталі з автоматичним обчисленням кута, перспективної векторної корекції, адаптивної бінарізації кількома різними методами, вирівнювання фону, очищення растру від зв'язаних компонентів розміром менше вказаного, операторів математичної морфології, медіани й порядкової статистики, та багато інших.
* _Компілятор_: MSVC 2010
* _Технології_: STL, C++11, libtiff, libpng, libjpeg, OpenMP, SSE2, AGG, Potrace, OpenCV
C++ > 20 років досвіду, Swift > 5 років досвіду

Досвід роботи з компіляторами:

C++: Microsoft Visual C++ 6..2019 (починаючи з 1999), Clang, Borland C++ 3.1, DJGPP 2.02, Watcom C++ 10, Intel C++, GCC

Swift, Objective-C: Xcode 5..11 (2013..2019), Swift від першої бети, також є досвід AppleScript

AutoLISP: AutoCAD 12..2008 (2004..2007)

Haskell: GHC 6.x.x (2005..2007)

Go: Go 1.9..1.12 (2017..2019)

Досвід застосування технологій:

C++: STL, C++98/11/14/17/20, OpenMP, CMake, vcpkg, Boost, WinAPI, Allegro, libtiff, libpng, libjpeg, wxWidgets, SSE2

Swift Frameworks: UIKit, Cocoa, PhotoKit, MapKit, HealthKit, Vision, SceneKit, WebKit, CoreLocation, CoreGraphics, QuartzCore, CoreImage, CoreMotion, AVFoundation, AVKit, CoreData, CoreBluetooth, CreateML, Dispatch, Accelerate, MessageUI, ARKit

Swift Third Party: CocoaPods, Alamofire[Image], AFNetworking, XCGLogger, Charts, AudioKit, QuickBlox, [MB|SV]ProgressHUD, PKHUD, SideMenu, Bluuur, GoogleMaps
Haskell: IO, List, Array, Monad, wxHaskell, Parsec, Regexp, Random, Graphics
Цікаві проєкти на сучасних стандартах C++ (17/20) або Swift, з широким використанням передових алгоритмів і структур даних (advanced algorithms & data structures). Бажано в галузі обробки зображень (image processing) або компьютерного зору (computer vision).

Технології, які я не хочу більше використовувати:
• Front-end web development
• Interface Builder (._nib_, ._xib_, ._storyboard_)
• SQL