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.
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.
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.
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.