Three days of focused opportunities for learning and networking.
DevConf is one of Poland's premier annual conferences dedicated to software development. It's based on principles we believe are the success factors of an ultimate conference experience. Regardless of technology, we strive to spark inspiration by exchanging ideas. We facilitate learning as a process occurring at talks and during informal conversations. Knowing that great sessions are not enough we're also eager to provide excellent networking opportunities. People and interactions are what we value the most.
The whole event is divided in two parts:
pre-conference workshops happening on 31 Aug 2022
and the conference itself on 1-2 Sept 2022.
Meet our professionals.
More speakers still to be revealed.
Some of you join us also for more in-depth and hands-on knowledge. As a response, we organize workshops a day before the conference.
Tickets are being sold separately, regardless of the conference ones.
Conference opening by organizers, city of Łódź deputy mayor Adam Pustelnik and our Platinum Sponsor - ABB.
We’re agile, we’re doing DevOps, we work in cross-functional teams, and we use the latest developer pipeline tooling. With all those methodologies and technologies we should be highly effective, right? Probably not. Most of us still struggle with balancing coding speed and quality, working on the stuff that really makes a difference, and feeling constantly stressed by all the things we should learn.
Effective developers don't just write clean, simple, and robust code. They also have a strong understanding of the entire development process and the problem that needs to be solved. They take time to learn, practice, and play.
Learn how those developers build effective coding habits, think about the outcome first, reserve time for deep work, and much more. You’ll walk away from this talk with lots of ideas on how to work smarter, not harder.
GraphQL and microservices architectures are perfectly compatible. You can use GraphQL as a data layer for these microservices and combine data from all these services into one universal API. This way, you can break the core of your services into different microservices while still providing one endpoint that your clients can interact with. Before diving into GraphQL, let's explore what microservices are and why it can be helpful to add GraphQL.
Books, workshops, storming and more, all build up an idealized domain model. All describe great techniques for domain-driven greenfield applications. But what about the code we have? How can we take what's already built, and move it towards a better, more cohesive design?
In this session, we'll look at anemic, procedural, boring code and examine code smells that can point us in the right direction. We'll also look at standard design patterns for more complex behaviors and models, and how to recognize when (and when not) to apply them. Finally, we'll cover how to safely apply refactoring techniques to achieve our domain-driven model nirvana.
"Multicloud" is, like "Agile", "DevOps", and similar, yet another word that has been misused in countless contexts and discussions. Throughout my career, I had the opportunity to take part to several large migrations of core systems used by millions of people across multiple industries. From Banking to Fashion, passing by Retail, Media, and of course Software industries I had the pleasure to work with extremely talented people focused on migrations and transformations. Data Migrations; Lift-and-Shifts; Monoliths on classic datacenters being broken down into microservices on public clouds; microservices on public clouds being brought back on on-prem private clouds; cross cloud-vendors migrations; and so on.
We came to the conclusion that multicloud is not only possible but it is also a state that needs to be reached by any business that seeks leadership in a specific sector or industry and for key organizations and institutions that needs to keep their independence.
In this talk I will set the scene through specific case studies and stories from the frontlines; I will then give our opinionated definition of what multicloud actually is and then we will explain why reaching this stage is key to having well-architected systems. We found that Domain-Driven Design in tandem with Ports & Adapters Architecture helps especially well in such situations, so we will bring specific patterns and examples on why this is the case. Finally, we will discuss one main pain that will come after the first success, governance, and cross-pollination. How to do this at scale without choking the Center of Excellence? We came up with what we think is a novel approach to Strategic Design that we called Fractal Architectures.
Formula1 teams have tons of data on their hands and based on that they make a lot of crucial decisions. Like which tyres use to start the race or at which point to change them to gain on their competitors. But without insight into that data, just by following some historical races - can you make some predictions how teams will do in future races? To some extent… yes! Join me for this journey of experimentation to predict teams race strategies for upcoming Dutch Grand Prix that takes place on the weekend of the conference.
We make software for humans. So we must understand how humans work to design the best software possible. We don't need to be psychologists or anthropologists, but we do need to know a few things about what makes users do what they do when it comes to software. So come to this session, where you'll learn how to apply critical thinking to developing software solutions and designing digital products. You'll learn about what makes users behave in certain ways and how you can design software with those behaviors and biases in mind. With this knowledge you can provide the best possible experience while you meet your goals. Bonus: It's not just the users' behaviors and biases we need be concerned with. You'll learn how those same behaviors and biases can affect the productivity and functioning of your team - from communications to meetings to code. And how to properly mitigate them.
The next wave of digital disruption is Spatial Computing, an emerging technology that will change how we interact with computers and the physical world, using intelligent edge devices like a HoloLens and other mobile devices. Mainly driven by AI computer vision and advanced sensors, those devices can spatially sense the world around us and make the spatially aware context part of the experience. With technologies like the AR Cloud, a common spatial map can be shared between heterogeneous devices to build connected, collaborative, and cross-platform Metaverse apps where virtual objects anchored in the physical world can be shared across devices and over time with persistence. During the Spatial Computing era we will also enter the Quantum Computing age. Quantum Computers are still in its infancy with limited Qubits, but Q-Day is coming, the day when Quantum Advantage will be readily available and deprecating today’s cryptography. Even with the hardware infancy, Quantum-inspired computing (QIC) already provides significant advantages for things like Quantum Machine Learning (QML) and Quantum-Inspired Optimization (QIO). In this session Rene will explain the concepts and technologies supporting these transformative computing paradigm changes and will show applied and practical use cases to make these abstracts concepts more feasible.
Software is complicated. Machine learning, microservice architectures, message queues… every few months there’s another revolutionary idea to consider, another framework to learn. And underneath so many of these amazing ideas and abstractions is text. When you work in software, you spend your life working with text. Some of those text files are source code, some are configuration files, some of them are documentation. Editors, revision control systems, programming languages - everything from C# and HTML to Git and VS Code is based on the idea that we’re working with “plain text” files. But… what if I told you there’s no such thing?
When we say something is a plain text file, we’re relying on a huge number of assumptions - about operating systems, editors, file formats, language, culture, history… and, most of the time, that’s OK. But when it goes wrong, good old plain text can lead to some of the weirdest bugs you’ve ever seen. Why is there Chinese in the SQL event logs? Why has the city of Aarhus disappeared? And why does Magnus Mårtensson always have trouble getting into the USA? Join Dylan Beattie for a fascinating look into the hidden world of text files - from the history of mechanical teletypes, to how emoji skin tones actually work. We’ll look at some memorable bugs, some golden rules for working with plain text, and we’ll even find out the story behind the strange saying “PIKE MATCHBOX” – and what it has to do with driving in the USSR.
After some time searching for the best programming language for my projects, I wondered: is there a programming language that does not use any English keyword? Of course, the short answer is no, but where do all the other non-English-based programming languages hide? How did we end up using that idiom for writing code? Let's explore these questions during this talk!
Do you know Git? I bet you do. I also bet you use it, like 90% of the developers who answered last year’s StackOverflow survey. For sure you know all the basic commands to commit, pull, push… You might even rebase regularly, cherry-pick or bisect whenever it’s needed. Good for you, it’s not what this talk will be about! In this talk, we’ll focus on the rest of Git. The forgotten bits of trivia, the little-known, not-for-everyday commands. You won’t leave with much to apply directly in your terminal, but with plenty to talk about on your company’s messaging platform! We’ll jump from Git’s history to its core data structure, passing by some useful commands that you won’t resist trying out for yourself. If that sounds like fun to you, come on in!
Hackathons are a hot topic to drive innovation. Organizations across the globe have discovered that it enables them to help their digital transformation endeavors through unleashing hidden potential within the organization or across an industry. For individuals, hackathons can help to dive into a new subject matter, empowering to work on subjects they always wanted to work on, and in some cases hackathons have changed career paths. This session will discuss topics around hackathons: What different types of hackathons exist? What value do hackathons have for organizations and for participants? How does one best prepare for a hackathon?
Most importantly, hackathons are about culture and in some cases helping to change culture in a positive way. The best hackathons are inclusive and empower people to succeed.
Attendees will learn about the value of hackathons for organizations and individuals, and tips will be shared how to run or participate in a successful hackathon. This session is for everyone who cares about innovation, digital transformation, and how to disrupt and reinvent themselves.
APIs are a huge part of our connected world - they drive our apps and are the points of integration between applications. There are a number of technologies available that have emerged as major players in the API space, from REST to GraphQL to gRPC - but with them comes a lot of hype, dogma, and misinformation. How do you best evaluate which technology to use when building out a new API?
In this session, Spencer will compare and contrast three major API technology options, their ecosystems, and their adoption and learning curves. We'll discuss each technologies' strengths and optimal use cases, along with the weaknesses/challenges found with adopting any of the technologies.
May the best API win…! (Hint: there isn't one.)
Getting started with unit tests should be simple – it is just a matter of writing code to test other code. If that is right why so many talented developers fail implementing unit tests in their daily job. I have started using unit tests 8 years ago and failed miserably. It took me 2 years and the right company to start over and learn how to use unit tests and TDD as development tools. However, it was not always clear sailing and as I progresses I found more than my share of pitfalls than blind alleys as well as a fair amount of successes. In this talk, I will cover the non-trivial facts I learnt over the years about unit testing and the tips that I use to this day.
In 2019 we found ourselves in a situation where we needed to produce a huge amount of data to be injected into a Kafka cluster so it can be consumed by an application and run a load testing. Data should follow a defined structure in AVRO format; and also should have certain values in order to follow some Bussiness logics. We didn´t find anything in the market which match our requirements, so we started to build an solution which is easily integrated in JMeter.
Many systems begin their lives with a relational model at their core - as their database.
But over time, as the needs of users change, the relational model can cause more problems than it solves when building web-scale systems.
In this session, I’ll take you on my journey transforming a traditional SQL database model into a document model using Cosmos DB; a managed schema-less database where data denormalization rids us of joins and complicated queries.
Using a real-world example of a warehouse system, we'll run through creating our new model, along with different ways of materializing data using Change Feeds and Azure Functions.
Come and see how we can use Cosmos DB to get the most out of our software.
During this talk, I will give an overview of how ThreeJS works and show you how to bring 3D into the browser in a powerful and creative way. A first step would be to create a simple object, then see what steps are involved to re-create a (realistic) visual to sparkle a nice 3D experience to your visitors. A lot of inspiration will be given, as well as resources to go deeper into the field if the audience wants to go further!
Do you want to become an infrastructure wizard overnight? Then this talk is for you.
With most tools for Infrastructure as Code, we describe our infrastructure in a declarative configuration language. But there is another way: We can use a general-purpose programming language like TypeScript, Java or C#.
This talk gives an overview of this alternative approach to IaC and answers some of the most burning questions: Can we finally get rid of tons and tons of YAML and JSON files? What are the pros and cons of coding instead of configuring? What tools can we use, what are their differences? And most importantly, do they help us to build infrastructure like a boss without 30 years of experience?
Developing software based on micro services architecture is extremely easy when you use spring boot and spring cloud. Just throw in a few lines of code and you can have a micro service up and running. But when you have many micro services it’s not easy to run and maintain all of them locally, so you use a central deployment. But if all developers do it, how can they work simultaneously on the same central spring cloud environment and still not interrupt each other? In this talk, I will you show you how and boost your productivity along the way.
We all know and love our micro service architectures. As every service has ownership of its own code base and data, we can iterate on each service separately.
However, a problem arises when we need to combine data from different services.
For instance, taking the standard e-commerce example, suppose we want to display the most successful product in an area. To do that, I'll need sales data owned by "Sales", combined with address data from the "Customer" service, and probably some pricing data from the "Product" service.
In a monolith, it could be a single SQL join. In most micro service systems, this is not easy to do efficiently. This aspect tends to be overlooked when discussing micro services: Try as we might to decouple systems into sensible domains, sooner or later there will be a business requirement that does goes right across those boundaries and we will need to find a way to reunite this data.
So can we join data from different services inside different databases? Luckily, the answer is yes.
To make this more concrete, we will look at Debezium, a change capture solution by Red Hat, and Apache Flink, a stream processing framework, and of course a little bit of Kafka.
Main bullet points of lecture will cover the potential of immersion for equality of chances for people with limitations in real world.
VR as a support for neuroplasticity, binaural sound to help focus children on the autism spectrum;
and most of all, fulfilling the dreams of kids fighting cancer: bringing moments of relief, disconnecting from physical barriers and providing a smile where it is needed the most.
What can a diamond heist that occurred in 2003 teach us about InfoSec's CIA triad? Well that the old way of doing security will not help us as we try to move towards being more Cloud Native. Simple tools and a lot of ingenuity can easily allow an attacker to ruin your day. So how can we make use of cloud native ways of development whilst also ensuring security?
We need infrastructure that can D.I.E.
Designing infrastructure that is Distributed, Immutable and Ephemeral will automatically integrate security by default by increasing the bar for attackers. Further, adding controlled chaos to the process ensures that you are continually learning and improving, increasing confidence in the ability to troubleshoot.
In this talk I’ll highlight how the D.I.E. triad can help us being more secure while expecting for things to fail, and embracing the chaos.
The IaC community and ecosystem is going through a major growth phase right now - we are no longer limited to just writing config files that grow and are hard to change. We are at the point of realising that infrastructure code is just the same as application code - it needs the ability to change and adapt to new demands and requirements. A lot of people are fast starting to understand that the ability to change fast means bringing software development practices to the fold. This includes testing, refactoring and continuous integration and delivery.
In this talk, Paul will demonstrate how the emerging trends in the ecosystem is allowing us to be able to build our own internal tooling for our companies. These tools allow us to be well tested, versioned, secure and enable best practices on our users.
An intro to AI talk with a difference: told through stories, stories about the experiences of young children in the schools that I’ve worked with.
I have run lessons in many schools, introducing students aged 7 and up, to the principles of artificial intelligence and machine learning and more importantly, the impact that these technologies have on their lives.
I've worked with dozens of schools and code clubs to develop child-friendly STEM resources and activities that help children learn about AI through making. In developing and delivering these hands-on sessions, I've supported children to create many different machine learning-powered projects. In all of this, I've been fascinated to see what they've learned from these experiences.
In this talk, I want to share what I've seen. I will demonstrate AI/ML projects made by children - but more importantly, I want to tell you about the lessons they learned from making them.
I think the insights these children gained provide a useful introduction for any developer looking to get started with AI/ML, so if you're new to the field I hope you'll get a useful introduction to how you can get started. If you already know your way around a machine learning model, I hope you'll find some of the experiences of the next generation interesting!
In a monolith, achieving consistency is easy - just use a transaction! In a distributed world, where we mix legacy and greenfield, getting systems to agree becomes quite a bit more complex. We have different databases, different communication methods, caches, and more. How can we get anything to agree on the state of anything?
In this session, we'll look at how to implement various consistency and transactional patterns, to support both real-time and async updates. We'll also look at long-running transaction patterns such as sagas to manage agreements between systems. Finally, we'll look at a full working example that crosses databases, APIs, messaging, and more.
A look at where computing and analytics began and where it is headed. The basis of all DevOps and development starts with our measurements. We need to understand what role analytics and metrics plays in modern computing. To find out, we look at where analytics began in the advent of computer science and where we stand today, with an eye toward the future.
You've signed up for that streaming service, but now you can't unsubscribe. You put a single item in your basket, and somehow there are now also two warranties in there. Boxes of vitamin supplements are piling up every month like a subscription, but you are absolutely sure you only bought one bottle! In your living room is a big pile of stuff that you bought online, that you didn't intend to. And you feel bad about it because now you're way over budget! If you've had something like this happen then you may have experienced a dark pattern - something software does to trick you into taking an action you wouldn't have otherwise taken. In this talk, you'll learn how to spot and avoid dark patterns when using or creating software. You'll also get pointers about talking to management about the impacts of dark patterns. And of course, a look at a few physical-world examples of dark patterns too.
The MetaVerse is one of the big buzzwords that has been adopted by large tech companies in 2021 to the extend that Facebook's parent company even changed their name to Meta.
A core component of the MetaVerse is ability to precisely locate oneself, real objects and virtual objects in a real environment and to be able to understand that environment.
This session looks at relevant Azure, software, and hardware technologies that help with this task such as Azure Spatial Anchors to enable the MetaVerse.
Microsoft HoloLens 2 will serve as a demonstration device for those technologies.
After this session attendees will have a better understanding of what can enable a MetaVerse that integrates with the real world.
We live in times of rapid technology development. Each year brings a new portion of widely discussed "breakthroughs", and the ones that get most attention are about decentralization (of processing/control/data storage). Within just few years we've went through hypes related to: blockchain, cryptocurrencies, smart contracts, distributed ledgers, NFTs, DIDs, FLoC, web3, etc.
The excitement is widespread, but there's also sound criticism. Some claim that these are solutions to non-existing problems, or - at least - the same problems can be solved in a simpler, cheaper, and faster way.
Why don't we take a closer look then? No, the idea is not to investigate the energy consumption of bitcoin mining or determine whether crypto is an investment or a form of gambling. Let's take two steps back to understand the true nature of the problems decentralization promises to solve - maybe there's indeed a better way? A sample of projects to take a look at are: digital identity, decentralized currencies & payments, unambiguous connections between physical and digital entities, personal data ownership, auditable facts.
The need for Design Systems comes with the need for scale, efficiency, and consistency in Design. Those have been one of the major talking points in the design community for the past years. Some love it; some are more skeptical.
My goal for this one is to present a case of bringing a few homegrown UI kits together to automatize and standardize UX across applications while sparing our developers from having to deal with tons of CSS.
Every day we are affected by technological progress. Industries gained efficiency and productivity, due to the introduction of technologies with entirely new ways of serving existing needs. Smartphones, tablets, and other devices have become embedded and integrated into our daily lives, making us ever more disconnected from reality.
However, in every society, geography and culture determine the nature of technological development. Therefore, places without computers and the internet still exist, places where you feel like you're back in time for almost a whole century.
Olena Borzenko was born during the “browser wars”, but used to live in a place with many traditions, where the very existence of the internet was alien. She learned how people used to communicate, solve problems, and build their life before the world went online. Join Olena for an insightful look at the difference between these two worlds with an attainment gap of almost a century. We will talk about digital transformation, technological revolutions, and the innovative features of Azure supporting them.
Ever wonder what being an independent software consultant is like - or better yet, have you ever wanted to be one? Does getting your own business off the ground seem intimidating or difficult? How about finding and managing clients - and most importantly, getting paid? How do you keep the IRS and the government happy?
And between all of that, how do you find time to do what you were hired to do - build software?
In this session, Spencer breaks down how he started out as a software consultant, from his first side project (earning him $75!) all the way down to his current day-to-day - what he does now, how he got there, and most importantly - the mistakes he made along the way. We'll talk about the nitty gritty of client interaction, estimates, billing, design, and everything in between. We'll also talk about the importance of business structure, payroll, taxes, insurance - the whole nine yards.
Come prepared, because after this sixty minute talk, you'll have all the tools you'll need to start your own consulting business.
In the world of mobile telephony services due to the advantages of economy of scale more and more services are desired to be part of this huge ecosystem. This includes also areas where connection reliability and performance is crucial for business and humans safety.
During the presentation we will take a closer look and exact uses of such a services and challenges towards the whole radio access network product. We will also try to explore ideas and solutions that helps our product meet demanding Mission Critical requirements.
Cloud computing is the future! Cloud computing helps reduce development times, grow your infrastructure with your business and perform tasks you could only dream of from the comfort of your own keyboard. But it’s not all fun and games, one could get lost in the endless list of available services and on top of that there are architecture, design and security considerations that change the way you write your code. In this session I’m going to teach everything you need to know when starting with Amazon web services from creating a new account, securing it and using the services you need to get the job done.
Have you ever tried signing into your account and gotten an error message that says "Wrong password. Please try again"? How about "Couldn’t find your account, please try again"? Is there any difference between the two?
Well in the early stages of Affirm, we overlooked this small detail and it cost us big time.
Details (spoiler alert): Our sign in form asks you to enter your phone number first. If you were a returning user, then we’d ask you to authenticate with a phone PIN and if you were a new user, we’d redirect you to a sign up form.
In 2019, we started to notice a huge spike in traffic in the sign in flow. A bunch of requests were getting throttled from attempting to sign in too many times. We realized the requester was malicious and that they were trying to use the sign in flow to enumerate a list of phone numbers that had Affirm accounts. After a few back and forths, we realized we had to fix the UX to remove the information leak. The attacks subsided once we fixed the flow.
A year later we noticed an increased frequency in the amount account takeovers (ATO). The recent cases all had the same MO: someone would call them and pretend that they were from Affirm doing a routine check up. They would social engineer our users into giving them the PIN code required to sign in. We tried a lot of different strategies to mitigate the issue, but had little success. Finally, we came up with a new verification process which involved sending an SMS link to the user. This was able to stop the attackers and stop the bleeding.
Throughout our multi-year long battle, we learned a lot about our weaknesses and defenses. We invested in platform and developed really cool and new ways of battling fraud in real time.
Harman strategic overview on the future of the car and the driver support. Touching points such as augmented reality and HUDs for the vehicle, combined with healthcare functions and driver monitoring. Wrapping mentioned up all in could computing.
Get yours while they're still available.
Workshop ticket doesn't include a conference one.
Looking for group discounts?
Use one of the following codes during registration.
Discounts do not add up.
* All listed prices do not include 23% VAT
Companies that support us.
If you or your company would like to reserve a spot as a sponsor, contact us because we might have a good deal for you.
DoubleTree by Hilton, Łąkowa 29
From the very beginning we've been focused on people, not on companies. Being developers ourselves we thrive to provide the ultimate experience that will be remembered. We'd like to connect awesome speakers with the willing-to-learn-and-share community. It's not only about sessions - it's also about meeting with like-minded people - it can result in great ideas, is that right?
Grzegorz Duda Developers World
ul. Wielicka 91/4
30-552 Krakow, Poland
VAT ID/NIP: PL6792536646
Registration Number/Regon: 120770736