
Martin Chaov
Lead Software Architect @ DraftKings
Старши софтуерен архитект @ ДрафтКингс
Sofia, Bulgaria
My professional journey in the IT industry began in 2006, and I've been sharing my experience on different topics at events circa 2013. At DraftKings I am responsible for a highly performant distributed system facing near real-time latencies and terabytes of data. My experience spans designing highly available, scalable, and resilient systems. I am passionate about designing systems, solutions and processes.
You can often find me speaking about:
- Software architecture
- CI/CD
- Effective teams
- Testing and quality assurance of software systems
- Performance of software systems
Links
Area of Expertise
Topics
Mastering Feature Flags: A Guide to Controlled Rollouts
"Mastering Feature Flags: A Guide to Controlled Rollouts" offers a deep dive into the strategic use of feature flags in web-based software. Learn how to categorize and manage feature flags, navigate their lifecycle, and balance the benefits and risks. Ideal for developers, product managers, and business leaders aiming for safer deployments, streamlined testing, and agile responses to market changes.
Modern JS Concepts in Industry [Panel]
Javascript is essential for modernizing and optimizing modern business. It can be used in various aspects of business with distinct sizes. This panel session is an open discussion about current and future trends in JavaScript
Scale your front-end with plug-ins
As projects grow bigger and with more features over time, companies are facing increasing code complexity. I am going to be talking about solving different challenges on the front-end, coming out of the increased scale of a software system.
What is a plug-in? Do we need decoupled front-ends? How do we design a system that scales both on production and during development? Can we achieve high cohesion and low coupling on the web, with JS? In this talk I am going to be answering many of these questions.
The technology stack presented is going to be: TypeScript, React, MobX, and the tooling to support them.
The mythical senior developer
A story about the never ending professional journey,
alcohol, unicorns, cynicism, egos, bubbles,
and hurt feelings.
Why copy/paste practices are not going to make
you invaluable, but thinking and working hard would.
In this talk we are going to explore the habits
that make or break professionals.
Abstraction 101
All developers talk about abstraction. And we often hear that it is observed in the wild. We hear that software architecture and development are all about abstraction.
In this talk we are going to explore some of the questions we face in the very early stages of our professional development:
- What is an abstraction?
- What is the wrong level of abstraction?
- What is the right level of abstraction?
- How do you know if you are doing it right?
This talk is suitable for people in different levels of their career development. Based on your level you are going to hear and understand different aspects of abstractions. It is also suited for beginners who struggle to grasp one of the most important concepts in programming - abstraction.
Performance 101
Everything you know about software performance is probably wrong… Performance is a business metric. Yes - how fast your web site or service is loading/responding is a business requirement. In this talk I am going to cover: - what, why, and how should be measured - what are some of the possible root causes for poor performance
Performance is a business metric. Yes - how fast your web site or service is loading/responding is a business requirement. In this talk I am going to cover: - what, why, and how should be measured - what are some of the possible root causes for poor performance
So, you think you do quality assurance?
Who is responsible for quality assurance or who executes the quality assurance function in the team? Are they doing quality assurance or control? Join me in this one to find out what is the essence of quality assurance and what kind of development process you need to deliver without defects.
Lessons learned: WebSockets
I've been using WebSockets on production in a large scale system for the past 5+ years. In this session I am going to share variety of challenges I've personally dealt with and some of the ways on how to overcome them. If you'd like to know how to design application that can take advantages of sockets when you have a microservices and APIs based back-end, that's the talk you've been looking for!
Topic includes:
- What are WebSockets?
- Architectural and technological challenges.
- Protocols.
- Performance.
- Load balancing.
- Alternatives to WebSockets.
[WORKSHOP] Designing software with volatility based decomposition Vol 2.0
Problem decomposition - often requirements come as some sort of explanation of how to get to some end result. We are going to discuss how to approach requirements in a way where the team could break down more complex problems into combinable components/services. Topics to be covered include:
- Divide and conquer
- Volatility based decomposition
- Devil's advocate approach to challenging design decisions
# Goals
- Learn how to identify areas of volatility and how to design to contain them.
- Highlight how different perspectives affect the solution to the same problem and how to take advantage of it.
- Define a common framework for clearing out requirements and identify solutions hiding behind the label "requirement".
# Process
The group is going to be split into teams of 2-3 people who are going to work with a customer to extract requirements based on a loose definition of a project. Each team is timeboxed to complete certain objectives and present them to the other teams where the entire group is going to digest and challenge the different solutions.
# Prerequisites
- White boards
- Flipcharts
- Pens and paper
# Preparation for the participants
No prerequisites for the participants.
Small optimizations for critical decisions
Martin is going to share lessons learned from a decade of developing and maintaining a large scale system that deals with streaming near real-time updates to the end users.
This one is about the small things engineers do day to day that could have big impact down the road but sometimes could get neglected.
A day in the life of an architect
Ever wondered how the digital world's foundations are laid?
In this interactive session, we'll unravel the mystery of the Software Development Life Cycle (SDLC) and reveal why it's crucial to every organization. Gain insights into the architect's position within a team, their technical responsibilities, and how they bring innovative ideas to life. Discover the pivotal role software architects play in shaping the technological landscape and how their decisions impact businesses and organizational structures.
This talk is a deep dive into software architecture, the SDLC process, and the responsibilities of the architecture role. It is suitable for all aspiring architects, tech enthusiasts, and curious minds: don't miss this opportunity to explore the dynamic world of software architecture and learn how to harness your potential in this ever-evolving field.
Github Copilot vs Reality
"GitHub Copilot vs Reality" is a 15-minute lecture designed to delve into the intersection of AI and software development. The session kicks off with an introduction to the role of AI in coding, followed by a quick primer on the GPT model that fuels GitHub Copilot. Attendees will gain insights into Copilot's features, capabilities, and limitations. The lecture will also address the gap between Copilot's theoretical promises and its real-world performance. Wrapping up, the talk will cover crucial topics like intellectual property and licensing issues. The aim is to offer a well-rounded view of GitHub Copilot and its impact on the software development ecosystem.
JS Experts 2024 Upcoming
[Workshop] A day in the life of an architect Upcoming
A team of two experienced architects working to solve a business request in front of an audience. The unique aspect of the event is that the audience is given an opportunity to interact with the architects and bring their different perspectives and limitations to the table. A dynamic and collaborative environment in which the architects can work to overcome the various challenges and limitations is presented to them. This event will provide valuable insights into the problem-solving and collaboration skills required from the role of the architect in a team.
DevBG
So, you think you do software architecture?
JSTalks
Lessons Learned: WebSockets
JSTalks Workshop
Designing software with volatility based decomposition
Drive-in Conf
So, you think you do QA?
QA:ChallengeAccepted
So, you think you do QA?
JSTalks
Workshop: Testable software
HackConf
Performance 101
JSTalks
Abstraction 101
Math.Random();
Online - Public interview for Sr. JS Developer
Geekle React Global
Online 24h conference - Integrating React into legacy projects
SofiaJS workgroup
The misunderstood abstraction
Math.random();
The Mythical Senior Developer {rev2}
JSTalks
The Mythical Senior Developer {rev1}
JSTalks
Scaling Your FrontEnd With Plugins
Guest Lecturer at SoftUni
Course: JS Applications
HackConf
SOLID Principles {part 1} - S
Guest Lecturer at SoftUni
Programming courses with JS.
Guest Lecturer at SoftUni
Functional Programming seminar
BeerJS
Combinations
SQLSaturday
NotADBTalk
ReactNotAConf
Plugins With TypeScript React and MobX
BeerJS
Tips&Tricks
JSTalks
Starting with programming
JSTalks
Understanding Clientside Performance
BeerJS
State Of Affairs
JazzDoIt
Architectural Styles
ReactNotAConf
Integrating React Into Legacy Projects
JSFest
SSE
JSTalks
SSE
Guest Lecturer at SoftUni
Career orientation
TechTalks
FrontEnd For Large Scale Applications
DevBG
JS OOP
Guest Lecturer at SoftUni
Career orientation day
JSTalks
JS Inheritance
BeerJS
JS Inheritance
SBTalks
FrontEnd For Large Scale Applications
BeerJS
Animation in the web browser
HackCafe
Workshop on responsive design.
TechTalks
JS Events
JSTalks
JS Events
ITWeekend
JS Events
BeerJS
Currying
Mobcon
UX In Mobile Web App Development
Uxify
Design And Development For Better UX
jQueryBulgaria
Touch Animations

Martin Chaov
Lead Software Architect @ DraftKings
Sofia, Bulgaria