# Lead Software Engineer

### Intro

Hi, my name is Aliaksei, I am an Engineer who knows how to create great software and how to do it properly together with other people. &#x20;

I have deep experience connected with designing, developing and supporting in production backend services with strong performance and availability requirements.&#x20;

Awesome software is much easier to create in a team. And I am able to inspire and lead a group of engineers or a cross-functional team to achieve great and ambitious goals.

My favorite database is **PostgreSQL**, most liked programming language - **Python**.&#x20;

<figure><img src="https://content.gitbook.com/content/5tAeWp9YLEK5yF7C9SCp/blobs/dmrquHyhL1nlWRIfIU1M/a_romanov_2020.jpg" alt="ALEX RAMANAU" width="375"><figcaption></figcaption></figure>

E-mail: <a.ramanau.pl@gmail.com>

LinkedIn: <https://www.linkedin.com/in/aramanau/>

### Experience

<table><thead><tr><th width="243">Company, role</th><th width="139.33333333333331">Years</th><th>Description</th></tr></thead><tbody><tr><td><p>Predicted, </p><p><strong>Chief Technology Officer</strong></p></td><td>[2022..2023]</td><td>Developing B2B SAAS product for mobile subscription analytics.</td></tr><tr><td><p>Wargaming, </p><p><strong>Engineering Team Lead</strong></p></td><td>[2018..2022]</td><td>Key contributing to Wargaming Platform backend services, managing team of engineers.</td></tr><tr><td><p>Wargaming,</p><p><strong>Lead Software Engineer</strong></p></td><td>[2017..2018]</td><td>Creating and implementing solutions for Wargaming Platform,  performing technical leadership in Backend engineering</td></tr><tr><td><p>Wargaming, </p><p><strong>Senior</strong> <strong>Software Engineer</strong></p></td><td>[2014..2017]</td><td>Designing, developing and maintaining critical business applications with strong performance and availability requirements.</td></tr><tr><td>Melesta Games,<br><strong>Software Engineer</strong></td><td>[2011-2014]</td><td>Developing game servers, meta-games and core web services for  web, social and mobile games.</td></tr><tr><td>VirusBlokAda,<br><strong>Software engieer, QA Engineer</strong></td><td>[2006-2011]</td><td>Ensure quality of the anti-virus kernel, developing a system for kernel tests automation.</td></tr></tbody></table>

### Education

<table><thead><tr><th width="271">University</th><th width="143.33333333333331">Years</th><th>Degree</th></tr></thead><tbody><tr><td>Belarusian State University</td><td>[2008..2009]</td><td>Master degree in Computer Security</td></tr><tr><td>Belarusian National Technical University</td><td>[2003..2008]</td><td>Software Engineering Diploma (bachelor's degree)</td></tr></tbody></table>

### Extra Qualification

<table><thead><tr><th width="359">Course</th><th width="74.33333333333331">Year</th><th>Comments</th></tr></thead><tbody><tr><td>Architecting Solutions on AWS</td><td>2023</td><td>link to <a href="https://www.coursera.org/account/accomplishments/certificate/RAP6HTV8UHJK">certificate</a></td></tr><tr><td>Introduction to Designing Data Lakes on AWS</td><td>2023</td><td>link to <a href="https://www.coursera.org/account/accomplishments/certificate/CFA6455B8FJB">certificate</a></td></tr><tr><td>Postgres PRO. QPT</td><td>2021</td><td><a href="https://postgrespro.ru/education/courses/QPT">https://postgrespro.ru/education/courses/QPT</a></td></tr><tr><td>Postgres PRO. DEV1</td><td>2020</td><td><a href="https://postgrespro.ru/education/courses/DEV1">https://postgrespro.ru/education/courses/DEV1</a></td></tr><tr><td>Postgres PRO. DBA2</td><td>2019</td><td><a href="https://postgrespro.ru/education/courses/DBA2">https://postgrespro.ru/education/courses/DBA2</a></td></tr><tr><td>Postgres PRO. DBA1</td><td>2018</td><td><a href="https://postgrespro.ru/education/courses/DBA1">https://postgrespro.ru/education/courses/DBA1</a></td></tr></tbody></table>

### Skills

<table><thead><tr><th width="222">Skill</th><th width="90">Type<select multiple><option value="36d241b14d274c048977e5a2569a167a" label="Hard" color="blue"></option><option value="3f1a25e9a9f846e790a77743b39a7bf8" label="Soft" color="blue"></option></select></th><th width="111" data-type="rating" data-max="5">Level</th><th>Extra context</th></tr></thead><tbody><tr><td>Software Engineering</td><td><span data-option="36d241b14d274c048977e5a2569a167a">Hard</span></td><td>5</td><td>Backend dev, Game dev(backend), BI dev </td></tr><tr><td>Programming Language Agnostic</td><td><span data-option="36d241b14d274c048977e5a2569a167a">Hard</span></td><td>5</td><td>I love Python and Linux ecosystem, but can use Erlang/Elixir/Rust/C/Lua or quickly adopt a new one.  </td></tr><tr><td>Solution Architecture</td><td><span data-option="36d241b14d274c048977e5a2569a167a">Hard</span></td><td>5</td><td>High-level system desing, careful pre-production for complex features, solution verification.</td></tr><tr><td>Software Maintenance &#x26; DevOps</td><td><span data-option="36d241b14d274c048977e5a2569a167a">Hard</span></td><td>5</td><td>Organizing rotation on duty, problem-solving in production, <a data-footnote-ref href="#user-content-fn-1">continious applying DevOps practices</a>.</td></tr><tr><td>Quality Assurance</td><td><span data-option="36d241b14d274c048977e5a2569a167a">Hard</span></td><td>4</td><td><a data-footnote-ref href="#user-content-fn-2">Continious QA everywhere</a></td></tr><tr><td>Performance testing &#x26; optimization</td><td><span data-option="36d241b14d274c048977e5a2569a167a">Hard</span></td><td>4</td><td><a data-footnote-ref href="#user-content-fn-3">Continious performance testing</a> </td></tr><tr><td>People Management</td><td><span data-option="3f1a25e9a9f846e790a77743b39a7bf8">Soft</span></td><td>4</td><td>Engineering Team Leader for about 4 years, CTO for about 1 year with EM responsibilities</td></tr><tr><td>Project &#x26; Delivery Management</td><td><span data-option="3f1a25e9a9f846e790a77743b39a7bf8">Soft</span></td><td>4</td><td>Organizing teamwork, planning &#x26; performing complex delivieries.</td></tr></tbody></table>

### Top Projects

<details>

<summary>Predicted</summary>

**Predicted** is a B2B platform for mobile developers and publishers which allows to estimate revenue and other significant metrics using variety of statistical models. It provide simple APIs for integrating and supports variety of features for increasing campaign performance - Grabbing and visualizing data from all media sources, SKAN optimization by erevenue, Web2Web flow, eLTV machine with multiple models and real-time interface and more.

Technology Stack: `Python/SQL/PostgreSQL/Airflow/Tableau`

Infrastructure providers: `AWS/Hetzner`

<https://predicted.io/>

</details>

<details>

<summary>Wargaming Money</summary>

**WGM** is a backend service for keeping hard and soft currencies in games, which is used by all major Wargaming titles like World of Tanks and World of Warships. It has sharded database and run over Erlang/OTP cluster. WGM was designed  to process 50k RPS with 95% latency < 100 ms. Observed availability during 5 years in production: 99.99%.

Technology Stack: `Erlang/Python/PostgreSQL/RabbitMQ/Nginx`

</details>

<details>

<summary>sdbmigrate</summary>

sdbmirate is migration tool for PostgreSQL with sharding support. Used in Wargaming production for applying migration to set of database servers: <https://github.com/wgnet/sdbmigrate>

Technology Stack: `Python/PostgreSQL/MySQL/docker`

</details>

<details>

<summary>Micro Api Gateway</summary>

**MAG** is a set of Platform APIs used by big Wargaming Titles like World of Tanks and World of Worships. Well-designed and developed according to KISS/YAGNI principles with strong performance requirements and 99.95% SLA. Observed availability during 5 years in production: 99.95%.

Tech Stack: `Elixir/OTP/Redis/Nginx/RabbitMQ`

</details>

<details>

<summary>Melesta Game Servers </summary>

A family of asynchronous game servers and services around web/mobile/social games. Created in a startup style using rapid dev practices. However, logic was weel-tested by  functional and performance tests.

Tech Stack: `Python/Twisted/MySQL/Redis`<br>

</details>

[^1]: Incident management, post-mortems, error budget, applying SLA/SLO/OLA, etc.

[^2]: Embedding QA practices into each stage of software development from code review to monitoring and tests in production

[^3]: Ensuring that complex system works as expected under high-load. Finding and fixing bottle-necks without breaking functionality.&#x20;
