Martin Chaov
Lead Software Architect @ DraftKings
Старши софтуерен архитект @ ДрафтКингс
Sofia, Bulgaria
Actions
Hi, I'm Martin, a seasoned software architect with over 15 years in the IT industry, currently at DraftKings. My expertise spans large-scale, real-time systems, and I'm behind some of the award-winning software solutions in the iGaming industry. I regularly share my knowledge on software design, distributed systems, AI tools, and software economics through public speaking and my blog.
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 software. Learn how to categorize and manage feature flags, navigate their lifecycle, and balance the benefits and risks. Ideal for architects, developers, product managers, and business leaders aiming for safer deployments, streamlined testing, and agile responses to market changes.
The session will cover:
- What is a feature flag?
- Types of flags
- Process and lifecycle
- Pros/Cons
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.
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.
The hidden reality of software economics: Demystifying TCO
In this talk, "The Hidden Reality of Software Economics: Demystifying TCO," we delve into the complexities of Total Cost of Ownership in software development. The session is designed to provide a comprehensive understanding of the various cost factors beyond initial development, including maintenance, compliance, security, and decommissioning.
Goals:
- Explore the full range of software development costs.
- Question common assumptions about software solutions and architectures.
- Highlight often overlooked aspects of software economics.
- Discuss the balance between cost reduction and maintaining quality.
Session Overview:
- Analyze real-world examples to understand TCO dynamics.
- Offer insights into effective cost management strategies.
- Facilitate discussions on the intricacies of software project costing.
- This session is aimed at professionals in software architecture and project management, focusing on an informed approach to managing software project costs.
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 almost a decade. 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 WebSockets 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 an explanation of how to get to some result. We will discuss how to approach them so that the team can break down more complex problems into combinable components/services. Topics to be covered include:
- Divide and conquer
- Volatility-based decomposition (based on frequency or potential for change of the component)
- 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 will be split into teams of 2-3 people who will work with a customer to extract requirements based on a loose definition of a project. Each unit is time-boxed to complete specific objectives and present them to the other teams, where the entire group will digest and challenge the different solutions.
# Prerequisites
- Whiteboards
- 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.
JS Experts 2024 Sessionize Event
[Workshop] A day in the life of an architect
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.
Beer.JS Summit 2023 Sessionize Event
Global Power Platform Bootcamp Bulgaria 2023 Sessionize Event
DevBG
So, you think you do software architecture?
JSTalks
Lessons Learned: WebSockets
JSTalks Bulgaria 2022 Sessionize Event
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 Bulgaria 2021 Sessionize Event
JSTalks
Workshop: Testable software
BeerJS Summit 2021 Sessionize Event
HackConf
Performance 101
JSTalks
Abstraction 101
JSTalks Bulgaria 2020 Sessionize Event
Math.Random();
Online - Public interview for Sr. JS Developer
Geekle React Global
Online 24h conference - Integrating React into legacy projects
BeerJS Summit 2020 Sessionize Event
SofiaJS workgroup
The misunderstood abstraction
Math.random();
The Mythical Senior Developer {rev2}
JSTalks Bulgaria 2019 Sessionize Event
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 Summit 2019 Sessionize Event
BeerJS
Combinations
SQLSaturday
NotADBTalk
ReactNotAConf
Plugins With TypeScript React and MobX
BeerJS
Tips&Tricks
JSTalks
Starting with programming
JSTalks
Understanding Clientside Performance
BeerJS Summit 2018 Sessionize Event
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
Links
Actions
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top