Have something to share about engineering practices, architecture or DevOps?
Become a speaker now

Archive for August, 2017


Luxoft is a leading provider of software development services and innovative IT solutions to a global client base consisting primarily of large multinational corporations. With deep domain expertise in the finance, telecom, energy, automotive, travel and aviation industries, the company consistently goes beyond its clients’ expectations by bringing together technology, talent, innovation, and the highest quality standards.
Luxoft Ukraine is the region’s leading IT outsourcing provider, delivering software development services to global and national organizations. Established in 2005 in Kyiv, Luxoft Ukraine now includes more than 3800+ employees serving more than 50 clients from its delivery locations in Kyiv, Odessa and Dnipro.
We continue growing and developing, which causes a substantial amount of vacancies for IT-specialists of various specializations. For more information visit https://career.luxoft.com/.

Fighting with Waste Driven Development: Lean Thinking for Software Developers

As developers, we often complain about the efficiency problems we face while working. We work hard but produce so little that our whole development life turns into a hamster wheel at some point. One of the biggest reason of such a common problem is working in waste. Waste is in everywhere, in our source code, in the office, in our processes and even in management. In this session, we will cover all technical aspects of software development, including code, tests, deployment strategies, coding standards, automization points, code comments, bug fixing procedures, living with technical debt, etc. I will talk about all the wastes we produce while developing software and how we can remove to make our development life leaner.

Git Anti-Patterns: How To Mess Up With Git And Love It Again

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.

Lemi Orhan Ergin

Founder of Software Craftsmanship Turkey and Agile Software Craftsman at iyzico. Simply passionate developer, technical architect, Agile culture cultivator, Agile coach, Scrum / Kanban practitioner and trainer, experienced mentor, Git trainer and lover, the TDD guy, clean coder, infected with tests, presentation and visualization freak, non-stop learner, full time apprentice of my masters, the community guy… His slides are viewed more than 1M times.

Cloud Cost Optimization Techniques and Hacks For Enterprise Apps

The promise of “the cloud” is that you can get as much as you want, when you want it, and only pay for what you use. But is that the reality? The reality is an inconsiderate usage that leads to exorbitant costs is more common than you think. That is why in this session you will see techniques and even some hacks that bring the promise of the cloud to reality.

This presentation is a practical look at real world Cloud stories that will answer many of the questions people have about moving to the cloud and getting the best configuration for optimal performance at the lowest possible cost.

Can you keep a secret?

Every enterprise system has tons of sensitive data like database passwords or third-party API keys. Quite often people store this data openly in internal repositories, continuous integration pipeline or configuration managements systems. The bigger company the stricter security rules. It is more complex and important when you have thousands of different applications and each one has its own secrets. In this talk I am giving an overview of my personal experience on Vault technology and will show by example how you can build your own policies and move your secrets to the Vault.

Valerii Moisieienko

As Senior Application Engineer at Oracle UGBU, Valerii develops an energy report generation platform. His interests lay in big data\highload system design and implementation.

Oracle Certified Professional, MapR Certified HBase Developer.

Teaching Elephants to Dance

Feeling bludgeoned by bullhorn messaging suggesting your monolithic behemoth should be put down (or sliced up) to make way for microservices? Without question, ‘unicorn-style’ microservices are the super-nova-hot flavor of the day, but what if teaching your tried and true monolith to be a nimble, fast-dancing elephant meant you could deploy every week versus every 6 to 9 months? For most enterprises, weekly deployments (or something close) would fundamentally transform not only operations and business results, but also the inherent value of developers willing to step up to lead the dance lessons. See beyond the hype to understand the deployment model your business case actually demands, and if weekly deployments courtesy of a dancing (or flying!) elephant fit the bill, love the one you’re with as you lead the organization’s journey to digital transformation!

Origins of Serverless

Serverless is new trend in software development. It’s confusing many developers around the world. In this talk I’ll explain how to build not only crop images or select data from DynamoDB, but build real application, what kind of troubles are we should expect, how to make decision is your task fit into serverless architecture in Python or may be you should use, general approach. How fast serverless applications and more important how to scale it.

Andrii Soldatenko

My name is Andrii Soldatenko and I like testing and programming. I’m CTO in Tippilab. Also I’m working as Go Backend Developer at https://github.com/kubermatic.

I boast expertise as a Python and Golang developer with strong hard and soft skills. I have deep knowledge of automated-testing and really understands how to assess and improve project quality. I like to solve difficult tasks, algorithms and take part in sport programming contests. I’m also interested in databases and unix based operating systems and has fallen in love with natural language processing and text mining.

Collaborative Development: The Only CD That Matters

In today’s increasing business need for more deployments, continuous testing, and better quality code, one thing that is not explicitly discussed is a strategy for how software teams should collaborate across their company. Before you invest all your time and energy into Continuous Integration or Continuous Delivery, make sure you have a solid foundation of Collaborative Development. In this talk, we’ll look at some collaboration patterns that have had success, why they’re important, and how you can adopt these patterns within your own software development teams to build software better tomorrow.

ChatOps: How to Enhance Your DevOps Workflow

Have you been told that your company is moving to a more DevOps development culture, but you have no idea what that really means? Everyone wants to run a more productive and agile engineering team by balancing the competing priorities of rapid releases and stable systems. DevOps is a movement that everyone is either wishing they had, talking about setting up, or getting ready to implement. But how does your company chat client fit into this and how can it help speed things up?

In this talk we’ll look at ChatOps and how it can bring GitHub and many core DevOps tools and philosophies to developers’ fingertips for everyone’s benefit. We’ll also see what other tools can plug into a chat client to optimize development workflows, and what immediate results we can expect to see as we start implementing integrations. By the end of this session, we will have outlined clear steps to ship code faster and safer today.

Go-ing there and back again

This talk is another reminder that tests are code too and need care and feeding. It describes an experimental spike that we ran on a complex Go project to make the integration tests faster and more readable. We showed how not to rely too heavily on the testing framework and to refactor test code to represent the domain better. We also showed that teams have to move at their own pace, and that teams have to take into account the “House Style” of coding.


Valtech is a global digital agency where experiences are engineered. We are revolutionizing how our clients connect with their consumers, closing the experience gap and orchestrating omni-channel customer journeys. We are innovators, design thinkers, marketers, creatives and developers spanning 5 continents with offices in 16 countries (France, USA, UK, Canada, China, Germany, Netherlands, Sweden, Switzerland, Denmark, India, Australia, Singapore, Argentina, Brazil, Ukraine) with 2500+ consultants. In Ukraine: 5 offices with 200 consultants: Kyiv, Kharkiv, Dnipro, Chernihiv, Chernivtsi.

While our expertise is in technology, marketing and experience design, our passion is in addressing transformational business challenges for our clients. With a strong belief that differentiation comes from orchestrating seamless experiences around the customer, we close this gap by redesigning the customer journey and implementing the right, fully connected solution.
With a renowned commitment to innovation and agility, Valtech creates unprecedented success for our Global 500 clients while optimizing time-to-market and return on investment.

We invite you to join Valtech on our exciting journey into the future, be a part of our vision and share in our success. Valtech. Where Experiences are Engineered.

A better approach for testing microservices: introducing test kits in practice

Micro-services are the new black; everyone is using them. Alas, when your system is composed of many micro-services, testing becomes more challenging. The straight-forward approach for E2E testing no longer suffices and for integration tests it doesn’t even exist. A better way to test in this kind of an environment would be to work with a test kit of the micro-service you are interacting with.

By the end of this talk, you will learn how to create a test-kit that covers your micro-service. Testing this way will grant you a much higher level of confidence, and will portray a more accurate picture of your assumptions vs. reality. Overall it will make any integration between micro-services easier, thus benefit your colleagues and make your company progress faster.

Maxim Novak

Maxim is full of enthusiasm for innovation, and passionate about technology. He’s been in the R&D field for 10 years and his experience includes developing, designing, and leading large-scale software projects. He currently works on core back-end projects that empower Wix’s platform to serve over 100 million sites.

DevOps: Modern Trends

A pragmatic overview of the ‘old-but-current’ and ‘new-and-uncommon’ processes, methodologies and practices in the DevOps/Release Management area. Implementation of Continuous Delivery, Value Stream Mapping, Delivery Pipeline, Continuous Testing, Infrastructure as Code, Test-Driven Infrastructure, Developer Self-Service will be reviewed. Advantages and disadvantages of cloud platforms for the DevOps process will be briefly reviewed. The second half of the talk will be focused on software upgrade strategies and the correct approach to database schema update.

Mykola Marzhan

Mykola Marzhan has over 9 years of experience in the automation of release procedures, monitoring, development of update and deployment systems. Frequent speaker at different Linux conferences, workshops and other events, coordinator of OSDN conference, organizing committee member at LVEE conference.

Burr Sutter

Burr Sutter is responsible for Red Hat’s developer experience. Burr is currently an Oracle Java Champion, and was previously president of the Atlanta Java Users Group and founder of the DevNexus conference. Burr has spoken at numerous developer events from Bangalore to Brussels and from Berlin to Beijing, covering most parts in-between.

Steve Freeman

Steve Freeman, author of Growing Object Oriented Software, Guided by Tests (Addison-Wesley), was a pioneer of Agile software development in the UK. He has developed software in many organisations from small vendors to multinational institutions. Previously, he has worked in research labs and software houses, earned a PhD, written shrink-wrap applications for IBM, and taught at University College London. Steve now works as an independent and for Zuhlke Engineering in London.

Feature Branching is Evil

Feature branching is gaining in popularity due to the rise of Distributed Version Control Systems (DVCS) like Git and Mercurial. Mostly because proponents of DVCSs rely on feature branching to sell DVCS. And because of the success of branching models like GitFlow and GitHub Flow.

Like all powerful tools, there are many ways you can use DVCSs, and not all of them are good. Although the creation of feature branches became very easy with DVCSs, it does not mean cheap in the long run. It comes with a certain cost which impacts the stability and speed of your software delivery process.

During this session we will explore some of the reasons teams are using feature branches, what problems are introduced by using feature branches and what techniques exist to avoid them all together. In conclusion we will explore what is evil about feature branching, which is not necessarily the problems they introduce. But rather the real reasons teams are using them for.

The key takeaway will be an appreciation of a different branching strategy and how it relates to Continuous Integration.

The target audience is anyone using version control systems in a Continuous Integration and Delivery context.

Thierry de Pauw

Thierry is an Agile Technical Coach, Continuous Delivery consultant and Lean and XP Software Engineer.

He is a jack-of-all-trades with a passion to help teams create meaningful software, with a keen eye for code quality and the software delivery process, from customer interaction to continuous delivery. Instead of balancing quality & delivery, he believes and practices that better quality is actually a way to more and better deliveries.

Thierry is founder of ThinkingLabs, a consultancy around Continuous Integration and Continuous Delivery.

Monitoring of reactive systems

Nowadays most of the new systems are distributed and use network as communication layer between their runtime elements. Reactive nature of the network and growing trend of brining reactive priniciples into applications themselves allow to organize systems which can process more user requests with less amount of resources. The main tradeoff for such approach is complexity, which basically brings more challenges to monitoring of such systems and tuning their performance.

During the talk speaker will share the experience of dealing with described problem. Journey will start from the basic monitoring priniciples to align everybody before diving into the world of modern monitroing tools. The capabilities of Dynatrace and OpsClarity are going be presented to demonstrate what information can be used during preproduction and production usage of the system. In the end of the session lessons learned will be shared collected while bringing big reactive distributed system into production.

Yevgen Mospan

Yevgen has been in IT for 12+ years, currently being an expert at Java Competence Center and also often assigned as a Solution Architect to production projects. He has been involved in different projects in many business domains such as insurance, e-commerce, billing and logistics. His main interest is modern Java trends for building scalable, robust, highly available applications with focus on effective architecture.

Dmitriy Yefimenko

Product and team manager, software architect, business and system analyst with more than 18 years of experience. Last 9 years specializes on sophisticated distributed fintech products, agile transformation and development processes. Active speaker of many conferences and events.

360° Monitoring of Your Microservices

“With microservices every outage is like a murder mystery” is a common complaint. But it doesn’t have to be! This talk gives an overview on how to monitor Spring Boot applications, since they are increasingly popular for building microservices. We dive into:

* System metrics: Keep track of network traffic and system load.
* Application logs: Collect and parse your logs.
* Uptime monitoring: Use Heartbeat to ping services and actively monitor their availability.
* Application metrics: Get the information from Boot’s metric and health endpoints, store it, and visualize it.
* Request tracing: Use Sleuth to trace requests through a distributed system and Zipkin to show how long each call takes.

And we will do all of that live, since it is so easy and much more interactive that way.

Philipp Krenn

Philipp is part of the infrastructure team and a Developer Advocate at Elastic, spreading the love and knowledge of full-text search, analytics, and real-time data. He is a frequent speaker at conferences and meetups about all things search & analytics, databases, cloud computing, and devops.

Designing of REST API automation tests in Kotlin

Let’s imagine the REST API with N endpoints and PostgreSQL with Mongo DB under the hood. And yes, it is possible to automate it in a really non-trivial way using the cutting-edge technologies and frameworks: Kotlin, Spring Boot and Cucumber BDD. After this session, you’ll likely change your mind about design approaches of test frameworks.

Dmitriy Sobko

Lead automation QA engineer with 5+ years of experience in testing of high-loaded applications. Designed variety of automation test frameworks for both functional and performance tests as well as for monolith applications and microservices using Java, Kotlin, Scala and different test frameworks. Inspired by clean code and great application design.

Experimenting on Humans’ (or, ‘everything you want from an a/b testing system’)

How do you know what 100 millions users like? Wix.com is conducting hundreds of experiments per month on production to understand which features our users like and which hurt or improve our business. At Wix we have developed our 3rd generation experiment system called Petri, which was open sourced. Petri helps us maintain some order in a chaotic system that keeps changing. We will also explain how it works and what are the patterns in conducting experiments that have a minimal effect on performance and user experience.

Talya Gendler

Talya Gendler has been writing code for the past 10 years. Passionate about clean and beautiful code and with a soft spot for building stuff for developers. Talya developed Petri (Wix’s A/B testing system) and now works and mentors in various projects for Wix’s server guild.

Future of Serverless

4 years ago, mid 2013, we have identified a gap in the cloud echo-system. The landscape of IaaS, PaaS and SaaS provides solutions for VMs, Container and Networking, platforms of different types for backend developers, Backends for mobile developers and ready made software for individuals and enterprises. What is missing in the middle is the platform for web-sites and web-apps.

4 years down the line, with the emergence of Serverless, there are still no players in this gap. We will talk about what makes a platform for web-sites and web-apps. Things frontend optimized javascript, SEO, visual builder, web methods & backend javascript as well as request time container boot.

We have built Wix Code over the last 4 years targeting this exact gap – a serverless platform for website and web applications, and so …

Wix is taking the risk of predicting the future of serverless computing and where it should be 4 years from now.

Yoav Abrahami

Yoav Abrahami is the head of the Wix Code program at Wix. Before the Wix Code project, yoav founded the Wix App Market while acting as the Chief Architect at Wix.com. Yoav’s experties are in software development, continuous delivery, devops, performance and building developer facing products.

Migrating huge monolith to microservices. How we did it in details.

This session is about migration from a huge monolith to microservices. I will tell you about our experience, not theory. The session depicts prerequisites to start a monolith separation, problems I bumped and obstacles that were overcome. In my presentation I will shortly depict problems with the monolith, show appearance of business and framework modules separation, describe necessity of internal and external API, depict certification of libraries and microservices and touch other questions like branching/release strategies.

Andrey Trubitsyn

Andriy Trubitsyn is a hands-on architect passioned for microservices architecture style and spent a lot of nights researching the topic. A person who drivers a microservices accelerator in EPAM and consults about different aspects of microservices related things. Andriy can be regularly met as a speaker on tech talks in EPAM.

He is a person who can drive an abstract concept through to a very practical solution and to focus on issues until they are overcome.

Safer Refactoring with The Mikado Method

Have you ever had that sinking feeling after embarking on what seemed like “an easy change” that it is slowly spiraling out of your control ? What about the feeling of despair when critical technical debt is yet again ignored because it’s sheer size and complexity make it too daunting to know where to start?

I used to have these feelings a number of years ago until I discovered The Mikado Method, a technique formalized by Ola Ellnestam and Daniel Brolund in 2014.

I’ll give an explanation of the main steps of the method and share with you how I started using the method to make sure my refactorings were not soul destroying trials of fire, and eventually how we started using them in teams to tackle big refactorings that were going to require multiple sprints to achieve.

Application Architecture – Inside/Outside Thinking With Hexagons

The traditional layered architecture has been around for a long time, and for equally as long has been often implemented naively with little to no regard for the direction of dependencies, who is coupled to whom and who is causing change to whom.

I will discuss the Hexagonal Architecture approach first written up by Alistair Cockburn and how it provides a clear way to think about your application and it’s most important pieces, namely the boundaries between different responsibilities and how to keep them from become entangled.

I’ll also show some concrete examples of how I’ve implemented various adapters in .NET for incoming (commands / use cases) and outgoing (persistence / notification etc…) ports.

A Crystal Ball to Prioritize Technical Debt

Most organizations find it hard to prioritize and repay their technical debt, and the main reason is the scale of modern systems with million lines of code and multiple development teams; No one has a holistic overview. So what if we could mine the collective intelligence of all contributing programmers and start to make decisions based on data from how the organization actually works with the code? This session introduces one such approach with the potential to change how we view software systems.

In this session you get an introduction to techniques that help us uncover both problematic code as well as the social dimension of the teams that build your software. The techniques are based on software evolution and findings from various fields within psychology. This combination lets you prioritize the parts of your system that benefit the most from improvements, detect organizational issues and make practical decisions guided by data. Each point is illustrated with a case study from a real-world codebase. This is a new perspective on software development that will change how you work with code.

Adam Tornhill

Adam is a programmer that combines degrees in engineering and psychology. He’s the founder of Empear where he designs tools for software analysis. He’s also the author of Your Code as a Crime Scene, has written the popular Lisp for the Web and self-published a book on Patterns in C. His other interests include modern history, music and martial arts.

Nathan Johnstone

Currently working as a .NET Pathfinder/Architect at Coolblue, Nathan helps teams to achieve mastery in TDD, refactoring techniques and system architecture. Software development is a life long passion that started with writing games in basic on his first computer (Commodore 16) at the age of 8 and continues to this day.

Improving Your Organization’s Technical Prowess With Legacy Code Retreats

In his book “Understanding the Four Rules of Simple Design”, Corey Haines is talking about good design principles and teaching us how to practice them using Code Retreats. Unhappily, many of us have to do with legacy code in our daily lives, and find ourselves frustrated when we try to make legacy code better. JB Rainsberger has started a variation on Corey Haines’ code retreats, making them more practical for legacy code practitioners. I’d like to be able to use this legacy code in Java often.

For the duration of the master-class, we want to learn the classic Michael Feathers dance of:

      1. Identify change points
      2. Find an inflection point
      3. Cover the inflection point (break external dependencies, break internal dependencies, write tests)
      4. Make changes
      5. Refactor the covered code.

We also would lay out the practicalities of having a legacy code retreat: Who comes? How should they pair? When do the pairs switch?

Vsevolod Poliakov

Having experience as a platform engineer and DevOps tech lead at Grammarly, now Vsevolod works as DevOps and infrastructure consultant, helping companies and startups to achieve their goals in culture, infrastructure, monitoring, architecture, and tools areas. He is big fan of monitoring, DevOps and containers. Also likes comic books and guitar playing.

Paul Stack

Paul Stack is a London based infrastructure coder and has spoken at various events throughout the world about his passion for continuous integration, continuous delivery and good operational procedures and why they should be part of what developers and system administrators do on a day to day basis. He believes that reliably delivering software is more important as its development. Paul’s passions are the DevOps and Continuous Delivery movements and how they help the entire business and its customers.

The hard way to production

In this talk, I am going to tell a real story of the project that has made a hard way, from developers computer to production environment within a year. I will drag through painful moments with infrastructure, development, Ops and QA. Participants will see how QA team became a driving force and joined Devs and Ops guys to achieve the project goals.

Sergey Pirogov

The main specialization of Sergey Pirogov is functional automation testing. He is active blogger at http://automation-remarks.com. Has experience in building test automation processes from scratch. A fan of Groovy language. Participated as a speaker at QAFest, Selenium Camp, SQADays, QA Conference, QA Expert Day.