V edition of the open, free conference
dedicated to IT themes
18th of November 2017, Gliwice

Agenda

Three independent thematic paths conducted during the conference will allow attendees to choose lectures individually. Following paths will be available:

Software Architecture
GameDev
Software Craftsmanship
Lecture Hall A Lecture Hall B Lecture Hall C Lecture Hall D Lecture Hall E
8:00 Attendees registration
9:00 Introduction (Lecture Hall A)
9:30
Event Processing in Action
Sebastian Malaca (UBS)

Event Processing in Action

Event-driven architecture allows you to observe, collect, analyze, and react dynamically to real-time events. 
Since most of functionalities of our applications are reactions on some requests or situations it's worth to know advantages of event processing and event-driven architecture. 

Ability to recognize events we have to react on make as more aware of the domain we have to work with. Including them into our applications makes our software more cohesive, granular and easier to understand, extend and modify.

During the talk you will learn what event processing is. What are the differences between event processing and event sourcing. I will describe major concepts of event-driven architecture and tell you how to design event processing applications.

  Language: Polish
  Level: 
The combat system of Ancestors Legacy game: case study from design to implementation
Maciej Pryc (Destructive Creations)

The combat system of Ancestors Legacy game: case study from design to implementation

This talk focuses on describing the process of designing and adjusting the combat system in Ancestors Legacy game, from the original assumptions up until final implementation. Key system changes will be analyzed, including reasons for those modifications and selected solutions. Multiple visual examples from within the game, and its work-in-progress versions, will be provided to illustrate the talk.

  Language: Polish
  Level: 
How to create open-source projects, which people want to use?
Piotr Wittchen (SAP Hybris)

How to create open-source projects, which people want to use?

During the presentation, I'd like to share my experience & thoughts gathered during over 2 years of being involved in open-source projects. I will tell why programmers start to create their own projects, what is their motivation and what kind of benefits they can get as individuals and why it's good for the companies, which support such initiatives. I will tell about characteristics, which good projects should have and give the practical tips, which may be helpful during adjusting projects to the high-quality standards. It can be helpful during creating our own projects and during evaluation of the existing projects. I'll tell you, how to promote your projects and how to create a community of programmers, which will help us to develop our ideas. Most of my open-source projects are lightweight Java libraries and mentioned information will be based on the practical experiences. Developers involved in creating my projects are from different countries across the globe like Poland, USA, Japan, Russia, Wales and Brazil. Projects created by me were introduced e.g. in the mobile application of EERO company from Silicon Valley, which develops home WiFi system and in Toss.im company, which develops a mobile application for the consumer finance in Korea, in PAT Track app, which monitors buses time table in Pittsburgh, PA (USA) and much more. All of these projects were developed without my supervision, based on documentation, source code, tests, and sample apps.

Streaming Data - the future or temporary trend?
Tomasz Mirowski (3Soft)

Streaming Data - the future or temporary trend?

The Streaming Data is not only sound or image - it is opening new possibilities of data analysis and help in answering "how about now?" question - and the information we get provides us with the ability to respond at the moment to the customer needs.

It is not a simple task to choose system architecture, which is going to be responsible for Stream Processing. The most important factor to consider is the type of data we need to process. What's worth mentioning, we should not face "is our choice a correct one?" question during project implementation.

During this presentation, I will speak about my experience with implementing such systems and answer following questions:

  • Is introducing a streaming application in a project always a good idea?
  • What are the limitation and drawbacks?
  • When a streaming application is a good choice?
  • Which open_source components support us during implementation?
  Language: Polish
  Level: 
How to Carry Out an Efficient Code Review and Who Can Do It?
Maciej Mortek (Polcode)

How to Carry Out an Efficient Code Review and Who Can Do It?

We all know code review is an important part of every project and can significantly influence its final quality. But to achieve desired results with code review, the process has to be carried out in the right and competent way.

During my presentation, I’ll tell you about my experiences with code review. I’ll also share with you valuable hints on efficient code review you’ll be able to implement in your everyday work.

Topics addressed:

  • The role of code review in IT projects.
  • Why we shouldn’t skip code review.
  • How to carry out an efficient code review?
  • Being the reviewers, do we gain something more during the code review process than just the guarantee of quality?
  9:30 - 10:20, Lecture Hall E
  Language: Polish
  Level: 
10:20 Coffee break
10:30
Pragmatic Monolith-First, easy to decompose, clean architecture
Piotr Pelczar (Euro Bank)

Pragmatic Monolith-First, easy to decompose, clean architecture

Designing systems architecture corresponding to business needs in long future is like a reading tea leaves. There is no common way to design systems. Making decision to start project with microservices may make refactoring much harder and introduce too much complexity in the infrastructure layer and finally slow down development. However maintaining a monolith is a tough nut to crack.

Let’s see how to build  a system starting from well organized monolith with well marked technical and business scopes that enables to make a decision in with way it should be decomposed and how to deliver it. Strategic and tactical techniques from Domain-Driven Design and Hexagonal Architecture will be used. I will show you how to monitor accidential complexity using different tools during CI.

I invite you if you are interested in building systems with complex business domains.

  Language: Polish
  Level: 
Reactive programming in Unity
Szymon Zachara (Anshar Studios)

Reactive programming in Unity

When creating foundations of a new game's architecture, we often find ourselves in a situation where changing something at a later stage of a project requires making modifications in many places. I'll show you how to avoid such a domino effect with minor changes, how to write code in Unity easily steering clear of errors, I'll tell you why you should be interested in reactive programming, and what are the available Unity solutions supporting it.

  Language: Polish
  Level: 
A well-run project from A to Z from a developer perspective
Paweł Lewtak (GOG.com)

A well-run project from A to Z from a developer perspective

You can start a new project completely from scratch instead of keeping the old code? Lucky you)! I would like to share my experience and tell you how a well run project should look like from developers' perspective. For the purpose of this presentation, let's assume one requirement for a good project: a few years after the implementation and maintenance of the application, the newly joining person is not willing to escape with a scream. I'll tell you what it looks like to carry out the project from analysis to deployment, with a whole lot of things to remember about along the way. I will answer the question:' What should each project have? How it should function". I will explain which things can be made up for, and the introduction of which will be very expensive at later stage. the legacy code. With a bit of luck this knowledge will help you avoid "legacy" code in future.

  Language: Polish
  Level: 
If time is money, how to speed up web page on front-end?
Mateusz Sulima (Allegro)

If time is money, how to speed up web page on front-end?

Not many developers seem to realize that backend response times often make up less than 20% of full page load time. There is a huge difference in page speed on a shiny MacBook with a broadband connection and a mid-end smartphone on a 3G network. What is more, more than a half of the web traffic in Poland comes from mobile devices. Web performance is still a big issue on phones and tablets, what makes every byte and every line of code matter.

In this talk I will show how performance affects business metrics and user experience. I’ll show how we measure page speed load in Allegro and what are the main problems we see. I’ll also share some insights on what we are doing in Allegro to improve performance (e.g. HTTP/2 or AMP).

  Language: Polish
  Level: 
How to write a clear code
Dawid Mazur (Positive Power)

How to write a clear code

Learn how to write code so beautiful, that it makes you want to frame it and put it on your wall. And there's more: it will be usable and maintainable.

I will tell you about:

  • good practices,
  • writing SOLID code in examples,
  • why the DRY rule can be misleading
  • and other useful stuff, patterns and rules.
  Language: Polish
  Level: 
11:20 Coffee break
11:30 Presentation of the company - Kamsoft
11:40 Coffee break
11:50
Orchestrate your choreography!
Daniel Pokusa (Onwelo)

Orchestrate your choreography!

When we speak about orchestration we should think of conductor in philharmonic orchestra. Basically His role is to show rhythm to all musicians. In the other hand "Swan Lake" don't need conductor for dancers. They know when its their part, and which steps they need to do. Its all because of choreography.

You can find a lot of examples which use this two fundamental ways of keeping processes in correct order. You can find them in Event Driven Architecture, Microservices, CQRS, Hexagonal Architecture and so on. In my opinion we should talk about them a little bit more- to understand them and use them in correct and proper way.

Sometimes you need to do one step back to be able to do two steps forward. I would like to show you advantages and disadvantages of orchestration and choreography. I would like to show you when to use them and finally - how to do it effectively.

  Language: Polish
  Level: 
Algebra in games - why you shouldn’t have skipped classes?
Katarzyna Niżałowska (Techland)

Algebra in games - why you shouldn’t have skipped classes?

Linear algebra is perceived mostly as a difficult and impractical subject in college. However, in reality, it is a tool used by game developers on a daily basis.

During the lecture I will try to explain why all developers should master linear algebra. I will describe typical problems solved using it. I will give you tips on how linear algebra can make implementing gameplay mechanics easier or help with debugging. I will focus on practical applications of algebra (limited to 3D) and the aspects that are often lost in the sheer volume of information during studies. In this way, I will try to fill in the gaps in knowledge I often notice among university graduates.

  Language: Polish
  Level: 
Documentation, it is alive!
Tomasz Skowroński (Clurgo)

Documentation, it is alive!

So where is your documentation? It should has been done yesterday! – There is no documentation in Agile – replied a lazy developer. – “Working software over comprehensive documentation” – explained another agile one. – Let’s create a change request – PM rubbed his hands – you may generate a Javadoc! – Isn’t our code self-documenting, Uncle? – asked an XP developer. – No document unless it's need is immediate and significant – confirmed Bob. How many times have you heard such conversation? Probably you are not surprised with a common reluctance concerning software and code documentation. However, do you feel comfortable with Github projects having poor readme.md? This topic is addressed to developers who want to forget about documentation and return to the code. It may also interest people who feel that the time of docx files faded away. I will talk about modern and diverse methods or documentation replacements. I will show among others how to: create living documentation which won’t be outdated tomorrow; replace user stories and executable specifications with tests (still clear to business people); generate documentation elements without waffle; create graphs and diagrams without legacy UML; document API without Swagger’s hell of annotations.

  Language: Polish
  Level: 
IT vs Gamedev Beat’em Up
Mateusz Osuch (Vile Monarch)

IT vs Gamedev Beat’em Up

How much is the business software development different from creating a game? Are these two fields distinct or rather they are the two sides of the same coin? The lecture will approach the problem starting with the nature of these specific domains. Further on an analysis of the production cycle will be carried out, starting from designing, including implementation, testing, up to the shipping of the final product, focusing on the domain’s specific problems. The conclusion will consist of a short comparison of the culture and conditions of work in these two industries.

  Language: Polish
  Level: 
TBA
12:40 Lunch break
13:40 TBA
Panel discussion: From IT to Gamedev – never say never
Łukasz Hacura (Anshar Studios) / Damian Sobczak (Black Eye Games) / Szymon Zachara (Anshar Studios) / Mateusz Osuch (Vile Monarch)

It’s a pretty well know stereotype, that IT programming is boring but pays well and gamedev is interesting but exhausting. We will try to challenge these stereotypes and ask people who actually were on the both side of the fence, is that really the case? What motivated them to switch and what were the pros and cons on working on each side?

  Language: Polish
  Level: 
TBA
The story of one repository
Karol Lasończyk (Nordic Semiconductor)

The story of one repository

The project itself sprouts from the idea to later become a full-fledged product. What we have is an idea, an action plan, an architecture. We can start developing. However, in this whole chaotic race, it is easy to forget the details which are essential for a good project. One of them is good repository workflow.
During my talk, I will show you how to organize such a repository workflow. Everything I will present is based on a real repository of the ‘nrfx’ project. In this case, the repository based on Git, but the process can be used almost everywhere. We will start from creating a plan, then we will discuss various suitable solutions, and finally, we will end up with a real project. You will learn why you should treat Git seriously and what benefits it can bring you. Pure commits, clean history. Transparency. Let's get started!

  Language: Polish
  Level: 
Action not equal to reaction – the value of Machine Learning
Kasjan Kotynia (Future Processing)

Action not equal to reaction – the value of Machine Learning

In theory, software testing is a rather simple task. Each defined action generates a defined set of reactions, which do not change. If an action doesn’t match an expected reaction – a bug has been identified (on the level of application, test or specification).

There is, however, a group of algorithms, where the reactions to the same stimulus may differ. This behaviour is especially visible in learning algorithms, where every action not only affects the current result, but also every result afterwards. Trying to find the causal sequence is often impossible. These algorithms are based on Machine Learning and their results are variable in terms of time.

This leads to some new challenges, since how are we supposed to know if the algorithm works fine? How to defend the algorithm and explain some unusual, one time reactions? Or perhaps we should stop using these algorithms? I will explain those topics in details during my lecture.

  Language: Polish
  Level: 
14:30 Presentation of the company - XSolve
14:40 Coffee break
14:50
DevOps as code in speeding startup
Jakub Bujny (EUVIC)

DevOps as code in speeding startup

Let’s imagine startup where count of members grow from 1 to 100 in one year and technology stack grow in similar speed - more developers, more tools, more services, more environments - how to get all these things to work, be Agile and not get crazy? We will try to dig this topic and see advantages hidden in Infrastructure as Code, looking on benefits coming from CI/CD as Code, in wild microservices world.
 

  Language: Polish
  Level: 
Database that will survive the chaos of early access MMORPG
Damian Sobczak (Black Eye Games) / Piotr Urbański (Black Eye Games)

Database that will survive the chaos of early access MMORPG

Releasing first game in early access is a messy business. Making MMO games is hell of a mess in general. And releasing MMO games in early access, you guessed it, is a complete chaos. How to design a DB that will survive it? We'll try to answer these questions, based on our experience with Gloria Victis.

  Language: Polish
  Level: 
TBA
Create changeable materials in Unreal Engine 4
Łukasz Czechowicz (Alrauna Studio)

Create changeable materials in Unreal Engine 4

Static materials are often insufficient. Often created material must react to the environment. Whether to change the maturity/tints of the material, due to the weather or the time of day. This introduces dynamics and diversity to the game, and in some cases is a basic way to create materials.

The lecture will present a number of ways to create interactive material for objects and light functions in the Unreal Engine 4 as well as their communication with Blueprint scripts. The presentation will be supported by examples from the Alrauna Studio project "The Way Back".

  Language: Polish
  Level: 
Async, everywhere async
Arkadiusz Migała (Perform Group)

While you are reading this description you could have invoked some actions before which haven’t finished yet. For example: boiling water for a tea or downloading some file on your computer. You are doing it this way mostly probably because you don’t want to waste your time on things, that are independent of you and you are interested only in result of this processes. 

This real life situation can happen also in your software systems by using asynchrony on many layers in your: code, components, server and architecture. Using it requires different thinking but it brings many interesting tools and methods based on asynchrony like: reactive programming, actor model, event sourcing, messaging servers, non-blocking architecture ect. It created also some terminology, patterns and anti-patterns around it. That’s what I want to present and talk with you on this lecture.

Has your water for tea already boiled ? :)

  Language: Polish
  Level: 
15:40 Presentation of the company - EUVIC
15:50 Coffee break
16:00
Ports and adapters
Dominik Przybysz (TouK)

Have you ever rebuilt an entire application, because you need to add a new field on the frontend? Or mayby some changes in the database tables have changed all your domain? How to deal with the changing world and requirements? How to maintain order within the application and focus on the domain? How to convert the external world into an implementation detail? The architecture of ports and adapters is the answer.

On the presentation, I will talk about experiences with the applications, where the domain is the most important thing and I will answer for questions:

- What is in it for you?

- How to do it?

- What to keep in mind during implementation?

- Why is it difficult?

  Language: Polish
  Level: 
How can a cloud help you make better games?
Wojciech Domagała (Artifex Mundi)

How can a cloud help you make better games?

The „game development” term is stereotypically associated with an image of programmers coding efficient engines, designers thinking about fluent gameplays, artists, animators and sound engineers working together to create stunning environments. Naturally, there’s a lot of truth in that. Nowadays, however, when publishing applications is getting easier and easier and the market is more competitive than ever, some other factors come into light and become essential.

Following the dynamic growth of public cloud idea, initially used mostly by business applications, the game developers seem to start noticing and using its power for their own purpose. It turns out that the available technologies and software development methods create a lot of new opportunities for both small, indie developers and game dev giants. Some game genres even seem to be highly dependent on different mechanisms implemented in cloud.

How exactly can you profit from using cloud, how to begin working with cloud to use it effectively throughout the process of developing, publishing and maintaining a game? The purpose of this speech is shedding some light on this subject with a little help of real world examples.

  Language: Polish
  Level: 
How I became a Scrum Master...
Małgorzata Smoleńska (Perform Group) / Sylwia Urbanek (Perform Group)

What Surveyor, Health Care Manager, Marketing Specialist, Career and Social Communication Specialist do have in common? They all spent a lot of time and energy developing and care about soft skills. They also work as Scrum Masters where soft skills and hard skills are required.

From our experience we know that technical and domain knowledge is something you can learn in practice. However it is not applicable to soft skills which are sometimes much more difficult to obtain. To be able to develop your soft skills you usually need to spend a lot of time and work hard, on your way of seeing the world and yourself, controlling your ego, and emotional awareness. That's why we want to share our experience of work as a Scrum Master with you.

  Language: Polish
  Level: 
TBA
The Unsolved Challenge of VR Locomotion
Paweł Gajda (Carbon Studio)

The Unsolved Challenge of VR Locomotion

Inventing a perfect locomotion solution is the holy grail of virtual reality and a subject of a heated debate. In the face of VR sickness, many developers decide to play it safe and avoid FPS-style free movement, which is less engaging for some, but makes the experience more bearable for others. It reminds that finding a perfect balance between immersion and comfort is the key aspect of VR locomotion. This speech outlines possible movement schemes along with their pros and cons, and presents practical examples of how to use potential limitations to developers’ advantage.

  Language: Polish
  Level: 
16:50 Presentation of the company - Artifex Mundi
17:00 Coffee break
17:10 TBA
SOLID Arcanoid and dependency injection in Unity3D
Krzysztof Rosiński (Anshar Studios)

SOLID Arcanoid and dependency injection in Unity3D

GameDev is still running late when it comes to this. The most popular engines are still full of deep and rigid inheritance trees, strongly coupled classes and modules and the One above them... The Singleton. We'll investigate why the Singleton seems to be such a tempting solution at the beginning and how it grasps the unsuspecting programmer while the project grows and petrifies the whole project. We'll challenge this mythical creature with the support of the good programming principles. 

  Language: Polish
  Level: 
TBA
Legacy code on containers?
Marius Rejdak (XCaliber)

Legacy code on containers?

Containers are recently a popular and controversial topic. Supporters and opponents argue on merit of it, but we should remember that like any other technology it has his own cons and pros.

In this presentation I won't introduce you into the world of containers, but I'll show what challenges you can face while trying to migrate an old project and how it can influence future development process and production deployments.

  Language: Polish
  Level: 
How do you know your tests are good?
Monika Januszek (SAP Hybris)

How do you know your tests are good?

If you are one of those developers who write tests because they find them useful and you would like to improve, this presentation is for you.
If you are one of those who get irritated by tests or who considers tests a hindrance in your work, this presentation is also for you.
I will speak about how you can understand if your tests bring any value and how you can write tests that bring just the value you need.
I will present test design techniques basing on real-life example instead of academic explanations.
You will learn how to turn tests from annoying duty to a meaningful part of your work.
 

  Language: Polish
  Level: 
18:00 Break
18:10 Ending (Lecture Hall A)
18:30 Conference's closing
19:30 Afterparty - Spirala Club, Pszczyńska 85, Gliwice
By using this website you agree that cookies can be saved on your device, in accordance with our privacy policy.

Main Sponsor

GameDev Path Sponsor

Software Architecture Path Sponsor

Software Craftsmanship Path Sponsor

Golden Sponsor

Golden Sponsor

Golden Sponsor

Golden Sponsor

Golden Sponsor