Hi!

I am a software developer.
I have been programming with pleasure since 2006.
I love programming in Rust, software and game development, low‑level programming, writing safe, efficient and maintainable code, and constant self‑education.
I am extremely self‑motivated and confidently face the challenges.

Technical skills

  • Expert: Rust, C/C++, Assembly, WebAssembly;
  • Proficient: HTML/CSS, JavaScript, TypeScript, Git, Bash, writing tests;
  • Competent: NodeJS, Python, Linux, Windows, Arm, Docker, CI;
  • Familiar: Lisp, PowerShell, Less/Scss, MySQL, OpenGl, WebPack.

Human languages

  • Russian: Native;
  • English: B2;
  • German: A2.

Work experience

NXLog, Senior Rust Developer,

Contributing to NXLog Minder:
  • assisted the team lead with task management and task delegation;
  • mentored 4 middle developers on the team;
  • conducted thorough and meticulous review of nearly all project PRs;
  • designed the architecture for most of the new project components;
  • developed a high performance schemafull db on top of RocksDB;
  • developed a high performance REST API with field selection, rich filtering syntax, sorting and pagination;
  • improved code quality and introduced high code quality standards;
  • improved application performance and memory usage;
  • introduced the use of integration tests and improved test coverage;
  • participated in network and cluster components development;
  • helped to evaluate interview candidates.
Mostly used languages and tools: Rust, Bash, Docker, GitLab, Jira.

Upwork, Freelance Rust Developer,

Gaijin Entertainment, Game Developer,

Contributed to WarThunder and Enlisted video games:
  • improved and optimized controls settings and input processing;
  • developed tools for game testing and assets verification;
  • participated in game mechanics development;
  • assisted in implementing front‑end and UI game features;
  • had experience with ECS and cross‑platform development for Windows, Linux, macOS, XBox and PlayStation.
Mostly used languages and tools: C++, Squirrel, Git, Gerrit, CVS, Jenkins.

Education

Moscow Technical University of Communications and Informatics, ,
Bachelor's degree in Computer science and computer engineering

Hobbies & Interests

I like improving my skills, striving for perfection, competitive programming, mathematics, listening to music, playing piano and drums, learning human languages, doing graphic design, painting, playing video games, hiking.

Projects

Rust crates

Crate typed-index-collections ()

Provides typed index versions of the Rust slice and std::vec::Vec types.

Crate readme-sync ()

Checks that your readme and documentation are synchronized.

Crate custom-print ()

Defines custom println and dbg macros in wasm and other targets.

Crate unwind-context ()

Makes debugging panics easier by adding a colored panic context.

Websites

My grandma's painting gallery ()

Painting gallery 1st screenshot Painting gallery 2nd screenshot Painting gallery 3rd screenshot Painting gallery 4th screenshot Painting gallery 5th screenshot Painting gallery 6th screenshot Painting gallery 7th screenshot
Used languages, libraries and tools: HTML, TypeScript, Less: responsive design, picture gallery; NodeJs: static site generation; Rust: perspective correction, lens distortion correction, color correction, watermarking, responsive assets generation; C++: OpenCV Wrapper; Bash, WebPack, Babel: building, testing and deploying.

Link: yuliafrolova.ru/en.

My homepage ()

My homepage 1st screenshot My homepage 2nd screenshot

The actual version of my website with my resume and projects, written on HTML, TypeScript, Scss with Bash and EsBuild for building.

It is a single-page website with a responsive design, a dark mode switch, a highly interactive screenshot viewer, and smooth CSS and JS transitions.

Early school and university projects

Game “Space War 2D” ()

Game 1st screenshot Game 2nd screenshot Game 3rd screenshot Game 4th screenshot Game 5th screenshot Game 6th screenshot Game 7th screenshot

My first completed game written on BlitzBasic.

It is a split-screen space arcade game for two players. The game controls are quite difficult, due to the inertia effect and lack of braking. Both players have health and lives. Three weapons are available: short-range lasers with overheating mechanics, unguided missiles with moderate damage and self-guided missile with high damage and long reload times.

Download: for windows, for linux.

Input-output debugger for x86 architecture ()

IO-debugger 1st screenshot IO-debugger 2nd screenshot IO-debugger 3nd screenshot IO-debugger 4nd screenshot

The program was written entirely in assembly language using Flat Assembler and compiled into a bootable ISO image.

The program allows you to interact with I/O ports and perform streaming I/O operations. Also it allows you to inspect and modify memory.

Download: bootable ISO.

Interactive 3D-presentation ()

3D-presentation 1st screenshot 3D-presentation 2nd screenshot 3D-presentation 3rd screenshot 3D-presentation 4th screenshot 3D-presentation 5th screenshot

Presentation application written in C++ and OpenGL.

Its topic is Determining the Position, Orientation and Orbit of a Celestial Body. Each slide contains the information text and rotatable space model. Some slides also contain sliders for interaction with presentation.

Download: for windows, for linux64, for linux32.

Network topologies statistical analysis system ()

Analysis system 1st screenshot Analysis system 2nd screenshot Analysis system 3nd screenshot Analysis system 4nd screenshot

University coursework written in C++ and OpenGL.

The application allows you to investigate the effect of collisions in an artificial data transmission system whose nodes are connected by shared channels and visualizes the entire process.

Download: for windows64, for windows32, for linux64, for linux32.

Particle set optimal route search system ()

Route search system 1st screenshot Route search system 2nd screenshot Route search system 3rd screenshot Route search system 4th screenshot Route search system 5th screenshot

University coursework written in JavaScript using Canvas for rendering.

The program performs the shortest path search for a system of particles with given initial positions and sets of their possible target positions. It allows you to modify the system and visualize the movement of particles with playback speed control and the ability to rewind.

Link: online demo.

Previous version of my homepage ()

Previous homepage 1st screenshot Previous homepage 2nd screenshot Previous homepage 3nd screenshot Previous homepage 4nd screenshot

It written on plain HTML, JavaScript, CSS. It has English and a Russian version, uses AJAX to dynamically load pages, supports swipe gestures to switch between pages, contains a small photo gallery module for project screenshots.

Link: v2015.zheland.net.