GoWayFest is the first conference fully dedicated to Go in Belarus

Organized by

"Advanced Ultimate Go"
Workshop

Learn aspects of the Go specification, implementation and idioms to help make you a better Go developer.

Learn guidelines and best practices from years of experience coding and solving problems in Go. If you love the Go In Action book, this class makes it come to life.

This class will help you read and understand more code for the conference.
September 28, 2018

Our speakers and talks

@goinggodotnet, USA

Managing Partner @Ardan Labs
@quasilyte, Russia

Software development engineer @Intel
@webdeva, Germany

Lead TechOps Automation Engineer @N26, co-host @golangshow
@kasiazien, UK

Senior Software Developer @Brightpearl
@antonmedv, Russia

Full-stack developer @Aviasales Core Team
@vadimlearning, Russia/Spain
Lead Machine Learning Engineer @ source{d}
@Arafatk, India/Canada

Student @Indian Institute of Technology
@maxchechel, Belarus
Back-end Developer @Juno
Belarus

Software Developer @Klika Tech
@mbobakov, Belarus
Backend Developer @Affise
@ybubnov, Belarus
Backend Engineer @Juno
Team Leader @OZON.ru, Russia
A managing partner at Ardan Labs, a high-performance development and training firm working with startups and fortune 500 companies.

He is also a co-author of the book Go in Action, the author of the blog GoingGo.Net, and a founding member of GoBridge which is working to increase Go adoption through diversity.
When it comes to designing code with interfaces, behavior has to be the main focus.

In this talk I hope to provide a different way to think about interfaces and how to design code with them.

I want you to stop focusing on the implementation details and focus on the relationship interfaces have with concrete data.
Working on Go toolchain at Intel. Creating Go tools like go-critic in spare time.

Systems programmer, open-source enthusiast, blogger, occasional speaker and digital artist.
Talk about new Go feature that is under development that can make many assembler code redundant without measurable performance loss.

Go-style intrinsics: feels like Go, runs like assembler.

Go inline assembler: design, prototype implementation and issues we're trying to solve with it + proposal sneak peek. The design differs from traditional intrinsics and/or inline assemblers found in other languages.

The talk will include both technical details, challenges and some historical notes that may be required to understand the topic better. There will be some motivating examples as well.
Elena is a Lead TechOps Automation Engineer at N26 (Berlin) and a co-host of the GolangShow podcast.

She is passionate about software architecture and site reliability engineering topics.
It is easy to fall in love with a new programming language, tool or architectural approach, especially as it gains in popularity. Usually, we start trying a new technology by understanding a "tour" or the "quick start" guidance. But in practice, it is not always so simple to bridge the gap between our first web server and a real production-ready application, this is especially true if this application should be prepared for a cloud-native infrastructure.

The talk is based on my experience with distributed systems. It considers different points of view and covers the following topics:
• How to design production-ready services
• How to make applications well-structured, testable, observable and secure
• How to prepare service configuration for the infrastructure and make your application really cloud-native
Writing Go and PHP at Brightpearl. Working remotely from Bristol, UK or anywhere with wifi.

Her main interests include automating #allthethings, sorting out legacy code and making things simpler and faster. She's co-organising and giving talks at Golang Bristol++ and PHPSW.

Kat loves travelling and keeping active, appreciates good coffee and is a big Lego fan. She cycled over 1100km and raised over $4000 so far with TechBikers to raise money for Room To Read.
"How should I structure my Go code?" is probably one of the most commonly asked questions, by new and experienced programmers alike. There is almost always more than one answer and it can be tricky to decide what will work best.

Should I keep all my files under one directory or should I split them up? How should I divide my code and into what packages? Can I write object-oriented code in Go? Why do some projects have a cmd directory and what is the advantage of that?

This talk will aim to answer those questions and give you an overview of common design patterns and best practices to make your projects testable, maintainable and easy to understand.
I am a backend developer from Moscow. I like programming in languages that allow me to quickly get to desired result.

Interested in football, travelling and all sorts of centrifuges. I like planes but I am nervous during the flight.

I started working on Centrifugo 6 years ago so have a pretty good knowledge on real-time messaging topic. Especially in context of web applications.
Centrifugo is a real-time messaging server written in Go. In short: it keeps persistent connections from your application users, manages subscriptions to channels and has an API to publish new events to channels to instantly deliver them to subscribers – i.e. this is a user-facing PUB/SUB server. It allows to build various types of real-time apps – like games, chats, live charts and statistics etc – using Websocket or SockJS transports.

In this talk I'll tell about some core Centrifugo concepts that allow it to be language-agnostic – i.e. integrate with application written in any programing language. Will describe how Centrifugo solves problems almost every real-time application needs to solve. We will also look at internal building blocks and protocol decisions.

Centrifugo is now approaching new major v2 release. New version will have some important improvements and will be built on top of new library for Go language called Centrifuge. The library is also supposed to be general-purpose solution to be used by other Go developers. The part of this talk will be dedicated to this library and its possibilities.
A backend developer at Aviasales, previously frontend developer at Aviasales, open-source enthusiast.

Maintainer of a few popular open-source libraries in a variety of languages: go, js, node and php.

At Aviasales we rewrote our search engine in Go.

One of critical part of that engine is business rule engine. With lots of incoming parameters it's not always possible to describe constantly changing business rules in code.
To solve this problem we wrote an expression engine. The idea is to let configure things in a dynamic way without recompiling the program.

In this talk, I'll explain how to write your own expression engine. Starting from lexer, parser and Go's reflection for static typing, to evaluation of compiled program.
A backend developer from Minsk. Happy that my work and my hobby are almost the same.

I adore challenges in areas unfamiliar for me.
The talk is about consensus algorithms. Mostly we will talk about The Raft Consensus Algorithm. But also I'll talk about the general meaning of consensus, different ways of getting consensus. We'll go through the history of consensus algorithms, identify strengths and weaknesses of modern algorithms. We'll review "The Raft Consensus Algorithm" and its application.

The talk contains enough technical information to start using The Raft Consensus Algorithm. And I'll show the demo of the simple distributed key-value store. The talk is a good starting point of understanding consensus algorithms.
Arafat is a software developer fascinated by the mysteries of programming and logic.

He loves experimenting and playing code and is particularly interested in Algorithms, Distributed Systems, and Machine Learning. He is the lead developer of Tensorflow Ruby and Dataviz for Golang.

When he isn't coding in front of his laptop he is hiking, kayaking, skating and doing all things outdoorsy...
This talk is a demonstration of how Golang can also be used to solve problems of all things ranging from Machine Learning and Algorithms to general Scientific computing. My goal is to inspire Gophers to practice using new data analysis and visualization techniques in Golang.

The most fundamental aspects of data analysis involve using Machine Learning and Visualizations. I want to help Gophers and Cs educators use data visualization libraries that I developed to understand data and make interpretations in a better way. I will use Tensorflow Golang and Gorgonia for Machine Learning, Glot (for Plotting) and Dataviz (for Data Structure Visualizations).
Max is a software engineer at Juno with 15 years of programming experience.

He likes to play bullet chess and mountain biking.
While Go programming language provides us with lots of awesome features like goroutines, channels, duck typing and so on, as developers we often still struggle to write some boilerplate code.

In this talk I will explain how you can solve typical software engineering problems with just one simple tool. Using real-world examples I will demonstrate how you can introduce metrics, tracing, retries and more complex functionality to your programs without any pain.
Backend developer at Affise. I plan and build microservices for the high loaded SaaS Platform for the affiliate networks.

Technical experience is about 7 years, 2 with Go. DevOps lover.
This talk is about how-to use gRPC in your applications. We'll discuss how to do infrastructure things with the gRPC Go library without self-implemented solutions.

Topics to discuss are middlewares, metadata passing, logging, load balancing, utils and etc.
I'm a Go-programmer with past in such companies as Dyn Inc. (one of the biggest DNS registrar), Infoblox Inc. (leading provider of hardware DNS servers) and currently a Juno back-end engineer. All my previous experience relates to development of high-loaded and scalable back-end solutions.

Apart of that I'm actively contributing to my opensource projects in github, such as "openflow" controller written in Go, "keras-metrics" library written in Go, and Linux container engine "rkt" (in the past).
I'll talk about the approaches of the concurrent server implementation (request handling techniques to be precise), what are the advantages and disadvantages of each approach. This would be helpful to understand how to scale Go-programs vertically.

The talk covers concepts of concurrent request handling in Go server implementations. It explains how uncontrollable exploit of Go-routines could harm performance during high load.
Backend developer in highload web projects for the last 9 years. Before that I was (and am still now) into system programming and computer graphics/gamedev.

I know several programming languages, but I prefer Go for many tasks.
The talk is about history of appearance of Go in the company, increasing it usage in particular tasks, and reasons of using.

What I've done before I got approval for wide usage of Go in the company. I will speak about our infrastructure architecture, internal RPC protocol, our engines (databases) written in C, advantages and disadvantages of Go for our tasks.

At the end I'll describe almost all our solutions in Go.
Vadim is a Google Developer Expert in Machine Learning and a Lead Machine Learning Engineer at source{d} (sourced.tech) where he works with "big code" and natural languages. His academic background is compiler technologies and system programming. He is an open source zealot and an open data knight.

Vadim is one of the creators of the historical distributed deep learning platform Veles (https://velesnet.ml) while working at Samsung. Afterwards, Vadim was responsible for the machine learning efforts to fight email spam at Mail.Ru - the largest email service in Russia.

In the past, Vadim was also a visiting associate professor at Moscow Institute of Physics and Technology, teaching about new technologies and conducting ACM-like internal coding competitions.
The dream of software managers is to have an in-depth overview of what is happening in the project.

I have developed Hercules, an open source library and CLI in Go to analyze the development history and help to make the dream come true. It ships with a few algorithms to estimate the architecture quality, the logical parts of the codebase, relationships between developers and their ownership of the project.

There will be insights into how Git works. I will also share my experience of developing a Go command line application from scratch.
I'm team leader at OZON.ru. In background I have C++, Python, C#, but Go is the best what I've found on the way! :)

TDD addicted, adept of Scrum/Kanban. I like management, coding, coffee and life!
- Who are we? - Developers!
- What do we want? - Coverage of end-to-end tests!
- When do we want it? - Now!

I'm going to tell you how to make your golang service able to measure coverage of end-to-end tests. It allows you to use standard unit test tools to control quality of your "external" tests. Step-by-step we'll discuss gotchas on this way. Create simple example ready to use. We even measure the coverage!

After the talk you'll be able to make the same changes in your own go service.

Programme committee

Mike Kabischev
Leader of GoWayMinsk Community
Daria Shabala
SPACE Production team
Leader of GoWayMinsk Community
Stas Afanasiev
Follow us for the updates!

Tickets

LAST MINUTE
249 BYN
CONFERENCE DAY
199 BYN
WORKSHOP
399 BYN
COMBO TICKET
€ 108 | $ 126 | 7859 ₽
€ 86 | $ 101 | 6282 ₽
€ 167 | $ 195 | 13087 ₽
LAST MINUTE
249 BYN
CONFERENCE DAY
199 BYN
WORKSHOP
399 BYN
COMBO TICKET
Corporate Booking Enquiry
+
The Silicon valley of Eastern Europe
Wall Street Journal named Belarus' Hi-Tech Park "the Silicon Valley" of Eastern Europe.
Hotel Discount
The Capital
Minsk is a beautiful city with post war architecture & lots of parks. Even the most experienced travellers are impressed by its spacious avenues & cleanliness.
Large Developers' Community
Minsk has a really strong IT developers community. GoWayMinsk community, for example, has their regular meetups every other month.
Need a hotel? After purchasing a conference ticket, contact the organizers and get a discount on Willing hotel.
A unique feature of Belarusian national cuisine is a huge variety of cold soups & potato dishes. To try draniki with sour cream is a must!
Delicious national cuisine
Welcome to Belarus!
Explore the city with these handy guides
If you fly to Minsk airport from any country except Russia & your stay will last up to 30 days (including arrival & departure dates), the visa will be stamped to you free of charge at Minsk airport!

This concerns 74 countries' citizens.

If your country is in the list, you don't need an invitation to enter the country. You'll only need a valid passport (it must be valid 6 months after your trip to Belarus), a return ticket and medical insurance that must be purchased at Minsk airport upon arrival before passport control (it costs a couple of euros, the insurances from your countries might be not valid for our passport control).

If your country is not in the list, we can prepare an invitation for you.
30 days visa-free

Partners

Video partner

Afterparty partner

Participant partners

Media partners

Previous year's partners

Produced by

SPACE PRODUCTION Portfolio:
Daria Shabala,
Project Manager
+375 29 739-34-16
[email protected]
Misha Malikin,
Partner Account Manager
[email protected]
Conference Code of Conduct
GoWayFest 2.0 Conference is a community conference intended for networking and collaboration in the developers community.

We value the participation of each member of the community and want all attendees & speakers to have an enjoyable and fulfilling experience.All attendees, speakers, partners and volunteers at our conference are required to agree with the following code of conduct. Organisers will enforce this code throughout the event. We are expecting cooperation from all participants to help ensuring a safe environment for everybody.

Our conference is dedicated to providing a harassment-free experience for everyone, regardless of gender, gender identity and expression, age, sexual orientation, disability, physical appearance, body size, race, ethnicity, religion (or lack thereof), or technology choices. We do not tolerate harassment of conference participants in any form. Sexual language and imagery is not appropriate for any conference venue, including talks, workshops, parties, Twitter and other online media. Conference participants violating these rules may be sanctioned or expelled from the conference without a refund at the discretion of the conference organisers.

Harassment includes offensive verbal comments related to gender, gender identity and expression, age, sexual orientation, disability, physical appearance, body size, race, ethnicity, religion, technology choices, sexual images in public spaces, deliberate intimidation, stalking, following, harassing photography or recording, sustained disruption of talks or other events, inappropriate physical contact, and unwelcome sexual attention.Participants asked to stop any harassing behavior are expected to comply immediately.

Partners (sponsors) & speakers are also subject to the anti-harassment policy. In particular, partners should not use sexualized images, activities, or other material. Booth staff (including volunteers) should not use sexualized clothing/uniforms/costumes, or otherwise create a sexualized environment. Be careful in the words that you choose. Remember that sexist, racist, and other exclusionary jokes can be offensive to those around you. Excessive swearing and offensive jokes are not appropriate for GoWayFest 2.0 Conference.

If a person engages in harassing behavior, the conference organisers may take any action they deem appropriate, including warning the offender or expulsion from the conference with no refund.

If you are being harassed, notice that someone else is being harassed, or have any other concerns, please contact a member of conference staff immediately.

Conference staff will be happy to help participants contact venue security, provide escorts, or otherwise assist those experiencing harassment to feel safe for the duration of the conference. We value your attendance.

We expect participants to follow these rules at conference and workshop venues and conference-related social events.