I work in tech since 2004, since 2011—as full-time JS developer, since 2012—as full-stack JS (started using Node.js).
In my free time I enjoy playing mind games and creating questions for them.
I love writing clean and expressive code and sometimes have fun experimenting with the new tech.
Since 2022 I work through my company, MIROTIN OÜ, registered in Estonia, with various clients. Between several smaller projects, I have kept the positions of Principal Full-Stack Engineer at Cosuno, the German startup working in the area of construction business automation, and later the Team Lead for Moon Rocket, an iGaming company.
NB: this is not the full list of projects I've worked on, just several most recent and the ones I consider the most interesting.
As Team Lead and architect for Moon Rocket (2023), I was responsible for selecting the tools (SaaS, frameworks, and libraries) to cater for the rapidly changing requirements of the industry and the small team size at the same time.
As a result, we have configured Payload CMS, created the Vercel-based API (with PostgreSQL for the database), Next.js frontend, Algolia search, and all the necessary automation to have the CI/CD pipeline in place, and to synchronize data between multiple sources.
Construction business automation
As Principal Full-Stack Engineer at Cosuno (2022–2023), I was responsible for developing various features for the construction business automation platform, built with Next.js, GraphQL, and Prisma ORM. The achievements include the redesign and refactoring of the Bill of Quantities editor (one of the most complex React components I ever worked with), export of its data to PDF and Excel formats, and a set of changes and improvements related to singing the contracts with DocuSign. Among other things, I have developed in-house PDF printer, based on Playwright, to replace the pricey third-party SaaS solution.
In-browser 3D experience for Sarine
In 2022 I have created an in-browser 3D experience for Sarine, the Israeli company that specializes in researching and analyzing diamonds. The project, built with Svelte and Three.js, introduces the visitor to the evolution of diamonds, from the hot rocks deep under the Earth surface, and to the perfectly shaped gems available to the customers.
I was responsible for the entire programming, including optimizing the 3D models (glTF files) for the best possible combination of performance and quality.
Between 2021 and 2023 I have been working with Azeem Azhar, the author of Exponential View, the popular newsletter on the intersection of technology, business, and society. I was responsible for developing the new website for the newsletter, built with Ghost(the newsletter and its site were later migrated to Substack), as well as an Airtable-based CRM with Stripe data syncing.
Technical interview questions creation and review
Since 2020 I collaborate with Toggl Hire, for whom I create and review the practice-focused technical interview questions on various topics (JS, TS, Node.js, React, Vue.js, git, HTML/CSS, SQL, general algorithms, etc.)
Between 2019 and 2022 (when the war started) I've been doing webinars and workshops for Skillbox online university, and in 2020 I've created a Node.js course for them. The course covers the basics of Node.js and Express, working with MongoDB and PostgreSQL, using some popular libraries, as well as the fundamentals such as async programming.
Cross-site Widgets for Viacom
In 2011–2012, while working as Senior Front-end Engineer at Epam Systems (office, 2011–2012), I've been leading the development of a set of reusable client-side widgets (jQuery, custom templates) deployed for several dozens number of Viacom web-sites, such as MTV EMA, Colbert Nation, and GameTrailers.
In addition, I was assigned a position of Front-end Skill Manager for the 100+ people department, assessing the developers' levels of proficiency, recommending the topics to improve their skill, suggesting level promotions to the managers, doing interviews, and organizing workshops.
In-browser PDF annotation tool
Around 2010, while working as a Project Manager for BuildSite, I've created the fully functional prototype for the feature that remains one of my most favorite achievement over the years: a completely OSS-based in-browser PDF annotation tool (jQuery, Django, bash, PDF Toolkit, Inkscape). That was a fun project, given we still had to support IE6. I think it is still in use on their website, but probably a rewrite or two have happened.
I've started working in tech industry in 2004 and for the first 7 years have held a number of BA- and PM-related positions, including Tech Writer, Business Analyst, UI/UX designer, and Project Manager.
At the same time I've been always keen on programming and have self-learned a pack of languages, including HTML/CSS, JS (with jQuery), Perl (that was fun), Python (with Django), C#, OCaml / F#.
Around 2010 I've started doing my first paid freelance projects as front-end/full-stack developer, using JS + jQuery, HTML/CSS (and sometimes HAML/SASS) on the front-end, and Python + Django on the back-end.
In 2010 I have failed the JS interview for TargetProcess, a Belarusian startup later acquired by IBM. Now that I have your attention, I did not fail it completely, and I was offered the position, but I was not happy with my performance and the knowledge gaps, which has led me to dedicating more energy to properly learning JS with its gotchas and quirks.
In 2011 I've accepted my first full-time developer position at Epam, and since then I've been writing JS full-time.
In 2012 I started using Node.js and have been doing full-stack JS ever since.
Full Employment History
The full list of my employment history is available on LinkedIn.
I have a formal CS education if you care about that kind of stuff. I own the Masters degree in Applied Math from the BSU (Minsk).
I have a hobby I spend quite some time on. It's broadly called mind games, and it's a quiz-like kind of intellectual entertainment popular in xUSSR countries and among Russian-speaking people in the West. It bears similarities to pub-quizzes but with more competitive atmosphere and entourage, making it a bit similar to chess tournaments in that sense. I play, author and edit questions, and sometimes host the tournaments.
I like traveling with my family. That's one of the reasons why I'm focused on remote job. Despite that, I love meeting with the team I work with, either occasionally in the office, or during the regular company retreats.
What I am looking for
Remote (occasional visits to the office are OK), front-end or full-stack JS/TS.
I can work with multiple technologies and can learn new stuff but as of now my go-to stack is Node.js, React (or Svelte), TypeScript (highly preferable) or modern ES.
I can work independently or in the remote team with (mostly) async communication.
I live in Tallinn , Estonia (UTC +2/3).