Kitchener, ON, Canada

Dmitry Chervov

Senior Software Developer with focus on iOS/Android apps and big data

Technical skills
  • Strong knowledge of Computer Science fundamentals: efficient algorithms and data structures, their time and space complexity. Some experience with image and sound processing, Markov models and neural networks
  • Mobile apps: business app and game development for iOS and Android
  • Server side: experience implementing projects with scalable architecture and writing code that handles petabytes of distributed data; *nix server and cluster configuration
  • Databases: SQL and NoSQL, highly scalable HBase-like databases
  • Was a winner of programming contests and a member of a programming contest team in university
Software Developer
Feb 2017 - Present
Backend Software Developer
Jun 2015 - Feb 2017 (part-time)
  • Implemented large-scale web search functionality on top of an existing web crawler and 10+ PBytes of live data
  • Implemented a scalable web analytics system (Javascript, OCaml, Java, Aerospike, Hadoop, Zookeeper, Apache Kafka, Apache Samza, Apache Thrift)
  • Investigated possible applications of neural networks for the exiting projects (TensorFlow and general theory / mathematics for neural networks)
  • Configured and maintained clusters of servers (Puppet, *nix)
  • Worked on a distributed data mining system (Selenium, PHP, OCaml, MySQL, Logstash, ElasticSearch, Kibana)
  • Implemented challenging multithreaded optimizations for the core of the distributed database (C++14, OCaml)
Senior iOS/Android Developer
Sphere Consulting Inc
Feb 2010 - Oct 2016 (full-time)
  • Led the development of more than 12 various iOS and Android projects: financial, medical, sports, social networks, restaurant and beauty salon industry, etc. Technologies used: Android SDK, iOS SDK, SQLite, GCM/C2DM / Push notifications, CorePlot, Calabash, Cucumber, OCMock, CocoaPods, Ruby on Rails, PHP, Paypal SDK, Amazon S3, Amazon EC2, MySQL, PostgreSQL, PostGIS, RabbitMQ, Redis, Rediska, Facebook Graph API, FBML, jQuery
  • Estimated projects, interviewed developer candidates
  • Designed scalable and maintainable architecture and API

Notable projects include CashNetUSA (iOS, Android):

  • Significantly reduced the development time and the amount of bugs by designing and writing custom frameworks tailored specifically for the project, to handle network connections, models and UI objects
  • Designed the architecture; led the development of iOS and Android apps; wrote automated tests
Senior C++ developer (iPhone)
Sep 2008 - Feb 2010
Settlers for iPhone
Wild West Guns for iPhone
  • Programmed UI, graphics, game logic, AI, sound on both projects (C++, Objective C, Lua, OpenGL ES, OpenAL, iPhone SDK, Instruments, Adobe Flash, ActionScript)
  • Made critically important performance and memory usage optimizations (C++, ARM assembler)
  • Wrote various tools and scripts to process game resources (Microsoft Visual C++, Python, XML, Windows and Unix shell scripts); wrote a map editor (C++/CLI)
  • Invented a way to automatically convert animation resources and wrote corresponding tools, which were critical for projects feasibility (Microsoft Visual C++, Photoshop scripting with ActionScript)
2005 - 2008
  • PHP/MySQL developer: worked on an automated data mining tool (PHP, MySQL, a lot of regular expressions) and a backend for an online store
  • ASP.NET / MS SQL developer: programmed UI, logic and database for a directory of educational institutions and employee attestation data
Personal projects
1995 - Present
  • Wrote several plugins for Miranda Instant Messenger (C++). Made code contributions to Miranda IM core and its base plugins.
  • A Pocket PC driver for an infrared keyboard, and an application that converts formulas from TeX format to graphical representation and shows them in a tooltip in real-time during typing (written in C++ for Windows CE platform).
  • Wrote a tool for batch conversion of formulas in Microsoft Word documents from TeX format to regular Word formula objects (Microsoft Visual C++, COM, Microsoft Word API) - this tool along with the keyboard driver were used by me in university to write electronic lecture notes on a pocket PC, instead of writing on paper.
  • Wrote scripts for Google Spreadsheets to automate handling of information about Canadian immigrants: Programmed several innovative charts to better visualize the information. Made non-trivial automated estimates on when each immigrant application will be processed by the immigration centre. Wrote a script to detect duplicates and similar entries. Made optimizations to the spreadsheet so that it loads and updates its data orders of magnitude faster.
  • Prototype of a game for iPhone similar to Supaplex (C++, Objective C, OpenGL ES, iPhone SDK).
  • Prototype of a live wallpaper app for Android devices (OpenGL ES, JNI, Java, C++).
  • Software part of an iris recognition system (my master's work at university), C++ and MySQL.
  • An application that maintains information about all music located on a hard drive and allows generating an HTML report with names of artists, albums and songs (C++, MFC, MySQL).
  • MIDI file player for MS-DOS (written in 2002 on C++ and x86 assembler). At that time I didn't have any possibility to get MIDI documentation from anywhere, so I reverse-engineered a MIDI driver from an MS-DOS game and also completely reverse-engineered MIDI file format from existing MIDI files.
  • 3D labyrinth game for MS-DOS. It used techniques and programming tricks similar to old Wolfenstein 3D game. Written on Pascal + x86 assembler in 2002.
Kharkiv National University of Radioelectronics
2003 - 2008
  • Bachelors in Applied Mathematics with Honours
  • Masters in Information Science with Honours
Copyright © 2005-2017 Dmitry Chervov