Talks

Tanay Pant
Programmer, Author and Tech Speaker at Mozilla Foundation

Multiplayer games with WebXR

Virtual Reality is a technology used for building realistic experiences for games, environments, content display as well as marketing. In this session, I will teach the participants about 3D objects in the web, virtual reality, VR devices, WebVR, WebVR API and finally building games with A-Frame. In this talk, I will also showcase creating a multiplayer game similar to Pokemon Go using WebXR in a live coding session. The live coding session will cover topics such as creating the game scene, importing 3D objects, interaction with objects, adding animations, implementing WebAR and adding multiplayer capability to the game with real time databases. By the end of the session, the participants will have a complete understanding of what WebXR is and they will be able to create cross-browser WebXR experiences as well as multiplayer games similar to Pokemon Go.

More info about the speaker.

#vr #games #WebXR #programming

Ahsan Ayaz
Google Developer Expert in Angular and Ionic & MEAN developer

Angular Change Detection - When you see it

Angular is a great framework and one of the most popular choices for building both small-scale and large-scale applications. When the application grows and becomes complex, it becomes necessary to take important measures to keep the application be performant.

Having a good understanding of Angular Change Detection can help to build the app in a way that it is optimized for performance. We will go through how the Change Detection works in Angular and what we can do to make it even smarter.

More info about the speaker.

#angular #JS #frontend #programming

Andrea Provaglio
Agile Executive Coach, Agile Enterprise Coach, Keynote Speaker, Mentor

Evolving into Agility

In organizations, change comes from leadership. That’s not necessarily connected with status and authority and, in fact, leadership can be manifested in many different ways (i.e. individual or collective) and styles.

Still, the main force behind change is leadership.

I’ve been coaching teams, organizations, leaders and managers along their path to agility for years. In this talk I’d like to point out how leadership in adaptive organizations is much subtler and pervasive than what we usually think and that its foundation lies in some character qualities that are frequently overlooked or underrated.

Among this qualities we can find curiosity, empathy, courage and an attitude to listen deeply (which are in itself a personal journey of self-discovery and self-awareness) and that we need to be connected with ourselves as well as with others, before we can even start to think how to influence our environment from a leadership position.

Active listening is also a practice that enables system-awareness and dialogue at the organizational level, something that adaptive organizations are in dire need of, if they want to to operate in innovation and adaptation rather than recycling old paradigms over and over again.

This is a critical aspect if we want to create organizations that operate, internally and externally, on different assumptions than post-industrial, mechanistic organizations.

Indeed, I believe this is the main reason behind many of the failures I’ve witnessed in Agile adoptions — namely, introducing change at the superficial, operational level, while being unable or unaware of changing the fundamental paradigms by which people operate and interact.

In this talk I’d like to explore all that, share real-life stories and examples, mixed with a little bit of science, philosophy and practical advice, hoping that this will help organizations to better understand and create the kind of leadership that will let them thrive in a complex, adaptive world.

More info about the speaker.

#Agile #leadership #coaching

Bruno Škvorc
Cryptocurrency/blockchain at Bitfalls.com & Helmsman at Coin Vendor

Auditing Smart Contracts: Beyond Code and Into Godmode Backdoors

Auditing code for security is important. But what about auditing for logic? How many tokens do you own? And how many tokens have you inspected, source-code style? How many tokens can you actually store on a paper or hardware wallet without fear of someone grabbing them, just like that, even when offline? You’d be surprised to learn that you don’t actually “own” many tokens. In this talk, I’ll show you what I mean by this and how to check for these pitfalls.

More info about the speaker.

#blockchain #programming

Ben Linders
Trainer, Coach, Adviser, Author, Speaker

Teams, what's in it for me? - How to (not) manage teams

Agile talks a lot about self-organized teams, where developers and testers work together to deliver software. But what can you do to make teams succeed?
Ben Linders will explore why you want to work in a team, the benefits that teams bring, and how to (not) manage teams.

What is an agile team (and what not)
Why would you as a developer want to work in a team, what’s in it for me
Which benefits do teams have for organizations, stakeholders, customers, etc
How to manage teams, the do’s and don’ts
How developers, managers, and business people, can effectively communicate and collaborate

More info about the speaker.

#agile #business

Dragan Stefanov
Technologist & Entrepreneur

Server not found

Containers, serverless and orchestration, are concepts that are now the cornerstone of modern tech architectures.

When do we use what and can we combine these best of bread notions?

In this talk, we will explore possibilities of infrastructure abstraction and complete automation of provisioning, deployment, running, and monitoring of our processes using Docker, K8s and FaaS.

We, as business/product developers will try to get away as far as possible from the “metal” and as close as possible to the business and consumer.

More info about the speaker.

#serverless #orchestration #containers #programming

Bogdan Begović
Frontend Technical Lead @ Sysdig
46505718_915576701985531_7134993628543320064_n

Enterprise grade React application - A refactoring journey

Have you ever wondered how modern Front End frameworks and libs are used in huge enterprises systems?
What is the way to reduce complexity, improve maintainability and reduce technical debt?

This talk will present you a journey of refactoring huge enterprise-grade system with more than 4000 web pages, from ExtJS to React library. You will learn why it is a good thing to keep your core vanilla (JS) and how can you structure such a huge project. You will see how we can remove coupling and reduce technical debt, how Redux library can help you with refactoring and how can you document the whole process with a Storybook project. And finally, you will learn some architectural tips and tricks to make your code easier to maintain, test and build upon.

P.S. Also, as a bit of sprinkle on top, you will see what processes have been put in place so that the code quality is preserved and improved over time.

More info about the speaker.

#JS #React #frontend #enterprise #programming

Ivan Čuljak
Software Engineer and Owner at transpose.xyz

Making the cloud event-driven and orchestrated

Years have passed since serverless started being a hype. Tensions are lowered now, we’ve learned a lot in the mid time, we’ve figured out what for is serverless useful, and how to use it, but we’ve also figured out what are we missing, at least out-of-the-box.

One of the things we are/were missing is the ability to react on a broad spectrum of events in the same way, whether we’re talking abut a click on a web page, a message between parts of our system, an information that a virtual machine has spun up, or even that our credit card has bounced…

The other major pain is/was chaining of serverless functions, keeping track what, and where failed, decently handle errors, basically… having the whole system make us proud, instead of looking like something that MacGyver patched up during a single episode to flee from some narco boss.

Azure gave us EventGrid to solve the first pain while allowing us to event react to inter-cloud events, and we’ve got Durable Functions to orchestrate whatever we feel like.

The goal of this talk is to give you an overview what can you expect when you start playing with serverless more seriously, as to give you some advices how to make your serverless architecture more serious, more stable, and less demanding to constantly watch over your e-mail to see if something has crashed, and degraded.
If you want to hear stories from 18 months of serverless “trenches”, please join.

More info about the speaker.

#.NET #serverless #programming

Lars Haßler
Developer | Coach | Speaker and Consultant

Mob Programming - Or why it’s a good idea to have only one computer per team

Software development is hard, especially because everything can and will change as everybody has to become more agile. Problems are getting bigger and bigger for one brain to comprehend, this is why many companies are already working in a pair programming approach. So why not turn this all the way up?

This talk will be an introduction into mob programming, when to use it and how to use it correctly. Within it, I’ll talk about my experience while trying mob programming with different teams within Trusted Shops, what the benefits are and what gotchas to look for, when trying it.

More info about the speaker.

#MobProgramming

Tobias Modig
Software Development Consultant at Citerus

The Tech Coach Strikes Back

In the past years we have been overwhelmed by agile coaches bombarding us with important stuff like the optimal length of a sprint, how to rip off a Post-It and why we should use CAPITAL letters on story cards.

The question is, will that help us write better code? Will it make our programs more maintainable? Probably not. Nevertheless, organizations spend barrows of money on agile coaches, but not a single dime on Technical Coaching. This lunatic must come to an end and now is the time for us developers to fight back and protect our right to grow in the art of creating code.

Taking its starting-point in the XP-principles this session will explain what technical coaching is, why you should do it and how it could be done through mob programming sessions.

More info about the speaker.

#Programming #TechCoach #agile

Nenad Lasković
From a software developer to a product and project manager

Why Scrum doesn’t work for many teams? What we should do to make it work?

Most of the software companies these days are using some variant of the Agile approach, mostly Scrum. The experiences vary. From implementing only some of the elements (“we do daily meetings, use Jira and sprints of various length”), to the excitement and a religious zeal (“Scrum is the only way. Thou shalt have no other ways.”), to abandoning of Scrum approach. Most common complaints are that Scrum meetings are taking too much time and that Scrum is not efficient. Because all those different experiences, there is a lot of discussions whether Scrum is just another passing fad and predictions about “the end of Scrum”.

The goals of this talk are to revisit what are the reasons for using Scrum and what are the essential requirements needed for Scrum to be successful. Especially, what is the relationship between the business (“how to build the right product”) and engineering (“how to build the product right”). Finally, we’ll discuss what each of us, being in development or business, can do to make the process of building software successful.

More info about the speaker.

#Agile #Scrum

Andrey Salomatin
Programmer, product manager, podcaster

From programming languages to network protocols: lessons on API design

API design is something programmers do daily. Every time we come up with a function interface or a method in our backend API – we make a design decision. Good decisions lead to code that is easy to evolve and maintain. Bad decisions can demolish the project.

API design is something we learn by looking at more different systems. Unfortunately, that’s not something we are paid to do 🙂 In this talk, I’d like to share the insights I’ve got from interviewing dozens of people for Code Podcast. We’ll go through examples from DOM API, BitTorrent, Ethereum, several programming languages and UI frameworks. We’ll see how those projects make tradeoffs, what are the characteristics of good and bad design, and how we can make our decisions better.

More info about the speaker.

#programming #architecture #api

Saša Sekulić
Mobile Lead, Android expert

Testing & RxJava2

With RxJava you can write some complex, multithreaded code – and testing it is easy!

More info about the speaker.

#programming #RxJava #Testing #java #Android

Andreas Heigl
Developer

Time is an illusion (lunchtime doubly so)

Have you ever read a “Good morning” in an international IRC-Channel shortly before you leave the office for lunch? In international business, time is an illusion as everywhere is a different time.

In this talk, we’ll dive into the depths of Timezones and how to handle them. We’ll see why timezones are important and why and how they started to exist. And of course, we’ll examine how to handle those little buggers efficiently in code and database.

More info about the speaker.

#Programming #web #timezone

Nikola Krgović
Senior System Engineer at Twin Star Systems

Running applications in a production environment

What can the developers expect when IT Grows. How does the environment in which the applications run change, once the growth of business and the flow of income, or the SLA’s with clients, move the production system into a highly available setup, what should the developers expect and what changes will they have to make.

More info about the speaker.

#Programming

Nara Kasbergen
Senior Full-stack engineer at National Public Radio

Empathy as a Service: Supporting Mental Health in the Tech Workplace

At any given time, 1 in 5 adults is living with a mental illness, such as depression, bipolar disorder, generalized anxiety disorder, substance use disorder, burnout, or ADHD. At the same time, the tech industry is often characterized by high stress, long hours, workplace pressure to be available by phone and e-mail after-hours or sometimes even while on vacation, social pressure to constantly network and attend conferences and make a name for yourself, and the precarious balance between trying to do good by contributing to open-source and maintaining some semblance of free time that doesn’t involve coding. Given how this demanding environment increasingly blurs the line between our professional and personal lives, how can we ensure that the most vulnerable among us aren’t being left behind?
As a community, the single most damaging thing we can do is continue to treat mental health as a personal shortcoming that can’t be talked about openly. We shouldn’t think of it as “somebody else’s problem”; the 4 in 5 of us who don’t currently have mental health disorders must do our part to help end the stigma.
This talk will begin with an overview of key statistics about mental illness, followed by the efforts of the non-profit organization Open Sourcing Mental Illness to gather more data about mental health in the tech industry, and finally conclude with ideas and strategies for making our tech workplaces more accommodating and inclusive.

More info about the speaker.

#Programming #mentalHealth

Nikola Đuza
Battle-tested JavaScript and Ruby on Rails engineer at Toptal

There and Back Again: e2e Testing React with Cypress

“Argh, e2e tests, not again” – you must be saying to yourself. But this time it will be fun and less stressful than usual, I promise. Get ready to find more about Cypress – tool for e2e testing by testing React code with a backend. Pack your backpack, we’re going on an adventure!

This talk would introduce Cypress and its features to the audience. The talk will show how to properly test React front end and connect it to the back end. It would also teach them a couple of philosophies that come with using Cypress and best practices for its use.

Cypress was designed to be fast and lightweight as much as it can be – which is especially helpful as e2e test are expensive to write and run. One of the philosophies is how to handle your data, since most front end apps show data. I’ll answer questions like when and why to stub the back end / make fixtures / or seed the data.

More info about the speaker.

#Programming #React #JS #Testing #Cypress

Antonio Perić-Mažar
CEO and Co-Founder at Locastic

Service workers are your best friends

The main API for PWA creation is Service Workers, they are the heart of this “new web”. With Service workers, we can send push notifications to the user or do background sync and show data even when the user is offline. They are not some science fiction, but a script that is quite easy to use.

In this talk, we will see overview what are service workers and when and how to use them.

More info about the speaker.

#Programming #JS #ServiceWorkers

Pauline Vos
Software Engineer & Scrum Master at Werkspot

Git Legit

If you’re fighting with Git on a regular basis, you might not be using it optimally. This talk will lay out how to make your life easier only by changing your daily Git usage through atomic commits and other best practices. Next time you’re pulling your hair out from rebase hell, remember this talk. Many Git users tend to use Git as a save point, like in a video game; chronologically making checkpoint commits as they go. This spreads out changes to the same areas in the code over several commits, necessitates merging and resolving conflicts, and generally just making an incomprehensible jumble of your history.
This talk makes a case for atomic commits and how to use them while only minimally affecting your workflow. Using pre-recorded demos, you’ll learn how to properly interactively rebase, fix up, reset, bisect, and more. By the end of the talk, you’ll have seen how this Git flow will make your life easier and how it will affect your ability to cherry pick, drop unwanted commits, and most importantly: not spend hours resolving conflicts in rebase hell. A little change in habits can go a very long way!

More info about the speaker.

#Programming #Git

Zoran Horvat
CEO at Coding Helmet Consultancy

So, you're writing code one line at a time? Yeah, right.

Iterative development is one of those agile techniques that so often turn into their opposite: blinded by the very iterations, developers cannot see the upfront design they are implicitly following. Isn’t there anything we can do to improve iterative development?
In this presentation, you will see how code can grow one line at a time, literally, and yet every next line will add one complete, and often final, feature to the design. A good design – the one with responsibilities separated, components loosely coupled, with good naming and other qualities we prefer.

More info about the speaker.

#Programming

Luka Kladarić
Chaos Manager & Software Engineer

Tech bankruptcy: Looking back on a decade of bad decision making

Since the dawn of software development, we’ve been faced with the same impossible choice every single day: do it quickly or do it well. We do our best to make the right choice for the task at hand, and we move on. Then came the lean startups & “Move fast and break things” and put their thumbs on the scale in the favor of the hacks, the MVPs, the just-ship-its, and the Product Managers just ate. it. up.
That’s great, for proving a concept or finding a market fit. But what happens when that’s all you do? When the entire organization, top to bottom, has collectively forgotten how to write quality software. When you become unable to make the correct technical decision even by accident.
We will take a deep dive on a mission-critical web application that is basically unusable on its best day, and trace the trivial bad decisions that got it there.
You will never take a shortcut again.

More info about the speaker.

#Programming #React #Python #Java #API #MySQL

Jean-François Gagné
Infrastructure Engineer and MySQL Expert

MySQL Scalability and Reliability Considerations for Replicated Environment

You have a working application that is using MySQL: great!  At the beginning, you are probably using a single database instance, and maybe – but not necessarily – you have replication for backups, but you are not reading from slaves yet.  Scalability and reliability were not the main focus in the past, but they are starting to be a concern. Soon, you will have many databases and you will have to deal with replication lag.  This talk will present how to tackle the transition.

We mostly cover standard/asynchronous replication, but we will also touch on Galera and Group Replication.  We present how to adapt the application to become replication-friendly, which facilitate reading from and failing over to slaves.  We also present solutions for managing read views at scale and enabling read-your-own-writes on slaves. We also touch on vertical and horizontal sharding for when deploying bigger servers is not possible anymore.

Are UNIQUE and FOREIGN KEYs still possible at scale, what are the downsides of AUTO_INCREMENTs, how to avoid overloading replication, what are the limits of archiving, …  Come to this talk to get answers and to leave with tools for tackling the challenges of the future.

More info about the speaker.

#Programming #MySQL #Scalability #Reliability #Replication #Sharding

Pim Elshoff
Programmer, coach & speaker

Technically DDD

You might have heard of Domain Driven Design. You may have heard DDD is a tool to write readable and change-ready code. You may have even heard DDD comes with a lot of talking, and modeling, and customers…

Starting with DDD sounds big, and scary, doesn’t it?

But getting started is not scary! Come to find out what DDD can do for your code, tomorrow. We’ll use value objects, entities and services to bring order to our mind and code. We’ll see how naming things can guide us, but also trick us. We’ll rework a piece of code together and improve what it means. And tomorrow you can tell your peers that, technically, you’re doing DDD.

More info about the speaker.

#Programming #DDD

Bogdan Kecman
Principal Technical Engineer at Oracle & VP of Engineering at PiipMobile AG

Advanced databasing

Advanced techniques in using RDBMS. Learn how to use your database as a pro, squeeze the last drop of performance from the same hardware. Design your system to be both high available and high reliable. Don’t get stuck in mediocrity, move your system further by learning secrets professionals won’t share on stackoverflow

More info about the speaker.

#Programming #Database #MySQL

Lemi Orhan Ergin
Co-Founder & Agile Software Craftsman at Craftbase

Slow Down To Go Faster Than Ever, But How?

Software development has evolved so quickly throughout the years. New tools, methodologies, practices, even new disciplines and principles have been introduced. From single individuals to tens of inter-connected development teams, from co-located teams to fully-remote distributed teams, software development professionals have developed new ways of doing their professions to achieve one single target: Building successful products.

Regardless of the technologies we use and the structures we build, our biggest challenge remain still: Catching deadlines, building high-qualified software that lasts long and being in the market earlier than our competitors. Going fast without control could be the biggest enemy of software development. After working as Agile Practice Lead for years and touching hundreds of teams in my career, I now believe the only way to go fast is going slow efficiently.

Going slow could destroy your career, your product, even your company, but it is the only way to go faster to succeed. In this talk, you will learn:
* how to build a development culture that builds software faster than ever.
* the principles and techniques behind slowing down under control.
* the myths and fallacies of development practices and the realities behind.
* real life examples of establishing an environment for efficient continuous delivery.

By the end of the talk, you will be able to know how you can change the way you and your team should work to go faster than ever.

More info about the speaker.

#Keynote

Milan Keravica
Software Developer at Execom

Cross-platforms: Xamarin.Forms vs OutSystems

Cross-platform is the buzzword when it comes to mobile app development. But since the community is still growing, it is hard to find the right answer for the question: which tools are the best for development on Windows, Android, iOS and other platforms? How to overcome the disadvantages they have, and what are the best ways to use their assets?

In this presentation, we will discuss OutSystems and Xamarin. Forms, two cross-platform technologies whose popularity is rapidly growing. Their pros and cons and comparative analysis will be explained by two software developers, Milan Keravica and Saša Grahovac, who have been working with these platforms for several months while developing complex software solutions. In their talk, they will also be describing some of the more common use cases where Xamarin and OutSystems shine, and how they fare in tackling various problems in the development lifecycle.

More info about Milan.

More info about Saša.

#Programming #mobileAppDevelopment #CrossPlatform #OutSystems #Xamarin

Saša Grahovac
Software Developer at Execom
Miloš Solujić
CTO of GNation

When blockchain is(not) solution

Is blockchain new tech snakeoil or it is the real solution for so many problems out there?

Like many other technology hypes before, blockchain is one of the newest that is used in so many new products that promise us to have a revolutionary solution for all kind of problems, like transparency, trust, democratization, etc.

We will try to demystify those claims, look closely at the state of the art projects in this space and make some conclusions from practice.

More info about the speaker.

#Programming #Blockchain

Lemi Orhan Ergin
Co-Founder & Agile Software Craftsman at Craftbase

10 Git Anti-Patterns Every Developer Should Be Aware Of

Git is one of the most powerful tool in developers’ toolbox. If you use it correctly, it dramatically increases productivity of developers and eliminates the waste products continuously. Developers cultivate a development culture on top Git most of the time.
It’s powerful but its power is untamed. Many teams fall into several traps of misusing commands and therefore feel uncomfortable while using Git. We mess up Git history, the codebase and the whole preferred branching strategy in seconds. We use branches, merge/rebase strategies, creating commits in wrong ways. Even we never take committing paradigms into account while using Git.

As a software craftsman, I’ve been using Git for years and I’ve already educated Git to hundreds of developers in all levels. I’m so lucky; I had a chance to experience huge amount of anti-patterns in time. In this talk, I will talk about what those anti-patterns are and what should we do in order not to fall into them.

More info about the speaker.

#Git

Dušan Zamurović
Data Engineer at Casumo

Grow it! Grow your product, save both time and money!

This is the story about building a business analytics platform – growing fast to satisfy business needs, measuring signals to understand impacts and racing around to be the first in the market. And keeping the wallet fat, saving both time and money, standing on shoulders of giants.

Let’s talk money! Let’s talk tech money! We want to win, to be the first so we have to think about solutions that save us time, money and maintenance efforts while providing solid foundation to answer business requests. This talk is the story of functional data engineering, idempotent computations and highly scalable cloud based business analytics. Audience will hear about serverless architecture, reactive functions, replayable, idempotent computations and underlying storage models. And we will talk what tech people do not talk enough – we will talk about money – how much do we cost, how to make more and how to cut down even more…

More info about the speaker.

#Programming #bigData #cloud #craftsmanship #architecture #scheduling

Nikola Živković
Team Lead & Scrum Master at Vega IT Sourcing

Solving Real-World problem using machine learning in Python

Predict Bike Sharing demand in Washington using Python and Sci-Kit Learn.

At the moment machine learning is crossing the chasm, from early adopters to early majority. Even though concepts of this field can be traced back to the 50s, big breakthroughs have been made in the last five years.

Apart from that, there are many machine learning libraries available, especially for data science languages like Python and R. That is one of the reasons why this field is more opened for general use.

In this lecture, we will see how we can use one of those libraries in Python – Sci-Kit Learn. We will focus on issues that data scientist can face when presented with the problem. For this purpose, we will use the Bike-Sharing Demands dataset.

This dataset is containing the data generated by the Capital Bikeshare program in Washington, D.C. In essence, Bike sharing systems are a means of renting bicycles where the process of obtaining membership, rental, and bike return is automated via a network of kiosk locations throughout a city.

We will use this historical and weather data, machine learning, Sci-Kit Learn and Python to predict future bike-sharing demands for this city.

More info about the speaker.

#Programming #Python #MachineLearning

Michiel de Wit
Co-founder of start.me

Turning gray hairs to your advantage

These are interesting times. The IT domain is now over half a century old and a lot of pioneering is now in the past. Software engineering has become a much more traditional job, and not just some hobby for the youngsters. As a consequence, the IT workforce is starting to show some grey hairs. Since software development is still a relatively young discipline, older (35+) developers often struggle with their plans for the future. How do they fit in with the younger generation? Will they be able to continue developing softeware until their pension? What are the prospects for older developers? Do they have to start looking out for a job outside the field? Or can they put their grey hairs to their (and their team’s) advantage? In my talk I explore these issues, show examples of older developers and how they did or did manage to stay relevant. I question the traditional Developer – Team lead – Project leader carreer path and show how Agile actually opens up a whole new set of possibilities.

More info about the speaker.

#Agile

Panel - Developers’ career life cycles

In this Conversation on Developers’ Career Life Cycles our moderator and panelist Jasmina Nikolić, Milan Puvača, Jure Čuhalev and Michiel de Wit will talk about some real global problems concerning the challenges and opportunities for developers’ personal and career growth from becoming to staying relevant. Together with the participants, our moderator and panelists will try and answer question such as: How do you figure out that you’re stuck? What are trade-offs between being consultant, freelancer, business owner, architect, technical manager (or quitting it all and becoming goat farmer)? How and where do you learn and acquire new skills? How do you choose your next career move? What are the prospects for older developers? How do you turn your gray hairs to your advantage? And how agility can help?

 

Moderator – Jasmina Nikolić
Panelist – Milan Puvača, Jure Čuhalev and Michiel de Wit

Jasmina Nikolić
Milan Puvača
Jure Čuhalev
Michiel de Wit

Stay tuned!