![Profile](https://weekday-user-pics.s3.us-east-2.amazonaws.com/profile-images/aliaksei-artamonau.jpg)
Aliaksei Artamonau
Senior Software Engineer at Crowdstrike
Aliaksei Artamonau is a highly experienced Senior Software Engineer currently working at Crowdstrike. With over 15 years of relevant experience, he has a deep understanding of various areas of software development, including databases, distributed systems, functional programming, algorithm
Show more
16.1
Years of Experience
Education
Companies
crowdstrike, couchbase, couchbase, couchbase, couchbase, synesis, ynode software
Reach out to Aliaksei Artamonau via Email, InMail and SMS drip
by installing Chrome extension
Aliaksei's contact details
Experience
2022 - Present
crowdstrike
Senior Software Engineer
Working on compilers and query languages. Haskell, Python
2019 - 2022
couchbase
Software Architect
I worked on the cluster manager for Couchbase Server, a distributed NoSQL database. - Designed and built a new metadata system based on the Raft consensus protocol for use in Couchbase Server, replacing an eventually consistent legacy system. Features: support for voting and non-voting participants, sequential consistency by default with an option for linearizability, multiple pluggable state-machines on a single replicated log, exactly-once writes, quorum fail-over. Quorum fail-over allows trading consistency for availability when more than a quorum of nodes are unavailable while still guaranteeing monotonic reads on surviving nodes (necessary to support legacy use-cases). - Leveraged the new metadata system to implement tombstone purging for the legacy metadata system that is still in use by components other than the cluster manager. This mitigated some scalability issues in global secondary and full-text indexes. - Looked into ways to speed up data rebalancing when nodes are added or removed. Advised a team-member on making improvements as a result of this investigation. Achieved significant speed-ups for certain types of topology changes. - Have worked on many customer issues. On multiple occasions tracked those issues down to bugs in third-party components (e.g. V8 JavaScript engine, Linux kernel, Erlang runtime system). Erlang/OTP, Python, Golang, C, CMake, Raft, Paxos, Consensus protocols
2017 - 2019
couchbase
Principal Software Engineer
- Participated in the design of durable writes (by default writes in Couchbase Server are persisted and replicated asynchronously) necessary to support transactions. Contributed the idea of using joint-quorums during topology change and the strategy used for recovery after node failures. Advised team-members on implementing these ideas. - Implemented a lease subsystem that provides for a way to take cluster-wide actions that require a unique leader. Moved all such activities to use the new subsystem.
2015 - 2017
couchbase
Senior Software Engineer
- Designed a protocol for integrating topology-aware services into Couchbase Server. Built a library implementing the protocol that is used to integrate global secondary indexes, full-text search, analytics, backup into the product. - Built the tool used by Couchbase Server to generate shard maps satisfying a number of constraints (primary balance, replica balance,rack-awareness for replica placement, replication fan-out balance). - Implemented a new recovery mode for failed-over nodes (known internally as delta-recovery). This mode reuses the data that is present on failed-over nodes and speeds up recovery.
2011 - 2015
couchbase
Software Engineer
- Extended leader election to support node priorities. Used to simplify rolling upgrades by electing a leader that runs the latest version of the product. - Integrated CouchDB style Map/Reduce secondary indexes. - Worked on the early version of cross-datacenter replication (remote cluster discovery, data ingestion endpoints using CouchDB replication protocol). - Built a new fast logging library for Erlang and moved the codebase to use it.
2010 - 2011
synesis
Software Engineer
- Implemented a number of kernel drivers for an IPTV/DVB-T set-top box from NXP. - Ported an existing IPTV application to a new set-top box from Motorola. This involved implementing a graphics and a DVB backend for the set-top box. Linux, C, C++, Python, DirectFB, SDL, GNU Make, CMake
2008 - 2010
ynode software
Software Engineer
Worked on various small- to mid-size mostly web based projects. Linux, Python, NumPy, PIL, Django, C, GNU Make, PyQt
Experience