Profileimage by Anonymous profile, C++/CUDA/Python Programmer/Manager/Architect
available
Contact

Last update: 03.01.2020

C++/CUDA/Python Programmer/Manager/Architect

Graduation: MSc in Artificial Intelligence, Amsterdam University, The Netherlands
Hourly-/Daily rates: show
May vary depending on the project scope
Languages: English (Full Professional) | Russian (Native or Bilingual)

Keywords

C++ Project Management XML HTML Databases CUDA Python Scala Algorithms Data Structures

Skills

My primary programming language is C++. My primary skill is Algorithms & Data Structures. Usually in my projects I mentor more junior programmers as an architect/manager.
In addition to high-level algorithmic optimization, I also optimize programs with multithreading/vectorization, including OpenMP, SIMT (CUDA) and SIMD (SSE/AVX), and cache-aware algorithms (that also gives many times speed-up on some pieces of code, see my memcpy() answer on Stackoverflow). As to machine learning, I studied Artificial Intelligence at Amsterdam University onsite, used and extended LibSVM, and have developed an interactive probabilistic question-asking system that reaches and stays at 100% accuracy e.g. on learning the binary search algorithm. See my LinkedIn articles for its description, and also the links below.

More details:
Questions I ask and answer: http://stackoverflow.com/users/1915854/serge-rogatch .
Open source activity: https://github.com/srogatch/ProbQA , https://github.com/srogatch/ReflexBuffers , http://sourceforge.net/p/insoar/code-0/HEAD/tree/ .
Achievements: http://stats.ioinformatics.org/people/2056 , http://community.topcoder.com/tc?module=MemberProfile&cr=23291407 . 

Programming languages: C++, C++11/14/17, C, Python, x86/x86_64/ARM/AArch64 assembly, LLVM IR, SQL, C#, JavaScript, HTML, CSS, MATLAB, Java, RDF, MQL4, Delphi/Pascal, XML, Cypher.

Libraries/Frameworks: STL, LibSVM, .NET, Django .

Technologies: OpenMP, CUDA, SIMD (AVX&SSE), ASP.NET, WebForms, WinForms, Linux Kernel Modules.

Theory/Principles/Know-how/Methodologies: Algorithms & Data Structures, Performance Optimization, Artificial Intelligence, Multithreading, Vectorization, Object-Oriented Programming, compiler implementation, linkers, Mathematics, Semantic Web, Scrum, Agile, Bayesian Learning.

Open source code: Clang, LLVM, LLVM's compiler-rt library, a few my own repositories, Linux Kernel.

Tools/APsI/Architectures/Platforms: MSSQL, MySQL, Neo4j, MATLAB, Visual Studio, Eclipse (for Java and C/C++/assembly, also a bit plugin development), HeidiSQL, Oracle Primavera, Perforce, Fisheye, Confluence, Hudson, Jenkins, CMake, JIRA, SVN, GIT, QEmu, ARM, embedded, MT4, Nintendo Switch.

Virtual Machines: VMWare, VirtualBox, QEmu, Hyper-V.

OSes: Windows, Linux, Android, Solaris.

Project history

Freelance
Freelancer
08.2010 - today
I am doing various small and medium size projects, mainly in the following technologies:
ASP.NET, WebForms, C#, WinForms, SQL, MSSQL, JavaScript, HTML, C++, MATLAB, Visual Studio, Java, MySQL, Eclipse, HeidiSQL, RDF, Semantic Web, Oracle Primavera, Performance Optimization

A freelancer profile: https://www.odesk.com/users/~011bd64540b19c95bf
Computer Software


InSoAr
Founder
07.2011 - 12.2013
I was working on my own start-up project – an automatic program which takes care of the details, analyzes huge amounts of data (source code of software systems) and presents to the user only the clear and concise conclusions in the form of program architecture. You can see the details here https://angel.co/software-comprehension-tools

Java, SOOT, Eclipse, C/C++, Visual Studio 2013, XML
Computer Software


EPAM Systems
Lead Software Engineer
07.2006 - 07.2008
They assigned me to maintain the client-side services and applications of Oracle Hyperion OLAP database. It was a huge software system of tens of millions of lines of source code, which was challenging in terms of efficient and productive maintenance.

C++, OLAP, Visual Studio
Computer Software
5001-10,000 employees

Itransition
Tech Lead
07.2005 - 07.2006
Product: IASO Backup 4.0 (Distributed Online Backup System).
I was designing the software from scratch, leading a team of 6 software engineers and providing reference implementations. My goals were:
- high performance of the software, demanding high throughput in each link of the hardware chain from client HDD, CPU, the network connecting a client and a server, to the server DB and file system
- reliability&security of backups
- maintainability of the software, source code quality
- multi-platform operability (Windows, multiple Unix systems, Mac OS)

C++, Qt, STL, .NET, SQL, MySQL, Visual Studio 2005
Information Technology and Services
1001-5000 employees

Itransition
Software Developer
04.2005 - 07.2005
Cimage Fusion 2.0 (Document Workflow).
IASO Backup 2.0 (a predecessor version of the product to which I was assigned as the Tech Lead, see above).

C++, Qt, STL, .NET, SQL, MySQL, Visual Studio 2005
Information Technology and Services
1001-5000 employees

Ministry of Education - Belarus
Computer Science Trainer
02.2005 - 02.2005
I prepared the top Computer Science performers of Grodno region for the Belarus National Olympiad in Informatics. As a result, 7 out of 10 my pupils took 2nd or 3rd category awards at the National level, i.e. got rated among top 45 computer scientists among high-school pupils of year 2004-2005.
See http://dl.gsu.by/olymp/xrestable.jsp?hd=2&hid=375&u.c=46&pi=11&pi=3&c.s=1&c.s=9&lng=rus
Information Technology and Services


Ministry of Education - Belarus
Computer Science Trainer
08.2004 - 08.2004
I taught Algorithm & Data Structures pearls and best practices to the top performers of Belarus National Olympiad in Informatics 2004 (held in March, i.e. half a year before the summer school).
Information Technology and Services

Contact form

Contact details