💛 Расскажите, за что вы любите вашего эйчара — а мы доставим доброе послание в любую точку мира → поделиться
Наталья Сажина (dagowa), Россия, НовосибирскНаталья Сажина (dagowa), Россия, Новосибирск

Наталья Сажина

Software Developer | Backend, Golang, Kubernetes, Kafka, Prometheus, PostgreSQLБэкенд разработчикСтарший (Senior)
От 666 666 ₽Не ищу работу

Контакты

Войти
Опыт работы: 5 лет
Регистрация: 14.08.2022
Последний визит: 1 день назад
Гражданство:
Местоположение: Россия, Новосибирск
Дополнительно: готова к переезду и к удаленной работе
Знание языков:

Обо мне

I'm a software engineer working on complex distributed systems, highload/low latency services, as well as exploring new ways to tackle various challenges. I strive to build not just a solution but design the best solution which is reliable, handy, extensible, low maintenance, and most importantly simple. My goal - be a professional expert in the field of backend engineering. New challenges are just another motivation for me to extend my knowledge and experience.

I'm fond of studying management theory as an integral part of the product development lifecycle. I believe the right processes at the right time enabling the organization to function efficiently and effectively without losing software product quality :)

Skills and technologies:

  • Golang (go)
  • PostgreSQL, Apache Kafka
  • REST, WebSocket (Socket.IO), RPC (gRPC unary/stream + protobuf)
  • Distributed systems, monolith/microservice architecture, CQRS/ES (Event Sourcing)
  • Infrastructure: Kubernetes (k8s), Rancher, Docker, Vault, Nginx, Envoy
  • CI/CD: Teamcity, GitLab
  • Monitoring: Prometheus, Grafana
  • Testing: unit, integration, HL tests; TDD, BDD
  • Code: reviewing, design; DDD, SOLID, KISS, DRY, YAGNI, BDUF, APO
  • Docs: Confluence, Swagger, Gliffy, Miro, Draw.io
  • Version control system: GitLab, Atlassian Stash
  • Dev methodology & instruments: Agile, Kanban (Jira)

Навыки

Golang
PostgreSQL
Apache Kafka
Kubernetes
Prometheus
Grafana
REST
WebSockets
Socket.io
gRPC

Опыт работы

  • Мы tech-команда, которая создает сервис доставки из магазинов и ресторанов (ex СберМаркет) и делает это с любовью
    От 1000 до 5000 сотрудников
    Системный инженер (Старший)Senior Software Engineer
    Декабрь 2022 — По настоящее время (2 года и 2 месяца)
  • Делаем жизнь 40+ миллионов клиентов проще и удобнее каждый день
    НовосибирскБолее 5000 сотрудников
    Middle Software Engineer
    Январь 2021 — Декабрь 2022 (2 года)

    Exchanges data processing team. Created and maintained various Go microservices in highly distributed and mission-critical market data systems at Tinkoff Investment (3 projects with over 95 services).

    - Performing all phases of software development including analysis, design, implementation, system integration and QA support.

    - Сode reviewing and setting up best practices within the team for design and development.

    • Reduced the cost of the production resources by a factor of two by breaking down a streaming monolith application into microservices.
    • Built a library with gRPC bidirectional stream functionalities used across all our micro-services.
    • Developed high-load tests to benchmark the performance of distributed streaming applications. Optimized resource utilization and decreased API latency. Developed autotests to check subscriptions consistency of a pub-sub system.
    • Implemented multi-level unit and integration tests following TDD, BDD approaches.
    • Migrated several services to newer infrastructure. Developed CI/CD for numbers of projects.
    • Actively participated in code reviews. Cultivated development processes (code review, CI/CD, tasks decomposition, TBD workflow, code coverage increasing), engineering culture. Promoted good software engineering practices: TDD, BDD, DDD, SOLID, KISS, DRY, YAGNI, BDUF, APO. Practiced pair programming approach - increased features implementation by 20-30%.
    • Significantly reduced the "Bus Factor" via increasing documentation volume by ~40% and establishing an on-call practice.
    • Increased engineering collaboration by encouraging frequent discussions and constant feedback from team members.
    • Helped the SRE team with learning Golang, and taught best practices.
    Системный инженер (Младший)Junior Software Engineer
    Февраль 2020 — Январь 2021 (1 год)
    • Designed and implemented a gRPC bidirectional stream micro-service from scratch with more than 90% test coverage.
    • Redesigned multiple backend components to resolve technical debts. Fixed mission-critical bugs involving race conditions, synchronization and multi-threading.
    • Significantly increased performance of 30+ services by adding in-memory private/shared caching. Carried out performance testing and usage analysis, provided strong/eventual data consistency (including high dynamic data). Managed concurrency, supported cache failover, and effective utilization on heavy loads.
    • Setup monitoring and build alert rules to recognize application crashes, inconsistent states and project failures. Increased alert rules count by x5. Developed various troubleshooting scenarios.
    • Increased logs informativeness. Reduced load on log export system by removing bugs that generated 99% rubbish logs of API (200 000l/min → 2000 l/min per pod).
    • Migrated services of 3 projects to newer infrastructure: Rancher → Kubernetes.
    • Made DBMSes comparison research as a part of the data migration task. Found the core performance problem and resolved it with instruments of current DBMS. Affected queries were boosted by x3+. High-cost migration process was stopped.
    • Increased knowledge sharing and total technical documentation volume. Updated half of the technical documentation volume of 3 projects.
    • Applied test design practices to write tests faster with more efficiency. Set up mock-testing practice in a team.
    • Сarried out the onboarding process of Software Engineers.

Высшее образование

  • НГТУ

    Новосибирский государственный технический университет
    Новосибирск2752 выпускника
    Прикладной математики и информатики; ФПМИ
    Сентябрь 2014 — Сентябрь 2019 (5 лет)

    01.03.02 Прикладная математика и информатика (1-3 курсы)

    02.03.03 Математическое обеспечение и администрирование информационных систем (3-4 курсы)