These are some of my tools of the trade: languages, frameworks, engines, libraries, and paradigms
TypeScript, React, Redux, Vue, Jest
HTML/CSS, Canvas, LESS/SASS, Animations
Node.js, Nest.js, REST API, MySQL, TypeORM
Unity3d, C#, Gameplay/AI, Unity Test Framework
ECS, CloudFront, Route53, API Gateway, Terraform
SOLID, Design Patterns, Clean Architecture
Git, TDD, CI/CD, Agile, Iterative approach
Tech Leadership, Mentorship, Consultancy, Forever Learner
Throughout the years, I have had a chance to help build many projects in different industries: entertainment, health tech, ad tech, retail, e-commerce, etc
Led a number of business-crucial initiatives, including the overhauling of an internal pharmacy management tool resulting in scoring 95% customer satisfaction rating.
Developed the strategies and designed systems across the technological stack.
Improved the stability and maintainability of the internal application responsible for the management and shipping of hundreds of thousands of highly regulated healthcare products by establishing architectural best practices, rigorously increasing test coverage, and upgrading underlying technical solutions.
Leading by example, continuously mentored and supported senior software engineers across the organization.
Architected and led the team of software engineers in the development of enterprise-level full-stack tools allowing `Intent` to target, bucket, and manage two billion annual users into 16 million configurable permutations.
Led cross-functional iterations with Product, UX, and internal stakeholders, leading the development of full-stack enterprise tools controlling billions of annual unique page views.
Evangelized best practices, convincing a 13-year-old engineering department to adopt TypeScript and Clean Architecture.
Earned a pivotal position in post-COVID-19 restructuring to develop multiple enterprise-level and customer-facing products.
Collaborated cross-functionally with delivery leads, engineers, and creative technologists to help clients evolve and make the next ambitious step in their digital journey using modern full-stack frameworks and tools.
Successfully established, led, and taught enterprise training program aimed to hire, educate, and prepare for client-facing consultancy job junior frontend developers.
Maintained and extended enterprise front-end library, created new components for various enterprise projects, trained and mentored several engineering teams in adopting best practices.
Organized company-wide training courses teaching advanced frontend-development concepts and practices.
Migrated Angular and React codebases to Vanilla JS/Web Components.
Led a team of developers to design, build, and maintain the real-time dress fitting tool and variety of supporting custom eCommerce services.
Designed application architecture and led a team of developers in building a social network.
Led a team of engineers in a gamedev studio that built and published the simulator game “My Food”
Developed innovative and rich interactive websites and apps
Allow me to share with you some of my pet and hobby projects. Don't hesitate to drop me a note if you have any feedback!
A few words from some wonderful people I have the privilege to work with
I love sharing my ideas and findings with the community. When I have free time, I combine them into blog posts. Here are a few most recent ones
We successfully incorporated our Pathfinder but something is still missing. Our Ships... well, they don't move. In this post we are going to finally see some locomotion!
Read moreIn this installment, we are going to use Pathfinder we prepared last time and build a path on our actual Grid
Read moreThe time has come for us to build our own Pathfinder. In the last post, we prepared utilities that will help us. Today we're jumping into the algorithms themselves
Read moreIn the last article, we spent our time highlighting `Nodes` in configurable `range`. Our next step is calculating the path Ship can take from its current position to the one chosen by the Player
Read moreThere are many ways how we can set up a locomotion range. One of them is by introducing the idea of “neighbor”: a property of the Node that references all nearby Nodes. With this reference, it becomes very easy to determine range by recursive
Read moreLast time we spent an entire chapter crafting our own Input System. In this Chapter, we finally start to make our game feel like a game. And we will do this by allowing Ships to find their path and move along it.
Read moreIn the last article, we introduced OnclickComponent, an abstract class that serves as a “bridge” between notifier (GameInputComponent) and actual receivers.
Today we are going to add one such receiver to our happy family and, of course, cover GameInputComponent with unit tests.
Welcome back, reader! Last time we configured the Node entity to listen to click events on the body DOM element.
While this gave us what we wanted: a way to be notified when the event occurs, it was far from being efficient.
We can do better, and in this installment, we are going to discuss how can we refactor our code with more sound architecture.
We spent the last chapter talking about Ships: we learned how to draw them utilizing our little Render system, talked about conflicts and teams, introduced a few helpers like Color and Fleet.
But so far, the game was rather… dead. Sure, we rendered quite a few elements but our Players have no way to interact with the game. The time has come to fix this unfortunate overlook!