Yuriy Bogomolov

Functional programming mentor

Yuriy Bogomolov

Unlock your full potential in functional programming with personalised mentoring from an expert in TypeScript and fp-ts.

Register for a session now
Yuriy Bogomolov

Functional programming mentor

Yuriy Bogomolov

Unlock your full potential in functional programming with personalised mentoring from an expert in TypeScript and fp-ts.

Register for a session now

About me

I am a programmer and a software architect passionate about functional programming, type theory and category theory.

I blog about functional programming in TypeScript, perform mentoring of developers who would like to study practical FP, and provide consultancy and architecture review for enterprises.

Who do I work with?

I provide mentoring services to:

  • Beginners — whether you have no experience with TypeScript, or seeking help from a professional during major career pivot point, I got you covered.
  • Middle and senior developers — I can help streamlining your career path.
  • Team and tech leaders — I can help you plan smooth transition to functional programming for your team and will guide you during its implementation in practice.

Why me?

I have delivered significant productivity gains and streamlined architectures for several organisations, proving that my methods yield results. With over 10 years implementing functional programming patterns in production, I continually refine my knowledge through teaching and research to maintain deep expertise.

I provide personalised curriculum and adapt my teaching style based on each student's goals, optimising their learning through a tailored education. My fundamental mindset is to develop students' solid basics through functional principles, building skills that generalise across frameworks.

Mentoring programs

One-Time Consultation

A laser-focused hour to get past functional programming roadblocks keeping you from progress. I'll ask clarifying questions and provide examples from my years experience, while you identify the specific next steps that work best for you. Whether you're stuck on a complex concept, struggling with performance issues or unsure how to apply FP in a real project, we'll develop 1-3 action items tailored to your unique situation and goals. You'll leave motivated to implement them on your own terms.

Duration: 50 minutes

Price: 80€

Book a session →

Architect Mentoring Program

Master Node.js, functional programming and architectural best practices - the in-demand skills that top companies need. Through this intensive mentorship program, your skills and portfolio will grow to impress even the most selective hiring managers.

Key lessons you will learn:

  • Node.js fundamentals: events, streams, asynchronous programming and performance optimisation.
  • Building scalable backend services using Express, Koa, Fastify, and clustering.
  • Relational, non-relational databases, and event queues to handle large data loads.
  • The theory behind architectural styles like SOA, microservices, and event-driven design.
  • Applying architectural patterns like CQRS, hexagonal architecture, and DDD in practice.
  • Tools for monitoring, tracing and optimising distributed systems at scale.
  • Designing data access layers based on established patterns.

You will emerge with the in-demand expertise to:

  • Evaluate technical requirements and trade-offs from an architect's perspective.
  • Properly structure large TypeScript applications using SOLID principles and functional programming.
  • Design scalable, fault-tolerant Node.js backend services to fulfil business needs.
  • Implement architectural patterns and best practices learned from real-world case studies.

During this course, I will provide you with materials for self-study and home tasks, and during our 1-1 sessions I will answer your questions and provide you with additional explanations of the most complex topics. This intensive yet personalised program combines theory with hands-on challenges and mentoring. By investing in your future now, you'll launch your architecture career into its next growth phase.

Don't delay - contact me today to discuss how we can get you there. I look forward to helping you build the expertise that top companies are searching for.

Duration: 20 sessions, 50 minutes/session

Price: 1000€

Become an architect →


Functional Programming using TypeScript

Level up your TypeScript skills through a structured progression in functional programming.

This intensive, practical course will transform the way you think about and write TypeScript code. Through live online classes and hands-on projects, you'll learn how functional programming techniques can improve the maintainability, scalability and resilience of your applications.

By the end, you'll be able to:

Course structure:

Strengthen your TypeScript fundamentals — dive deep into TypeScript's powerful type system and teaches techniques for modeling complex data structures. In this module, we cover the topics of branded/opaque types, type narrowing, algebraic data types, template literal types, and much more.

You'll learn to catch mistakes earlier and write more robust code.

Duration: 4 weeks + project (1-2 weeks)

Price: 170€

In this module, you will begin working with fp-ts library, and will get familiar with topics such as function and data properties (immutability, purity, referential transparency), begin building mindset for local reasoning, and learn functional programming concepts for safe work with nullable values, exceptions, and dependencies.

You'll start thinking like a functional programmer.

Duration: 5 weeks + project (1-2 weeks)

Price: 250€

In this module, we dive deeply into patterns that are widely used in the functional programming. We learn about functors, monads, foldables and traversables, and functional optics. Also, we will talk about property-based testing to ensure that algebraic properties hold for your code. In the end of this module, we will return to the topic of functional data modeling, and will talk about io-ts, zod, and typebox.

As a result, you'll be able to apply algebraically-sound techniques to build large, maintainable TypeScript code.

Duration: 6 weeks + project (1-2 weeks)

Price: 350€

This module deals with the most complex topics that you can encounter in the wild. We will talk about embedded domain-specific languages (eDSLs) and their implementation using Tagless Final and Free/Freer Monad patterns. You will learn about monad transformers and write a couple of your own transformers. We will talk about the "Making Illegal States Unrepresentable" principle in great detail, and will work with indexed monads. Finally, we will talk about software design in functional way, and will make use of Hexagonal Architecture.

You'll be equipped to design highly scalable FP systems.

Duration: 7 weeks + project (1-2 weeks)

Price: 500€

A pinnacle of functional programming — using programming to automatically prove mathematical theorems. In this module, we will take a quick look at Lean 4 programming language and its powerful mathlib package.

This optional module crosses into advanced mathematics by leveraging programs to prove theorems automatically — peeking into the future of FP.

Duration: 2 weeks

Price: 200€

Although I recommend studying the modules one by one, you can mix and match — e.g., skip the first two modules if you feel you're well-versed in advanced TypeScript and basics of FP, and continue your journey from the module 3 onwards. The choice is yours!

Register for a course →