Damir Maksyutov, Developer in New York, NY, United States
Damir is available for hire
Hire Damir

Damir Maksyutov

Verified Expert  in Engineering

Back-end Developer

Location
New York, NY, United States
Toptal Member Since
July 27, 2022

Damir has 8+ years of software development experience at big US tech companies such as Microsoft, Bloomberg, and Meta. Throughout his career, Damir has acquired skills ranging from mobile UI development and low-level performance optimizations to designing, implementing, and debugging complex distributed systems used daily by a few hundred million users and incident response and management under high pressure. Damir's primary interest lies in high-performance computing and distributed systems.

Portfolio

Facebook
C++, PHP, Python, Mercurial, Linux, MySQL, Cassandra, Apache Thrift, GraphQL...
Bloomberg
C++, Python, Linux, Unix, GitHub, Git, Redis, MySQL, Solaris, REST APIs...
Microsoft
Git, MacOS, Unix, iOS, C, Objective-C, C++, Xcode, Azure, Python, Bash, Shell...

Experience

Availability

Part-time

Preferred Environment

MacOS, Git, Linux

The most amazing...

...project I've worked on is a C++ implementation of Numenta's core cortical learning algorithms and HTM design for machine learning.

Work Experience

Software Engineer

2020 - 2022
Facebook
  • Designed and implemented an end-to-end testing framework for Facebook messaging infrastructure, allowing developers to seamlessly verify the safety of their changes in an isolated environment before releasing changes to production.
  • Contributed to the instrumentation of Facebook messaging infrastructure by implementing per-messaging use-case monitoring throughout the infra stack and improving high-level signal alerts for calls.
  • Designed and implemented a consumption-based canary system for the safe staged rollout of configuration changes.
  • Joined the first responders' team for every major messaging-related problem, performed incident response and management under high pressure, advocating for reliability improvements among product and infra teams.
Technologies: C++, PHP, Python, Mercurial, Linux, MySQL, Cassandra, Apache Thrift, GraphQL, Hack, Bash, Shell, C, Java, REST APIs, TypeScript, JSON, NoSQL, APIs, SQL, Web Development, Software Architecture, Technical Leadership, Project Management, Architecture, HTML, Multithreading, Amazon Web Services (AWS), Agile Software Development, Django, PostgreSQL, Cron, Rust, GDB, Profiling, Optimization, API Architecture, Serverless, Webhooks, Automation, CI/CD Pipelines, Algorithms, Data Structures, Memory Management, C++ Memory Model

Senior Software Engineer

2018 - 2020
Bloomberg
  • Designed and implemented fault-tolerant scalable microservices architecture for the Bloomberg Terminal's portfolio real-time intraday sessions handling around 380,000 daily sessions.
  • Drove development of a mobile application version for Bloomberg Terminal's portfolio real-time intraday product.
  • Implemented the Jenkins-based CI pipeline for continuous deployment for several portfolio-related products.
  • Improved the low-level company deployment, build, and A/B test tools.
  • Implemented low-level optimization in portfolio classification code, speeding up the process by 40% on average client portfolios.
Technologies: C++, Python, Linux, Unix, GitHub, Git, Redis, MySQL, Solaris, REST APIs, Embedded C, JSON, NoSQL, APIs, SQL, Web Development, Software Architecture, Technical Leadership, Project Management, Architecture, CSS, React, HTML, Multithreading, Amazon Web Services (AWS), Agile Software Development, Express.js, Windows, Cron, GDB, Profiling, Optimization, API Architecture, Serverless, Webhooks, Automation, CI/CD Pipelines, Algorithms, Data Structures, Memory Management, C++ Memory Model

Software Engineer

2013 - 2018
Microsoft
  • Converted Microsoft Office for Apple, Windows, and Android codebases by refactoring low-level components to be platform-agnostic.
  • Developed and maintained Microsoft Office for Apple components, including authentication stack, most recent documents and folders list, and document sharing.
  • Created and maintained an internal full-stack tool—Node.js server on Azure, iOS app, local macOS daemon—to remotely start from the iOS app and control local overnight builds, validate and do automated code check-ins.
  • Owned code convergence for the Microsoft Office authentication stack on Apple and helped other teams from Sway, Planner, and Visio set up their iOS and macOS apps from the shared codebase.
Technologies: Git, MacOS, Unix, iOS, C, Objective-C, C++, Xcode, Azure, Python, Bash, Shell, MySQL, SQLite, REST APIs, Embedded C, JSON, APIs, SQL, Software Architecture, Project Management, Architecture, Multithreading, Visual Studio, Microsoft Visual C++, C#, Agile Software Development, Express.js, Windows, Cron, GDB, Profiling, Optimization, Swift, API Architecture, Serverless, Webhooks, Automation, CI/CD Pipelines, Algorithms, Data Structures, Memory Management, C++ Memory Model

Low-level C++ Optimization for Portfolio Instrument Classification

Instrument classification of clients' portfolios was known to be a slow process on large portfolios. The process would regularly timeout and require clients to restart the product. Proper optimization or rewrite was long due.

Related C++ code was old and complex, and the team did not understand the implementation. Besides, no instrumentation in the code could help identify the algorithm bottlenecks.

Due to the complexity of the code and the approaching deadline, I focused on understanding the bottlenecks by investigating the actual stack traces of the running classification code rather than going through the code in detail.

After collecting enough samples and writing a helper processing program in Python, it was obvious that most of the algorithm bottlenecks were due to recalculating the same multi-dimensional arrays and graph traversals. It was clear that introducing a simple cache data structure would solve the problem.

After introducing the cache layer to the algorithm, testing, and rolling it out, it was shown to provide an average improvement of around 40% for the time spent in instrument classification and eliminate timeouts.

Full-stack Management of Automated Xcode Builds, Tests, and Code Check-ins

Developing complex applications in constantly evolving codebases can be a challenging task. Scheduling an overnight build against the latest code can result in unexpected build or test failures that require manual resolution, wasting time in the morning.

To improve developer experience in our team, I created a tool to remotely via iOS app control overnight build and validation for Xcode projects and perform automated code check-ins. Upon detecting a local failure on the latest code, it notified the developer and allowed them to choose another revision to perform the build.

The states were managed by a Node.js app on an Azure server and backed by MongoDB. With the iOS application written in Swift, XCode operations were performed by a macOS daemon.

Languages

Python, Java, JavaScript, Objective-C, C, C++, Bash, SQL, Embedded C, HTML, C#, PHP, GraphQL, Swift, TypeScript, CSS, Rust, Hack

Libraries/APIs

Node.js, REST APIs, React

Tools

Git, GDB, Visual Studio, Microsoft Visual C++, Cron, GitHub, Mercurial, Xcode, Shell

Paradigms

Agile Software Development, API Architecture, Automation

Platforms

Unix, Linux, Windows, iOS, MacOS, Amazon Web Services (AWS), Azure, Solaris

Storage

MySQL, JSON, NoSQL, SQLite, MongoDB, Cassandra, PostgreSQL, Redis

Industry Expertise

Project Management

Other

Profiling, Optimization, APIs, Web Development, Software Architecture, Architecture, Multithreading, Serverless, Webhooks, Algorithms, Data Structures, Memory Management, C++ Memory Model, Physics, Technical Leadership, CI/CD Pipelines, Semiconductors

Frameworks

Django, Express.js, Apache Thrift, Qt

2008 - 2012

Bachelor's Degree in Physics and Semiconductor Physics

Novosibirsk State University - Novosibirsk, Russia

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring