[
  {
    "num": 108,
    "season": 2026,
    "datetime": "2026-09-17T19:00:00+03:00",
    "place": {
      "addr": "Ahtri 6, Golden Gate, 10151 Tallinn, Estonia",
      "loc": "https://maps.app.goo.gl/6ffkAiWvhcmehrDt8",
      "name": "Wallester",
      "url": "https://wallester.com/blog/company/a-new-home-for-a-new-era-wallester-opens-its-headquarters-in-tallinns-golden-gate"
    },
    "org": {
      "mod": [],
      "photo": []
    },
    "photo": [],
    "event": "https://www.eventbrite.com/e/devclubee-108-franklin-ezeji-zeynep-oztug-tickets-2000051489846",
    "speeches": [
      {
        "org": {
          "cam": [],
          "edit": []
        },
        "lang": "en",
        "labels": [
        ],
        "youtube": [],
        "speakers": [
          {
            "image": "franklin-ezeji.jpeg",
            "names": {
              "*": "Franklin Ezeji"
            },
            "titles": {
              "*": "Senior Software Engineer @ Eesti Energia"
            },
            "url": "https://www.linkedin.com/in/franklin-ezeji-a68068160/"
          }
        ],
        "titles": {
          "*": "SchedNext: Building a Lightweight Agent Runtime for Cloud, Edge, and Embedded Systems"
        },
        "descr": {
          "*": [
            "Modern software systems increasingly need lightweight automation that can run reliably across cloud, edge, and embedded environments.",
            "In this talk, I will introduce SchedNext, a lightweight agent runtime designed to schedule, execute, and observe workloads through filesystem-native interfaces.",
            "I will walk through the architecture, design decisions, and challenges involved in building a portable runtime that can operate across different environments.",
            "The session will include a live demonstration of scheduling and running agents, showing how the same concepts can apply from server-side automation to edge devices."
          ]
        }
      },
      {
        "org": {
          "cam": [],
          "edit": []
        },
        "lang": "en",
        "labels": [],
        "youtube": [],
        "speakers": [
          {
            "image": "zeynep-oztug.jpeg",
            "names": {
              "*": "Zeynep Öztuğ"
            },
            "titles": {
              "*": "Engineering Lead"
            },
            "url": "https://www.linkedin.com/in/zeynep-%C3%B6ztu%C4%9F/"
          }
        ],
        "titles": {
          "*": "Thinking Beyond Code: Practical Engineering Decisions in Modern Systems"
        },
        "descr": {
          "*": [
            "Software engineering is often associated with writing code, but the real challenges appear in the decisions behind the code.",
            "How do we choose the right technologies? How do we balance speed, reliability, and complexity? And how do we make decisions that will still make sense years later?",
            "This talk explores the practical side of engineering: understanding tradeoffs, making technology choices, and thinking about systems rather than isolated components.",
            "Through real examples, we will look at how engineers move from simply implementing tasks to making decisions that shape resilient and maintainable systems."
          ]
        }
      }
    ]
  },
  {
    "num": 106,
    "season": 2026,
    "datetime": "2026-04-22T19:00:00+03:00",
    "place": {
      "addr": "Ahtri 6, Golden Gate, 10151 Tallinn, Estonia",
      "loc": "https://maps.app.goo.gl/6ffkAiWvhcmehrDt8",
      "name": "Wallester",
      "url": "https://wallester.com/blog/company/a-new-home-for-a-new-era-wallester-opens-its-headquarters-in-tallinns-golden-gate"
    },
    "org": {
      "mod": [],
      "photo": []
    },
    "photo": [],
    "event": "https://www.eventbrite.com/e/devclubee-106-dennis-garavsky-vladimir-ivanov-tickets-1987430963512?aff=oddtdtcreator&keep_tld=true",
    "speeches": [
      {
        "org": {
          "cam": [],
          "edit": []
        },
        "lang": "en",
        "labels": [
        ],
        "youtube": [],
        "speakers": [
          {
            "image": "dennis-garavsky.jpeg",
            "names": {
              "*": "Dennis Garavsky"
            },
            "titles": {
              "*": "Product Manager at DevExpress"
            },
            "url": "https://www.linkedin.com/in/dennis-garavsky/"
          }
        ],
        "titles": {
          "*": "Why I recommend Public Channels over Private Chats"
        },
        "descr": {
          "*": [
            "Why I recommend Public/Group Channels over Private Chats/Direct Messages for Effective Team Communications in Organizations",
            "Best practices for tools like MS Teams, Slack and similar group chat apps to foster information exchange, fuel idea development, save time, and avoid extra work and distraction in teams."
          ]
        }
      },
      {
        "org": {"cam": [], "edit": []},
        "lang": "en",
        "labels": [],
        "youtube": [],
        "speakers": [
          {
            "image": "vivanov.jpg",
            "names": {"*": "Vladimir Ivanov"},
            "titles": {"*": "CTO @ Supplied AI"},
            "url": "https://www.linkedin.com/in/%F0%9F%93%9A-vladimir-ivanov-a4440226/"
          }
        ],
        "titles": {"*": "What are AI agents?"},
        "descr": {
          "*": [
            "Every second startup is agentic AI something.",
            "But what this agentic really mean? What are the architecture of AI agents and approaches to build them?",
            "Let's figure out together!"
          ]
        }
      }
    ]
  },
  {
    "num": 105,
    "season": 2026,
    "datetime": "2026-03-04T19:00:00+02:00",
    "place": {
      "addr": "Ahtri 6, Golden Gate, 10151 Tallinn, Estonia",
      "loc": "https://maps.app.goo.gl/6ffkAiWvhcmehrDt8",
      "name": "Wallester",
      "url": "https://wallester.com/blog/company/a-new-home-for-a-new-era-wallester-opens-its-headquarters-in-tallinns-golden-gate"
    },
    "org": {
      "mod": [],
      "photo": []
    },
    "photo": [],
    "event": "https://www.eventbrite.com/e/devclubee-105-andrei-skopenko-andrei-solntsev-tickets-1983564140741",
    "speeches": [
      {
        "org": {
          "cam": [],
          "edit": []
        },
        "lang": "en",
        "labels": [
        ],
        "youtube": [],
        "speakers": [
          {
            "image": "andrei-skopenko.jpeg",
            "names": {
              "*": "Andrei Skopenko"
            },
            "titles": {
              "*": "VP of Engineering @ Wallester"
            },
            "url": "https://skopenko.net/"
          }
        ],
        "titles": {
          "*": "You Build It, You Run It: The Pain & Power of On-Call"
        },
        "descr": {
          "*": [
            "This presentation focuses on Incident Management I built in NoOnes from a cultural and operational perspective, emphasizing the principle of Full Ownership.",
            "It argues that engineers should be on-call to experience the consequences of their code, which naturally drives quality improvements like writing cleaner code and adding proper observability.",
            "The core message is \"You build what you run, you run what you build\", aligning with modern high-performing engineering organizations.",
            "Implementing this full ownership model creates closed-loop learning, reduces friction between Dev and Ops, and ultimately leads to fewer incidents.",
            "The presentation also describes the necessary structure for a proper process, including documentation, tooling, and focusing alerts on symptoms (SLIs/SLOs) rather than just noise.",
            "Finally, it highlights the critical need for a dedicated person to oversee and iterate on the entire incident management process."
          ]
        }
      },
      {
        "org": {"cam": [], "edit": []},
        "lang": "en",
        "labels": [],
        "youtube": [],
        "speakers": [
          {
            "names": {"*": "Andrei Solntsev"},
            "titles": {"*": "Software craftsman @ Codeborne"},
            "url": "https://ee.linkedin.com/in/asolntsev",
            "image": "asolntsev_2018.jpg"
          }
        ],
        "titles": {"*": "Flaky unit-tests"},
        "descr": {
          "*": [
            "Usually we think that UI tests are flaky and slow, while unit-tests are fast stable.",
            "Unit-test don't run browser, don't connect to database, don't call http services. They mock everything. What can possible go wrong?",
            "But is that really the case?",
            "It’s time to bust the myth that unit tests are immune to instability. Let's expose the 'dark side' of unit testing!",
            "I’ll share a series of nightmarish examples where unit tests failed unpredictably, and walk you through the detective work required to find and fix them."
          ]
        }
      }
    ]
  },
  {
    "num": 104,
    "season": 2026,
    "datetime": "2026-02-04T19:00:00+02:00",
    "place": {
      "addr": "Ahtri 6, Golden Gate, 10151 Tallinn, Estonia",
      "loc": "https://maps.app.goo.gl/6ffkAiWvhcmehrDt8",
      "name": "Wallester",
      "url": "https://wallester.com/blog/company/a-new-home-for-a-new-era-wallester-opens-its-headquarters-in-tallinns-golden-gate"
    },
    "org": {
      "mod": [],
      "photo": []
    },
    "photo": [],
    "event": "",
    "speeches": [
      {
        "org": {
          "cam": [],
          "edit": []
        },
        "lang": "en",
        "labels": [
        ],
        "youtube": [],
        "speakers": [
          {
            "image": "oluwafemi-shobande.jpeg",
            "names": {
              "*": "Oluwafemi Shobande"
            },
            "titles": {
              "*": "Senior Software Engineer @ Bolt"
            },
            "url": "https://www.linkedin.com/in/oluwafemi-shobande/"
          }
        ],
        "titles": {
          "*": "Durable Execution"
        },
        "descr": {
          "*": [
            "Durable execution is about building long running workflows that survive crashes.",
            "Specifically, I'll be showcasing the unique approach implemented in Aiki; an open source tool I'm building GitHub",
            "http://github.com/aikirun/aiki: Durable Execution Platform."
          ]
        }
      },
      {
        "org": {
          "cam": [],
          "edit": []
        },
        "youtube": [],
        "lang": "en",
        "labels": [
        ],
        "speakers": [
          {
            "image": "andrei-gornostajev.jpeg",
            "names": {
              "*": "Andrei Gornostajev"
            },
            "titles": {
              "*": "Chief Technology Officer @ Wallester"
            },
            "url": "https://www.linkedin.com/in/andreigornostajev/"
          }
        ],
        "titles": {
          "*": "Software Development in a Regulated Environment"
        },
        "descr": {
          "en": [
            "This talk explores how software development actually works inside a financially regulated company, using Wallester as a real-world example.",
            "It challenges common myths that regulation slows teams down or forces heavy bureaucracy, showing instead how good engineering practices naturally align with compliance needs.",
            "I’ll explain what “being regulated” really means for developers, focusing on practical IT risks rather than legal theory.",
            "The talk covers how Wallester manages those risks through embedded controls such as identity and access management, secure software development and change management, monitoring and logging, incident and vulnerability management, data encryption, and backup and business continuity planning.",
            "The goal is to show that many regulatory controls are simply well-executed engineering practices with accountability and traceability built in."
          ]
        }
      }
    ]
  },
  {
    "num": 103,
    "season": 2026,
    "datetime": "2025-12-18T19:00:00+02:00",
    "place": {
      "addr": "Liivalaia 34, 15040 Tallinn",
      "loc": "https://maps.app.goo.gl/9VuZ2HD3xzjhPzNk6",
      "name": "Swedbank",
      "url": "https://swedbank.ee/private/home/contacts"
    },
    "org": {
      "mod": [],
      "photo": []
    },
    "photo": [],
    "event": "https://www.eventbrite.com/e/devclubee-103-markus-backman-aleksei-gussarov-rustavil-nurkaev-tickets-1976728608480",
    "speeches": [
      {
        "org": {
          "cam": [],
          "edit": []
        },
        "youtube": [],
        "lang": "en",
        "labels": [
          "programming",
          "microservice",
          "java",
          "finances"
        ],
        "speakers": [
          {
            "image": "markus-backman.jpeg",
            "names": {
              "*": "Markus Backman"
            },
            "titles": {
              "*": "Technology Enterprise Architect"
            },
            "url": "https://www.linkedin.com/in/markus-backman/"
          }
        ],
        "titles": {
          "*": "Andromeda: Opinionated Micro-services That Scale at a Bank — our journey in platform engineering"
        },
        "descr": {
          "en": [
            "Moving towards micro-services can, if not careful, lead to chaos: inconsistent practices, unpredictable releases, maintenance burden, and slow velocity. In a highly regulated environment like banking, this chaos isn’t just inconvenient — it becomes a compliance, security, and operational risk.",
            "In this talk we present Andromeda, our opinionated micro-service platform — not just a technical foundation, but a disciplined approach to delivering software safely and consistently at scale.",
            "",
            "We will cover:",
            " * What Andromeda is: the tech stack, the runtime model, and the built-in safety rails that shape how teams build, test, deploy, and run micro-services.",
            " * How we do it: the processes, governance, and automated controls that ensure developer autonomy while embedding compliance-by-design — essential for a bank operating under strict regulation.",
            " * Who powers it: the teams, culture, and shared responsibility model that make platform engineering work in practice.",
            " * Why we built it: the challenges of fragmented service landscapes, compliance overhead, and operational inconsistency — and how an opinionated platform helped us regain control and accelerate delivery.",
            " * Where we are now: lessons learned, what worked, what didn’t, and how the platform continues to evolve.",
            "",
            "This talk is valuable for anyone building or operating micro-services, especially in regulated or large-scale environments. You’ll get practical insights into how a platform-centric, opinionated approach can create speed, reliability, and compliance — all at the same time."
          ]
        }
      },
      {
        "org": {
          "cam": [],
          "edit": []
        },
        "lang": "en",
        "labels": [
          "programming",
          "microservice",
          "java",
          "finances"
        ],
        "youtube": [],
        "speakers": [
          {
            "image": "aleksei-gussarov.jpeg",
            "names": {
              "*": "Aleksei Gussarov"
            },
            "titles": {
              "*": "Baltic Channels Architect"
            },
            "url": "https://www.linkedin.com/in/alekseigussarov/"
          },
          {
            "image": "rustavil-nurkaev.jpeg",
            "names": {
              "*": "Rustavil Nurkaev"
            },
            "titles": {
              "*": "Baltic Channels Software Engineer"
            },
            "url": "https://www.linkedin.com/in/rustavil/"
          }
        ],
        "titles": {
          "*": "Andromeda platform: hands-on developer experience"
        },
        "descr": {
          "*": [
            "In this practical, end-to-end demo, we’ll walk through the full lifecycle of a Java application running on the Andromeda Platform—from project creation (or certain feature development) to deployment in managed environments.",
            "You’ll see how the platform delivers a streamlined Developer Experience that accelerates delivery through efficient project setup, automated CI/CD pipelines, environment management, built-in observability, and risk-aware change controls."
          ]
        }
      }
    ]
  },
  {
    "num": 102,
    "season": 2025,
    "datetime": "2025-11-18T19:00:00+02:00",
    "place": {
      "addr": "Kopli tn 68a, 10412 Tallinn", "loc": "https://maps.app.goo.gl/8G7Q95boekzc7u286",
      "name": "Wise", "url": "https://wise.com/"
    },
    "org": {"mod": [], "photo": []},
    "photo": [],
    "event": "https://www.eventbrite.com/e/devclubee-102-dmytro-hnatiuk-anna-shishkova-tickets-1925395161759?aff=oddtdtcreator",
    "speeches": [
      {
        "org": {"cam": [], "edit": []},
        "youtube": ["k1lDnCNCNhI"], "lang": "en",
        "labels": ["programming", "database", "finances"],
        "speakers": [
          {
            "image": "dhnatiuk.jpg",
            "names": {"*": "Dmytro Hnatiuk"},
            "titles": {"*": "Principal Software Engineer @ Wise"},
            "url": "https://www.linkedin.com/in/dhnatiuk/"
          }
        ],
        "titles": {
          "*": "Scaling a Beast: Lessons from 400x Growth in a High-Stakes Financial System"
        },
        "descr": {
          "en": [
            "Scaling a system from 66 million to over 25 billion records is no easy feat - especially when it’s a core financial system where every number has to be right, and data needs to be fresh right now. In this session, I’ll share the ups and downs of managing this kind of growth without losing my sanity. You’ll learn how to balance high data accuracy with real-time performance, optimize your app logic, and avoid the usual traps of database scaling. This isn’t about turning you into a database expert - it’s about giving you the practical, no-BS strategies you need to scale your systems without getting overwhelmed by technical headaches. Perfect for engineers and architects who want to tackle big challenges and come out on top."
          ]
        }
      },
      {
        "org": {"cam": [], "edit": []},
        "lang": "en",
        "labels": ["User Experience", "Service design", "Product"],
        "youtube": ["OFjK-EoVJHs"],
        "speakers": [
          {
            "image": "anna_shishkova.jpeg",
            "names": {"*": "Anna Shishkova"},
            "titles": {"*": "Product Business Analyst"},
            "url": "https://www.linkedin.com/in/anna-shishkova-3b435264/"
          }
        ],
        "titles": {"*": "Service Design in Action: From Concepts to Real-World Impact"},
        "descr": {
          "*": [
            "This presentation explores the essence of Service Design — what it is, who it’s for, and how it helps organizations create meaningful value. Through practical examples, we’ll look at how service design principles drive innovation and improve customer experiences across industries."
          ]
        }
      }
    ]
  },
  {
    "num": 101,
    "season": 2025,
    "datetime": "2025-10-07T19:00:00+03:00",
    "place": {
      "name": "Askend", "loc": "https://maps.app.goo.gl/5zSHSSQestoERXcJ9",
      "addr": "Tartu mnt 80f, 2nd floor, Tallinn 10137", "url": "https://maps.app.goo.gl/NepvKvm79FwovdxJ6"
    },
    "org": {"mod": [], "photo": []},
    "photo": [],
    "event": "",
    "speeches": [
      {
        "org": {"cam": [], "edit": []},
        "youtube": ["aPy7-LamA3Q"], "lang": "en",
        "labels": ["programming", "teaching", "AI"],
        "speakers": [
          {
            "image": "vivanov.jpg",
            "names": {"*": "Vladimir Ivanov"},
            "titles": {"*": "CTO @ getsupplied.ai, ex-Bolt"},
            "url": "https://www.linkedin.com/in/%F0%9F%93%9A-vladimir-ivanov-a4440226/"
          }
        ],
        "titles": {
          "*": "Building solutions that work"
        },
        "descr": {
          "en": [
            "People would rush complex technical solutions, build wrong things and live with the product which nobody is using. In this talk we will discuss why it happens, how to find an idea, what pitfalls to avoid and what principles will guide you through a product creation."
          ]
        }
      },
      {
        "org": {"cam": [], "edit": []},
        "lang": "en",
        "labels": [],
        "youtube": ["k1lDnCNCNhI"],
        "speakers": [
          {
            "image": "bumurzokov.jpg",
            "names": {"*": "Bobur Umurzokov"},
            "titles": {"*": "Developer Advocate"},
            "url": "https://www.linkedin.com/in/boburumurzokov/"
          }
        ],
        "titles": {"*": "MCP tools as your database engineer"},
        "descr": {
          "*": [
            "Let's explore how AI agents and MCP tools can automate everything from db schema design and versioning to seeding and testing data. You save 20% of your development time."
          ]
        }
      }
    ]
  },
  {
    "num": 100,
    "season": 2025,
    "datetime": "2025-09-03T19:00:00+03:00",
    "place": {
      "name": "Inbank", "loc": "https://maps.app.goo.gl/rbxqPxu7HRu4LSNE6",
      "addr": "Niine 11, 2A floor (Kalamaja, Tallinn)", "url": "https://maps.app.goo.gl/rbxqPxu7HRu4LSNE6"
    },
    "org": {"mod": [], "photo": []},
    "photo": [],
    "event": "https://www.eventbrite.com/e/devclubee-100-olga-khodyreva-dmytro-kolomiets-kulli-siimon-tickets-1606830215429?utm-campaign=social&utm-content=attendeeshare&utm-medium=discovery&utm-term=listing&utm-source=cp&aff=ebdsshcopyurl",
    "speeches": [
      {
        "org": {"cam": [], "edit": []},
        "youtube": ["AR6Kd3iDH3w"], "lang": "en",
        "labels": ["programming", "teaching", "AI"],
        "speakers": [
          {
            "image": "okhodyreva.jpg",
            "names": {"*": "Olga Khodyreva"},
            "titles": {"*": "Educational Technologist"},
            "url": "https://www.linkedin.com/in/olga-khodyreva-a6118a17b/"
          }
        ],
        "titles": {
          "*": "Teaching IT in schools"
        },
        "descr": {
          "en": [
            "The reality of school IT: how children master programming and design, create cool projects and find it interesting. Which programs and methods really work in the classroom and what difficulties they face. Personal experience, examples of students' work and a look at modern school computer science, as well as the role and possibilities of AI for schoolchildren."
          ]
        }
      },
      {
        "org": {"cam": [], "edit": []},
        "lang": "en",
        "labels": [],
        "youtube": ["Eci2QpEyDZQ"],
        "speakers": [
          {
            "names": {"*": "Dmytro Kolomiets"},
            "titles": {"*": "Engineering Manager @ Inbank, mentor, AI enthusiast, over 13+ years in IT, ex-Bolt, ex-Microsoft."},
            "url": "",
            "image": "dmytro-kolomiets.png"
          },
          {
            "names": {"*": "Külli Siimon"},
            "titles": {"*": "Senior Tech Lead @ Inbank, 7+ years in IT, psychologist in heart. You can find me figuring life out with Cursor, Cappuccino and Corgi by my side."},
            "url": "",
            "image": "külli-siimon.png"
          }
        ],
        "titles": {"*": "Engineer 2.0: The Playbook Big Tech Wrote – Now You Will Be Using"},
        "descr": {
          "*": [
            "Big Tech quietly rewrote the job and the change is reaching everyone else. Amazon, Microsoft, and Google reset how software is planned, built, and measured, and those norms are flowing into startups and mid‑size teams. AI copilots raise the performance bar. People partners and managers reshape definition of “ownership.” Product sense and cost discipline are now non‑negotiable. Engineers must reason like PMs; PMs must think like system designers. Output isn’t the bar, but outcomes are.\n\nJoin us to decode the new skill stack and leave with a playbook whether you ship code or roadmaps.\n\nWho should attend: software engineers, PMs, tech leads, EMs, and founders who want to stay on the top of competitive market."
          ]
        }
      }
    ]
  },
  {
    "num": 99,
    "season": 2025,
    "datetime": "2025-06-30T19:00:00+03:00",
    "place": {
      "name": "Askend", "loc": "https://maps.app.goo.gl/5zSHSSQestoERXcJ9",
      "addr": "Tartu mnt 80f, 2nd floor, Tallinn 10137", "url": "https://maps.app.goo.gl/NepvKvm79FwovdxJ6"
    },
    "org": {"mod": [], "photo": []},
    "photo": [],
    "event": "https://www.eventbrite.com/e/devclubee-99-oleg-golovachov-andrei-solntsev-tickets-1434472468769",
    "speeches": [
      {
        "org": {"cam": [], "edit": []},
        "youtube": ["TkQ5lwghvlI"], "lang": "en",
        "labels": ["management", "soft skills"],
        "speakers": [
          {
            "image": "ogolovachov.jpg",
            "names": {"*": "Oleg Golovachov"},
            "titles": {"*": "Entrepreneur, ex-CTO @ Blocktrade"},
            "url": "https://www.linkedin.com/in/oleg-golovachov-80b16a1/"
          }
        ],
        "titles": {
          "*": "Why Managers Aren't As Dumb As We Thought"
        },
        "descr": {
          "en": [
            "When you're a developer, it often feels like managers get in the way of “real work,” don’t understand priorities, and generally slow down progress. In this talk, I’ll share how my perspective changed after I went through the journey from developer to CTO. Why management makes “strange” decisions, how a product looks from different levels, and what’s actually behind what seems like sabotage. This talk is an honest insider’s look and an attempt to build a bridge between code and management."
          ]
        }
      },
      {
        "org": {"cam": [], "edit": []},
        "lang": "en",
        "labels": ["offtopic"],
        "youtube": ["dhqhHm5rc3A"],
        "speakers": [
          {
            "names": {"*": "Andrei Solntsev"},
            "titles": {"*": "Software craftsman @ Codeborne"},
            "url": "https://ee.linkedin.com/in/asolntsev",
            "image": "asolntsev_2018.jpg"
          }
        ],
        "titles": {"*": "Why do we have 7 notes?"},
        "descr": {
          "*": [
            "Why do we have 7 notes? Why not 6 or 8? I will show the answer using programming, mathematics and live instruments."
          ]
        }
      }
    ]
  },
  {
    "num": 98,
    "season": 2025,
    "datetime": "2025-03-26T19:00:00+02:00",
    "place": {
      "name": "Askend", "loc": "https://maps.app.goo.gl/5zSHSSQestoERXcJ9",
      "addr": "Tartu mnt 80f, 2nd floor, Tallinn 10137", "url": "https://maps.app.goo.gl/NepvKvm79FwovdxJ6"
    },
    "org": {"mod": [], "photo": []},
    "photo": [],
    "event": "https://www.eventbrite.com/e/devclubee-98-konstantin-pavlov-stanislav-belyaev-tickets-1277814992039",
    "speeches": [
      {
        "org": {"cam": [], "edit": []},
        "youtube": ["pmB-QPwu7Qo"], "lang": "en",
        "labels": ["programming", "LLM", "Kotlin"],
        "speakers": [
          {
            "image": "kpavlov.jpg",
            "names": {"*": "Konstantin Pavlov"},
            "titles": {"*": "Software Engineer @ Twilio"},
            "url": "https://www.linkedin.com/in/kpavlov/"
          }
        ],
        "titles": {
          "*": "Bringing LangChain4j to Kotlin"
        },
        "descr": {
          "en": [
            "LangChain4j is a Java library that simplifies working with Large Language Models (LLMs). But using it in Kotlin isn’t always seamless—especially when working with coroutines. In this talk, I’ll share my experience creating a Kotlin wrapper for LangChain4j, making its API more natural for Kotlin developers. I’ll show how to adapt Java APIs for coroutines and demonstrate practical examples: 1) Building AI-powered services for an RPG game. 2) Testing AI integrations with the ai-mocks library. If you’re looking to integrate LLMs into Kotlin projects, this session will give you a solid starting point."
          ]
        }
      },
      {
        "org": {"cam": [], "edit": []},
        "youtube": ["cXYSW1NMTJM"], "lang": "en",
        "labels": ["management", "soft skills"],
        "speakers": [
          {
            "image": "sbelyaev.jpg",
            "names": {"*": "Stanislav Belyaev"},
            "titles": {"*": "Technical Product Manager @ Microsoft"},
            "url": "https://www.linkedin.com/in/stanislav-belyaev/"
          }
        ],
        "titles": {
          "*": "Authority, Power, and Expertise: How Do They Shape Your Work?"
        },
        "descr": {
          "en": [
            "What happens when someone gains authority? They gain power and influence over others. This talk explores different types of power, how they manifest in professional settings—through titles, symbols of authority, and expertise—and their impact on decision-making. We’ll examine how experts and leaders can recognize and mitigate authority bias, ensuring sound, unbiased decisions. Whether you’re a manager, team lead, or a technical expert, understanding these dynamics can help you navigate influence responsibly. Based on research on power and authority, this talk provides practical insights for technical professionals."
          ]
        }
      }
    ]
  },
  {
    "num": 97,
    "season": 2025,
    "datetime": "2024-12-11T19:00:00+03:00",
    "place": {
      "name": "Askend", "loc": "https://maps.app.goo.gl/5zSHSSQestoERXcJ9",
      "addr": "Tartu mnt 80f, 2nd floor, Tallinn 10137", "url": "https://maps.app.goo.gl/NepvKvm79FwovdxJ6"
    },
    "org": {"mod": [], "photo": []},
    "photo": ["https://photos.app.goo.gl/U4RH4JeSX1mtY4aY6", "https://photos.app.goo.gl/7M3mAQbUijbHkaYb9"],
    "event": "https://www.eventbrite.com/e/devclubee-97-andrei-sbitnev-bobur-umurzokov-tickets-1086046848359",
    "speeches": [
      {
        "org": {"cam": [], "edit": []},
        "youtube": ["8exidHe6Zf0"], "lang": "en",
        "speakers": [
          {
            "image": "asbitnev.jpg",
            "names": {"*": "Andrei Sbitnev"},
            "titles": {"*": "TypeScript developer @ xDataGroup"},
            "url": "https://ee.linkedin.com/in/andrei-sbitnev-a6995811a"
          }
        ],
        "titles": {
          "*": "Building 3D game models using AI"
        },
        "descr": {
          "en": [
            "Using my pet project as an example, I’ll explain how to create 3D models for games using Stable Diffusion and Tripo AI. figurix.com is my pet project that lets you create a cartoon-style 3D model from a single photo."
          ]
        }
      },
      {
        "org": {"cam": [], "edit": []},
        "youtube": ["71UguiWCFBw"], "lang": "en",
        "labels": ["management", "hr"],
        "speakers": [
          {
            "image": "bumurzokov.jpg",
            "names": {"*": "Bobur Umurzokov"},
            "titles": {"*": "Developer Advocate"},
            "url": "https://www.linkedin.com/in/boburumurzokov/"
          }
        ],
        "titles": {
          "*": "You will never take test assignment home again"
        },
        "descr": {
          "en": [
            "In this talk, we’ll explore why home tasks often feel like unpaid labor and the lack of context they provide about real-world job expectations. I'll also share alternative approaches to technical interviews that focus on a fairer evaluation process."
          ]
        }
      }
    ]
  },
  {
    "num": 96,
    "season": 2024,
    "datetime": "2024-09-26T19:00:00+03:00",
    "place": {
      "name": "Bally's Estonia", "loc": "https://maps.app.goo.gl/j9TzdTRg5sUw3CGQA",
      "addr": "Rotermanni 6, 10111 Tallinn, 6th floor", "url": "https://maps.app.goo.gl/j9TzdTRg5sUw3CGQA"
    },
    "org": {"mod": [], "photo": []},
    "photo": ["https://photos.app.goo.gl/mNvD5PnDDN3bCaRT6"],
    "event": "https://www.eventbrite.com/e/devclubee-96-miguel-caron-bobur-umurzokov-tickets-1015186459027",
    "speeches": [
      {
        "org": {"cam": [], "edit": []},
        "youtube": ["4cWlDqfWUvo"], "lang": "en",
        "speakers": [
          {
            "image": "mcaron.jpg",
            "names": {"*": "Miguel Caron"},
            "titles": {"*": "General Manager Bally's Estonia"},
            "url": "https://www.linkedin.com/in/miguelcaronceo/"
          }
        ],
        "titles": {
          "*": "6 Leadership Styles and how to use them based on the context."
        },
        "descr": {
          "en": [
            "Leadership styles are Leaders tools in their toolbox. I will show them which tools to use when. "
          ]
        }
      },
      {
        "org": {"cam": [], "edit": []},
        "youtube": ["SBTox_Gc-wU"], "lang": "en",
        "speakers": [
          {
            "image": "bumurzokov.jpg",
            "names": {"*": "Bobur Umurzokov"},
            "titles": {"*": "Developer Advocate"},
            "url": "https://www.linkedin.com/in/boburumurzokov/"
          }
        ],
        "titles": {
          "*": "Python-based data streaming pipelines within minutes"
        },
        "descr": {
          "en": [
            "No shards, No partitions, No Kafka. You will learn how to use modern and free-to-start tools like GlassFlow, Debezium, NATS message broker, Docker, and Kubernetes to build a sample end-to-end AI-powered data pipeline."
          ]
        }
      }
    ]
  },
  {
    "num": 95,
    "season": 2024,
    "datetime": "2024-07-23T19:00:00+03:00",
    "place": {
      "name": "Askend", "loc": "https://maps.app.goo.gl/5zSHSSQestoERXcJ9",
      "addr": "Tartu mnt 80f, 2nd floor, Tallinn 10137", "url": "https://maps.app.goo.gl/NepvKvm79FwovdxJ6"
    },
    "org": {"mod": [], "photo": []},
    "photo": ["https://photos.app.goo.gl/7n3TFFZJHjQEJTAy6"],
    "event": "https://www.eventbrite.com/e/devclubee-95-andrey-adamovich-bobur-umurzokov-tickets-949318676717",
    "speeches": [
      {
        "org": {"cam": [], "edit": []},
        "youtube": ["x8MAIx7em5U"], "lang": "en",
        "speakers": [
          {
            "image": "aadamovich.jpg",
            "names": {"*": "Andrey Adamovich"},
            "titles": {"*": "CTO @ VLAVI Group"},
            "url": "https://www.linkedin.com/in/andreyadamovich/"
          }
        ],
        "titles": {
          "*": "Supply chain attacks: examples and mitigation"
        },
        "descr": {
          "en": [
            "In this talk, we explore well-known and lesser-known  attack vectors for software delivery pipelines and supply chains (log4shell, SolarWinds, browseraluod, leftPad, and others). Our digital world relies heavily on software, and there are various ways this software can be compromised, affecting everything from individual apps on our phones to the global networks that keep our societies running."
          ]
        }
      }
    ]
  },
  {
    "num": 94,
    "season": 2024,
    "datetime": "2024-04-18T19:00:00+03:00",
    "place": {
      "addr": "Veerenni 24, 10135 Tallinn", "loc": "https://maps.app.goo.gl/8G7Q95boekzc7u286",
      "name": "Wise", "url": "https://wise.com/"
    },
    "org": {"mod": [], "photo": []},
    "photo": ["https://photos.app.goo.gl/B5xL2rNXMoV5jEbc8"],
    "event": "https://www.eventbrite.com/e/881743256817",
    "speeches": [
      {
        "org": {"cam": [], "edit": []},
        "youtube": [""], "lang": "en",
        "speakers": [
          {
            "image": "danjos.jpg",
            "names": {"*": "Daniel Arruda Santos Anjos"},
            "titles": {"*": "Engineering Lead @ Wise"},
            "url": "https://www.linkedin.com/in/dasanjos/"
          }
        ],
        "titles": {
          "*": "Being a Product Engineer at Wise"
        },
        "descr": {
          "en": [
            "Join us for an exclusive peek into the world of product engineering at Wise. Our Engineering Lead Daniel Arruda Santos Anjos will take the stage to unravel the mysteries and unveil the essence of being a product engineer. Get ready to delve into firsthand experiences straight from our speaker, as we decode the journey of engineering excellence at Wise."
          ]
        }
      },
      {
        "org": {"cam": [], "edit": []},
        "youtube": [""], "lang": "en",
        "speakers": [
          {
            "image": "akeks.jpg",
            "names": {"*": "Anton Keks"},
            "titles": {"*": "Co-founder @Codeborne"},
            "url": ""
          }
        ],
        "titles": {
          "*": "Breaking Chains: Confronting Common Productivity Hurdles in Modern Software Development"
        },
        "descr": {
          "en": [
            "Having had the opportunity to work with various organizations and teams on software projects in recent years, I've realized that many teams blindly follow established best practices or technologies without realizing that some of them can actually hinder productivity, causing delays in meeting project deadlines and diminishing developer satisfaction. Often, developers or managers, stressed by impending deadlines, worsen their situation by adopting even more inefficient practices or intentionally accruing technical debt, further complicating their circumstances.",
            "In this talk, I'll explain why some popular practices might not be as effective as commonly believed, highlighting the actual problems they solve and the specific situations in which they could be beneficial. These examples draw from my 20+ years of experience and the recognition of my company, Codeborne, as one of the more quick and efficient software development partners.",
            "Let's reconsider how teams can work more enjoyably and efficiently, minimizing wasted time. The goal is to illustrate that there are alternative, more effective ways to develop software and to give you ideas to make better choices when initiating a new project or improving your current practices."
          ]
        }
      }
    ]
  },
  {
    "num": 93,
    "season": 2024,
    "datetime": "2023-12-07T19:00:00+02:00",
    "place": {
      "addr": "Lõõtsa 1A, 11415 Tallinn", "loc": "https://maps.app.goo.gl/te7isiafUrA3EZRc7",
      "name": "Rush Street Interactive", "url": "https://www.rushstreetinteractive.com/"
    },
    "org": {"mod": [], "photo": ["gbeskin"]},
    "photo": ["https://photos.app.goo.gl/TwHif2cusA3BeLmT7"],
    "event": "https://www.eventbrite.com/e/devclub-93-christmas-special-rsi-tickets-769855076257",
    "speeches": [
      {
        "org": {"cam": [], "edit": []},
        "youtube": [""], "lang": "en",
        "speakers": [
          {
            "image": "kkann.jpg",
            "names": {"*": "Kaarel Kann"},
            "titles": {"*": "Server Engineer @ RSI"},
            "url": ""
          }
        ],
        "titles": {
          "*": "Demystifying Feature Lead"
        },
        "descr": {
          "en": [
            "Software can be developed and delivered in multitude of ways. Waterfall and agile both have their places in software world. There is, however, one thing in common in development processes when we look at great software (and delivery efficiency): these teams or companies have great leaders.",
            "I'll explore the idea that a great leader doesn't have to have a title to lead. We can create the leadership within a team to move closer to engineering driven development in order to deliver great software faster."
          ]
        }
      },
      {
        "org": {"cam": [], "edit": []},
        "youtube": [""], "lang": "en",
        "speakers": [
          {
            "image": "spirohov.jpg",
            "names": {"*": "Serhii Pirohov"},
            "titles": {"*": "QA Manager"},
            "url": ""
          }
        ],
        "titles": {
          "*": "How to test an FPV drone"
        },
        "descr": {
          "en": [
            "Many have seen how FPV drones work, but just as many have not delved into the topic of what they are made of and how they are tested. In my presentation, I will talk about how it all works and how the testing process takes place. This topic is very interesting because it involves the intersection of both hardware and software components."
          ]
        }
      }
    ]
  },
  {
    "num": 92,
    "season": 2023,
    "datetime": "2023-11-09T19:00:00+02:00",
    "place": {
      "addr": "Lõõtsa 5, 11415 Tallinn", "loc": "https://maps.app.goo.gl/Eov3fvn4NVSjVRYL7",
      "name": "Playtech", "url": "https://playtech.com/"
    },
    "org": {"mod": [], "photo": []},
    "photo": ["https://photos.app.goo.gl/7GQDFsNAgseZ1SQGA"],
    "event": "https://www.eventbrite.com/e/devclub-92-playtech-tickets-749543533887",
    "speeches": [
      {
        "org": {"cam": [], "edit": []},
        "youtube": ["BPsjtB86L9w"], "lang": "en",
        "speakers": [
          {
            "image": "vkanemagi.jpg",
            "names": {"*": "Valdo Kanemägi"},
            "titles": {"*": "Operating Systems Team Lead @ Playtech"},
            "url": "https://www.linkedin.com/in/valdo-kanem%C3%A4gi-2637b990/"
          }
        ],
        "titles": {
          "*": "Running a private cloud - the good, the bad and the ugly!"
        },
        "descr": {
          "en": [
            "A brief introduction to Playtech private cloud solution. How it came to be, what are the challenges and how we manage it."
          ]
        }
      },
      {
        "org": {"cam": [], "edit": []},
        "youtube": ["BPsjtB86L9w&t=1h40m48s"], "lang": "en",
        "speakers": [
          {
            "image": "asolntsev.jpg",
            "names": {"*": "Andrei Solntsev"},
            "titles": {"*": "Software developer @ Codeborne"},
            "url": "https://www.linkedin.com/in/asolntsev/"
          }
        ],
        "titles": {
          "*": "How to debug autotests"
        },
        "descr": {
          "en": [
            "How to solve typical problems: enabling debug logs, setting breakpoints, reading thread dumps, resolving dependencies, and so on.",
            "Seemingly basic things, but many people don't know or use all of this."
          ]
        }
      }
    ]
  },
  {
    "num": 91,
    "season": 2023,
    "datetime": "2023-10-26T19:00:00+03:00",
    "place": {
      "addr": "Sepise 8, 11415 Tallinn", "loc": "https://maps.app.goo.gl/4EBKqmuhxRUt82kK6",
      "name": "Codeborne", "url": "https://codeborne.com/"
    },
    "org": {"mod": [], "photo": ["lskorinskaya"]},
    "photo": ["https://photos.app.goo.gl/NebCKc7eGtK1S6uQ8"],
    "event": "https://www.eventbrite.com/e/devclub-91-codeborne-tickets-739371137977",
    "speeches": [
      {
        "org": {"cam": [], "edit": ["klinnik"]},
        "youtube": ["cjgFTUiF0Pg"], "lang": "en",
        "speakers": [
          {
            "image": "ejogi.jpg",
            "names": {"*": "Erik Jõgi"},
            "titles": {"*": "Founder, Codeborne"},
            "url": "https://www.linkedin.com/in/erikjogi/"
          }
        ],
        "titles": {
          "*": "eXtreme Programming IRL Part 2"
        },
        "descr": {
          "en": [
            "Erik will further elaborate on Codeborne's ongoing journey with eXtreme Programming."
          ]
        }
      },
      {
        "org": {"cam": [], "edit": ["klinnik"]},
        "youtube": ["xo-4bamhSfI"], "lang": "en",
        "speakers": [
          {
            "image": "vivanov.jpg",
            "names": {"*": "Vladimir Ivanov"},
            "titles": {"*": "Senior Engineering Manager, Bolt"},
            "url": "https://www.linkedin.com/in/%F0%9F%93%9A-vladimir-ivanov-a4440226/"
          }
        ],
        "titles": {
          "*": "Introduction to Frugal Software Architecture"
        },
        "descr": {
          "en": [
            "Imagine the scenario of countless startups that secure substantial investments only to squander them on expensive hires and extravagant resources without much thought. These companies, lured by the promise of rapid growth and success, fail to assess the long-term consequences of their spending choices. As a result, they find themselves grappling with bloated budgets, inefficient processes, and limited runway to sustain their operations, not to mention laying off the staff, they were so eager to hire.",
            "Welcome to Frugal Software Architecure: a set of principles to balance strategic investments and cost optimizations to achieve big goals."
          ]
        }
      }
    ]
  },
  {
    "num": 90,
    "season": 2023,
    "datetime": "2023-09-07T19:00:00+03:00",
    "place": {
      "addr": "Veerenni 24, 10135 Tallinn", "loc": "https://goo.gl/maps/YoywzWCGFSJBu3aK6",
      "name": "Wise", "url": "https://wise.com/"
    },
    "org": {"mod": [], "photo": []},
    "photo": ["https://photos.app.goo.gl/DyWkqJ1tafZ7odCN6"],
    "event": "https://www.eventbrite.com/e/devclub-90-wise-september-7-2023-tickets-710344548667",
    "speeches": [
      {
        "org": {"cam": [], "edit": []},
        "youtube": ["ezxEJq_0kIA"], "lang": "en",
        "speakers": [
          {
            "image": "dhnatiuk.jpg",
            "names": {"*": "Dmytro Hnatiuk"},
            "titles": {"*": "Staff Engineer, Wise"},
            "url": "https://www.linkedin.com/in/dhnatiuk/"
          }
        ],
        "titles": {
          "*": "ServiceWise"
        },
        "descr": {
          "en": [
            "Get ready to dive into the age-old tech debate – monoliths or microservices – with a twist! Our speaker, Dmytro Hnatiuk from Wise, is about to take us on a journey through the services that power Wise's world. Ever wondered how scaling impacts the services we rely on? Dmytro's got the scoop. He'll chat about what stays, what changes, and what's on the horizon as Wise keeps growing."
          ]
        }
      },
      {
        "org": {"cam": [], "edit": []},
        "youtube": ["9pRNSKDHCRI"], "lang": "en",
        "speakers": [
          {
            "image": "bumurzokov.jpg",
            "names": {"*": "Bobur Umurzokov"},
            "titles": {"*": "Developer Advocate"},
            "url": "https://www.linkedin.com/in/boburumurzokov/"
          }
        ],
        "titles": {
          "*": "Powering ChatGPT with your own data"
        },
        "descr": {
          "en": [
            "An AI chatbot like ChatGPT can not answer questions about unfamiliar topics, recent events after 2021, or non-public documents. This task gets even more complicated when you deal with data that constantly changes. What should you do?",
            "This presentation showcases a solution to these hurdles. You will learn how to build your AI app and how language models such as those provided by OpenAI (Embeddings) and Pathway Python libraries can query real-time data intelligently without vector databases. This method opens up the potential to build solid systems for retrieving information, recommending content, or even making chatbots that answer user questions based on ever-changing streaming data."
          ]
        }
      }
    ]
  },
  {
    "num": 89,
    "season": 2023,
    "datetime": "2023-07-04T19:00:00+03:00",
    "place": {
      "addr": "Sepise 8, 11415 Tallinn", "loc": "https://goo.gl/maps/NHJdcu348AbVzJZm9",
      "name": "Codeborne", "url": "https://codeborne.com/"
    },
    "org": {"mod": ["sgorski"], "photo": ["klinnik"]},
    "photo": ["https://photos.app.goo.gl/LmjX3uFiz35Mtp3p6"],
    "event": "https://www.eventbrite.com/e/devclub-89-codeborne-special-tickets-668383070757",
    "speeches": [
      {
        "org": {"cam": ["jgoloborodko"], "edit": ["klinnik"]},
        "youtube": ["2BDKEnwl3Dc"], "lang": "en",
        "speakers": [
          {
            "image": "ejogi.jpg",
            "names": {"*": "Erik Jõgi"},
            "titles": {"*": "Founder of Codeborne"},
            "url": "https://www.linkedin.com/in/erikjogi/"
          }
        ],
        "titles": {
          "*": "eXtreme Programming in real life at Codeborne"
        },
        "descr": {
          "en": [
            "We are practicing it daily and are both happy and proud of it. I will tell about our daily routines and practices that make it work for us. I will leave space for questions so that you can get answers about the aspects of XP that interest you the most."
          ]
        }
      },
      {
        "org": {"cam": ["jgoloborodko"], "edit": []},
        "info": {
          "en": "Video is not edited for technical reasons. Screencast video is broken.",
          "et": "Video ei tule, osaliselt pole salvestatud.",
          "ru": "Видео не записано по техническим причинам. Видео скринкаста записи докладчика оказалось битым."
        },
        "lang": "en",
        "speakers": [
          {
            "image": "akeks.jpg",
            "names": {"*": "Anton Keks"},
            "titles": {"*": "Founder of Codeborne"},
            "url": "https://www.linkedin.com/in/antonkeks/"
          }
        ],
        "titles": {
          "*": "What is Svelte and why you should be using it?"
        },
        "descr": {
          "en": [
            "Svelte is a relatively young UI framework that we use in many projects at Codeborne. Anton will tell you why we think it is better than the alternatives."
          ]
        }
      }
    ]
  },
  {
    "num": 88,
    "season": 2023,
    "datetime": "2023-06-13T19:00:00+03:00",
    "place": {
      "addr": "Veskiposti 2, 10138 Tallinn", "loc": "https://goo.gl/maps/TytqcJJX2o4PfaYT8",
      "name": "Eesti Energia", "url": "https://www.energia.ee/"
    },
    "org": {"mod": ["sgorski"], "photo": ["gbeskin"]},
    "photo": ["https://photos.app.goo.gl/pEBxGdySR9yThQj28"],
    "event": "https://www.eventbrite.com/e/devclub-88-eesti-energia-13-june-2023-tickets-650131700417/",
    "speeches": [
      {
        "org": {"cam": ["jgoloborodko"], "edit": ["klinnik"]},
        "youtube": ["Y4wo3ffZZps"], "lang": "en",
        "speakers": [
          {
            "image": "otcanet.jpg",
            "names": {"*": "Oscar Toledo Canet"},
            "titles": {"*": "Software Architect @ Eesti Energia"},
            "url": "https://www.linkedin.com/in/oscar-toledo-64b10a56/"
          }
        ],
        "titles": {
          "*": "Build and Deploy a Kubernetes-based environment"
        },
        "descr": {
          "en": [
            "An overview of a CI/CD pipelines based on Kubernetes and Implemented using the tools Argo Workflow, ArgoCD and Kaniko."
          ]
        }
      },
      {
        "org": {"cam": ["jgoloborodko"], "edit": ["klinnik"]},
        "youtube": ["9pRNSKDHCRI"], "lang": "en",
        "speakers": [
          {
            "image": "bumurzokov.jpg",
            "names": {"*": "Bobur Umurzokov"},
            "titles": {"*": "Developer Advocate for Apache APISIX"},
            "url": "https://www.linkedin.com/in/boburumurzokov/"
          }
        ],
        "titles": {
          "*": "Enhancing ChatGPT with API management and OpenAI API"
        },
        "descr": {
          "en": [
            "As the usage of AI grows, we need scalable, performant, and secure API integrations. ",
            "In this talk, we will explore the benefits of integrating an open-source Apache APISIX API management solution with the OpenAI API."
          ]
        }
      }
    ]
  },
  {
    "num": 87,
    "season": 2023,
    "datetime": "2023-04-27T19:00:00+03:00",
    "place": {
      "addr": "Volta 1, 10411 Tallinn", "loc": "https://goo.gl/maps/CKuqcNkgqXy1pSSs5",
      "name": "Lightyear", "url": "https://golightyear.com/"
    },
    "org": {"mod": ["sgorski"], "photo": ["gbeskin"]},
    "photo": ["https://photos.app.goo.gl/hHG5EJrWLUrp3u9G7"],
    "event": "https://www.eventbrite.com/e/devclub-87-with-lightyear-grunfin-tickets-618398987017",
    "speeches": [
      {
        "org": {"cam": ["jgoloborodko"], "edit": ["klinnik"]},
        "youtube": ["TOEraRlS68k"], "lang": "en",
        "speakers": [
          {
            "image": "akirikal.jpg",
            "names": {"*": "Alar Kirikal"},
            "titles": {"*": "Product Engineer @ Lightyear"},
            "url": "https://www.linkedin.com/in/alar-kirikal-3492146b/"
          }
        ],
        "titles": {
          "*": "How does Flutter really work?"
        },
        "descr": {
          "en": [
            "Flutter is an open-source mobile app development framework, that allows building high-quality native mobile apps using a single codebase. It’s easy to learn, developers love it and it can help speed up your development by a lot. All this is possible without developers even needing to know, how Flutter actually works. To make the most out of Flutter, it’s important to have a good understanding of how it works under the hood. We’ll discuss some key concepts and techniques that make Flutter unique and powerful."
          ]
        }
      },
      {
        "org": {"cam": ["jgoloborodko"], "edit": ["klinnik"]},
        "youtube": ["7z0zrEP-ZA0"], "lang": "en",
        "speakers": [
          {
            "image": "alumberg.jpg",
            "names": {"*": "Alvar Lumberg"},
            "titles": {"*": "CTO, co-founder @ Grünfin"},
            "url": "https://www.linkedin.com/in/alvarlumberg/"
          }
        ],
        "titles": {
          "*": "Joy and Usefulness of Feedback Loops"
        },
        "descr": {
          "en": [
            "This talk explores the power of feedback loops in personal growth and professional impact. Drawing from personal experiences, we discuss the usefulness of discovering and strengthening feedback loops, with a particular focus on how software engineers can leverage these loops to continuously improve their skills and effectiveness."
          ]
        }
      }
    ]
  },
  {
    "num": 86,
    "season": 2023,
    "datetime": "2023-03-30T19:00:00+03:00",
    "place": {
      "addr": "Akadeemia tee 15b, 12618 Tallinn", "loc": "https://goo.gl/maps/Z5Fe3zGyugnQ17aLA",
      "name": "Microsoft", "url": "https://www.microsoft.com/"
    },
    "org": {"mod": ["sgorski", "jgoloborodko"], "photo": ["klinnik"]},
    "photo": ["https://photos.app.goo.gl/2tEGEazzHeyjntPi8"],
    "event": "https://www.eventbrite.com/e/devclub-86-microsoft-30032023-tickets-594710875237",
    "speeches": [
      {
        "org": {"cam": ["eweber"], "edit": ["klinnik"]},
        "youtube": ["eqmjP2ne6mE"], "lang": "en",
        "speakers": [
          {
            "image": "msponza.jpg",
            "names": {"*": "Mateja Sponza"},
            "titles": {"*": "Software Engineering Manager @ Microsoft"},
            "url": "https://www.linkedin.com/in/mateja-sponza-5ab66b42/"
          }
        ],
        "titles": {
          "*": "How to use AI - even if you don't have a team of Data Scientists"
        },
        "descr": {
          "en": [
            "Have you ever wondered how could you bring more intelligence to your product or company even if you don’t have a whole team of data scientists? If you are an Engineer or a Product Manager (or anywhere in between), join this session and learn how you, and your existing team, can bring the power of Machine Learning to your next project. We will discuss how you can leverage existing tools and techniques that will help you utilize AI - even if you don't have a dedicated team of Data Scientists around."
          ]
        }
      },
      {
        "org": {"cam": ["eweber"], "edit": ["klinnik"]},
        "youtube": ["pphMemu4ezM"], "lang": "en",
        "speakers": [
          {
            "image": "askopenko_2023.jpg",
            "names": {"*": "Andrei Skopenko"},
            "titles": {"*": "CTO, Consultant"},
            "url": "https://www.linkedin.com/in/andrei-skopenko-78284379/"
          }
        ],
        "titles": {
          "*": "Contribution score!"
        },
        "descr": {
          "en": [
            "This storytelling about issues you might see each half-year when you are trying to fairy reward your employees, so-called \"performance review\" process. I will propose my approach and share my experience with focus on software engineers."
          ]
        }
      }
    ]
  },
  {
    "num": 85,
    "season": 2023,
    "datetime": "2022-12-20T19:00:00+02:00",
    "place": {
      "addr": "Veskiposti 2, 10138 Tallinn", "loc": "https://goo.gl/maps/TytqcJJX2o4PfaYT8",
      "name": "Eesti Energia", "url": "https://www.energia.ee/"
    },
    "org": {"mod": ["izverev"], "photo": ["klinnik"]},
    "photo": ["https://photos.app.goo.gl/YLLsNTW1amGboxmn7"],
    "event": "https://www.eventbrite.com/e/488837515167",
    "speeches": [
      {
        "org": {"cam": ["ijaama"], "edit": []},
        "youtube": ["MJ9nVznZ-cM"], "lang": "en",
        "speakers": [
          {
            "image": "avanem.jpg",
            "names": {"*": "Andri Vanem"},
            "titles": {"*": "Head of Software Development @ Eesti Energia"},
            "url": "https://www.linkedin.com/in/andri-vanem/"
          }
        ],
        "titles": {
          "*": "50 shades of Software Development in Eesti Energia"
        },
        "descr": {
          "en": [
            "We will take the journey how Eesti Energia reached current state of Software development, what has been the pitfalls and success factors both on technical and human side."
          ]
        }
      },
      {
        "org": {"cam": ["ijaama"], "edit": []},
        "youtube": ["MJ9nVznZ-cM"], "lang": "en",
        "speakers": [
          {
            "image": "akurapov.jpg",
            "names": {"*": "Artjom Kurapov"},
            "titles": {"*": "Principal Software Engineer @ Pipedrive"},
            "url": "https://www.linkedin.com/in/kurapov/"
          }
        ],
        "titles": {
          "*": "Scaling GraphQL subscriptions"
        },
        "descr": {
          "en": [
            "Artjom will share insights into scaling, enriching and efficiently delivering events to the frontend via GraphQL subscriptions, WebSockets, Redis pub-sub and Kafka to have an interactive web app experience."
          ]
        }
      }
    ]
  },
  {
    "num": 84,
    "season": 2022,
    "datetime": "2022-11-03T19:00:00+02:00",
    "place": {
      "addr": "Lõõtsa 5, 11415 Tallinn", "loc": "https://goo.gl/maps/TqX5YY2mQCSxSaRMA",
      "name": "Playtech", "url": "https://playtech.ee/"
    },
    "org": {"mod": ["sgorski"], "photo": ["klinnik"]},
    "photo": ["https://photos.app.goo.gl/Wo2Lv4bK7xyEhisE6"],
    "event": "https://www.eventbrite.com/e/devclub-84-playtech-tickets-453326340287",
    "speeches": [
      {
        "org": {"cam": ["ijaama"], "edit": []},
        "youtube": ["fqRPRtU5U6o"], "lang": "en",
        "speakers": [
          {
            "image": "ssimeonoff.jpg",
            "names": {"*": "Stanimir Simeonoff"},
            "titles": {"*": "Dev team lead @ Playtech"}
          },
          {
            "image": "ahaav.jpg",
            "names": {"*": "Allar Haav"},
            "titles": {"*": "Senior software engineer @ Playtech"},
            "url": "https://www.linkedin.com/in/allar-haav/"
          }
        ],
        "titles": {
          "*": "Eight Poor Design Choices in Eight Years at Playtech"
        },
        "descr": {
          "en": [
            "At a certain point in a tech company’s lifespan, it becomes abundantly clear that not all undertakings are completely successful. This point is nigh for Playtech as well, where previously hidden deficiencies may now be illuminated in searing light. Here, cautionary tales, unexpected outcomes, shocking revelations – all will be explored during this journey through some of Playtech’s most infamous mishaps.",
            "Not every beginning has a happy ending… or any ending. Regardless of the outcome, most undertakings leave us with experiences we lacked when we started. They say that failure is a better teacher than success, and we have abused this idiom these past eight years. We humbly present to you, then, a window into the future (and past): aim for the cloud[s]; misapply ORM - thrice; see only nails when the only tool available is a hammer; Strings are not only attached but entangled in everything; multiple not-invented-here syndromes. We have all been here at least once.",
            "One of the definitive characteristics of the consummate professional is the honest ability to recognize faults, even when those faults are touted as best practices; to address the process(es) which led to the cultivation of such deficiencies, and to have the courage to bring these issues to the forefront, even in the face of conventional thinking."
          ]
        }
      },
      {
        "org": {"cam": ["ijaama"], "edit": []},
        "youtube": ["fqRPRtU5U6o"], "lang": "en",
        "speakers": [
          {
            "image": "dgrankin.jpg",
            "names": {"*": "Daniil Grankin"},
            "titles": {"*": "Software developer @ Wrike"},
            "url": "https://www.linkedin.com/in/grankin-daniil/"
          }
        ],
        "titles": {
          "*": "Encryption Key Management Service in Microservice Platform"
        },
        "descr": {
          "en": [
            "In a SaaS product, the customers want to ensure that all of their sensitive data is securely stored and nobody else has access to it. Wrike has a feature just for that use case: Wrike Lock.",
            "The idea behind the Wrike Lock is to have all sensitive customer data encrypted using our internal keys. Internal keys are stored in the database as strings encrypted by the key managed by the client. This way, we can not maliciously decrypt the customer's data unless the customer would willingly provide us access to decrypt internal keys.",
            "As we're growing and moving towards a microservice platform, the current solution of having the key management system per service is not plausible anymore. A new centralized approach is desperately needed, where a single service manages the keys, settings, and access to the client's KMS.",
            "There goes the idea of Wrike's Encryption as a Service. A microservice caching the keys, validating that we still have access to the client's KMS, and issuing the keys to the services which need to encrypt or decrypt the customer's sensitive data."
          ]
        }
      }
    ]
  },
  {
    "num": 83,
    "season": 2022,
    "datetime": "2022-10-18T19:00:00+03:00",
    "place": {
      "addr": "Veerenni 38, 10138 Tallinn", "loc": "https://goo.gl/maps/k9GwSCJ53rTjNDV76",
      "name": "Twilio", "url": "https://www.twilio.com"
    },
    "org": {"mod": ["asolntsev"], "photo": ["asolntsev"]},
    "photo": ["https://photos.app.goo.gl/vFCvRUAAb7aPNc7GA"],
    "event": "https://www.eventbrite.com/e/devclub-83-twilio-tickets-439941746607",
    "speeches": [
      {
        "org": {"cam": ["ijaama"], "edit": ["astalnuhhin"]},
        "youtube": ["8E_H1G4GcVg"], "lang": "en",
        "speakers": [
          {
            "image": "bcun.jpg",
            "names": {"*": "Burak Çün"},
            "titles": {"*": "Senior Software Engineer @ Twilio"},
            "url": "https://www.linkedin.com/in/burakcun/"
          }
        ],
        "titles": {
          "*": "Kubernetes: when high-availability meets security"
        },
        "descr": {
          "en": [
            "Kubernetes is known to be a myriad of things, and when used in the appropriate context it provides the builder with multiple layers of helpful tooling. In this K8S day, Burak will first provide an introduction to the domain of K8S, then dive into the details of its innate high-availability and security tooling. He will tell us about how he built such an application that spanned millions of active users."
          ]
        }
      },
      {
        "org": {"cam": ["ijaama"], "edit": ["astalnuhhin"]},
        "youtube": ["l3cmyn0chUw"], "lang": "en",
        "speakers": [
          {
            "image": "rrandmaa.jpg",
            "names": {"*": "Ranno Randmaa"},
            "titles": {"*": "IT Architect @ Telia"},
            "url": "https://www.linkedin.com/in/rannorandmaa/"
          }
        ],
        "titles": {
          "*": "Telia’s DevSecOps road to Kubernetes"
        },
        "descr": {
          "en": [
            "We started experimenting with Kubernetes in 2016 in Telia. Certainly still belive this is the way to go and the first target for new application deployments. It has been a long journey, let’s see what we’ve come up with and where are we struggling in DevSecOps teams."
          ]
        }
      }
    ]
  },
  {
    "num": 82,
    "season": 2022,
    "datetime": "2022-08-09T19:00:00+03:00",
    "place": {
      "addr": "Niine 11, 10414 Tallinn", "loc": "https://g.page/veriff-tallinn",
      "name": "Veriff", "url": "https://veriff.com"
    },
    "org": {"mod": ["sgorski"], "photo": ["gbeskin"]},
    "photo": ["https://photos.app.goo.gl/pAWrQpwFhcMVQ14Q6"],
    "event": "https://www.eventbrite.com/e/devclub-82-veriff-tickets-396611554837",
    "speeches": [
      {
        "org": {"cam": ["ijaama"], "edit": ["ijaama"]},
        "youtube": ["QnNOx8BUQi0"], "lang": "en",
        "speakers": [
          {
            "image": "mpink.jpg",
            "names": {"*": "Madis Pink"},
            "titles": {"*": "Senior Developer Experience Engineer @ Veriff"},
            "url": "https://www.linkedin.com/in/madisp/"
          }
        ],
        "titles": {
          "*": "System-wide end-to-end testing at Veriff"
        },
        "descr": {
          "en": [
            "Modern large-scale applications are a complex beast. You’ll often see them spanning hundreds of microservices, multiple data storage solutions and a variety of user-facing clients. End-to-end testing is a great tool to ensure all of the pieces play well together in concert. Join us in this from-the-trenches talk for an overview how Veriff handles system-wide end-to-end testing, the challenges we faced while building it and lessons learned after making E2E part of our regular deploy pipeline."
          ]
        }
      },
      {
        "org": {"cam": ["ijaama"], "edit": ["ijaama"]},
        "youtube": ["jw88zeDH4lU"], "lang": "en",
        "speakers": [
          {
            "image": "gmaltsev.jpg",
            "names": {"*": "Gleb Maltsev"},
            "titles": {"*": "Data-Driven Pitch Coach"},
            "url": "https://www.linkedin.com/in/glebmaltsev/"
          }
        ],
        "titles": {
          "*": "Listen. Speak. Coach. Repeat: the basics of candid conversations"
        },
        "descr": {
          "en": [
            "Gleb spent the past decade training people to speak with clarity and meaning to others, from founders to engineers to scientists and designers. He learned the hard way that the role of a coach and a leader is to listen and ask questions. Fundamentally, these skills can be broken down into components, learned, and mastered. Mastery demands a lot of candid feedback—which is why the session will be interactive and practical."
          ]
        }
      }
    ]
  },
  {
    "num": 81,
    "season": 2022,
    "datetime": "2022-07-05T19:00:00+03:00",
    "place": {
      "addr": "Veerenni 24D, 7th floor, 10135 Tallinn", "loc": "https://goo.gl/maps/CD1wpGzwfSYJF679A",
      "name": "Wise", "url": "https://wise.com"
    },
    "org": {"mod": ["sgorski"], "photo": ["gbeskin"]},
    "photo": ["https://photos.app.goo.gl/4WQYW8S2Gg8K5kvW8"],
    "event": "https://www.eventbrite.com/e/devclub-80-wise-5th-july-2022-tickets-376777340167",
    "speeches": [
      {
        "org": {"cam": ["ijaama"], "edit": ["ijaama"]},
        "youtube": ["lOiiaudJ7mE"], "lang": "en",
        "speakers": [
          {
            "image": "ottovonsperling.jpg",
            "names": {"*": "Otto von Sperling"},
            "titles": {"*": "Data Scientist @ Wise"},
            "url": "https://www.linkedin.com/in/otto-von-sperling/"
          }
        ],
        "titles": {
          "*": "Orchestration of pipelines on large amounts of data: the good, the bad and the ugly"
        },
        "descr": {
          "en": [
            "The use case is how we reduced one pipeline processing from 6h to 1.5h and improved reliability by using best practices for processing (e.g. iterative), using Spark and improving how we integrate processing and orchestration code for easier testing. And a quick overview how the process could be even better with DBT."
          ]
        }
      },
      {
        "org": {"cam": ["ijaama"], "edit": ["ijaama"]},
        "youtube": ["c5XT2v5gRY"], "lang": "en",
        "speakers": [
          {
            "image": "asolntsev.jpg",
            "names": {"*": "Andrei Solntsev"},
            "titles": {"*": "Software Engineer @ Codeborne"},
            "url": "https://www.linkedin.com/in/asolntsev"
          }
        ],
        "titles": {
          "*": "Flaky Tests"
        },
        "descr": {
          "en": [
            "Flaky tests may cause plenty of headache to the engineers. Tests that passed just yesterday are now failing all of a sudden. No one chaned anything. It's just the wrong moon phase. It's just the matrix playing jokes on you. Novices just re-run the build, but real pros look into very gist of the problem. Each investigation unfolds a real crime scene. Sometimes it takes years.",
            "I'll show some flaky tests from real projects and most importantly - how the truth could have been found there. Dedicated to automation and software engineers. To everyone who's into software testing and hard problems."
          ]
        }
      }
    ]
  },
  {
    "num": 80,
    "season": 2020,
    "datetime": "2020-01-30T19:00:00+02:00",
    "place": {
      "addr": "Niine 11, 10414 Tallinn", "loc": "https://g.page/veriff-tallinn?share",
      "name": "Veriff", "url": "https://www.veriff.com"
    },
    "org": {"mod": ["sgorski"], "photo": ["klinnik"]},
    "photo": ["https://photos.app.goo.gl/Z5yECcaCWKWhh8ACA"],
    "event": "https://www.eventbrite.com/e/devclub-80-veriff-tickets-91187972681",
    "speeches": [
      {
        "org": {"cam": ["ijaama"], "edit": ["ijaama"]},
        "youtube": ["kYXIJKGvvLE"], "lang": "en",
        "speakers": [{
            "image": "tiit-paananen.jpg",
            "names": {"*": "Tiit Paananen"},
            "titles": {"*": "VP of Engineering @ Veriff"},
            "url": "https://www.linkedin.com/in/tiitpaananen"
          }],
        "titles": {
          "*": "Evolution of testing"
        },
        "descr": {
          "en": [
            "Tiit will look into evolution of testing as discipline and what might be there in future. Software testing has become integral part of development already long time ago but changes in approaches are becoming more frequent and involve growing need for technical skills and is moving towards production vs pre-release testing."
          ]
        }
      },
      {
        "org": {"cam": ["ijaama"], "edit": ["ijaama"]},
        "youtube": ["7O_PRVk2ZnQ"], "lang": "en",
        "speakers": [
          {
            "image": "rivo-laks.jpeg",
            "names": {"*": "Rivo Laks"},
            "titles": {"*": "Software Engineer @ Veriff"},
            "url": "https://www.linkedin.com/in/rivolaks"
          }
        ],
        "titles": {
          "*": "Veriff's Journey to Structured Logging"
        },
        "descr": {
          "en": [
            "Good application logs make debugging issues much easier, but they come with limitations. The usual human-readable prose is hard to parse, search, and correlate. We’ll look at how structured logs and JSON output make your life easier, get metrics straight out of the logs, and see how Veriff's automation team is using it all in practice."
          ]
        }
      },
      {
        "org": {"cam": ["ijaama"], "edit": ["ijaama"]},
        "youtube": ["b8mIyn-tQQk"], "lang": "en",
        "speakers": [
          {
            "image": "martin-paroll.jpg",
            "names": {"*": "Martin Paroll"},
            "titles": {"*": "IT Services Lead @ Bolt"},
            "url": "https://www.linkedin.com/in/martinparoll"
          }
        ],
        "titles": {
          "*": "Why we sleep"
        },
        "descr": {
          "en": [
            "There is a wonder-drug, that makes you live longer, enhances your memory and creativity; makes you more attractive, slimmer and lowers food cravings. It also protects you from cancer and dementia, wards off colds, lowers your risk of strokes and heart disease. On top of that - this particular drug makes you more more happy, less depressed and less anxious. Want some?"
          ]
        }
      }
    ]
  },
  {
    "num": 79,
    "season": 2020,
    "datetime": "2019-12-17T19:00:00+02:00",
    "place": {
      "addr": "Liivalaia 33, 10118, Tallinn, Estonia", "loc": "https://goo.gl/maps/dW36V6WUFhnTdCw9A",
      "name": "Olümpia hotell", "url": "https://www.radissonblu.com/en/olumpiahotel-tallinn"
    },
    "org": {"mod": ["sgorski"], "photo": ["gbeskin"]},
    "photo": ["https://photos.app.goo.gl/WXwRi995QPS9q2LL9"],
    "event": "https://www.eventbrite.com/e/devclub-79-christmas-special-hotel-olumpia-december-17-tickets-85946112135",
    "speeches": [
      {
        "org": {"cam": ["ijaama"]},
        "youtube": ["vYMDfiOBBqs"], "lang": "en",
        "speakers": [{
          "image": "nsvandrey.jpg",
          "names": {"*": "Nicholas Shane Vandrey"},
          "titles": {"*": "BI Team Lead @ Veriff"},
          "url": "https://www.linkedin.com/in/nicholas-vandrey-97059865/"
        }],
        "titles": {"*": "Practical Guide to Going Data-Driven"},
        "descr": {
          "en": [
            "Veriff was started in 2015, but the first BI analyst didn’t join until the end of 2018. Over the last year, we’ve taken huge strides in becoming more data-driven. Now we have a dedicated team of four analysts and data scientists working on empowering Veriff with data. Here’s how we did it, and some of the things we learned on the way."
          ]
        }
      },
      {
        "org": {"cam": ["ijaama"]},
        "youtube": ["Db5CT52d8ZE"], "lang": "en",
        "speakers": [{
          "image": "nantiferov.jpg",
          "names": {"*": "Nicolai Antiferov"},
          "titles": {"*": "Infrastructure Engineer @ Paxful"},
          "url": "https://www.linkedin.com/in/nklya/"
        }],
        "titles": {"*": "IaC evolution (how to avoid 💩 in the end)"},
        "descr": {
          "en": [
            "It's 2019, and IaC is not a new term at all. But it's still not an easy thing. In this talk we will go through a couple of easy steps that can help in your DevOps journey 😉."
          ]
        }
      }
    ]
  },
  {
    "num": 78,
    "season": 2019,
    "datetime": "2019-11-28T19:00:00+02:00",
    "place": {
      "addr": "Lõõtsa 12, 11415 Tallinn", "loc": "https://goo.gl/maps/Uzyab9Uj1pJEodeo9",
      "name": "Topia", "url": "https://www.topia.com"
    },
    "org": {"mod": ["sgorski"], "photo": ["klinnik"]},
    "photo": ["https://photos.app.goo.gl/rsHaMwQ2fJPmmnPWA"],
    "event": "https://www.eventbrite.com/e/devclub-78-topia-november-28-tickets-83309812893",
    "speeches": [
      {
        "info": {
          "en": "Video is not recorded for technical reasons.",
          "et": "Video ei tule, pole salvestatud.",
          "ru": "Видео не записано по техническим причинам."
        },
        "lang": "en",
        "labels": ["iac", "Infrastructure as code"],
        "speakers": [{
            "image": "mkerma.jpg",
            "names": {"*": "Margus Kerma"},
            "titles": {"*": "Tech lead @ Topia"},
            "url": "https://www.linkedin.com/in/kerma/"
          }],
        "titles": {"*": "Infrastructure as Code - we're doing it wrong"},
        "descr": {
          "en": [
            "IaC has been around for a while now, but still creates a lot of debate. Is there a right and wrong approach to take? What can we learn from different tools out there and should you just use Terraform? Let's take a quick look into IaC history, drill into Terraform and figure out how developers can make ops life better."
          ]
        }
      },
      {
        "info": {
          "en": "Video is not recorded for technical reasons.",
          "et": "Video ei tule, pole salvestatud.",
          "ru": "Видео не записано по техническим причинам."
        },
        "lang": "en",
        "labels": ["AI", "Machine learning"],
        "speakers": [{
            "image": "akorotkov.jpg",
            "names": {"*": "Alexandr Korotkov"},
            "titles": {"*": "AI Engineer @ Omniva"},
            "url": "https://www.linkedin.com/in/krotix/"
          }],
        "titles": {"*": "Machine learning from scratch in 4 months"},
        "descr": {
          "en": [
            "Everybody knows what is a post office, but how we can improve the work in it and make the process easier with ML.",
            "In this presentation, we will consider the real problem from different sides, show how we tackled it and what we achieved."
          ]
        }
      }
    ]
  },
  {
    "num": 77,
    "season": 2019,
    "datetime": "2019-10-09T19:00:00+03:00",
    "place": {
      "addr": "Vana-Lõuna 39/1, 10135, Tallinn", "loc": "https://goo.gl/maps/irQwdK6rqaDxMk819",
      "name": "RangeForce", "url": "https://rangeforce.com"
    },
    "org": {"mod": ["agritsevski"], "photo": ["RangeForce"]},
    "photo": ["https://photos.app.goo.gl/E1sEmppmaVovMbVJ9"],
    "event": "https://www.eventbrite.com/e/devclub-77-rangeforce-october-9-tickets-75026166283",
    "speeches": [
      {
        "org": {"cam": ["ijaama"], "edit": ["ijaama"]},
        "youtube": ["ZW37by0hoPw"], "lang": "en",
        "labels": ["security"],
        "speakers": [{
            "image": "mernits.jpg",
            "names": {"*": "Margus Ernits"},
            "titles": {"*": "CTO @ RangeForce"},
            "url": "https://www.linkedin.com/in/margusernits"
          }],
        "titles": {"*": "Developers: To blame or not to blame?"},
        "descr": {
          "en": [
            "While the cyber threat landscape keeps constantly evolving, security become more crucial for companies. We read daily about new data breaches tied to an application security vulnerability. What is behind all these vulnerabilities? Why do they keep happening? Margus Ernits will talk about building a security culture that is able to keep pace with the threat landscape. You will learn how to (not) build a security culture in your development team."
          ]
        }
      },
      {
        "org": {"cam": ["ijaama"], "edit": ["ijaama"]},
        "youtube": ["oN140QZEXhM"], "lang": "en",
        "labels": ["management"],
        "speakers": [{
            "image": "mcaron.jpg",
            "names": {"*": "Miguel Caron"},
            "titles": {"*": "Head of Baltic Studios @ GameSys"},
            "url": "https://www.linkedin.com/in/miguelcaronceo"
          }],
        "titles": {"*": "Shit, I got promoted and I'm now a leader... So what now"},
        "descr": {
          "en": [
            "This one is a crash course for those who just got promoted into leadership and are struggling finding their ways around the new challenges they’re now facing. Miguel will share his best insights on being a genuine leader that people love to work with."
          ]
        }
      }
    ]
  },
  {
    "num": 76,
    "season": 2019,
    "datetime": "2019-09-10T19:00:00+03:00",
    "place": {
      "addr": "Telliskivi 60/2i-hoone B korpus, II korrus, 10412 Tallinn", "loc": "https://goo.gl/maps/LKgtx8qtQ7Ao2WoP9",
      "name": "Monese", "url": "https://monese.com"
    },
    "org": {"mod": ["sgorski"], "photo": ["klinnik"]},
    "photo": ["https://photos.app.goo.gl/Dkcq5PKdEHc5TAhr7"],
    "event": "https://www.eventbrite.com/e/devclub-76-monese-tickets-71348012827",
    "speeches": [
      {
        "org": {"cam": ["ijaama"], "edit": ["ijaama"]},
        "youtube": ["UiZaG1F1Vxc"], "lang": "en",
        "labels": ["microservice", "GraphQL"],
        "speakers": [{
          "image": "jkiiver.jpg",
          "names": {"*": "Jonas Kiiver"},
          "titles": {"*": "VP of Technology @ Monese"},
          "url": "https://www.linkedin.com/in/jonaskiiver"
        }],
        "titles": {"*": "Exploring GraphQL-Braid: Leaving RESTish world and building a distributed GraphQL system"},
        "descr": {
          "en": [
            "Do you have 100 microservices on your backend all exposing an API? And Android and iOS apps trying to communicate with them?",
            "You would probably create a funnel-like API which forwards app calls, collects and returns the data. Then the app guys ask you to return one more field to the endpoint or create a new endpoint. A simple GET request (DB-wise). You plan, you build, you release. App engineers are waiting. Product guys are waiting. Users are waiting!",
            "Then you wake up one day and see that you have an age-old endpoint which returns half of the database. You have to put an end to this mess! What options are there?",
            "In this session we will share the result of our GraphQL and Atlassian Braid exploration journey. We are building a new distributed services architecture which will combine GraphQL backends into one schema. The result should be a fast, safe and easily maintainable cluster of microservices."
          ]
        }
      },
      {
        "org": {"cam": ["ijaama"], "edit": ["ijaama"]},
        "youtube": ["PdKlWMt-xs4"], "lang": "en",
        "labels": ["self-improvement"],
        "speakers": [{
          "image": "eletinskis.jpg",
          "names": {"*": "Edgars Letinskis"},
          "titles": {"*": "The man behind DevClub.lv"},
          "url": "https://www.linkedin.com/in/edgarsletinskis"
        }],
        "titles": {"*": "Burnout syndrome – why should you take it serious"},
        "descr": {
          "en": [
            "In this talk, I will share my experience with burnout syndrome – symptoms, how to avoid or cope with it and will use mega patented Chopstick method to explain why should you take it serious."
          ]
        }
      }
    ]
  },
  {
    "num": 75,
    "season": 2019,
    "datetime": "2019-08-27T19:00:00+03:00",
    "place": {
      "addr": "Toompuiestee 23, Tallinn 10137", "loc": "https://goo.gl/maps/bKgbrTmjPkP2",
      "name": "The von Stackelberg Hotel Tallinn", "url": "https://www.vonstackelberghotel.com"
    },
    "org": {"mod": ["sgorski"], "photo": ["klinnik"]},
    "photo": ["https://photos.app.goo.gl/FSdnywi7DCR6FnCD8"],
    "event": "https://www.eventbrite.com/e/devclub-75-von-stackelberg-hotel-tickets-69837506863",
    "speeches": [
      {
        "org": {"cam": ["jtimosin"], "edit": ["astalnuhhin"]},
        "youtube": ["XrFEwjkLNqw"], "lang": "en",
        "labels": ["reactive", "event-driven"],
        "speakers": [{
          "image": "skruglov.jpg",
          "names": {"*": "Sam Kruglov", "ru": "Сэм Круглов"},
          "titles": {"*": "Java Developer @ Monese"},
          "url": "https://www.linkedin.com/in/sam-kruglov"
        }],
        "titles": {"*": "Reactive is here to stay"},
        "descr": {
          "en": [
            "Being Reactive is the key to staying within the modern standards. We start with a simple MVC style application. First, we define a modern system. Then we introduce and solve the problems with the application. We will keep our REST API working the same way while utilizing Event Driven Architecture and many more!"
          ]
        }
      },
      {
        "info": {
          "en": "Video is not recorded for technical reasons.",
          "et": "Video ei tule, pole salvestatud.",
          "ru": "Видео не записано по техническим причинам."
        },
        "lang": "en",
        "labels": ["TeamCity", "pipeline", "ci"],
        "speakers": [{
          "image": "aarhipov.jpg",
          "names": {"*": "Anton Arhipov", "ru": "Антон Архипов"},
          "titles": {"*": "Developer Advocate @ JetBrains"},
          "url": "https://www.linkedin.com/in/antonarhipov"
        }],
        "titles": {"*": "TeamCity build pipelines"},
        "descr": {
          "en": [
            "TeamCity is a great tool for Continuous Integration with a lot of advanced features provided out-of-the-box. In this session, we will learn how TeamCity helps the software development in the daily routine; what was added to the product in the latest releases; what features are coming next."
          ]
        }
      }
    ]
  },
  {
    "num": 74,
    "season": 2019,
    "datetime": "2019-07-23T19:00:00+03:00",
    "place": {
      "addr": "Toompuiestee 23, Tallinn 10137", "loc": "https://goo.gl/maps/bKgbrTmjPkP2",
      "name": "The von Stackelberg Hotel Tallinn", "url": "https://www.vonstackelberghotel.com"
    },
    "org": {"mod": ["sgorski"], "photo": ["klinnik"]},
    "photo": ["https://photos.app.goo.gl/8KKwx5fy9YraSnBc8"],
    "speeches": [
      {
        "org": {"cam": ["ijaama"]},
        "youtube": ["n2lLnibmkWo"], "lang": "en",
        "labels": ["observability"],
        "speakers": [{
          "image": "atavgen.jpg",
          "names": {"*": "Aleksandr Tavgen", "ru": "Александр Тавген"},
          "titles": {"*": "Technical architect @ Playtech"},
          "url": "https://www.linkedin.com/in/aleksandr-tavgen-24431815b"
        }],
        "titles": {"*": "Observability - the good, the bad and the ugly"},
        "descr": {
          "en": [
            "It covers general problem of creating monitoring and observability without killing your Ops motivation team with False Positives and unexplained alerts. Problems on this side, pitfalls, anti-patterns, and how to make it right.",
            "How to manage a monitoring zoo. Spaghettification of dashboards. Why Uber needs 9 billion metrics and why this is antipattern. Metrics as a stream of data. We talk about new Flux language from InfluxDb. A bit of time series analysis and defining of pipelines in Flux for metrics data. Drunkyard walk on your metrics or why to measure a randomness."
          ]
        }
      },
      {
        "org": {"cam": ["ijaama"]},
        "youtube": ["dFQSOlOOoXE"], "lang": "en",
        "labels": ["java", "static"],
        "speakers": [{
          "image": "asolntsev_2018.jpg",
          "names": {"*": "Andrei Solntsev", "ru": "Андрей Солнцев"},
          "titles": {"*": "Software developer @ Codeborne"},
          "url": "https://ee.linkedin.com/in/asolntsev"
        }],
        "titles": {"*": "Antistatic", "ru": "Антистатик"},
        "descr": {
          "en": [
            "What’s wrong with static methods (apart from them not being inline with OOP conventions)? Is dependency injection really that great? Is there life after Spring?",
            "These question have been causing a lot of flame for a long time now. Butts hurt bad, but the community haven’t reached the consensus yet. I will share how my own understanding of these things changed over time and where did I end up eventually."
          ]
        }
      }
    ]
  },
  {
    "num": 73,
    "season": 2019,
    "datetime": "2019-06-25T19:00:00+03:00",
    "place": {
      "addr": "Toompuiestee 23, Tallinn 10137", "loc": "https://goo.gl/maps/bKgbrTmjPkP2",
      "name": "The von Stackelberg Hotel Tallinn", "url": "https://www.vonstackelberghotel.com"
    },
    "org": {"mod": ["sgorski"], "photo": ["klinnik"]},
    "photo": ["https://photos.app.goo.gl/8NGJqYyihoDov7JM7"],
    "event": "https://www.eventbrite.com/e/devclub-73-von-stackelberg-hotel-tickets-63737236791",
    "speeches": [
      {
        "org": {"cam": ["ijaama"]},
        "youtube": ["UuBwSyEecQ8"], "lang": "en",
        "labels": ["Google", "assistant"],
        "speakers": [{
          "image": "eweber.jpg",
          "names": {"*": "Ervin Weber", "ru": "Эрвин Вебер"},
          "titles": {"*": "Google Cloud Developer Community Tallinn"},
          "url": "https://ee.linkedin.com/in/webervin"
        }],
        "titles": {"*": "No-magic behind 'Ok, Google'"},
        "descr": {
          "en": [
            "The talk about Ervin’s experiments with Google Assistant devices. Where it feels natural and where it comes short. Why as developer you should consider this platform for your products, and of course, some \"hello world\" demo."
          ]
        }
      },
      {
        "org": {"cam": ["ijaama"]},
        "youtube": ["VUKi8sxKVsE"], "lang": "en",
        "labels": ["quality", "quality assurance"],
        "speakers": [{
          "image": "agritsevski.jpg",
          "names": {"*": "Aleksandr Gritsevski", "ru": "Александр Грицевский"},
          "titles": {"*": "Lead Quality Manager @ Kuehne + Nagel"},
          "url": "https://www.linkedin.com/in/leadqualitymanager"
        }],
        "titles": {"*": "Changing mindset regarding Quality Assurance Engineers. Software testing is harder than development."},
        "descr": {
          "en": [
            "Two decades ago when modern technologies were emerging, the idea that software should be tested before getting released was meaning only that someone has to act as a future user of the software what led to the concept of Manual Testing.",
            "However, this was taking too much time, especially at the time when number of functions included in software were increasing so rapidly. This is why companies discovered that some actions which were being repeated for a number of times could be automated what was the basis for Automation Testing.",
            "Although, this is a much faster process than Manual Testing, this is not enough to satisfy the needs of the company, because the way it is done is usually based on simulating logical actions which can be done by the future user. This means that work of the QA team members is limited to creating simple auto tests and doing some manual testing where it takes less effort than creating an auto test.",
            "At the same time, having this idea HR officers are hiring people who are unable to bring QA forward in order to achieve better quality of the product. Ideally, the person who is the one responsible for quality should be involved in the process of development and not just having to assess what has been already done as well as to be able not only to test the product, but to be able to understand why the mistake has occurred what is possible only in case if QA specialist has sufficient programming background.",
            "The speaker will tell how to change the mindset regarding Quality Assurance Engineers based on his own experience in the field as well as is about to give some pieces of advice that will help both the ones responsible for hiring QA specialists to recruit the most competent people and the ones pursuing careers in the industry to know what is expected from them."
          ]
        }
      }
    ]
  },
  {
    "num": 72,
    "season": 2019,
    "datetime": "2019-05-28T19:00:00+03:00",
    "place": {
      "addr": "Lõõtsa 12, 11415, Tallinn, Estonia", "loc": "https://goo.gl/maps/xRxZ8CFDwhY8mskc7",
      "name": "Topia office", "url": "https://www.topia.com/contact-us"
    },
    "org": {"mod": ["sgorski"], "photo": ["klinnik"]},
    "photo": ["https://photos.app.goo.gl/Y9DwVwFpRpwzxUoS7"],
    "speeches": [
      {
        "org": {"cam": ["gbeskin"], "edit": ["klinnik"]},
        "youtube": ["LEyn2r1JwSY"], "lang": "en",
        "labels": ["project"],
        "speakers": [{
          "image": "msepp.jpg",
          "names": {"*": "Mervi Sepp"},
          "titles": {"*": "Worker @ Topia"}
        }],
        "titles": {"*": "Dividing up Metropolises - Modelling Rent prices across the globe"},
        "descr": {
          "en": [
            "Moving to a new city with your two poodles and a pianist grandma- what is the best neighbourhood for renting a place? While moving with your grandma might not be really relatable for many - we all have some very specific requirements when selecting a place to live. How to solve the nested comparison problem apartments - neighbourhoods - cities that matches your specific requirements? In the devclub we’ll tell you about the data and the science that went into creating an off the shelf solution for finding optimal place that matches your budget."
          ]
        }
      },
      {
        "org": {"cam": ["gbeskin"], "edit": ["klinnik"]},
        "youtube": ["15u57Z8Go7U"], "lang": "en",
        "labels": ["reactive", "functional", "concurrency", "parallelism"],
        "speakers": [{
          "image": "atavgen.jpg",
          "names": {"*": "Aleksandr Tavgen", "ru": "Александр Тавген"},
          "titles": {"*": "Software Architect with Data Science and Financial Background"},
          "url": "https://www.linkedin.com/in/aleksandr-tavgen-24431815b"
        }],
        "titles": {"*": "Reactive and functional approaches"},
        "descr": {
          "en": [
            "Сoncurrency and Parallelism. Context switch pain. Functional approach. Java Reactive Revolution. Blocking vs NonBlocking execution. Functional Architecture."
          ]
        }
      },
      {
        "org": {"cam": ["gbeskin"], "edit": ["klinnik"]},
        "youtube": ["CVVUeAAlGNE"], "lang": "en",
        "labels": ["privacy", "gdpr"],
        "speakers": [{
          "image": "ksolovjovs.jpg",
          "names": {"*": "Kirils Solovjovs"},
          "titles": {"*": "Worker @ Possible Security (Latvia)"}
        }],
        "titles": {"*": "Toll of personal privacy in 2018"},
        "descr": {
          "en": [
            "What doesn't mean (and cost) to have a personal privacy? Why anyone would ever need that? What are consequences of stealing your digital persona? Is GDPR here for good or not? There are more and more questions raising and Kirils will try to answer all of them based on personal experience."
          ]
        }
      }
    ]
  },
  {
    "num": 71,
    "season": 2019,
    "datetime": "2019-04-09T19:00:00+03:00",
    "place": {
      "addr": "Toompuiestee 27/Paldiski mnt 4, 10149 Tallinn", "loc": "https://goo.gl/maps/AJbuvwDS7co",
      "name": "Park Inn by Radisson Meriton Conference & Spa Hotel Tallinn", "url": "https://www.parkinn.com/hotel-meriton-tallinn"
    },
    "org": {"mod": ["sgorski"], "photo": ["klinnik"]},
    "photo": ["https://photos.app.goo.gl/yNagW8BnaeuoGFXS7"],
    "speeches": [
      {
        "org": {"cam": ["gbeskin"], "edit": ["klinnik"]},
        "youtube": ["4oPKVuO-Lnw"], "lang": "en",
        "labels": ["image", "optimization"],
        "speakers": [{
          "image": "dsillars.jpg",
          "names": {"*": "Doug Sillars"},
          "titles": {"*": "Web Google Developer Expert, author of O’Reilly’s “High Performance Android Apps”"}
        }],
        "titles": {"*": "Fast and Beautiful Images"},
        "descr": {
          "en":  [
            "“Fast and Beautiful Images” - the best ways to build images for all of the screens/devices that are out there."
          ]
        }
      },
      {
        "org": {"cam": ["gbeskin"], "edit": ["klinnik"]},
        "lang": "en",
        "info": {
          "ru": "По просьбе докладчика видео не будет выложено в публичный доступ.",
          "en": "Video is not edited by speaker request",
          "et": "Video on kõneleja soovil kinni pandud."
        },
        "labels": ["engineering", "data"],
        "speakers": [{
          "image": "lkoobas.jpg",
          "names": {"*": "Lauri Koobas"},
          "titles": {"*": "Data Warehouse Engineer @ Starship Technologies"}
        }],
        "titles": {"*": "Differences between software (engineering) and data engineering"},
        "descr": {
          "en": [
            "A brief introduction to what it takes an experienced software engineer to enter the data engineering world."
          ]
        }
      }
    ]
  },
  {
    "num": 70,
    "season": 2019,
    "datetime": "2019-03-28T19:00:00+03:00",
    "place": {
      "addr": "Teaduspargi 8, 12618, Tallinn", "name": "Starship office"
    },
    "org": {"mod": ["sgorski"], "photo": ["klinnik"]},
    "photo": ["https://photos.app.goo.gl/3bE5E6aU4wdtxHtD7"],
    "speeches": [
      {
        "org": {"cam": ["jgoloborodko"], "edit": ["jgoloborodko"]},
        "youtube": ["GQUtbBl2dIs"], "lang": "en",
        "speakers": [{
          "image": "pvaryukhichev.jpg",
          "names": {"*": "Pavel Varyukhichev"}
        }],
        "titles": {"*": "Achieving low latency communication between services and robots"},
        "descr": {
          "en": [
            "How we brought a solution of handling robots online from several robots to thousands of robots? The future is here."
          ]
        }
      },
      {
        "org": {"cam": ["jgoloborodko"], "edit": ["klinnik"]},
        "youtube": ["OJGG6CvIUQc"], "lang": "en",
        "speakers": [{
          "image": "jsoots.jpg",
          "names": {"*": "Jaanus Soots"}
        },
        {
          "image": "vlakusta.jpg",
          "names": {"*": "Vitalii Lakusta"}
        }],
        "titles": {"*": "Robot scheduling challenges compare to taxi orchestration"},
        "descr": {
          "en": [
            "Is delivery robot logistics easy as package courier milk-run or complicated as taxi orchestration? What we are facing now, how that is solved and what will wait for us ahead?"
          ]
        }
      },
      {
        "org": {"cam": ["jgoloborodko"], "edit": ["klinnik"]},
        "youtube": ["6lh8oIDGmgE"], "lang": "en",
        "speakers": [{
          "image": "iots.jpg",
          "names": {"*": "Indrek Ots"}
        }],
        "titles": {"*": "Consumer Driven Contract Testing"},
        "descr": {
          "en": [
            "Consumer driven contract testing is a method of verifying that services (e.g. API consumer and an API provider) speak the same language. By providing examples, API consumers set expectations on providers on how they should behave on specific inputs.",
            "A set of expectations forms a contract that's produced by consumers and is shared with providers. Contract obligations are verified by providers with tests that can be run in isolation, without having to set up integration testing environments.",
            "That lets them evolve independently and get immediate feedback when they've broken any of their API consumers. Contract testing can be used anywhere where you have two services that need to communicate with each other but becomes especially useful in environments with many services (e.g. microservice architecture)."
          ]
        }
      }
    ]
  },
  {
    "num": 69,
    "season": 2019,
    "datetime": "2019-02-21T19:00:00+03:00",
    "place": {
      "addr": "Paldiski mnt 80, Tallinn 10617", "loc": "https://goo.gl/maps/squwGHdRPMB2",
      "name": "Pipedrive OÜ", "url": "https://www.pipedrive.com"
    },
    "org": {"mod": ["sgorski"], "photo": ["klinnik"]},
    "photo": ["https://photos.app.goo.gl/YHsGZm6tqP9Ac71H9"],
    "speeches": [
      {
        "org": {"cam": ["ijaama"]},
        "youtube": ["ESLF8sl86L4"], "lang": "en",
        "speakers": [{
          "image": "nsalnikov.jpg",
          "names": {"*": "Nikita Salnikov-Tarnovski"},
          "titles": {"*": "CTO @ Plumbr"}
        }],
        "titles": {"*": "Project clarity - Random rant from an old engineer"}
      },
      {
        "org": {"cam": ["ijaama"]},
        "youtube": ["M6-2XSPSy5Y"], "lang": "en",
        "speakers": [{
          "image": "mkuldma.jpg",
          "names": {"*": "Martti Kuldma"},
          "titles": {"*": "Head of Software Development"}
        }],
        "titles": {"*": "What is Tribes & Missions and how did Pipedrive get there?"}
      },
      {
        "org": {"cam": ["ijaama"]},
        "youtube": ["ro4F57ReTyo"], "lang": "en",
        "speakers": [{
          "image": "vramani.jpg",
          "names": {"*": "Vinay Ramani"},
          "titles": {"*": "Chief Product Officer @ Pipedrive"}
        }],
        "titles": {"*": "How do you align the Product organization around a highly agile team setup such as Tribes & Missions?"}
      }
    ]
  },
  {
    "num": 68,
    "season": 2019,
    "datetime": "2019-01-24T19:00:00+03:00",
    "place": {
      "addr": "Toompuiestee 23, Tallinn 10137", "loc": "https://goo.gl/maps/bKgbrTmjPkP2",
      "name": "The von Stackelberg Hotel Tallinn", "url": "https://www.vonstackelberghotel.com"
    },
    "org": {"mod": ["sgorski"], "photo": ["klinnik"]},
    "photo": ["https://photos.app.goo.gl/f8d4wtdVt11J2Tx2A"],
    "speeches": [
      {
        "org": {"cam": ["gbeskin"], "edit": ["aarhipov"]},
        "youtube": ["1eU5YX7Xer8"], "lang": "en",
        "speakers": [{
          "image": "aarhipov.jpg",
          "names": {"*": "Anton Arhipov"}
        }],
        "titles": {"*": "IntelliJ IDEA Tips & Tricks"},
        "descr": {
          "en": [
            "This session takes you through the cool features of IntelliJ IDEA, uncovering not so commonly used features. We will review how to utilize the power of automated refactorings, shortcuts, fast navigation, and other features that the IDE provides for better productivity."
          ]
        }
      },
      {
        "org": {"cam": ["gbeskin"], "edit": ["astalnuhhin"]},
        "youtube": ["TDbPuqCRGqc"], "lang": "en",
        "speakers": [{
          "image": "vtverdohleb.jpg",
          "names": {"*": "Valeri Tverdohleb"}
        }],
        "titles": {"*": "Technical who?"},
        "descr": {
          "en": [
            "I will try to answer a quite uncertain and not an easy question - What does techical artist do? - based on game development at Gamesys. During this session we'll build a prototype and define its necessity."
          ]
        }
      }
    ]
  },
  {
    "num": 67,
    "season": 2019,
    "datetime": "2018-12-20T19:00:00+03:00",
    "place": {
      "addr": "Liivalaia 33, 10118, Tallinn, Estonia", "loc": "https://goo.gl/maps/dW36V6WUFhnTdCw9A",
      "name": "Olümpia hotell", "url": "https://www.radissonblu.com/en/olumpiahotel-tallinn"
    },
    "org": {"mod": ["sgorski"], "photo": ["gbeskin"]},
    "photo": ["https://photos.app.goo.gl/DAuBKhAJPFJirzDf7"],
    "speeches": [
      {
        "org": {"cam": ["ijaama"]},
        "youtube": ["Yp514DrnX-c"], "lang": "en",
        "speakers": [{
          "image": "ekaju.jpg",
          "names": {"*": "Erik Kaju"}
        }],
        "titles": {"*": "How to build a payment card product"},
        "descr": {
          "en": [
            "For a long time payment cards used to be the domain of banks. In the last decade, the paradigm has shifted – we see more and more regular enterprises issuing their own cards, be it telcos, grocery store chains, various fintech startups etc. But what does it take to build a payment card from scratch? How do cards work? What is the anatomy of card transactions? This is a talk focusing on technical and product aspects of the card issuance, based on true story."
          ]
        }
      },
      {
        "org": {"cam": ["ijaama"]},
        "youtube": ["Q-tkHJYY09U"], "lang": "en",
        "speakers": [{
          "image": "dbuzdin.jpg",
          "names": {"*": "Dmitry Buzdin"}
        }],
        "titles": {"*": "How payment cards really work"},
        "descr": {
          "en": [
            "This talk is an introduction about technical aspects of how payment cards function, what technical protocols are involved and what are implementation complexities in a typical payments project. You will learn about concepts like 3DSecure, Authorisation and Clearing, Tokenization and know about novelties in the payment world, which will affect consumers in the nearest future."
          ]
        }
      },
      {
        "org": {"cam": ["ijaama"]},
        "youtube": ["Zm02wrli6uc"], "lang": "en",
        "speakers": [{
          "image": "aarhipov.jpg",
          "names": {"*": "Anton Arhipov"}
        }],
        "titles": {"*": "Kotlin DSL in under an hour"},
        "descr": {
          "en": [
            "Learn how to create type-safe and statically typed DSLs in Kotlin. Uncover the language features that make DSL creation possible. We’ll take a look at a few practical examples and create a simple DSL ourselves. The session starts with an introduction to DSL related Kotlin language features.",
            "Next, we create a simple DSL in a live coding session and then continue adding expressiveness and language features. We cover a number of examples, like JSON or XML builder’s, data binding, configuration & template engines. As a bonus, if time permits, we’ll take a look at Kotlin DSL example in TeamCity continuous integration server."
          ]
        }
      }
    ]
  }
]
