7:00 AM | Registration | |
8:00 AM | Opening & Keynote | Welcome to GDG DevFest Bucharest 2024! We'll start the day with an inspiring session, going through the latest trends and news in the technology world. |
8:30 AM | Coffee break | |
8:45 AM | [Mobile] - Alex Burdușel - 10 things we learned redesigning the Fitbit App | During the past 2 years the Fitbit app has gone through significant changes and improvements at all layers. In this talk we’re going to share some insights into our journey of evolving our Android Product. |
8:45 AM | [Web] - Jasper Duizendstra - Building a DMS on top of Google Drive | In this session I will walk through a DMS based on Google Drive and Add-Ons. The documents are maintained by a group of document editors and the published documents are also available in a chat bot. |
8:45 AM | [Cloud] - Gabriel Preda - Explore Gemma 2 features using Kaggle Models | In this session, we will became familiar with Gemma 2 by leveraging Kaggle resources: Models and Notebooks. We will go through few notebooks and explore Gemma 2 capabilities while using prompt engineering, RAG and fine-tuning to prototype applications with this compact and powerful model from Google |
9:30 AM | [Mobile] - Ahmed Tikiwa - Channel me perfect: the importance of app notifications and delivering them via notification channels | Notifications play a pivotal role for any user-facing application as it gives your users the necessary updates when required. However, if they are not used correctly, they can end up being an annoyance for your users as opposed to something they need. Android has Notification Channels which assist in placing notifications into groups or categories, think of, "Urgent Notifications" vs "Promo Notifications". By placing notifications into channels, important notifications can be received into the right channel and non-trivial notifications can be optionally received and the user can decide to receive them, or not, without compromising receiving important notifications. This can be very beneficial for a delivery app for example - where delivery updates are the important notifications and promo notifications are the trivial, which can be turned off. |
9:30 AM | [Web] - Paul Negoescu - Clean Code for Frontend AIs | What are AI chat-bots currently capable of? Will they help us be better developers or will they even replace us? As a trainer, engineer, and architect myself I wanted to explore to what degree will AI be able to mess with my job. Will it make evaluating students or job candidates impossible? What are the limits, how can I as an interviewer throw a wrench into the wheels of someone using AI to “beat” my interview questions? How can I ensure that students taking my courses will play fair? How can I get help from an AI and generate code that is not only relevant but also clean and efficient? During this presentation we will look together at some code examples, where and how AI failed to produce maintainable code and even how it can fail to produce working code. Let’s try to answer some of the above questions together, in the short time we have. |
9:30 AM | [Cloud] - Natalie Godec - Balancing tight security with fluid devex, powered by GKE | The most secure server is one that is disconnected from the Internet and unplugged. And the most convenient environment for devs is where they have admin access to production and the freedom do what they want. How do you marry the two? Let's look at a real-world scenario where we built a cloud-native fintech platform on GKE. The vision? A robust, flexible, and secure foundation that supports SOC2-compliant deployments and empowers developers to be as productive as possible, contrary to the typical for the financial sector blown-out processes and approval chases. This solution is powered by Google Kubernetes Engine (GKE) and the cloud's niftiest security tools from the Secure Supply Chain toolkit. |
10:15 AM | Lunch break | |
11:15 AM | [Mobile] - Radu Radu Marin & Radu-Ioan Ciobanu - Watt’s Draining Your Battery? | There’s no worse feeling than your phone’s battery draining when you need it the most. As developers, in our quest to deliver the most exquisite mobile experiences, we often overlook the fact that our apps are running on battery-powered devices. The more we crank it up, the more we sacrifice battery life. And this is a compromise that users aren’t always willing to make, so we shouldn’t either. Let’s take a look under the hood of Android’s power management and better understand how it works, and, more importantly, how we can work with it. From idle states to Doze, we’ll uncover the mechanisms that are currently used to preserve battery life. We’ll see that performance doesn’t need to be compromised for extending battery life. From proper background behavior to smarter resource usage, you’ll learn best practices on how to measure and optimize the power consumption of your apps. You’ll also find out how you can keep your users more informed and engaged, and they’ll thank you for it! |
11:15 AM | [Web] - Alex Gatu - AI & Security Testing - A double edged sword (30 min) | Introduction to Security Testing - Areas of security present in any entity, how to perform a security test on various levels AI current state review - Status of the AI technology at the date, models available that involve security Areas where AI helps in Security - Tools, practices, approaches enabled by AI Areas where AI introduces challenges to Security - New attack types, skills, impact that AI generates on security Future ahead of us - What is predicted to come in the near and long term future in regards to cybersecurity |
11:15 AM | [Cloud] - Alexandru Ionescu - How to move 2PB of data in 3 days | This talk will take you from the lowest level where we got our hands dirty with networking infrastructure and hardware choice up to the highest level where we had a fully functional Kubernetes cluster capable of scaling to hundreds (possibly thousands) of nodes. In this session, I’ll walk you through the details of this migration process, the challenges we faced, and the major improvements we gained by moving to Kubernetes for managing both our compute and storage infrastructure. |
12:00 PM | [Mobile] - Mangirdas Kazlauskas - Cat-like Development: Flutter for Efficiency | |
12:00 PM | [Web] - Adina-Teodora Marcu - TypeScript and API Development with GraphQL | In modern API development, ensuring type safety and preventing runtime errors is crucial, especially as applications scale. TypeScript and GraphQL are a perfect match for building robust, scalable, and type-safe APIs. With TypeScript’s static typing, developers can define precise data models that sync seamlessly with GraphQL schemas, eliminating inconsistencies between the front and back ends. By using tools like TypeGraphQL or Apollo, you can leverage TypeScript to auto-generate types, enforce data contracts, and improve overall developer experience, leading to faster development cycles and fewer bugs in production. Let’s explore how these two technologies streamline API development and create more maintainable, efficient codebases! |
12:00 PM | [Cloud] - Rustam Mehmandarov - Serverless Java Apps in the Cloud: MicroProfile, Quarkus, and Cloud Run | So, you need to have your Java app deployed and available for your users fast, and you would like to do as little managing, wiring, and infrastrastructure work as possible. How can you achieve that? Well, you go serverless with your containers using supersonic Java in the Cloud! Join us exploring the possibilities with MicroProfile and Quarkus on Google Cloud Run. Bleeding edge Java! |
12:45 PM | Coffee break | |
1:00 PM | [Mobile] - Adrian Mărgineanu - Building a Virtual Keyboard in Flutter: From Kiosk Solutions to Community Contribution | Join Senior Flutter Developer Adrian Mărgineanu at DevFest Bucharest 2024 as he delves into creating custom virtual keyboards in Flutter for kiosk systems. Adrian will walk through the technical steps of building a responsive, accessible virtual keyboard tailored for Flutter-based applications and share insights on how developers can publish their work on pub.dev, making valuable tools accessible to the entire Flutter community. This talk is a must for mobile developers interested in open-source contributions and expanding Flutter's utility in specialized environments. |
1:00 PM | [Web] - Bogdan Bindea - From Analog to Digital: The Power of Semantic Web and Java in Transforming Engineering | The engineering world is rapidly shifting from traditional analog methods to a fully digital landscape, and understanding this transformation is crucial for staying ahead. This talk delves into the journey “From Analog to Digital,” focusing on the role of Semantic Web technologies and Java architectures in driving this evolution. Attendees will learn how these technologies enable seamless data integration, bridge the physical and digital worlds, and create smarter, more efficient engineering solutions. We’ll dive into real-world examples of how Semantic Web principles and modern software architectures are used to streamline processes, improve decision-making, and drive innovation. Whether you’re an engineer, software architect, or passionate about digital transformation, this session offers valuable insights into the latest practices shaping engineering’s future. Discover how to leverage these technologies to open up new opportunities in your field. |
1:00 PM | [Cloud] - Joshua Fox - Taking Machine Learning to production: Vertex MLOps for speed and efficiency | I have worked with many startups which emerged from university projects. They often run on a single virtual machine, which is what works for research.
However, as the system scales and enters production, automation becomes crucial. Google Vertex can radically streamline this process. For example, model training is more efficient with a managed service that automatically scales compute resources based on your training needs, eliminating the cost of idle resources – as happens when you use a Jupyter Notebook or a VM for training.
We’ll cover other parts of the ML process with Vertex and other Google Cloud services, including development, hypertuning, deployment for inference, tracking model performance, and defining the entire pipeline.
The hard part is deciding when to switch. Learning new services and migrating to them takes precious time that a fast-moving startup cannot afford. But If you stay too long with the simple architecture, you end up building components yourself, and eventually get locked in. So, after reviewing the Google Cloud services you can use, I will explain the key decision points for when to adopt each of the services. |
1:45 PM | [Mobile] - TBA | |
1:45 PM | [Web] - Bogdan Hobeanu - The Dart stack: why code twice when once is nice? | You’ve built your Flutter app, and now you need a backend. Who you gonna call? Dart might be the answer! Tired of switching between different languages and tools? Can Dart simplify full-stack development and let you use one language for both frontend and backend? Let’s find out together. |
1:45 PM | [Cloud] - Marton Kodok - Vector search and multimodal embeddings in BigQuery | BigQuery allows you to generate multimodal embeddings and perform vector searches directly on your data without complex preprocessing steps. Simplify the process of finding relevant data, identifying patterns and trends, and clustering similar objects together. Learn how to generate embeddings using familiar BigQuery SQL syntax with multimodal inputs (text, images, audio). We’ll then review how to use BigQuery’s vector search capabilities to explore data in new and innovative ways, leading to faster decision-making and improved insights. |
2:30 PM | [Mobile] - TBA | |
2:30 PM | [Web] - Alex Bordei - Building a Full-Stack CRM with Flutter and Firebase: Architecture, Challenges, and Best Practices | Discover how to build a full-featured CRM using Flutter and Firebase in this hands-on workshop. We’ll explore key architecture, API-driven development, and real-time data challenges. Walk away with practical knowledge to build scalable web apps and tackle performance issues with confidence. |
2:30 PM | [Cloud] - Lucian Gruia - Agentic Design Patterns: Bridging AI Agents and Microservices Architecture | This talk explores the paradigm of Agentic AI, highlighting the roles of intelligent agents in transforming modern software architecture. We will discuss the essential design patterns, including tool use, multi-agent collaboration and cross-species agent design, explaining how these frameworks enable AI agents to expand their capabilities, collaborate effectively, and adapt to heterogeneous environments. We will draw analogies between AI agents and microservices architecture, showing how agentic workflows can enhance process optimization, adaptability, and innovation. The talk will emphasize the characteristics of reactive, proactive, and hybrid agents, illustrating their roles in dynamic, real-time decision-making and strategic planning. Additionally, we will assess emerging trends in Generative AI, focusing on advancements in collaborative efficacy, adaptability, and the ethical considerations involved in AI deployment, including building responsible AI systems. This session aims to provide attendees with a comprehensive understanding of how agentic design patterns are influencing the landscape of intelligent systems and their integration within existing software frameworks. |
3:15 PM | Closing | |