Evgenii Perminov
Principal Software Engineer
Summary
Principal Software Engineer with 11 years of experience building production-grade web applications and distributed systems. Strong expertise in Node.js, TypeScript, React, PostgreSQL, and cloud-native infrastructure, with end-to-end ownership from system design to deployment and observability.
Experience
Principal Software Engineer
,2025 – PresentClairbytes OÜ
Tallinn, Estonia | RemoteOffer Inspector (SaaS, in production)
- Built a full-stack SaaS for comparing job offers by net income, taxes, PTO, and benefits across different employment and contracting models.
- Designed an AST-based tax engine for salary calculations across Estonia and Poland, supporting multiple legal forms, net-to-gross calculations, employer costs, paid leave and effective salary comparisons.
- Set up GitOps-based deployment on a self-hosted k3s cluster with Argo CD, blue-green releases, automated database migrations and encrypted secrets.
Embeddorium (open source)
- Built an actor-based RAG workbench with UI and MCP integration.
- Added retrieval evaluation with relevance annotation and Recall@K, MRR, and nDCG metrics.
- Implemented configurable dense, BM25, and hybrid search with reranking and fusion.
- Built a plugin-based architecture for extending retrievers, rerankers, chunkers, and providers.
- Added interactive vector-space visualization for exploring embeddings, clusters, similarity, and retrieval results.
Senior Software Engineer
,2021 – 2024Katana Cloud Inventory
Tallinn, Estonia | Remote- Built and optimized microservices in a distributed system (~100 services) using Kafka and PostgreSQL.
- Delivered cross-team features including API gateway, webhooks, sales orders, and inventory planner.
- Re-architected manufacturing planning logic to reduce calculation time and eliminate recurring calculation errors.
- Led technical investigations, estimation, and epic planning.
- Improved CI/CD pipelines for faster, more reliable delivery.
Skills
Programming Languages:
TypeScriptJavaScriptPythonRustGoSQL
Back-end:
Node.jsNestJSRESTExpressFastAPIgRPC
Front-end:
ReactReduxNext.jsZustandTailwindViteGraphQLApollo Client
Databases:
PostgreSQLMongoDBRedisQdrant
AI:
Model Context Protocol (MCP)Retrieval-Augmented Generation (RAG)Large Language Models (LLMs)Retrieval Evaluation
Experience (continued)
Senior Software Engineer
,2020 – 2021Huawei R&D Lab
Saint Petersburg, Russia | Remote- Built the front end of a C/C++ IDE using the Visual Studio Code API, Svelte, Node.js, and TypeScript.
- Implemented a remote debugging server and gRPC-based communication.
- Built CI/CD pipelines for packaging and delivering IDE extensions.
Full-Stack Developer
,2018 – 2020Diversido
Remote- Built production front-end features using React, Redux, and TypeScript.
- Developed back-end services using Node.js, NestJS, Express, PostgreSQL, Ruby on Rails, and Go.
- Worked directly with clients and product teams on requirements, technical design, and delivery.
- Built CI/CD pipelines and containerized deployments using Docker and AWS.
Full-Stack Developer
,2017 – 2018Ecombix
Saint Petersburg, Russia- Developed and improved a TypeScript-based integration system using RabbitMQ to connect the platform with Shopify, Magento, and WooCommerce.
Early Career (Junior Roles)
,2014 – 2017Omsk, Russia
- Developed a Facebook chatbot using Node.js, Express, and PostgreSQL, and integrated Stripe API for payment processing.
- Contributed to front-end development for banking and medical applications using React and Redux.
Education
Skills (continued)
Architecture:
Distributed SystemsMicroservicesEvent-Driven ArchitectureSystem DesignAPI Design
Engineering Practices:
SOLIDTDDKISSDRYScrumAgileDesign Patterns
DevOps:
DockerAWSKubernetesGitHub ActionsArgo CDCI/CDAptibleHerokuOktetoDatadogLokiPrometheusGrafana
Messaging & Streaming:
KafkaRabbitMQDebezium
Testing:
JestMochaChaiCypressSupertest