Join us for the 2018 coolest event: ByteMyCode, a hands-on conference hosted by UBS that unites Java Champions and Rockstars, Craftsmen and women, and Gurus all together under one roof in the Tech vibrant city of Wroclaw.
Beautifully crafted code is at the heart of UBS Poland, which is why we have strived to bring the best in the industry to share their wealth of knowledge with us. We are setting the stage for first-class Java speakers from all over the world, including Java Champions and Java Rockstars. Take the opportunity to meet them personally and learn about their best practices and real-use cases! By joining ByteMyCode, you will find yourself immersed in the company of 350 Java masters and enthusiasts.
Come and hear about the latest trends in Java, Craftsmanship, and lean project delivery! If you live and breathe Java or just want to take the chance to learn more and connect with professionals, ByteMyCode 2018 welcomes you with open arms and a big, green BMC monster!
In 2018, it seems like Microservices are the de facto standard for a system architecture, but do they really live up to the hype? The talk will show you an alternative approach - how we can tame complexity with the help of a clean, monolithic architecture that is modular to the core. Java has been deliberately built from the ground up on a modular basis: Methods, classes, packages. Additionally, the module system was introduced in Java 9. Modularity is based on the fundamental concepts of high cohesion and low coupling. We will look at these concepts, as well as some further measures, in detail. We'll check out what they are, how they are related to one another, and what the best practices are for applying them on all levels of the architecture. The talk will show you how you can apply these basic concepts to develop a clean, monolithic architecture, based on Java 9 modules and the hexagonal architecture pattern.
So you end up with messaging and event-driven architecture.
You also have heard about event sourcing and applied this principle in a few places in your code.
Everything seems to be working perfectly, you are about to perform the first release and you’ve decided to change the structure of one event. The event you have changed was both used for state reconstruction (event sourcing) and integration (event-driven architecture). Due to that change, out of a sudden, your acceptance environment stopped working… “How come?! I have only changed an implementation detail in my cool event-sourced domain!” said the senior developer.
In this talk, we will chat about how to work with events that are used as integration messages in your system. We will tackle content-negotiation, versioning and acceptance tests.
There will be a lot of Spring Cloud stack and we will see how we can benefit from Consumer Driven Contracts when NOT using REST APIs.
Adding a tool to your project or your stack can be a difficult decision process. What makes it so challenging? And how to overcome some risks and take an informed decision? As a team lead in a small team working on free, open source online coding games, I will share some advice and some examples, mostly choosing a CD platform. There probably won't be a perfect tool but prioritisation, testing, good practices can help find a good one!
I’ve been using TDD/BDD at work for the last 12 years, I also teach and mentor teams on this subject. I’ve found that misconceptions and errors in this field are shared, and that most of us make the same mistakes. Give me 45 minutes of your time, and I’ll try to address the most common problems, hoping to improve your TDD/BDD situation as much as possible. I’ll try to solve: Long running tests problem, by bringing back the correct shape of test-pyramid with power of Hexagonal Architecture (Ports & Adapters) with practical examples in Spring. Miscommunication and lost art of requirement gathering, by focusing on readability, introducing just enough of Domain Specific Language, and sorting out what is important with the power of Spock. Difficult test setup and environment requirements, by using command and conquer & modularity. And hopefully more. Most teams that do not write tests first do it, because it’s hard for them. I’ll try to show you, how to make it easy. Real life examples included. If you are not using TDD/BDD, this might also interest you - you’ll know how to start the right way.
Yes, we know we are supposed to refactor. That is how we get from A to B when we perform structural transformations. But, invariably, we often end up rewriting code. How do we know whether we’ve done it correctly? What are the strategies? In this session, Michael Feathers will demonstrate a set of testing and analysis techniques that help you reverse engineer existing code and verify rewritten code. These techniques can be used to augment the standard refactoring practices that we use.
Technology in UBS is huge, from administrating our hardware estate comprising tens of thousands of severs to building business critical applications, such as our Regulatory reporting solution, notifying all jurisdictions in real time; our settlement system with 25 million daily transactions or our collateralisation engine, managing the equivalent of the GDP of Poland.
We work lean, in Scrum and Kanban. We develop talent from Graduates to Architects. We work globally, from Sydney to New York, London to Hong Kong. And we work in co-located application teams, empowered to deliver and to challenge. We are Software Engineers, System and Business analysts, Delivery and Project Managers, QAs, Support Engineers and Architects. We are UBS.
Global? Local? We're both.
We’re about 60,000 employees, in almost 900 offices, more than 50 countries and all major financial centers. A truly global business, working together hand in hand. That’s who we are.
The UBS offices in Krakow and in Wroclaw play an important role in achieving our goal of being the best global financial services company. Like other UBS offices, we succeed by focusing on quality, efficiency, excellence and innovation. We work with our UBS colleagues across the globe on a variety of projects and processes that require varied language abilities, subject matter expertise and critical thinking skills.
People. Perspectives. Personalities. People with intelligence, integrity and drive. People with experience, or who are eager to learn. People able to do good things for our clients, make a positive impact on our business and help us as we continue to transform our firm. At UBS, we aim for excellence in all we do and this begins with our employees. It is fundamental to our continued success that we hire highly talented individuals, support their ongoing development, and leverage their skills to meet our clients' evolving needs.