Introduction
Hello, I’m Anton! Since 2010 I’ve accumulated different experiences as a software developer in various business domains and side projects.
What I do best by now:
- Build backends with various achitecture types: monolilths, service oriented architecture, microservices.
- Deliver a highly scaled, reliable and secure solutions in multiple environments.
- Take technical leadership and ownership.
- Designing test plans, unit testing and integration testing to ensure high quality code that is free of regressions.
- Partnering with other roles on a shared mission: demonstrating highly effective communication and collaboration skills.
- Work with a team on any stage of building product: discovery, analysis, architecture, design, documentation, building, migration, automation.
- Take into account developers pain points and able to address them in product.
- Mentoring teammates at my areas of competence and providing high quality constructive feedback on pull requests and design documents.
- Can work both with legacy and greenfield projects.
Things I value most:
- Be accountable.
- Have an ability to demonstrate craftsmanship.
- Take care for customers and community.
- Find myself in a place where learning, growth, impact and fun intersects.
As a team member I tend to be quite diligent person, focusing on work objectives and proper delivery. I have thoughtful problem-solving skills and pragmatic and business-oriented approach. I think I’m quite easy to get along with and adapt well to new teams and workflows.
My current timezone is GMT +7. Working remotely in international English-speaking teams with multiple timezones since 2016.
Skills & Proficiency
- 🩶 Go
- Python (Django, FastAPI); JS/TS (React, Vue); HTML, CSS
- PostgreSQL, Redis, Kafka, S3, Kubernetes
- Tests automation
- CI/CD pipelines: Gitlab CI, Github Actions, Ansible, Docker, Kubernetes
- Monitoring, alerting, tracing: Prometheus, Grafana, Loki, Jaeger
Experiences
Achievements:
- Define project plans (duration: 6 months - 1 year):
- How to increase developer productivity and developer exprience on existing codebase along with feature development;
- How to increase testability and stability of backend services;
- How to opensource parts of enterprise projects;
- CI/CD improvements, faster builds and tests time, cross-repository integrations;
- Feature planning and tasks decomposition
- Code reviews
- Mentoring other software engineers
- Participate in in-house Go community as co-organizer and speaker
- Speaker: How to create Go app from scratch, recommended and not recommended approaches and libs for starting web backend project.
Seller Center is a space where sellers can manage their products, logistics, stats, etc. Generally, all tasks is about building various HTTP + gRPC backends in k8s environment, some of them includes:
- Using gRPC-Gateway
- Consumer, Producer for Apache Kafka
- RBD storage - postgres. Bulk inserts, updates, query optimization, applying indexes, etc.
- Caching in memory or in Redis
- Storing data in S3
- Distributes locks with etcd
Also I worked on internal Go template project with libs for logging, tracing and metrics. Personally I like to use one-repository approach for 1 service with multiple domain related apps inside. Demo you can find here https://github.com/agalitsyn/go-app and check out readme.
PT Threat Analyzer is a software platform for accumulating knowledge about existing and potential threats to information security and how to detect them. PT Threat Analyzer collects, analyzes, and stores data on security threats and indicators of compromise that can be distinguished within a threat. Indicators of compromise are artifacts detected in a network or in an operating system and indicating malicious activity in the infrastructure.
I made achitecture and development of several subsystems: Auth, API, Artifact analyzer gateway, Storage system, Data migrations. Also I created and maintained CI/CD and installation tool, before infrastructure engineer was hired.
Senior engineer of Market-data service for invest platform. This service uses streaming architecture, one part of it should fetch data from different exchanges, parse it and send to Kafka, then aggregators depuplicate messages and and store in unified format in storage, then all data is accessible using REST API. Also I did CI/CD, deploy, monitoring, logging parts.
At first year I worked on integration of openstack as a private cloud solution for whole company. I maintained several custom plugins and “ready to go” templates for openstack orchestration (heat), also I actively worked on compute (nova), DNS (designate) and openstack deployment (openstack-ansible). Also I did tech support for developers, consulting on how to use openstack.
Then I was involved into building internal PaaS, I worked with Docker, CoreOS, Deis, Kubernetes, etc.
This is 10 y.o. project with SOA architecture, old core was in C++, new in Java, cores communicates using CORBA. I worked on extension - dispatcher component: service written in PHP (Symfony 2 and Doctrine) with multiple integration points: REST, CLI, RPC. Main goal was infrastructure management, upgrade and health monitoring. So, some part of my tasks still has some PHP for REST APIs, but second part was development for linux using bash and python.
I was involved in building webistes as a fullstack developer. Released several TV-channels websites, restaurants, cultural & educational media website, corporate website.
Contract/Part-time work and Startups
Worked on several applications, which runs on gravitational/gravity platform. Basically all apps was Go apps, which uses k8s resoures and APIs.
Also worked with open-source projects, like
Neon is a serverless open source alternative to AWS Aurora Postgres. I work on console, Neon control plane for DB clusters management with rich capabilities for user or admin. It have several APIs, CLIs, admin part, scheduler for clusters, metrics.
BRIAR is a russian sewing company. I created everything from scratch: web-site, backoffice (custom CRM & ERP app), seller app, and many different tools for retailing.