I can speak for you

The success of your presentation will be judged not by the knowledge you send but by what the listeners receive. - L. Walters


I love public speaking. I've given more than 50 talks so far and I'll be happy to speak at your event! Please consider travel and accommodation reimbursement. Below you will find a list of the topics I've been speaking about recently. Each time I adjust the content and the length of a talk to the specificity of the event and the audience.

My current topics

5 Architectures of Asynchronous JavaScript

In this talk we'll discuss 5 alternative approaches to handle async operations: callbacks, events, promises, coroutines and reactive streams. None of them is either legacy or a silver bullet - a good dev needs to pick the right tool for the job.

However, in order to understand them, we must step back to fundamentals all these rely on: the mechanics of event loop and run to completion rule, as well as learn to distinguish between sync and async flow. Then we proceed to design patterns built on top of each of the 5 approaches, discussing their strengths and limitations. Funfacts, such as famous Promise.race() included!

back to top

Async Functions Awaiting You

Farewell callback hell, farewell promise chaining... the most awaited upcoming feature of ES8, async await, is taking async JavaScript to a new level. Let's code async processes in a more readable, concise and extensible manner.

During this talk we'll discuss the fundamentals: promises, generators and coroutines - and introduce async await. We'll have sequential and parallel processing explained, along with most common usecases - and gotchas. After this talk you'll never say that generators scare you or that async await is complicated - expect to find them simple.

back to top

JavaScript + Java = TypeScript

JavaScript is the most accessible platform of our times. Yet, it has many downsides, especially when it comes to big scale applications, being developed by multiple developers.

TypeScript is a solution to that problem. Being quite a new guy, it has already found its place in the JS kingdom, among rivals such as ES6, inspiring alternative langs like Flow to rise, and finally making old folks like CoffeeScript obsolete. Angular2 chose TypeScript as its language. It has bindings for most existing libraries already. Some people, including me, state they'd choose TypeScript for development of most projects, both existing and new ones. So why is that?

In this talk I'll highlight the native-JS problems that TS solves and compare it to JS and ES6. Moreover, we'll see how do non-Frontenders see TypeScript. I'll share my experience of big enterprise apps development.

TypeScript is a revolution, be part of it. This talk wil broaden your horizons. Come & join.

back to top

Component-based Frontend Architecture

SPAs made server-side web legacy. Frontend applications started to grow bigger and become more complex. This made it a lot more time consuming to add new features, refactor existing code and detect bugs. Especially, when dealing with overbloated controllers, cross dependencies and some grotesque ways to handle client data flow.

A possible solution, Component-Based approach, is leveraging the goodness of functional programming paradigm up to the architectural level. There are very sane concepts and patterns that components should be built on top of, including pure functions, sync/async one way data flow, composition, separation and being stateful or stateless. Components are easier to reuse, make prototyping your apps blazingly fast and allow developers to focus on the right thing.

This talk is framework-agnostic, although there will be some code examples. But let's learn the paradigms, not the frameworks! Once you get the architectural concept, you know what you're looking for.

back to top

Backend-less Development revisited

"It's obvious that SPA interfaces rely on RESTful APIs". But does it have to be like this always? Tight-coupling between interfaces and APIs result in great development issues. Backend-less development is an emerging approach of decoupling the two sides, enabling them to be developed independently.

The costs and the benefits of mocking the entire API. The three possible architectural approaches in doing so. Mock engine examples in Angular.js and sinon.js. Simulating business logic in mocks using plain JavaScript and JSONs. Using JSON Schema do generate massive amounts of mock data on the fly. The technical and business aspects of separating frontend and backend - these are the topics I will cover.

Mock your API and make your frontend truly independent!

back to top