• Main room

  • Garage

  • Tent

  • Light room

CRAFT is about software craftsmanship, which tools, methods, practices should be part of the toolbox of a modern developer and company, and it is a compass on new technologies, trends. You can learn from the best speakers and practitioners in our community.

April 22 will be a workshop day.
On April 23-24 we are going to have speaker sessions.

You can find all the videos from our last event on the following Ustream channels: Room 1, Room 2, Main Room, and you can enjoy the full presentation experience on our InfoQ page.

Location

Várkert Bazar

Várkert Bazar (Royal Garden Pavilion) is Budapest’s freshly renovated Neo-Renaissance building complex on the side of the hill that goes from the Danube's Buda side riverfront up to the Royal Palace. It was built between 1875 and 1883 according to the plans of one of Hungary's great architects Miklós Ybl. It has a magnificent flower garden with fountains, grottoes, and guard houses.

We believe Várkert Bazar is one of the coolest conference venue in Budapest so we are excited to have Craft 2015 here.

Please note that the workshops are on different locations that you can find at the description of the given workshop.

Speakers

  • Ádám Divák

    Ádám Divák

    Synetiq

    Friday (Session Day 2) — 17:15 - 18:00Calculating emotions: building a system to understand human nature

    Calculating emotions: building a system to understand human nature

    Emotions are complex and beautiful parts of our existence. Although regarded as the opposite of thoughtful action, feelings are our biggest — although not infallible — aids in decision making. Therefore content creators such as marketing companies, film and TV producers are keen on understanding the emotional response to their video content, as it relates to their commercial success. Synetiq is a start-up that utilizes neuroscience to infer emotional and cognitive states from psychophysiological measurements.
    I am going to show you how we turn biometric sensory information to actionable insights and recommendations about different media content. I will present typical data analysis techniques we use, the challenges we have faced and the lessons we have learnt.
    Given that more than half of our company does not have an engineering background, I will highlight how this has shaped our way of working and the tools we use, and what we as engineers do day after day to support our peers.
    I am inviting you to see how we blend our technical and non-technical aspects to come up with incredibly deep insights about the entertainment industry

    CTO & co-founder @ Synetiq. Holding an MSc in computer engineering and neuroscience, Adam specializes in neural applications. Prior to founding Synetiq, he worked on research projects such as the optimization of the network model of the hippocampus on supercomputers and developed complex applications for global finance companies. He loves sharing his knowledge in micro-communities and has also worked as a teacher and trainer with local and international students. Adam is a highly skilled software engineer with a vast experience in all aspects of software development who joined forces with psychologists, neuroscientists, marketing researchers, engineers and a great business partner to deliver unprecedented insights about customers at Synetiq.

  • Adewale Oshineye

    Adewale Oshineye

    Google

    Friday (Session Day 2) — 15:05 - 15:50Why Is An API Like a Puppy?

    Why Is An API Like a Puppy?

    The idea is to help people learn to think about technical decisions in the context of the long-term consequences. I'll walk people through all the usual reasons why we think APIs are beneficial and show the consequences. I'll conclude by arguing that maturity involves being willing to support and maintain the things/decisions we make.

    I'm a Staff Developer Advocate and Tech Lead Manager in Google's London office.

    That means I help developers and companies build the best possible integrations with the Google platform. It also means I help them tell better stories about their products by using our products. That involves spending a lot of time at the seams where our different products meet then using this knowledge to move the Google platform forwards by improving the quality of the developer experience we offer.

    Over the last decade I've worked on trading systems for a variety of investment banks as well as on Google's advertising and mobile search systems. I'm also the co-author of Apprenticeship Patterns: a book that teaches you how to learn to be a great programmer.

  • Adrian Trenaman

    Adrian Trenaman

    Gilt

    Thursday (Session Day 1) — 11:00 - 11:45Scaling Micro-Services at Gilt

    Scaling Micro-Services at Gilt

    The ecommerce company Gilt.com (founded 2007) started out as a monolithic Rails application built and maintained by just a handful of engineers. Gilt has since become a global e-commerce destination built upon a sophisticated Scala/Java micro-services architecture strong enough to handle the company’s intense traffic spikes--generated by millions of the company’s members simultaneously visiting the site at noon each day. The concept of micro-services--smaller, lighter, faster components delivered swiftly to production--has resolved many of the growing pains we experienced evolving from “just a handful of engineers” into an engineering team of +100. However, microservices bring their own set of tradeoffs.

    In this talk I'll discuss the evolution of Gilt's micro-service architecture, and the challenges we now face today. How do you move a large Micro-Service deployment to the cloud? How does micro-services affect ownership and software quality? Why do API’s really matter? How can the micro-service approach applied to front-end web applications? And, why has our adoption of micro-services lead us to the conclusion that all our teams should prefer to deploy and test software in production?

    Adrian Trenaman, VP Engineering, Gilt

    Ade is an experienced, outspoken software engineer, communicator and leader with more than 20 years of experience working with technology teams throughout Europe, US and Asia in diverse industries such as financial services, telecom, retail, and manufacturing. He specializes in high-performance middleware, messaging and application development, and is pragmatic, hard-working, collaborative and results-oriented. In the past, he has held the positions of CTO of Gilt Japan, Tech Lead at Gilt Groupe Ireland, Distinguished Consultant at FuseSource, Progress Software and IONA Technologies, and Lecturer at the National University of Ireland in Maynooth. He became a committer for the Apache Software Foundation in 2010, has acted as an expert reviewer to the European Commission, and has spoken at numerous Tech events.

    Ade holds a Ph.D, Computer Science from the National University of Ireland, Maynooth, a Diploma in Business Development from the Irish Management Institute, and a BA (Mod. Hons) Computer Science from Trinity College, Dublin.

  • Alexander Reelsen

    Alexander Reelsen

    Elasticsearch

    Thursday (Session Day 1) — 11:55 - 12:40Speed is Key: Elasticsearch under the Hood

    Speed is Key: Elasticsearch under the Hood

    This talk moves beyond the standard introduction into Elasticsearch and focuses on how Elasticsearch tries to fulfill its near-realtime contract. Specifically, I’ll show how Elasticsearch manages to be incredibly fast while handling huge amounts of data. After a quick introduction, we will walk through several search features and how the user can get the most out of Elasticsearch.

    This talk will go under the hood exploring features like search, aggregations, highlighting, (non-)use of probabilistic data structures and more.

    Alexander Reelsen is an Elasticsearch developer, who is interested in all things search & scale. Having done web development on the JVM for a couple of years, he decided it is time to switch to something new and has been working on Elasticsearch for quite some time now. Besides that, he loves basketball and enjoys either watching or playing whenever possible.

  • Alf Rehn

    Alf Rehn

    Åbo Akademi University

    Thursday (Session Day 1) — 18:10 - 19:00How To Save Innovation From Itself

    How To Save Innovation From Itself

    We live in an age that valorizes and celebrates innovation. There’s no lack of guru’s, consultant’s, VC’s and CEO’s singing the praises of the same, and we’ve never seen as many books published and as many blogs, listicles and twitter accounts dedicated to the same. At the same time, one can wonder whether all this talk translates to actual innovation, or just to more innovation talk? In his keynote, professor Alf Rehn challenges the modern innovation mythology and addresses the many ways in which the potential of innovation can be squandered in modern organizations, and further maps out what can be done to save innovation from “innovation”. He also discusses why it is of paramount importance that coders and makers keep developing their own innovation culture, as a counterweight to co-opted innovation language.

    Alf is 43, a management professor, an internationally recognized business thinker, an author and a speaker. He is currently holding the Chair of Management and Organization at Åbo Akademi University in Finland, was earlier the SSES Professor of Innovation and Entrepreneurship at the Royal Institute of Technology in Stockholm, Sweden, and has in addition taught at universities all over the globe.

    As a business thinker, he has been called an “enfant terrible of organization studies”, while the venerable The Times called him a “star of the future”. The 2009 Thinkers 50, the listing of the world’s top 50 business thinkers, included him on their “Guru Radar”, ranking him #13 among the “Up and Coming Business Thinkers”. Oh, and in the Finnish Thinkers 20-list, he was rated the #3 business thinker in Finland (#1 among academics). He is also listed internationally as a Top Professor On Twitter. His mother thinks he’s pretty neat as well, but his kids can’t really see what all the fuss is about.

    As a business writer, Alf has published a wide range of academic stuff, but also a series of books, articles, and columns for a general audience. You can find some of his books and other stuff further down.

    Born in Finland, but raised in more than a dozen places, Alf stopped for long enough to get a MSc in business studies despite spending most of his time reading philosophy, sociology and cultural studies, and later – even more improbably – got a doctorate in technology (Industrial Management) while reading and writing about anthropology and behavioral sciences. His thesis on gift economies and new organizational forms discussed piracy and collaboration long before it became fashionable, and got him enthusiastic about looking for the bleeding edge of economic developments. Despite this, he got a chair in management at the advanced age of 31 years old. His "grown-up" research (and we use the term "grown-up" very loosely here) has focused on moralization, ideology and critique, as well as things such as haute cuisine, innovation, accidents, popular culture, cannibalism, philosophy, boredom, entrepreneurship, rap lyrics, project management and luxury. Surprisingly enough, this research has been published in top international journals and prestigious books. Even more surprisingly, he's still curious about the world.

    He currently lives in both Finland and Denmark, as well as in a range of hotel rooms and airport lounges around the world. He drinks too much coffee, not enough water, and is a devoted fan of Ethel Merman and the divine Patsy Cline.

  • Alvaro Videla

    Alvaro Videla

    Pivotal

    Thursday (Session Day 1) — 11:00 - 11:45Writing testable code - A functional programming point of view

    Writing testable code - A functional programming point of view

    We've been told many times that we should write unit tests for our code. We have read the theory and we have applied automatic testing to our projects, sometimes successfully but often times not so.

    Why it seems to be so hard to test our code? However we look at it, automatic testing doesn't work like a "plug & play" peripheral. It just doesn't seem to fit with our project. A dependency is missing here; we have a hard to mock object there; and so on.

    What is _that_ thing we might be doing wrong but we fail to notice?

    In this talk we will argue that the problem lays in our code, in its structure, in the way we pass data around and even how we write for loops!

    This won't be your everyday "code quality" tech talk, since we are going to attack the problem of code quality from different points of view and paradigms like Functional Programming and the Unix philosophy of simplicity and reuse.

    Alvaro Videla works as Developer Advocate for RabbitMQ/Pivotal. Before moving to Europe he used to work in Shanghai where he helped building one of Germany's biggest dating websites. He co-authored the book "RabbitMQ in Action" for Manning Publishing. Some of his open source projects can be found here: http://github.com/videlalvaro. Apart from code related stuff he likes traveling with his wife, listening/playing music and reading books. You can find him on Twitter as @old_sound.

  • Amber Case

    Amber Case

    caseorganic.com

    Friday (Session Day 2) — 14:10 - 14:55Designing Calm Technology

    Designing Calm Technology

    Our world is made of information that competes for our attention. What is needed? What is not? We cannot interact with our everyday life in the same way we interact with a desktop computer. The terms calm computing and calm technology were coined in 1995 by PARC Researchers Mark Weiser and John Seely Brown in reaction to the increasing complexities that information technologies were creating. Calm technology describes a state of technological maturity where a user’s primary task is not computing, but being human. The idea behind Calm Technology is to have smarter people, not things. Technology shouldn’t require all of our attention, just some of it, and only when necessary.

    How can our devices take advantage of location, proximity and haptics to help improve our lives instead of get in the way? How can designers can make apps “ambient” while respecting privacy and security? This talk will cover how to use principles of Calm Technology to design the next generation of connected devices. We’ll look at notification styles, compressing information into other senses, and designing for the least amount of cognitive overhead.

    Tags: internet of things, product design, calm computing
    Audience Level: Intermediate
    Prerequisite Knowledge for this Session: This session is for a wide range of professionals. Engineering directors, investors, consumers, designers and developers are the main focus of this section. This session is relevant for anyone that actively builds or makes decisions about technology.

    Amber Case is an entrepreneur and researcher helping Fortune 500 companies design, build, and think about connected devices. She is the former co-founder and CEO of Geoloqi, a location-based software company acquired by Esri in 2012. She spoke about the future of the interface for SXSW 2012’s keynote address, and her TED talk, “We are all cyborgs now”, has been viewed over a million times. Named one of National Geographic’s Emerging Explorers, she’s been listed among Inc Magazine’s 30 under 30 and featured among Fast Company’s Most Influential Women in Technology.

    Case is the author of An Illustrated Dictionary of Cyborg Anthropology and Designing Calm Technology from O’Reilly Books (Fall 2015). She is a passionate advocate of privacy and the future of data ownership, and is interested in furthering the ideas of Calm Technology, wearable computing, and the future of the interface. Her current work as Managing Director of Existence at Healthways involves predictive analysis and wellness. Amber lives and works in Portland, Oregon; you can follow her on Twitter @caseorganic and learn more at caseorganic.com.

  • Andrew Bayer

    Andrew Bayer

    Cloudera

    Thursday (Session Day 1) — 15:05 - 15:50Oh! You Pretty Tools

    Oh! You Pretty Tools

    We talk a lot about developing product. We talk a fair amount about developing commercial or open source tools to assist with development or operations. But we don’t talk a lot about how those forms of software development differ from developing tools (development tools in particular) for purely internal purposes.

    For example:
    • How should we think about our internal tools?
    • What you should automate and what’s not worth automating?
    • How do we properly document our tools?
    • What tools and languages should we leverage?

    All these questions differ when you’re working for an internal audience rather than an external audience. In this talk, I’ll go through some of those differences as well as discuss the mindset, technologies and best practices for internal tools development. Finally, I'll share some thoughts on what needs to change when an internal tool turns into an externally available tool.

    Andrew Bayer been working on builds, releases and internal tools for fourteen years, and he has learned a lot along the way. Andrew currently works at Cloudera as a Build and Tools Architect where he addresses highly complex internal tools issues for Big Data development teams.

  • Camille Fournier

    Camille Fournier

    Rent the Runway

    Friday (Session Day 2) — 15:05 - 15:50Consensus Systems for the Skeptical Architect

    Consensus Systems for the Skeptical Architect

    Consensus systems are an important building block of large-scale distributed computing. Whether it is ZooKeeper, etcd, Consul, or another alternative, these systems are increasingly used in companies big and small to provide valuable features such as distributed locking and service management. In this talk I will describe the environments and use cases where these systems make sense, as well as discussing potential alternatives to running a consensus system. I will discuss some of the challenges of using these systems in production, and provide a high level overview of the differences between two of the popular alternatives, ZooKeeper and etcd.

    Camille is the head of engineering at Rent the Runway. In her limited spare time, she hacks on distributed systems for the Apache ZooKeeper project and contributes to the Dropwizard Java web framework.

  • Caitie McCaffrey

    Caitie McCaffrey

    Twitter

    Friday (Session Day 2) — 16:20 - 17:05Implementing the Saga Pattern

    Implementing the Saga Pattern

    As we build larger more complex applications and solutions that need to do collaborative processing the traditional ACID transaction model using coordinated 2-phase commit is often no longer suitable. More frequently we have long lived transactions or must act upon resources distributed across various locations and trust boundaries. The Saga Pattern is a useful model for long lived activities and distributed transactions without coordination.

    Sagas split work into a set of transactions whose effects can be reversed even after the work has been performed or committed. If a failure occurs compensating transactions are performed to rollback the work. So at its core the Saga is a failure Management Pattern, making it particularly applicable to distributed systems.

    The Halo 4 Statistics service processed over 1.5 billion games played by 11.6 million unique players. Each game had 1-32 players in it, and their records were distributed across multiple storage partitions. In addition the Halo 4 Services could not block on processing statistics because of the high availability & low latency requirements imposed on us by the game. In order to meet these requirements we implemented the Saga Pattern in Halo 4 Services to process game statistics.

    In this talk, I'll discuss the fundamentals of the Saga Pattern, and how it can be applied to your systems. In addition we'll discuss how the Halo 4 Services successfully made use of the Saga Pattern when processing game statistics, and how we implemented it in production.

    Caitie McCaffrey is a Backend Brat, Distributed Systems Diva, and Tech Lover. Her focus is on Web Services, Distributed Systems, and Big Data. She spent the first 6 years of her career building services that power the entertainment industry, including video games (Gears of War 2, Gears of War 3, & Halo 4) and the HBO Go Services. Caitie has a degree in Computer Science from Cornell University. She maintains a blog at CaitieM.com and frequently discusses technology and entertainment on Twitter @caitie.

  • Dan North // Jessica Kerr

    Dan North & Associates // Outpace

    Thursday (Session Day 1) — 09:00 - 09:50Complexity is Outside the Code

    Complexity is Outside the Code

    We talk about refactoring, as if beautiful code is all we need. But that's only a start. The prettier our little modules get, the more complexity is pushed outward. The more our systems do, the more technologies we need in order to do it. Applications these days aren't so much written as assembled.

    Databases, web servers, routers, monitoring systems, search tools. Version control, issue trackers, continuous integration. Every piece tackles some complexities and adds others.

    Can we manage all this, meet rising expectations, and keep our sanity?

    Join Jessica and Dan on a journey of pain and beauty through the complexity of our systems. Will we ever find simplicity? or is the light at the end of the tunnel an oncoming enterprise service bus?
    Dan North

    Programmer and organizational change specialist Dan North applies principles from lean operations and agile software development to help organizations align their technology capabilities with their business objectives. With over twenty years of experience in IT, Dan is a frequent speaker at technology conferences worldwide, has published feature articles in numerous software and business publications, and contributed to The RSpec Book: Behaviour Driven Development with RSpec, Cucumber, and Friends and 97 Things Every Programmer Should Know: Collective Wisdom from the Experts. The originator of Behaviour-Driven Development (BDD) and Deliberate Discovery, Dan is currently working on his book, Accelerated Agile – from months to minutes, and helping organizations radically improve their delivery. He blogs at http://dannorth.net/blog.

    Jessica Kerr

    Jessica Kerr "speaks with the authority of an experienced software engineer and the infectious enthusiasm of a 10-year-old telling you about magic." After ten years in Java she discovered the big wider world of programming through F# and Scala. She speaks about functional programming, git, property-based testing, and juggling complexity. In between conferences, she juggles two daughters and full-time remote pairing in Clojure for Outpace Systems. Find her @jessitron or blog.jessitron.com.

  • Dan North

    Dan North

    Dan North & Associates

    Thursday (Session Day 1) — 17:15 - 18:00Beyond Features: Rethinking Agile Planning and Tracking

    Beyond Features: Rethinking Agile Planning and Tracking

    Agile planning has always been a hit-and-miss affair. At one end of the scale is the soul-crushing, multiple day workshops whose output is a list of hundreds of detailed features, many of which will never see the light of day. At the other end is the continual insertion of random demands into the product backlog, with the team constantly on the defensive, never knowing what is coming next and forever switching context.

    We estimate as a group using story points and then we carefully track velocity, burn-up, burn-down, and use this to predict delivery timescales or commit ourselves to near-term deadlines. So with all this rigour and discipline, surely your team is a highly-energised unit, delivering quality software in a regular cadence, free from the thrashing, context-switching, pressure and uncertainty that would suggest "bad" planning, right? Or maybe not.

    Maybe features aren’t the point of delivery after all. Maybe there are other kinds of work that we could recognise, schedule and track as first class citizens. Maybe this could take some of the uncertainty out of the delivery process, and give us back our sanity. Maybe.

    Programmer and organizational change specialist Dan North applies principles from lean operations and agile software development to help organizations align their technology capabilities with their business objectives. With over twenty years of experience in IT, Dan is a frequent speaker at technology conferences worldwide, has published feature articles in numerous software and business publications, and contributed to The RSpec Book: Behaviour Driven Development with RSpec, Cucumber, and Friends and 97 Things Every Programmer Should Know: Collective Wisdom from the Experts. The originator of Behaviour-Driven Development (BDD) and Deliberate Discovery, Dan is currently working on his book, Accelerated Agile – from months to minutes, and helping organizations radically improve their delivery. He blogs at http://dannorth.net/blog.

  • Dave Hoover

    Dave Hoover

    Dev Bootcamp

    Friday (Session Day 2) — 11:00 - 11:45Apprenticeship Patterns, Revisited

    Apprenticeship Patterns, Revisited

    I've worked with and helped educate hundreds of aspiring software developers in the 6 years since Apprenticeship Patterns was published. These experiences and observations have helped me see which patterns are most widely applicable, which patterns need some changes, and which patterns need more context. Specifically, I've found that some patterns are more difficult for under-represented minorities on software development teams to apply, and I want to speak to that. This will be a meaningful presentation for all those who aspire to software development greatness or want to work more effectively with junior developers.

    Dave is on a mission to help more businesses become skill producers instead of passive, skill consumers. His first exposure to a skill-producing business was during his time at Thoughtworks (2004-2006), where he experienced their world-class learning culture. He took what he learned there to Obtiva (2006-2012), where he started and led a successful apprenticeship program. In 2009, “Apprenticeship Patterns” was published by O’Reilly, a book Dave had been co-authoring with Adewale Oshineye since 2005. In 2012, Dave joined Dev Bootcamp, and led the launch of their Chicago location in 2013. Dave is now working with companies in the Dev Bootcamp Employer Network, helping them start apprenticeship programs, and improve their ability to incorporate newcomers.

  • David Nolen

    David Nolen

    Cognitect

    Friday (Session Day 2) — 14:10 - 14:55The Front End Architecture Revolution

    The Front End Architecture Revolution

    React.js, immutable data structures, and graph oriented queries are poised to radically change how we think about front end application architecture. We will examine these new approaches and technologies and consider the significant ramifications for client side applications whether for the web or native mobile platforms.

    David Nolen is a software engineer for Cognitect. He enjoys making music, writing JavaScript, writing ClojureScript, and exploring new approaches to user interface programming.

  • Deepak Nadig

    Deepak Nadig

    PayPal

    Thursday (Session Day 1) — 17:15 - 18:00Evolution of the PayPal API: Platform & Culture

    Evolution of the PayPal API: Platform & Culture

    Deepak Nadig is the Head of API Platform Engineering at PayPal, and responsible for leading and transforming PayPal APIs used internally and externally to process $100 Billions of payments. Prior to PayPal, Deepak Nadig led eBay’s Enterprise Architecture organization, which oversees eBay’s Application, Technology and Data Architecture. And as an eBay Distinguished Architect, Deepak led the transformation of eBay’s advertising, analytics, experimentation and web services platforms. Before eBay, Deepak co-founded Covigna, a pioneer in contract lifecycle management, and has held senior technology roles at HP and VeriFone. Deepak is a frequent speaker at conferences and is passionate about the use of technology in transforming businesses.

  • Emily Bache

    Emily Bache

    Pagero

    As a Professional Programmer, how do you learn new skills?

    As a Professional Programmer, how do you learn new skills?

    In my experience, there are some skills that are hard to learn as a professional programmer. You learn a lot on the job, via trial and error, and coaching from your peers. Occasionally you go on a training course and learn the basics of a new framework or language. Neither of those ways is particularly effective when it comes to a skill like Test Driven Development.

    There are several reasons for this. It’s hard to change the habits of a whole career in a two day class. Then when you get back to work you discover your system is not designed with testability in mind, and adding tests later is really difficult. Alternatively you may find yourself working on some kind of greenfield development where it should be easier. The trouble is you find writing tests slows you down so much, you have to abandon them as deadlines loom. In the best case, adding tests afterwards becomes the norm, and in the worst case they are not written at all.

    I've found that having a regular forum for learning, called a "coding dojo", can make all the difference to professionals who want to learn skills like Test Driven Development.

    When you step into the coding dojo, you leave your daily coding environment, with all the associated complexities and problems, and enter a safe environment where you can trystuff out, make mistakes and learn with others. It's a breathing space where the focus is not on delivering solutions, but rather on being aware of what you actually do when you produce code, and how to improve that process. The benefits multiply if you can arrange to bring your whole team with you into the dojo. Through discussion and practicing on exercises, you can make a lasting impact on the way you work together.

    In this talk I'd like to explain what a coding dojo is, and why you might be interested to take part in one.

    Emily Bache is a software developer and automated testing specialist. She currently works for Pagero in a development team, and part-time at her own company, Bache Consulting. She enjoys the combination of daily programming, using tools such as Scala, Python, TextTest and Docker, with occasional training and consulting engagements. Emily is the author of The Coding Dojo Handbook: a practical guide to creating a space where good programmers can become great programmers and loves to coach and teach developers about Clean Code, Test Driven Development, Refactoring, and more. Emily speaks regularly at international events such as Agile Testing Days, XP2014, ACCU, and recently gave a keynote address at Europython in Berlin.

  • Flavio Percoco

    Flavio Percoco

    Red Hat

    Friday (Session Day 2) — 16:20 - 17:05IaaS Beyond The Infrastructure

    IaaS Beyond The Infrastructure

    We've been talking about Infrastructure providers for quite a bit already. OpenStack itself started as such - an IaaS - and then it quickly became a cloud provider, welcoming a whole lot of new projects with goals that go way beyond infrastructure. But what does that mean? What is a cloud provider suppose to provide? What's cloud after all? Is there a minimum set of tools required?

    Scaling a distributed system goes beyond virtualization, shared storage, etc. In order to support on-demand scaling it is necessary to have an easy way to provision and consume the available infrastructure, a way for the services running in it to communicate, etc. Not to mention latency needs, reliability, etc.

    This talk aims to answer the above questions and take a step further down the path of explaining what should be considered essential for nowadays needs, especially when those needs require a `cloud` to be covered.

    Flavio spends most of his time hacking on storage and messaging modules. He has both Italian and Venezuelan roots, and is currently based in Italy where he works remotely for Red Hat. Flavio is also an actively open-source contributor, part of Mongodb Masters group and an active Rust lang contributor.

    Prior to Red Hat, Flavio worked on Big Data oriented applications, search engines and message systems. He was also an active member of Gnome's a11y team where he contributed to Orca and created MouseTrap, a head-tracker application. Outside Red Hat Flavio likes to take pictures, swim, travel, hang around with family and friends and whatever seems interesting.

  • Grady Booch

    Grady Booch

    IBM

    Thursday (Session Day 1) — 15:05 - 15:50The Ethical Developer

    The Ethical Developer

    We build the software-intensive systems that run the world. Computing has woven its way into every space of society and science, and we - as individuals, organizations, and governments - have slowly surrendered to these human-made creations. As professional developers, we care about our craft: we all want to build great software that makes a difference. And yet, it's not just about technical excellence. That's important, certainly, but it's also about ethical development, development done with a reasonable consideration of the human as well as the technical forces that weigh upon the artifacts we create and the way we create them. My premise is that every line of code we write has an ethical and moral dimension, and in this presentation, we'll examine the implications of that point of view.

    Grady Booch is internationally recognized for his innovative work in software architecture, software engineering, and modeling, and is perhaps best known for developing the Unified Modeling Language (UML) with Ivar Jacobson and James Rumbaugh and helping originate the term and practice of object-oriented programming and design. Grady is an IBM Fellow, an ACM Fellow, an IEEE Fellow, a World Technology Network Fellow, aSoftware Development Forum Visionary, and a recipient of Dr. Dobb's Excellence in Programming award plus three Jolt Awards. Grady was a founding board member of the Agile Alliance, the Hillside Group, and the Worldwide Institute of Software Architects, and now also serves on the advisory board of the International Association of Software Architects. He is also a member of the IEEE Softwareeditorial board. Additionally, Grady serves on the board of the Computer History Museum, where he helped establish work for the preservation of classic software and therein has conducted several oral histories for luminaries such as John Backus, Fred Brooks, and Linus Torvalds. He previously served on the board of the Iliff School of Theology.

  • Ines Sombra

    Ines Sombra

    Fastly

    Thursday (Session Day 1) — 16:20 - 17:05Testing and Integration (The Remix)

    Testing and Integration (The Remix)

    Let's face it, testing distributed systems is hard. Large number of inputs, partial failures, and asynchrony make these systems seemingly impossible to verify. Formal testing methods are onerous and system correctness continues to elude us. Despite the difficulty, it's all worth it! We need to have a way to change our systems with confidence. Integration and unit tests are vital to our sanity and we know it's good for us to use continuous integration to ensure functional consistency across our products.

    Come to this talk for a fresh and practical look into the important aspects of distributed systems testing and integration. We will cover CI pipelines, their strengths, weaknesses, and possible improvements. Get ready to rediscover the untapped power of your integration practices and develop a burning desire to make them more awesome!

    Ines Sombra is an Engineer at @Fastly, where she spends her time helping the Web go faster. Ines holds an M.S. in Computology with an emphasis on Cheesy 80’s Rock Ballads. She has a fondness for steak, fernet, and a pug named Gordo. In a previous life she was a Data Engineer. Follow Ines @randommood

  • Jeff Lindsay

    Jeff Lindsay

    Glider Labs

    Friday (Session Day 2) — 16:20 - 17:05Simple and Extensible

    Simple and Extensible

    Anybody that is fanatical about writing simple software knows that simplicity is not easy. It takes practice, discipline, and a broader perspective than just that of engineering. Writing simple software is about true software craftsmanship.

    In this talk, we explore the benefits of simplicity, but more importantly we tour some tips and tricks for the modern software artisan. We also dive into the lost art of software extensibility and its complex relationship with simplicity.

    Jeff Lindsay is the author of Dokku and many Docker related open source projects. He is the co-founder and principal of Glider Labs, a devops consultancy specializing in modern, Docker-oriented system architectures. Jeff was involved in the early stages of Docker development, and has worked with many other organizations such as Twilio, Digital Ocean, and NASA Ames on distributed systems and developer platforms.

  • Jeremy Edberg

    Jeremy Edberg

    Netflix

    Thursday (Session Day 1) — 14:10 - 14:55Building Reliable Distributed Data Systems

    Building Reliable Distributed Data Systems

    As hardware becomes increasingly cheaper, for a good software engineer building and understanding distributed systems becomes more essential every day. In this talk we'll discuss such Distributed Computing concepts as hashing algorithms, bulkheading, backpressure, caching, cache invalidation and coherence, idempotency, and eventual consistency, among other things. You'll also hear real, practical examples of how to apply these concepts, and some Netflix and reddit war stories too!

    Jeremy is currently the Reliability Architect for Netflix, the largest video streaming service in the world. Before that he ran reddit, an online community for sharing and discussing interesting things on the internet that does more than four billion pageviews a month. Both run their entire operations on Amazon's EC2. Jeremy has keynoted at conferences such as PyCon and Cloud Connect, and holds a cognitive Science degree from UC Berkeley.

  • Jessica Kerr

    Jessica Kerr

    Outpace

    Friday (Session Day 2) — 17:15 - 18:00Contracts and Clojure: The Best-Yet Compromise Between Types and Tests

    Contracts and Clojure: The Best-Yet Compromise Between Types and Tests

    Clojure makes highly functional programming fun… until it isn’t. Runtime type errors from a function that was returned from another function? I’m longing for Scala’s compiler errors! Nested maps of data make testing easier... until "Wait, what’s in there again?" What I want is a little bit of typing in strategic places: enter Prismatic’s Schema library. What look like types are really contracts. They’re even more powerful than types: they verify values as well as shapes. Exercised in generative tests, these contracts satisfy my type cravings without the pain of satisfying a compiler. There are limitations; schemas can’t express relationships between input and output types… or can they? Schemas don’t express parameterized types… or can they? Explore the potential of contracts as the best-yet compromise between types and tests. No Clojure experience (or interest) needed.

    Jessica Kerr "speaks with the authority of an experienced software engineer and the infectious enthusiasm of a 10-year-old telling you about magic." After ten years in Java she discovered the big wider world of programming through F# and Scala. She speaks about functional programming, git, property-based testing, and juggling complexity. In between conferences, she juggles two daughters and full-time remote pairing in Clojure for Outpace Systems. Find her @jessitron or blog.jessitron.com.

  • John Willis

    John Willis

    Docker

    Thursday (Session Day 1) — 15:05 - 15:50Devops Blind Spots

    Devops Blind Spots

    DevOps has been extremely successful with compute infrastructure, but realizing its full vision requires that we go further. In this talk about the intersection between cloud, DevOps and Software Defined Everything, we will look at the other parts of of converged infrastructure--specifically networking, security and storage--and the progress we’ve made, or need to make, to automate all these things.

    John Willis has worked in the IT management industry for more than 30 years, and he is currently the VP of Customer Enablement for Stateless Networks. Prior to joining Enstratius, Willis was the VP of Solutions for DTO Solutions where he led the transition to a new suite of automated infrastructure and DevOps solutions. Prior to DTO Solutions. Willis was the VP of Training & Services at Opscode where he formalized the training, evangelism, and professional services functions at the firm. Willis also founded Gulf Breeze Software, an award winning IBM business partner, which specializes in deploying Tivoli technology for the enterprise. Willis has authored six IBM Redbooks for IBM on enterprise systems management and was the founder and chief architect at Chain Bridge Systems.

  • Katherine Daniels

    Katherine Daniels

    Etsy

    Thursday (Session Day 1) — 11:00 - 11:45Devops for Everyone

    Devops for Everyone

    Devops originally started as a way of enabling both developers and operations engineers to work better together, but over the 5 years since its inception it’s become much more than that. The principles of devops can be beneficial to everyone involved in software development, not just two teams. This talk will discuss how the ideas of collaboration, empathy, and automation can be used throughout an organization, things to consider when choosing or developing tools, and how to continue growing a devops culture as your company grows.

    Katherine is an operations engineer at Etsy. She got her start in programming with TI-80 calculators back when Geocities was still cool, and these days has opinions on things like ‘the cloud’ and ‘devops’. Before escaping to the world of operations, she spent a few years doing QA and systems engineering in the corporate world. She lives in Brooklyn with a perfectly reasonable number of cats, and in her spare time can often be found rock climbing or making hot sauce.

  • Kyle Kingsbury

    Kyle Kingsbury

    Factual

    Thursday (Session Day 1) — 11:55 - 12:40Jepsen IV: Hope Springs Eternal

    Jepsen IV: Hope Springs Eternal

    Stateless applications aren't: they rely on other systems storing and transforming shared state correctly. On the basis of documentation and reputation we assume that our clients and database systems comprise a safe, meaningful distributed system. How justified is our faith in that system's correctness? Do popular databases actually provide the safety invariants we assume? Are we using those invariants correctly? I want experimental answers to these questions.

    Kyle Kingsbury is the author of Riemann, Jepsen, Knossos, Clojure from the Ground Up, and a bunch of other open-source stuff. He writes Clojure and helps monitor distributed systems at Factual.

  • Lajos Papp

    Lajos Papp

    SequenceIQ

    Friday (Session Day 2) — 11:55 - 12:40Multi-Host Docker orchestration - Your docker infrastructure has outgrown a single machine, whats now?

    Multi-Host Docker orchestration - Your docker infrastructure has outgrown a single machine, whats now?

    Lets talk/demo about:
    • How to know on which host/port a specific service is running?
    • How to know which service is healthy?
    • How about load balancing?
    • How to implement all these features with the most automation?

    Technologies involved: consul, swarm, registrator, …

    Lajos is a co-founder of SequenceIQ, recently acquired by Hortonworks. He is a fetishist of automation, let it be cluster provisioning, or sending a birthday sms. Lately he become a docker evangelist: including organizing the growing Docker Meetup community in Budapest, and helping local startups to use virtualization in every aspect of their project. He is a contributor in several OS projects, including: Serf, Consul, Docker, Boot2Docker.

  • Mac Devine

    Mac Devine

    IBM

    Thursday (Session Day 1) — 11:55 - 12:40The Perfect Storm Intensifies - The Convergence of BigData, Cloud and the IoT is Now at Full Strength

    The Perfect Storm Intensifies - The Convergence of BigData, Cloud and the IoT is Now at Full Strength

    Almost everyone sees the potential of Internet of Things but how can businesses truly unlock that potential. The key will be in the ability to discover business insight in the midst of an ocean of Big Data generated from billions of embedded devices via Systems of Discover. Businesses will also need to ensure that they can sustain that insight by leveraging the cloud for global reach, scale and elasticity. Without bringing these three elements together via Systems of Discover you either end up with an Internet of something and/or a big mess of data.

    IBM Distinguished Engineer, Vice President of SDN Cloud Services and CTO, IBM Cloud Services Division. ThingsExpo and CloudExpo Faculty. Follow Mac @mac_devine

  • Martin Kleppmann

    Martin Kleppmann

    Linkedin

    Friday (Session Day 2) — 11:00 - 11:45Using Logs To Build a Solid Data Infrastructure

    Using Logs To Build a Solid Data Infrastructure

    How does your database store data on disk reliably? It uses a log.
    How does one database replica synchronise with another replica? It uses a log.
    How does a distributed algorithm like Raft achieve consensus? It uses a log.
    How does activity data get recorded in a system like Apache Kafka? It uses a log.
    How will the data infrastructure of your application remain robust at scale? Guess what...

    Logs are everywhere. I'm not talking about plain-text log files (such as syslog or log4j) — I mean an append-only, totally ordered sequence of records. It's a very simple structure, but it's also a bit strange at first if you're used to normal databases. However, once you learn to think in terms of logs, many problems of making large-scale data systems reliable, scalable and maintainable suddenly become much more tractable.

    Drawing from the experience of building scalable systems at LinkedIn and other startups, this talk will explore why logs are such a fine idea: making it easier to maintain search indexes and caches, making your applications more scalable and more robust in the face of failures, and opening up your data for richer analysis, while avoiding race conditions, inconsistencies and other ugly problems.

    Martin is a software engineer and entrepreneur, specialising on the data infrastructure of internet companies. His last startup, Rapportive, was acquired by LinkedIn in 2012. He is a committer on Apache Samza and author of the upcoming O'Reilly book "Designing Data-Intensive Applications" (http://dataintensive.net).

  • Marty Cagan

    Marty Cagan

    Silicon Valley Product Group

    Friday (Session Day 2) — 18:10 - 19:00Great Engineering, Failed Product

    Great Engineering, Failed Product

    Maybe the single biggest problem I see among technology product teams is strong engineering capability, that ends up all for naught because the product fails. Of course there are any number of reasons for failed products. It could be the market. It could be the business model. It could be the user experience. Yes, it could also be the engineering, although in my experience that is rarely the cause other than the cumulative impact of technical debt. But each of these issues can be traced back to the product team. Everything depends on having a strong product team. Unfortunately, relatively few engineers have even had the opportunity to see a truly strong product team in action. If you read this article you can see what I mean by a strong team, and you can compare that to your own team. If you believe your team could use some help, in this talk I will discuss what you can do to improve the performance of your team and get more from your engineering talent.

    Marty Cagan is the Founder of the Silicon Valley Product Group, where he works with, and advises many of the leading technology teams in the world. Before founding SVPG to pursue his interests in helping others create successful products through his writing, speaking, investing and advising, Marty was most recently the original SVP of Product and Design for eBay, where he was responsible for creating and building the product and design organizations and defining the products and services for the company’s global e-commerce trading site. Marty began his career working for 10 years as a software developer at HP Labs, and then moved on to join a young Netscape Communications as their VP Platform and Tools. Marty is the author of INSPIRED: How To Create Products Customers Love, and publishes a popular blog for product teams at www.svpg.com.

  • Mary Poppendieck

    Mary Poppendieck

    Poppendieck.LLC

    Friday (Session Day 2) — 09:00 - 09:50The New New Software Development Game: Containers, Micro Services and Contract Tests

    The New New Software Development Game: Containers, Micro Services and Contract Tests

    We spent a lot of time over the last decade talking about teams, stories, and WIP. We laid the groundwork for a big change in the way software is developed. Now is the time to change the conversation – from process to technology. We agree that we must dramatically shorten the feedback loop from idea to outcome – but how?

    It’s time to focus on the tools and techniques that make it possible for small teams to deploy small changes to large systems very rapidly and very safely. Consider architecture: we are learning how to break monolithic systems into micro services – small, independently deployable components. Look at packaging: we now have standard containers that move freely across environments. Examine reliability: contract tests have proven effective at isolating the impact of component changes.

    In the end the important question is: How long does it take you to deploy a single line a code, learn something useful, and act on the information?

    Mary Poppendieck started her career as a process control programmer, moved on to manage the IT department of a manufacturing plant, and then ended up in product development, where she was both a product champion and department manager.

    Mary considered retirement 1998, but instead found herself managing a government software project where she first encountered the word "waterfall." When Mary compared her experience in successful software and product development to the prevailing opinions about how to manage software projects, she decided the time had come for a new paradigm. She wrote the award-winning book Lean Software Development: An Agile Toolkit in 2003 to explain how the lean principles from manufacturing offer a better approach to software development.

    Over the past several years, Mary has found retirement elusive as she lectures and teaches classes with her husband Tom. Based on their on-going learning, they wrote a second book, Implementing Lean Software Development: From Concept to Cash in 2006, a third, Leading Lean Software Development: Results are Not the Point in 2009, and a fourth book, The Lean Mindset: Ask the Right Questions in 2013. A popular writer and speaker, Mary continues to bring fresh perspectives to the world of software development.

    Website: http://www.poppendieck.com

  • Michael Feathers

    Michael Feathers

    R7K LLC

    Friday (Session Day 2) — 14:10 - 14:55The Hidden Dimension Of Refactoring

    The Hidden Dimension Of Refactoring

    We have a bias toward the current state of our code. Unconsciously, we assume that it has all of the information we need to make good refactoring decisions. We can look at complexity, method length, class size and a number of other metrics but still, as we commonly use them, we see only a single snapshot in time.

    In this talk, Michael Feathers will describe methods you can use to do trend analysis in source code repositories and use that information to make better refactoring decisions. Knowing where your code has been is the best why to decide where it should go.

    Michael Feathers is the founder and Director of R7K Research & Conveyance, a company specializing in software and organization design. Prior to forming R7K, Michael was the Chief Scientist of Obtiva and a consultant with Object Mentor International. Over the years, Michael has spent a great deal of time helping teams after design over time in code bases. Michael is also the author of the book Working Effectively with Legacy Code (Prentice Hall, 2004).

  • Michael Nygard

    Michael Nygard

    Cognitect Inc.

    Thursday (Session Day 1) — 14:10 - 14:55Architecture Without an End State

    Architecture Without an End State

    You've seen them. You've probably made one: The architecture vision diagrams. The block diagrams, the message bus topologies... How many of these diagrams ever actually get built?

    We never really finish constructing one of these grand visions before something interferes. Maybe it's a merger or acquisition. Maybe your company has a "regime change". (After all, the average tenure of a CIO is down to 18 months!)

    The "end state" vision never gets built. Instead, we need to focus on how to flex and change, incorporating new technology, new principles, new business models, and even the last generation's legacy. Call it agile architecture, or meta-architecture, or "how I learned to love laminated stucco." It's architecture without an end state.

    Michael Nygard strives to raise the bar and ease the pain for developers around the world. He shares his passion and energy for improvement with everyone he meets, sometimes even with their permission. Living with systems in production taught Michael about the importance of operations and writing production-ready software. Highly-available, highly-scalable commerce systems are his forte. Michael has written and co-authored several books, including "97 Things Every Software Architect Should Know" and the best seller "Release It!", a book about building software that survives the real world. Michael works for Cognitect Inc., the company behind Clojure, ClojureScript, Pedestal, and Datomic.

  • Mitchell Hashimoto

    Mitchell Hashimoto

    HashiCorp

    Thursday (Session Day 1) — 14:10 - 14:55Automating the Modern Datacenter, Development to Production

    Automating the Modern Datacenter, Development to Production

    Physical, virtual, containers. Public cloud, private cloud, hybrid cloud. IaaS, PaaS, SaaS. These are the choices that we're faced with when architecting a datacenter of today. And the choice is not one or the other; it is often a combination of many of these. How do we remain in control of our datacenters? How do we deploy and configure software, manage change across disparate systems, and enforce policy/security? How do we do this in a way that operations engineers and developers alike can rejoice in the processes and workflow?

    In this talk, I will discuss the problems faced by the modern datacenter, and how a set of open source tools including Vagrant, Packer, Consul, and Terraform can be used to tame the rising complexity curve and provide solutions for these problems.

    Mitchell is best known as the creator of Vagrant, Packer, and Consul. Mitchell is the founder of HashiCorp, a company that builds powerful and elegant DevOps tools. He is also an O’Reilly author and professional speaker. He is one of the top GitHub users by followers, activity, and contributions. “Automation obsessed,” Mitchell solves problems with as much computer automation as possible.

  • Nancy Van Schooenderwoert

    Nancy Van Schooenderwoert

    Lean-Agile Partners

    Thursday (Session Day 1) — 11:00 - 11:45Agile Engineering in a Safety-Critical World

    Agile Engineering in a Safety-Critical World

    From integrated circuit design to medical device applications, product teams are looking for ways to get the benefits of Agile practices for all the engineering disciplines. Even regulatory bodies like the FDA are recognizing that Agile is a legitimate pathway to safer products, and there is now a Technical Information Report to advise companies on how to satisfy regulatory needs when using Agile practices. This session will give examples of how real teams are applying the Agile principles beyond software, how some of the Agile practices just don’t translate, and what works instead.

    Who is this session for?
    • Software developers who need to work more effectively with other engineers
    • Electronic, Mechanical, and other engineers looking for Agile speed and quality
    • Managers tired of the waste and friction of using Agile for software, and something else for the rest of the development disciplines
    • Technical leaders looking for facts and examples to inspire their teams

    Nancy Van Schooenderwoert does Agile Enterprise coaching— everything from launching new agile technical teams to advising executives on how to take Agile and Lean principles far beyond software development in their drive to deliver more customer value faster. She works with large and small companies. Nancy pioneered agile practices for embedded software development beginning in 1998. Her background in electronics and software development for avionics, factory automation, medical, and defense systems brings a unique perspective to her coaching practice.

    Nancy holds a Scrum Master certification, has edited a column for the Agile Times, and served on the IEEE 1648 committee to define a standard for customers of agile teams. She has been a regular presenter at various Agile-related conferences since 2003. Her work in applying Agile methods to embedded systems has been referenced by Jim Shore and Mary Poppendieck in their books.

  • Neha Narula

    Neha Narula

    MIT

    Friday (Session Day 2) — 11:00 - 11:45Splitting and Replicating Data For Fast Transactions - Don't Give Up On Serializability Just Yet!

    Splitting and Replicating Data For Fast Transactions - Don't Give Up On Serializability Just Yet!

    Having constraints and guarantees about the way a program executes makes it much easier for developers to reason about concurrency.

    It's a common belief that providing serializability, one of the strongest forms of consistency in transaction processing, is too expensive for general use.

    We describe research that introduces new techniques for making conflicting serializable transactions faster, on both multi-core and distributed systems.

    Neha is a fifth year PhD student in PDOS, the Parallel and Distributed Operating Systems group at MIT, advised by Robert Morris. Here she has worked on W5, BFlow, a privacy-preserving browser system, WARP, and Dixie. Neha's research interests are in protecting user data and scalable storage systems for web applications.

    Neha has worked for Google as a Software Engineer on Native Client, Blobstore, a system for efficiently storing and serving terabytes of large binary objects, and Froogle.

  • Nils Puhlmann

    Nils Puhlmann

    Cloud Security Alliance

    Friday (Session Day 2) — 11:55 - 12:40Security at Scale

    Security at Scale

    Security historically was a specialized role under IT but with increasing Cloud adoption, APIs and Everything-as-a-Service, this model no longer works. What was once a special technical function is now giving way to a discipline that is holistically managing risk in a world of increasing scalability, complexity and interdependency. So how do you do Security at Scale?

    Nils is the Co-Founder and former member of the Board of the Cloud Security Alliance, a community of over 50,000 security professionals in over 50 chapters worldwide with the goal to promote the use of best practices for providing security assurance within Cloud Computing. The Alliance also educates on the uses of Cloud Computing to help secure all other forms of computing.

    Nils Puhlmann was the CTO of Endgame, a cybersecurity company developing next generation Security Intelligence and Analytics with a long history of serving the Intelligence Community. At Endgame he developed the commercial vision for the company and led Engineering, Architecture, TechOps, Data Acquisition, Data Science and PMO.

    Prior to Endgame, Nils Puhlmann was the Chief Security Officer of Zynga and led the converged security department, managing all security risks for the company and chairing the Security Risk Committee. He oversaw the company’s security domains of product & application security, security engineering & architecture, investigations & incident response, security intelligence & threat assessments, physical security, executive protection, ecrime and security compliance & audit.

    In 2012, Puhlmann was a finalist for the “CSO of the Year” award by SC Magazine and was invited in 2013 by the Ponemon Institute to join as a Fellow.

    Puhlmann was invited in 2009 by the Dept. of Defense and the Executive Office of the President to speak at the National Cyber Leap Year Summit in Washington, DC. and is a frequent speaker and keynote presenter at global security and technology conferences.

    He is considered a visionary in the field of converged security risk management and information security and his advice is frequently sought after by corporations and government entities.

  • Paul Butcher

    Paul Butcher

    Ten Tenths Consulting, Pragmatic Programmers

    Thursday (Session Day 1) — 15:05 - 15:50Concurrency: It's Harder (and Easier) Than You Think

    Concurrency: It's Harder (and Easier) Than You Think

    Your software needs to leverage multiple cores, handle thousands of users and terabytes of data, and continue working in the face of both hardware and software failure. Concurrency and parallelism are the keys to this new world.

    But writing multithreaded code is *hard*. Even harder than most people realise. Do you know how to avoid deadlock? Livelock? Do you know what the memory model says about when it’s safe for one thread to read changes made by another? Or why you shouldn’t call a foreign function while holding a lock? And threads and locks give you no help when it comes to distribution, fault-tolerance or exploiting data parallel architectures.

    The good news is that there are other approaches, including actors, communicating sequential processes and functional programming, that avoid the pitfalls of threads and locks.

    Paul is an author and veteran of several technology startups. Most recently, he was Chief Software Architect at SwiftKey, the best-selling input method for Android devices.

    His most recent book is Seven Concurrent Models in Seven Weeks: When Threads Unravel published by The Pragmatic Bookshelf.

  • Paul Stack

    Paul Stack

    OpenTable

    Friday (Session Day 2) — 15:05 - 15:50How Do You Scale a Logging Infrastructure to Accept a Billion Messages a Day?

    How Do You Scale a Logging Infrastructure to Accept a Billion Messages a Day?

    Over the past year, OpenTable have been re-architecting their system from a monolithic architecture to move more towards micro-services and small applications. As the infrastructure has changed, so to the logging infrastructure has had to change. Originally we had a logging solution where all logs where based in SQL Server. We then adopted the ELK stack. This allowed us to be able to scale more.

    As the company moved into the cloud, we had to be able to scale even more. We decided that we would move to Apache Kafka.

    This talk is all about the steps we went through and how we approached the work as well as the lessons learned. We are now in a position where we are able to elastically scale our logging infrastructure easily.

    At the end of this talk, Paul will have demonstrated why Apache Kafka is a perfect addition to the ELK stack and how Apache Kafka allows us to add more resiliency and redundancy into our logging infrastructure

    Paul Stack is a London based infrastructure engineer working for OpenTable. Paul has spoken at various events throughout the world about his passion for continuous integration and continuous delivery and why they should be part of what developers do on a day to day basis. He believes that reliably delivering software is just as important as its development. Paul’s newest passion is the DevOps movement and how this helps not just development and operations but the entire business and it’s customers.

  • Pieter Hintjens

    Pieter Hintjens

    ZeroMQ

    Thursday (Session Day 1) — 17:15 - 18:00The Art of Protocol Design

    The Art of Protocol Design

    The future of software is distributed, and successful distributed systems (in all realms) depend on contracts, which means protocols. Yet protocol design is a black art, poorly understood and rarely taught. Protocols are typically laborious to develop, over-complex, and slow to adapt. Yet decentralised, large-scale reactive systems need decentralized, reactive protocol development. The high cost and red tape of protocol design is a major problem in our industry. Pieter Hintjens presents a decade of research and practice in tackling this problem. His approach depends on reducing the cost and latency of every aspect of protocol design. He focusses on cheap experimentation, and exploring of new avenues, and smooth accumulation of gradual change, driven by real use. His strategy of "contract-driven development" teaches how to negotiate contracts within communities, and between layers, and how to drive change through real need, rather than speculation and assumption.

    Hintjens founded the ZeroMQ community in 2007, and over 30 of his RFCs drive that ecosystem. In 2007 he also founded the Digital Standards Organization (Digistan), which defined legal templates and processes for decentralized protocol development. He is the author of several books including the O'Reilly ZeroMQ book, and "Culture & Empire: Digital Revolution". He writes about technology and digital anthropology on hintjens.com. He is an active developer and maintainer of many open source software projects. Find Pieter Hintjens at http://hintjens.com or @hintjens

  • Peter Milne

    Peter Milne

    Aerospike

    Thursday (Session Day 1) — 16:20 - 17:05NoSQL Key Value Stores - the Key to Velocity

    NoSQL Key Value Stores - the Key to Velocity

    The growth in interactive Internet and mobile applications is driving a new data challenge—velocity—where real-time responses are based on insights extracted from volumes of big data. In this 45-minute talk, Peter Milne, Director of Application Engineering at Aerospike, will list 10 reasons why in-memory and a new generation of distributed databases, NoSQL key-value stores, are the killer data solution for achieving velocity within every enterprise. He will look at the democratizing effect of open source in-memory NoSQL key-value stores that can achieve 1 million transactions per second, whether running on a single $5,000 server or on a single Amazon instance at a cost of $1.68 per hour. Additionally, he will share real-world examples of companies using these data technologies to scale from startups to industry leaders, including AppNexus, which was founded in 2007, recently earned a $1.2 billion valuation, and now manages 90 billion ad impressions per day.

    Peter is the Director of Application Engineering at Aerospike. Prior to Aerospike, Peter was co-founder and Chief Technology Officer at ITerative Consulting, a consulting company providing software modernization to clients worldwide. While at ITerative, Peter was also the Technical Director of a project to develop a consumer lending application at St. George Bank, a medium size national bank in Australia. Prior to ITerative, Peter ran the consulting and education divisions of Forte Software (Australia), a provider of enterprise software development, deployment and management tools. Prior to Forte Software, Peter was a principal consultant with Digital Equipment Corporation, specializing in distributed computing. Peter began his career with Wang Labs (Australia) as a hardware engineer in the Asia Pacific region. He eventually became a software engineer at Wang R&D in Lowell, Mass where he helped to develop one of the first commercial email systems.

    Peter received a M.Sc. in Computing from the University of Technology, Sydney, and has a number of postgraduate academic and commercial qualifications, including an international commercial pilots license for helicopters (ICAO CPL). Peter has flown commercially and for recreation in 8 countries.

  • Peter Moskovits

    Peter Moskovits

    Kaazing

    Friday (Session Day 2) — 14:10 - 14:55WebSocket for the Real-Time Web and the Internet of Things

    WebSocket for the Real-Time Web and the Internet of Things

    This session discusses how real-time Web communications technologies can be applied to an always connected Web and mobile environment to provide interactivity and collaboration by controlling physical objects, such as model cars, remotely. You'll learn how you can connect an HTML5 client running on the Web browser of a smartphone and Java running on a Raspberry Pi in real time, using open industry-standard Web technologies. You will learn what it takes to collect telemetry data from airplanes and distribute it to interested parties in a secure and scalable fashion over the Web in real time. The presentation features several live demonstrations, architecture best practices, and code snippets.

    Peter is Head of Real-Time Solutions at KAAZING, a software company that pioneered the way organizations can communicate across the Web using the WebSocket standard. Peter works closely with architects and the developer community to build and deploy the best possible web communication solutions. Before joining KAAZING, in various product management leadership roles Peter was responsible for Oracle's portal product strategy. Peter is a frequent speaker at conferences and industry events world wide, including Devoxx, GoTo, YOW!, JavaOne, Oracle OpenWorld, HTML5DeConf DevCon5, AppsWorld, QCon, South by Southwest and various user group meetings. He is the co-author of two books: The Definitive Guide to HTML5 WebSocket and the Oracle WebCenter 11g Handbook.

  • Randy Shoup

    Randy Shoup

    Consulting CTO

    Friday (Session Day 2) — 11:00 - 11:45From the Monolith to Microservices: Lessons from Google and eBay

    From the Monolith to Microservices: Lessons from Google and eBay

    Most large-scale web companies have evolved their system architecture from a monolithic application and monolithic database to a set of loosely coupled microservices. Using examples from Google, eBay, and other large-scale sites, this talk outlines the pros and cons of these different stages of evolution, and makes practical suggestions about when and how other organizations should consider migrating to microservices. It concludes with some more advanced implications of a microservices architecture, including SLAs, cost-allocation, and vendor-customer relationships within the organization.

    Randy is a Silicon Valley technology executive with 25 years of experience scaling technology infrastructures and engineering organizations, ranging from tiny startups to Internet-scale companies. Most recently, he served as CTO of KIXEYE, a 500-person maker of real-time strategy games for web and mobile devices. Prior to KIXEYE, he was Director of Engineering in Google's cloud computing group, leading several teams building Google App Engine, the world's largest Platform as a Service. Previously, he was CTO and Co-Founder of Shopilly, an ecommerce startup, and spent 6 1/2 years as Chief Engineer and Distinguished Architect at eBay. He was Chief Architect and Fellow at Tumbleweed Communications, and has held various engineering and architecture roles at Oracle and Informatica. Randy is a frequent keynote speaker and consultant in areas from scalability and cloud computing, to analytics and data science, to engineering culture and DevOps. He is particularly interested in the nexus of people, culture, and technology.

  • Sadache Aldrobi

    Sadache Aldrobi

    Zengularity

    Friday (Session Day 2) — 15:05 - 15:50Changing Software Physics to Make Problems Disappear

    Changing Software Physics to Make Problems Disappear

    prismic.io: Two years journey of distributed systems

    After five years of creating the Play web framework, we started prismic.io as a challenge of solving the long-standing content management problem. prismic.io is a distributed SaaS platform that incorporates modern concepts for dealing with data, availability,scalability and distribution. In this talk, I will go through some of the challenges we encountered and discuss concepts and ideas that we implemented to get the platform in its current fit.

    Strategy advisor at Zengularity, Play web framework co-creator and prismic.io co-founder.

  • Sean Cribbs

    Sean Cribbs

    Basho

    Thursday (Session Day 1) — 16:20 - 17:05The Final Causal Frontier

    The Final Causal Frontier

    Sean Cribbs is a Senior Software Engineer at Basho, where he has contributed to many parts of Riak, but focuses on aspects of user experience, including client interfaces and libraries, convergent datatypes (CRDTs), and tools. In 2011, he grew tired of the Rails/Sinatra/Node echo-chamber and ported Basho's Webmachine HTTP toolkit from Erlang into Ruby. Prior to Basho, Sean was a freelance developer and consultant who also managed the development of the open-source Radiant web publishing system, and erstwhile pianist, composer, music theorist, and conductor.

  • Sandro Mancuso

    Sandro Mancuso

    Codurance

    Friday (Session Day 2) — 11:55 - 12:40Interaction Driven Design

    Interaction Driven Design

    How can we quickly tell what an application is about? How can we quickly tell what it does? How can we distinguish business concepts from architecture clutter? How can we quickly find the code we want to change? How can we instinctively know where to add code for new features?

    In this talk Sandro will be sharing how he designed the last application he worked on, twisting a few concepts from Domain-Driven Design, properly applying MVC, borrowing concepts from CQRS, and structuring packages in non-conventional ways. Sandro will also be touching on SOLID principles, Agile incremental design, modularisation, and testing.

    By iteratively modifying the project structure to better model the product requirements, he has come up with a design style that helps developers create maintainable and domain-oriented software.

    Software craftsman, co-founder of Codurance, author of The Software Craftsman, and founder of the London Software Craftsmanship Community (LSCC). Sandro has been coding since a very young age but only started his professional career in 1996. He has worked for startups, software houses, product companies, international consultancy companies, and investment banks.

    During his career Sandro had the opportunity to work in a good variety of projects, with different languages, technologies, and across many different industries. Sandro has a lot of experience in bringing the Software Craftsmanship ideology and Extreme Programming practices to organisations of all sizes. Sandro is internationally renowned by his work on evolving and spreading Software Craftsmanship and is frequently invited to speak in many conferences around the world. His professional aspiration is to raise the bar of the software industry by helping developers become better at and care more about their craft.

  • Simon Brown

    Simon Brown

    Independent Consultant

    Friday (Session Day 2) — 17:15 - 18:00Software Architecture as Code

    Software Architecture as Code

    Over the past few years, I’ve been distilling software architecture down to its essence, helping organisations adopt a lightweight style of software architecture that complements agile approaches. This includes doing "just enough" up front design to understand the significant structural elements of the software, some lightweight sketches to communicate that vision to the team, identifying the highest priority risks and mitigating them with concrete experiments. Software architecture is inherently about technical leadership, stacking the odds of success in your favour and ensuring that everybody is heading in the same direction.

    But it’s 2015 and, with so much technology at our disposal, we’re still manually drawing software architecture diagrams in tools like Microsoft Visio. Furthermore, these diagrams often don’t reflect the implementation in code, and vice versa. This session will look at why this happens and how to resolve the conflict between software architecture and code through the use of architecturally-evident coding styles and the representation of software architecture models as code.

    Simon lives in Jersey (the largest of the Channel Islands) and works as an independent consultant, helping teams to build better software. His client list spans over 20 countries and includes organisations ranging from small technology startups through to global household names. Simon is an award-winning speaker and the author of Software Architecture for Developers - a developer-friendly guide to software architecture, technical leadership and the balance with agility. He still codes too.

  • Sven Peters

    Sven Peters

    Atlassian

    Thursday (Session Day 1) — 11:55 - 12:40Coding Culture

    Coding Culture

    Imagine a culture where the input of the whole organization turns an individual idea into a user story in just a couple of hours, where everybody's goal is to make the customer’s job easier and more effective, and where you work on projects you love instead of projects you loathe. A great coding culture concentrates on making developers productive and happy by removing unnecessary overhead, bringing autonomous teams together, helping the individual programmer to innovate, and raising awareness among developers about how to create better code.

    I will talk about how to establish and foster a strong engineering-focused culture that scales from a small team to a huge organization with hundreds of developers. I'll give lots of examples from our experience at Atlassian to show that once you're working in a great coding culture, you won't want to work anywhere else.

    Sven Peters is a software geek working as an ambassador for Atlassian in Germany. He has been developing JavaEE applications for over 12 years and leading small teams using lean methodologies. Sven likes well written and readable source code and cares about the motivation of software developers.

  • Stefanie Grewenig // Johannes Thönes

    ThoughtWorks // ThoughtWorks

    Thursday (Session Day 1) — 14:10 - 14:55OnConnectionLost: The life of an offline web application

    OnConnectionLost: The life of an offline web application

    Can you use HTML5 technologies to build a web application which works offline? Without a reliable internet connection? Let’s say for two weeks?

    That is what our client asked us to build. Their people will use the application on the road; reading documents, entering results and uploading pictures. And then they come home, connect to the internet and sync their results with their colleagues’.

    AppCache, IndexedDB and File API allow us to store the application and its data in the browser. However, they require us to re-think assumptions we used to make in the web:
    • Is the client or the server the master of the data?
    • How can we handle updates of the application?
    • What data do we need to download beforehand?
    • How do you test offline automatically?
    • And what does offline mean anyway?

    I want to show you what we discussed and how we answered these questions.
    Stefanie Grewenig

    Stefanie Grewenig is a consultant and software developer at ThoughtWorks Germany. She started working on her first web application in 2009. Stefanie spends most of her free time experimenting with new technologies.

    Johannes Thönes

    Johannes Thönes is a software developer and consultant for ThoughtWorks in Hamburg. His experience has primarily been with web development - Java, Ruby, and lately some JavaScript. His background is in medical informatics, which he studied until 2009. Besides the technical details of software, He is also very interested in team dynamics and the 'health' of a team. He considers retrospectives a vital part of improving the team and its daily work. He is lucky and young enough to have no experience in waterfall projects.

  • Tammer Saleh

    Tammer Saleh

    Pivotal

    Friday (Session Day 2) — 16:20 - 17:05Microservice AntiPatterns

    Microservice AntiPatterns

    It seems everyone’s talking about microservices, lately, but few appear to have given any real thought to best practices around building and deploying them. In this talk, we’ll highlight many of the mistakes we’ve seen people make when building a microservices architecture.

    We’ll discuss:
    • When microservices are appropriate, and where to draw the lines between services.
    • Dealing with performance issues (data affinity, parallelism, monitoring).
    • Testing and debugging techniques.
    • Managing a polyglot landscape and the explosion of platforms.
    • Managing failure and graceful degradation.

    If you’re an active programmer, then you’re either building a microservice architecture now, or you’re about to inherit someone else’s. This talk will give you the tools to build yours right, and to quickly identify shortcomings of those you have to work within.

    Tammer Saleh is a long time developer, leader, and author of the acclaimed book Rails AntiPatterns.

    As founder of Thunderbolt Labs, he helped San Francisco companies build agile teams and ship scalable products. As VP Engineering at Engine Yard, Tammer ran the development team and the flagship Cloud product. Previous lives include C/C++ AI programming, as well as UNIX administration for Citysearch.com and Caltech’s Earthquake Detection Network.

    Tammer is currently building the Cloud Foundry platform at Pivotal. You can read more about him at tammersaleh.com.

  • Theo Schlossnagle

    Theo Schlossnagle

    Circonus

    Friday (Session Day 2) — 17:15 - 18:00Techniques and Tools For a Coherent Discussion About Performance in Complex Architectures

    Techniques and Tools For a Coherent Discussion About Performance in Complex Architectures

    Most applications today have separate networked services measuring in the tens to hundreds; especially with the growing popularity of micro services. Crossing the boundary between these services often means a change in team and even a change in programming languages. In this session will discuss the challenges this presents, why it is important to have a single engineering conversation about performance and how we can accomplish this.

    Theo Schlossnagle is a Founder and Principal at OmniTI where he designs and implements scalable solutions for highly trafficked sites and other clients in need of sound, scalable architectural engineering. He is the architect of the highly scalable Ecelerity mail transport agent. Theo is a participant in various open source communities including OpenSolaris, Linux, Apache, PostgreSQL, perl, and many others. He is a published author in the area of scalability and distributed systems as well as a veteran speaker in the open source conference circuit. Theo founded several successful startups as engineering focused organizations including: OmniTI, Circonus, Message Systems and Fontdeck.

  • Trisha Gee

    Trisha Gee

    JetBrains

    Thursday (Session Day 1) — 16:20 - 17:05Java 8 in Anger

    Java 8 in Anger

    Java 9 is just around the corner, and yet many of us developers have yet to use Java 8 features in an application. The goal of this presentation is to move beyond slide-sized examples of streams and lambdas, and to show how to build a fully working end-to-end application using just the core libraries available in the latest version of Java.

    In this session, Trisha will build a Java 8 application live. This application will consume a real-time feed of high velocity data, contain services that make sense of the data, and present it in a JavaFX dashboard. Along the way, we’ll encounter Java 8 streams, lambdas, new ways of working with collections, and probably bump into the new date and time API.

    Trisha has developed Java applications for a range of industries, including finance, manufacturing, technology, open source and non-profit, for companies of all sizes. She has expertise in Java high performance systems, and is passionate about enabling developer productivity. Trisha blogs regularly on subjects that she thinks developers and other humans should care about, she’s a leader of the Sevilla Java User Group, a key member of the London Java Community and a Java Champion - she believes we shouldn't all have to make the same mistakes again and again.

  • Viktor Klang

    Viktor Klang

    Typesafe

    Thursday (Session Day 1) — 17:15 - 18:00Distributed: Virtuality and Reality

    Distributed: Virtuality and Reality

    The design and construction of distributed systems for machines and humans are ultimately intertwined.

    In this presentation we'll go through the implications of Reality in Virtuality and the laws of distributed systems and what that means for us as developers—how we need to think in order to build successful systems both for humans and for machines.

    Viktor Klang is Deputy CTO at Typesafe, former Tech Lead for the Akka project and co-author of scala.concurrent in the Scala Standard Library. Viktor has a long background on the JVM and a passion for concurrent, asynchronous, distributed and resilient systems and the making thereof.

    Hailing from southern Sweden, Viktor is a passionate Scala hacker since 2007, a Java enterprise systems architect since 2003 and a programmer since 1998.

    He's a big fan of agile development, scalable software and elegant code. He's spent the past 7 years building a EIS, ERP, CRM and PDM system for a large international enterprise.

    After being involved in the Lift web framework for 2 years, he joined the Akka team in the middle of 2009 as one of the earliest committers.

  • Rafael Ordog

    Rafael Ordog

    Emarsys

    Friday (Session Day 2) — 11:55 - 12:40Clean persistence

    Clean persistence

    Separating the database layer from the rest of code has always been an important topic, yet more often than not web applications end up looking like huge wrappers around the database. Keeping your database related code nicely isolated is hard, and it's even harder with applications where most of the logic has to do with reading and writing data. We will look at common mistakes, testing, design patterns and polyglot persistence.

    Rafael is a Lead Developer at Budapest-based Emarsys and popular speaker in the Hungarian software community. As a founding member of Emarsys CraftLab - the dedicated coaching team of Emarsys - he has taught university courses and lectured at numerous conferences. His passion for short feedback loops drove him to create Lean Poker, a workshop where developers have the opportunity to experiment with continuous delivery in an artificial environment.

Workshops

  • Dan North

    Dan North & Associates

    Wednesday (Workshop Day) — 9:00 - 16:00Software, Faster

    Software, Faster

    Formerly Accelerated Agile

    Great software professionals build better software faster. Agile methods, continuous delivery and software craftsmanship helped speed up delivery from years to months or even weeks, but then what?

    Some teams are able to deliver software at a speed of change like you have never seen before, delivering quality software in days or even hours, again and again. So what is keeping the rest of us from doing so? Now is the time to go from months to minutes, to rethink the way we organize and improve our software development and delivery process.

    Accelerated Agile is for people who believe it can be done. People who feel themselves limited by current Agile, CD and Craftsmanship thinking. People who want to go back to basics and uncover new, simpler ways to deliver great software. Are you a seasoned agile developer who is frustrated at how slow your “hyper-performing” process feels? Are you suffering with an unwieldy feature backlog, the pantomime of estimation, the card wall where cards go to die, the efforts to automate where it obviously isn’t adding anything? Are you fed up with the artificial commitment of sprints and the unwelcome surprises that still seem to derail your projects?

    Accelerated Agile brings agile principles into the 21st century. You will learn new techniques that both enhance and replace existing agile practices, some of which are counter-intuitive and many which are completely counter to current “agile” doctrine. Using a mixture of discussion, instruction and exploration you will start to think differently about design, architecture, development and testing, operations, automation and team dynamics, as well as working with legacy systems and integrating with third parties.

    What you will learn:
    • How to challenge the received wisdom of established Agile methods
    • How to design and architect for rapid and sustainable delivery
    • Why understanding risk and embracing uncertainty are at the heart of faster delivery
    • How to manage build, release and operations
    • How systems thinking can help you plan effectively and estimate accurately
    • How to identify and reduce gaps in your testing strategy
    • How to engage with legacy systems and integrating with third parties
    • How to manage different levels of skill and experience within a team

    Programmer and organizational change specialist Dan North applies principles from lean operations and agile software development to help organizations align their technology capabilities with their business objectives. With over twenty years of experience in IT, Dan is a frequent speaker at technology conferences worldwide, has published feature articles in numerous software and business publications, and contributed to The RSpec Book: Behaviour Driven Development with RSpec, Cucumber, and Friends and 97 Things Every Programmer Should Know: Collective Wisdom from the Experts. The originator of Behaviour-Driven Development (BDD) and Deliberate Discovery, Dan is currently working on his book, Accelerated Agile – from months to minutes, and helping organizations radically improve their delivery. He blogs at http://dannorth.net/blog.

  • Dash Desai

    Aerospike

    Wednesday (Workshop Day) — 9:00 - 16:00How-to write a Twitter-like application using Open Source NoSQL database: Aerospike

    How-to write a Twitter-like application using Open Source NoSQL database: Aerospike

    As developers move to create applications that engage in real-time interactions, they are increasingly adopting an open source technology stack that includes Node.js, Javascript MVC frameworks such as AngularJS, asynchronous messaging via Socket.io, and an in-memory NoSQL database such as the open source Aerospike database.

    The workshop will begin with a brief introduction to some of these technologies that are an integral part of the next-generation application stacks. It will then demonstrate the concepts presented by hands-on walk through of a Web application built using some of these technologies on top of the Aerospike database.

    Developers who are interested in learning how to quickly get started writing applications using emerging open source technologies on top of the Aerospike database are encouraged to attend.

    Dash Desai has over 14 years of extensive hands-on web application design and development experience. His software experience spans working on large projects for the State of Tennessee and Colorado to writing abstraction layer for a VOIP company in Mountain View, CA to leading Facebook integration efforts for a gaming startup in San Francisco, CA.

    As a Developer Evangelist at Aerospike, Inc., he writes blog posts, sample code, tutorials, training material, and conducts workshops about technologies that he is passionate about. He also frequents a lot of meetups and tech events around the world.

    He has participated in all phases of Software Development Life Cycle – from understanding end user and customer requirements to implementing solutions based on feedback, knowledge and market awareness. He likes to wear different hats and thrives in an environment where he can work cross-functionally across teams.

    He lives in San Jose, California with fiancee Claire and her daughter Eva. His other passions are traveling and nature photography.

  • James Lewis

    ThoughtWorks

    Wednesday (Workshop Day) — 9:00 - 16:00Design & Implementation of Microservices

    Design & Implementation of Microservices

    Microservices Architecture is a concept that aims to decouple a solution by decomposing functionality into discrete services. Microservice architectures can lead to easier to change, more maintainable systems which can be more secure, performant and stable.

    In this workshop you will discover a consistent and reinforcing set of tools and practices rooted in the the philosophy of small and simple that can help you move towards a Microservice architecture in your own organisation. Small services, communicating via the web's uniform interface with single responsibilities and installed as well behaved operating system services. However, with these finer-grained systems come new sources of complexity.

    What you will learn?

    During this workshop you will understand in more depth what the benefits are of finer-grained architectures, how to break apart your existing monolithic applications, and what are the practical concerns of managing these systems. We will discuss how to ensure your systems can be made more stable, how to handle security, and how to handle the additional complexity of monitoring and deployment.

    We will cover the following topics: Principle-driven evolutionary architecture Capability modelling and the town planning metaphor REST, web integration and event-driven systems of systems Micro services, versioning, consumer driven contracts and Postel's law.

    Who should attend?

    Developers, Architects, Technical Leaders, Operations Engineers and anybody interested in the design and architecture of services and components.

    James Lewis is a Principle Consultant for ThoughtWorks based in the UK and a member of the ThoughtWorks Technical Advisory Board. Most recently he has been helping to introduce Agile at various blue chip companies: Investment Banks, Publishers and media organisations. Sometimes I even write software.

    James studied Astrophysics in the 90's but got sick of programming in Fortran. Fourteen years of DBA, Java development, software design and software architecture later, he believes that writing software is the easy part of the problem. Most of the time it's about getting people thinking right.

    Most recently, James has been spending his time helping ThoughtWorks' clients develop enterprise software as a coding architect and is particularly interested in the design of distributed systems and the web as middleware.

  • Michael Nygard

    Cognitect Inc.

    Wednesday (Workshop Day) — 9:00 - 16:00Systems Thinking and Complexity

    Systems Thinking and Complexity

    In this full-day workshop, you will learn how to analyze and influence any system. (There's no such thing as "control"!) We will take a sociotechnical view of systems that draws on lean thinking, cybernetics, complex adaptive systems, and human factors. Using these perspectives, we will look at how systems work, how you can optimize them, and the many ways they can fail.

    During this workshop, you will be asked to stretch your thinking into one or more new paradigms to understand how the same dynamics can sometimes create inertia and other times create radically nonlinear change.

    Michael Nygard strives to raise the bar and ease the pain for developers around the world. He shares his passion and energy for improvement with everyone he meets, sometimes even with their permission. Living with systems in production taught Michael about the importance of operations and writing production-ready software. Highly-available, highly-scalable commerce systems are his forte. Michael has written and co-authored several books, including "97 Things Every Software Architect Should Know" and the best seller "Release It!", a book about building software that survives the real world. Michael works for Cognitect Inc., the company behind Clojure, ClojureScript, Pedestal, and Datomic.

  • Nancy Van Schooenderwoert

    Lean-Agile Partners

    Wednesday (Workshop Day) — 13:00 - 16:00Mob Programming Live!

    Mob Programming Live!

    #MobProgramming is a practice where a whole software team works together, at one computer, one line of code at a time, outperforming their previous work significantly in both quality and volume. Impossible? Maybe – except for the teams actually doing it now. Woody Zuill’s team in California began this practice in 2011, and it’s been spreading since. For through, accelerated learning, nothing beats this!

    This session will do three things:
    • Show how anyone can help a team get started with Mob Programming
    • Give you a front-row seat to see how the first teams to use Mob Programming for embedded systems fared
    • Invite you to try Mob Programming live

    You’ll learn all about Mob Programming from 4 distinct perspectives:
    • Simon – a team member with less than 2 years’ embedded experience, who has now used Mob Programming in two teams at Bluefruit Software
    • Matthew – a very experienced team technical leader who works with Simon
    • Nancy – a lean-agile coach who got them started in Mob Programming with only a 15 minute description and an hour of “just doing it” the way Woody Zuill teaches it
    • Woody – the person who has seen the widest variety of Mob Programming instances in the world, and who has been using it continually with his team since 2011.

    Who is this session for?
    Anyone wrestling with the problem of how to grow real expertise rapidly will find this session compelling, for example:
    • Team technical leads
    • Software team managers
    • Software developers
    • Agile coaches
    • Anyone curious about the learning process

    Nancy Van Schooenderwoert does Agile Enterprise coaching— everything from launching new agile technical teams to advising executives on how to take Agile and Lean principles far beyond software development in their drive to deliver more customer value faster. She works with large and small companies. Nancy pioneered agile practices for embedded software development beginning in 1998. Her background in electronics and software development for avionics, factory automation, medical, and defense systems brings a unique perspective to her coaching practice.

    Nancy holds a Scrum Master certification, has edited a column for the Agile Times, and served on the IEEE 1648 committee to define a standard for customers of agile teams. She has been a regular presenter at various Agile-related conferences since 2003. Her work in applying Agile methods to embedded systems has been referenced by Jim Shore and Mary Poppendieck in their books.

  • David Dawson

    Simplicity Itself

    Wednesday (Workshop Day) — 9:00 - 16:00Embracing Change: Building Adaptable Software with Events

    Embracing Change: Building Adaptable Software with Events

    Ever experienced that moment where your heart sinks at the words "We just want you to make this one, small and trivial change…".

    If you build software, change is an inevitable force in your life and your ability to react to change can be the difference between a killer product and a last-to-the-post flop.

    Given that change and speed of software evolution is so critical, why is it that so much software becomes a millstone around yourself and your team's next, leading to you dreading the next inevitable change that's needed? For over 10 years, focus has been consistently applied to helping us work in a more agile and adaptable fashion, with far less focus on how to create software that thrives in an agile environment.

    This hands-on, extremely practical course teaches you the latest techniques you can apply today to your architecture, design and code to build software that doesn't fear change. This course will teach you how to build software that adapts as fast as your business and requirements do.

    In this deeply technical course you will learn how to:
    • Understand Change: Manage evolution from a component, module and system perspective.
    • Understand Complexity: Identify the causes of complexity in your architecture, design and code and the affect it has on dealing with change.
    • Organise for Change: Organise your architecture, design and code for clarity and change.
    • Clean Design and Architecture: Architect, design and build components that embrace change.
    • Reduce Inter and Intra System Coupling: Identify and Manage accidental coupling between components, modules and systems.
    • Apply Events: Apply Event-Driven Architectural patterns to increase de-coupling.

    Requirements: Bring a laptop and if you have GitHub account.

    Russ Miles is Principal Consultant at Simplicity Itself and works with their clients to continuously and sustainably delivering valuable software.

    Russ' experience covers almost every facet of software delivery having worked across many different domains including Financial Services, Publishing, Defence, Insurance and Search. With over 16 years experience and through consultancy, coaching and training, Russ uses a holistic view of the software delivery process in order to implement multi-faceted continuous improvement programmes touching on everything from developer skills and practices, creating and evolving the best architectures and designs for a given domain, through to advising the management of various companies on how to apply lean and agile thinking and practices to better tune their return on investment from their software development effort.

    Russ is also an international speaker on techniques for achieving the delivery of valuable software as well as a published author, most recently of "Head First Software Development" from O'Reilly Media. He is currently working on two new books; "Programming Spring" for O'Reilly Media that launches the Simplicity Itself technique of "Test Driven Learning" for the first time publicly, and another book, working title being "Field Guide to Continuous Improvement for Software Delivery Team Members" that captures the different thinking tools and techniques that a professional software developer can apply concretely to their own continuous improvement goals.

  • Sandro Mancuso

    Codurance

    Wednesday (Workshop Day) — 9:00 - 16:30Crafting Code

    Crafting Code

    About

    This course is designed to help developers write well-crafted code—code that is clean, testable, maintainable, and an expression of the business domain. The course is entirely hands-on, designed to teach developers practical techniques they can immediately apply to real-world projects.

    Why attend?

    Software Craftsmanship is at the heart of this course. Throughout, you will learn about the Software Craftsmanship attitude to development and how to apply it to your workplace.

    Writing Clean Code is difficult. Cleaning existing code, even more so. You should attend if you want to:
    • Write clean code that is easy to understand and maintain
    • Become more proficient in Test-Driven Development (TDD): using tests to design and build your code base
    • Focus your tests and production code according to business requirements using Outside-In TDD (a.k.a. the London School of TDD)

    Clean code necessitates good design. In the process of driving your code through tests, you will learn how to:
    • Understand design principles that lead to clean code
    • Avoid over-engineering and large rewrites by incrementally evolving your design using tests
    Once you have an understanding of the principles at work, we will apply them to Legacy Code to help you gain confidence in improving legacy projects through testing, refactoring and redesigning.

    Content

    • TDD lifecycle and the Outside-In style of TDD
    • Writing unit tests that express intent, not implementation
    • Using unit tests as a tool to drive good design
    • Expressive code
    • Testing and refactoring Legacy Code
    The course is fully hands-on and developers will be writing a lot of code.

    Audience

    Software developers that:
    • are familiar with at least one Object-Oriented language
    • are able to understand Java or C#
    • legacy code exercise will be done in one of the following languages: Java, C#, PHP, Scala, or C++
    • can write and execute unit tests using a framework (such as JUnit, NUnit, etc.)
    • have a basic understanding of mock objects

    Prerequisites

    Developers must:
    • bring their own laptops
    • have a development environment consisting of: their favourite Object-Oriented language, a unit test framework, a mocking library
    • be able to create projects, build source code and run test cases in their development environment
    In addition, a distributed version-control system such as Git is desirable.

    Software craftsman, co-founder of Codurance, author of Software Craftsmanship: Professionalism, Pragmatism, and Pride, and founder of the London Software Craftsmanship Community (LSCC). During his almost 20 years of career, Sandro has worked for startups, software houses, product companies, international consultancy companies, and investment banks. With Codurance, Sandro is now helping many organisations to embrace the Software Craftsmanship principles and values, adopt Extreme Programming practices, and helping developers to become real craftsmen.

  • Simon Brown

    Independent Consultant

    Wednesday (Workshop Day) — 9:00 - 16:00Simple sketches for diagramming your software architecture

    Simple sketches for diagramming your software architecture

    Agility is about moving fast and this requires good communication. A consistent, shared vision is essential in order for teams to push in the same direction, but it's surprising that many teams struggle to effectively communicate the architecture of the software they are building. As an industry we do have the Unified Modeling Language (UML), yet many people favour informal boxes and lines sketches instead. The problem is that such diagrams rarely make any sense, usually need a narrative to accompany them and ultimately slow the team down. Although we can argue whether UML offers an effective way to communicate software architecture, that's often irrelevant because many teams have already thrown out UML or simply don't know it. Abandoning UML is one thing but, in the race for agility, many software development teams have lost the ability to communicate visually too.

    This hands-on session is aimed at those involved in the software development process and is about improving communication. You’ll see some patterns and anti-patterns related to "boxes and lines" diagrams, and you’ll learn some lightweight techniques for communicating software architecture using simple sketches.

    Simon lives in Jersey (the largest of the Channel Islands) and works as an independent consultant, helping teams to build better software. His client list spans over 20 countries and includes organisations ranging from small technology startups through to global household names. Simon is an award-winning speaker and the author of Software Architecture for Developers - a developer-friendly guide to software architecture, technical leadership and the balance with agility. He still codes too.

  • Viktor Farcic

    everis

    Wednesday (Workshop Day) — 9:00 - 16:00Continuous Delivery Workshop

    Continuous Delivery Workshop

    Continuous deployment sounds to many as too risky or even impossible. Whether it's risky depends on the architecture of software we're building. As a general rule, splitting application into smaller independent elements helps a lot. Microservices is the way to go if possible. Risks aside, in many cases there is no business reason or willingness to adopt continuous delivery. Still, software can be continuously deployed to test servers thus becoming continuous delivery. No matter whether we are doing continuous deployment, delivery, integration or none of those, having automatic and fast deployment with zero downtime and ability to rollback provides great benefits. If for no other reason, because it frees us to do more productive and beneficial tasks. We should design and code our software and let machines do the rest for us.

    In this hands-on workshop we'll build an entire system from scratch following some of best practices for continuous deployment. It will be done in a way that it can be deployed often, be fully automatic and very fast with zero-downtime and ability to rollback.

    We'll use Docker, Ansible, nginx, blue-green deployment, microservices, BDD, etc. At the end of the workshop, each participant will gain practical knowledge how to specify, design, develop and test their applications in a way that they can be continuously deployed to production. Every commit that passed all validations will be deployed in a matter of seconds and without any downtime.

    Viktor Farcic is a Software Architect at everis.

    He coded using plethora of languages starting with Pascal (yes, he is old), Basic (before it got Visual prefix), ASP (before it got .Net suffix), C, C++, Perl, Python, ASP.Net, Visual Basic, C#, JavaScript, etc. He never worked with Fortran. His current favorites are Scala and JavaScript even though most of his office hours are spent with Java.

    His big passions are Behavior-Driven Development (BDD), Test-Driven Development (TDD) and Continuous Integration, Deployment and Delivery (CI/CD).

    He is major contributor to the open source project BDD Assistant and often speaks at community gatherings and conferences.

  • Ivan Kusalic // Jan Hartung

    HERE, a Nokia business // Klose Brothers

    Thursday (Session Day 1) — 20:30 - 23:00Craft Evening Coding Dojo

    Craft Evening Coding Dojo

    Join us for the evening coding dojo, let’s code together and learn from each other. There is no better place to improve the craft than CRAFT Conf. The dojo will be conveniently located in the main building, so you'll be free to pop in and out whenever you feel like it. Snacks and drinks will be provided to let you focus on the important things: honing the craft and meeting passionate people. Don't forget to bring your laptop.

    A Coding Dojo is an event where craftspeople get together to engage in deliberate practice in order to improve their skills. We'll work in pairs, use TDD and have fun working on katas. There will be multiple short sessions so you'll have the opportunity to try out different katas, languages, testing approaches, paradigms, etc. All the while enjoying company of like-minded people. We'll spice things up a bit with coding restraints to keep you on the edge where you learn the most.
    Ivan Kusalic

    Ivan Kusalic is a software engineer working for Nokia HERE in Berlin. He is coorganizing Berlin’s Software Craftsmanship meetup, SoCraTes - International Software Craftsmanship and Testing Conference and Global Day of Coderetreat. He has also organized various meetups and Coderetreats. Ivan is passionate about well-crafted software and continuous delivery. Lately he has developed a taste for functional programming.

    Jan Hartung

    Egga (Jan Hartung) works at klose brothers as a coach and developer and strongly identifies with the software craftsmanship movement. He is very passionate about code quality and has written software in various languages running on hundreds of servers, desktops and graphics cards. Egga attended, organized, and/or facilitated plenty of conferences, meet-ups, and workshops. He wants to raise the bar by practicing and helping others to learn the craft.

  • Rafael Ordog

    Emarsys

    Saturday (Workshop Day) — 9:00 - 16:00Lean Poker

    Lean Poker

    Lean Poker is a day long workshop, focusing on aspects of Lean Startup and Continuous Deployment.

    Lean Startup and Agile build on a tight feedback loop, but many teams struggle with implementing it. The purpose of Lean Poker, is to generate an artificial environment where developers can quickly experiment with continuous delivery and other practices that will give your company a competitive edge. During the day, you will learn how to achieve a build measure learn cycle on the order of mere minutes.

    http://leanpoker.org

    I'm a Software Engineer, Lead Developer and Computer Scientist with experience in a large variety of applications. Most excited about high performance online software involving large data sets, where highly scalable (possibly parallel) algorithmic solutions are necessary.

    I prefer to work in an lean/agile like environment with short time to market goals. I believe that short (few day long) iterations of build, measure, learn cycles are vital in building the right thing, for the right people.

    I like challenging tasks, especially when it involves algorithmic and/or software design.

Schedule

Thursday

Session Day 1

Friday

Session Day 2
Main roomGarageTentLight Room
08:00 - 09:00Registration & Breakfast
09:00 - 09:50Keynote: Complexity is Outside the CodeDan North (Dan North & Associates) - Jessica Kerr (Outpace)
09:50 - 10:30Sponsor pitch
10:30 - 11:00Coffee Break
11:00 - 11:45Writing testable code - A functional programming point of viewAlvaro Videla (Pivotal)Devops for EveryoneKatherine Daniels (Etsy)Scaling Micro-Services at GiltAdrian Trenaman (Gilt)Agile Engineering in a Safety-Critical WorldNancy Van Schooenderwoert (Lean-Agile Partners)
11:45 - 11:55Mini Break
11:55 - 12:40Coding CultureSven Peters (Atlassian)Speed is Key: Elasticsearch under the HoodAlexander Reelsen (Elasticsearch)The Perfect Storm Intensifies - The Convergence of BigData, Cloud and the IoT is Now at Full StrengthMac Devine (IBM)Jepsen IV: Hope Springs EternalKyle Kingsbury (Factual)
12:40 - 14:10Lunch
14:10 - 14:55Building Reliable Distributed Data SystemsJeremy Edberg (Netflix)Architecture Without an End StateMichael Nygard (Cognitect Inc.)Automating the Modern Datacenter, Development to ProductionMitchell Hashimoto (HashiCorp)OnConnectionLost: The life of an offline web applicationStefanie Grewenig (ThoughtWorks) - Johannes Thönes (ThoughtWorks)
14:55 - 15:05Mini Break
15:05 - 15:50Concurrency: It's Harder (and Easier) Than You ThinkPaul Butcher (Ten Tenths Consulting, Pragmatic Programmers)The Ethical DeveloperGrady Booch (IBM)Oh! You Pretty ToolsAndrew Bayer (Cloudera)Devops Blind SpotsJohn Willis (Docker)
15:50 - 16:20Coffee Break
16:20 - 17:05Testing and Integration (The Remix)Ines Sombra (Fastly)Java 8 in AngerTrisha Gee (JetBrains)NoSQL Key Value Stores - the Key to VelocityPeter Milne (Aerospike)The Final Causal FrontierSean Cribbs (Basho)
17:05 - 17:15Mini Break
17:15 - 18:00Beyond Features: Rethinking Agile Planning and TrackingDan North (Dan North & Associates)The Art of Protocol DesignPieter Hintjens (ZeroMQ)Distributed: Virtuality and RealityViktor Klang (Typesafe)Evolution of the PayPal API: Platform & CultureDeepak Nadig (PayPal)
18:00 - 18:10Mini Break
18:10 - 19:00Closing Keynote: How To Save Innovation From ItselfAlf Rehn (Åbo Akademi University)
19:00 - 20:30Dinner
20:30 - 23:59EPAM Party & Coding Dojo
Main room
TimeSession
08:00 - 09:00Registration & Breakfast
09:00 - 09:5009:00 - 09:50Keynote: Complexity is Outside the CodeDan North (Dan North & Associates) - Jessica Kerr (Outpace)
09:50 - 10:30Sponsor pitch
10:30 - 11:00Coffee Break
11:00 - 11:45Writing testable code - A functional programming point of viewAlvaro Videla (Pivotal)
11:45 - 11:55Mini Break
11:55 - 12:40Coding CultureSven Peters (Atlassian)
12:40 - 14:10Lunch
14:10 - 14:55Building Reliable Distributed Data SystemsJeremy Edberg (Netflix)
14:55 - 15:05Mini Break
15:05 - 15:50Concurrency: It's Harder (and Easier) Than You ThinkPaul Butcher (Ten Tenths Consulting, Pragmatic Programmers)
15:50 - 16:20Coffee Break
16:20 - 17:05Testing and Integration (The Remix)Ines Sombra (Fastly)
17:05 - 17:15Mini Break
17:15 - 18:00Beyond Features: Rethinking Agile Planning and TrackingDan North (Dan North & Associates)
18:00 - 18:10Mini Break
18:10 - 19:0018:10 - 19:00Closing Keynote: How To Save Innovation From ItselfAlf Rehn (Åbo Akademi University)
19:00 - 20:30Dinner
20:30 - 23:59EPAM Party & Coding Dojo
Garage
TimeSession
08:00 - 09:00Registration & Breakfast
09:00 - 09:5009:00 - 09:50Keynote: Complexity is Outside the CodeDan North (Dan North & Associates) - Jessica Kerr (Outpace)
09:50 - 10:30Sponsor pitch
10:30 - 11:00Coffee Break
11:00 - 11:45Devops for EveryoneKatherine Daniels (Etsy)
11:45 - 11:55Mini Break
11:55 - 12:40Speed is Key: Elasticsearch under the HoodAlexander Reelsen (Elasticsearch)
12:40 - 14:10Lunch
14:10 - 14:55Architecture Without an End StateMichael Nygard (Cognitect Inc.)
14:55 - 15:05Mini Break
15:05 - 15:50The Ethical DeveloperGrady Booch (IBM)
15:50 - 16:20Coffee Break
16:20 - 17:05Java 8 in AngerTrisha Gee (JetBrains)
17:05 - 17:15Mini Break
17:15 - 18:00The Art of Protocol DesignPieter Hintjens (ZeroMQ)
18:00 - 18:10Mini Break
18:10 - 19:0018:10 - 19:00Closing Keynote: How To Save Innovation From ItselfAlf Rehn (Åbo Akademi University)
19:00 - 20:30Dinner
20:30 - 23:59EPAM Party & Coding Dojo
Tent
TimeSession
08:00 - 09:00Registration & Breakfast
09:00 - 09:5009:00 - 09:50Keynote: Complexity is Outside the CodeDan North (Dan North & Associates) - Jessica Kerr (Outpace)
09:50 - 10:30Sponsor pitch
10:30 - 11:00Coffee Break
11:00 - 11:45Scaling Micro-Services at GiltAdrian Trenaman (Gilt)
11:45 - 11:55Mini Break
11:55 - 12:40The Perfect Storm Intensifies - The Convergence of BigData, Cloud and the IoT is Now at Full StrengthMac Devine (IBM)
12:40 - 14:10Lunch
14:10 - 14:55Automating the Modern Datacenter, Development to ProductionMitchell Hashimoto (HashiCorp)
14:55 - 15:05Mini Break
15:05 - 15:50Oh! You Pretty ToolsAndrew Bayer (Cloudera)
15:50 - 16:20Coffee Break
16:20 - 17:05NoSQL Key Value Stores - the Key to VelocityPeter Milne (Aerospike)
17:05 - 17:15Mini Break
17:15 - 18:00Distributed: Virtuality and RealityViktor Klang (Typesafe)
18:00 - 18:10Mini Break
18:10 - 19:0018:10 - 19:00Closing Keynote: How To Save Innovation From ItselfAlf Rehn (Åbo Akademi University)
19:00 - 20:30Dinner
20:30 - 23:59EPAM Party & Coding Dojo
Light Room
TimeSession
08:00 - 09:00Registration & Breakfast
09:00 - 09:5009:00 - 09:50Keynote: Complexity is Outside the CodeDan North (Dan North & Associates) - Jessica Kerr (Outpace)
09:50 - 10:30Sponsor pitch
10:30 - 11:00Coffee Break
11:00 - 11:45Agile Engineering in a Safety-Critical WorldNancy Van Schooenderwoert (Lean-Agile Partners)
11:45 - 11:55Mini Break
11:55 - 12:40Jepsen IV: Hope Springs EternalKyle Kingsbury (Factual)
12:40 - 14:10Lunch
14:10 - 14:55OnConnectionLost: The life of an offline web application
14:55 - 15:05Mini Break
15:05 - 15:50Devops Blind SpotsJohn Willis (Docker)
15:50 - 16:20Coffee Break
16:20 - 17:05The Final Causal FrontierSean Cribbs (Basho)
17:05 - 17:15Mini Break
17:15 - 18:00Evolution of the PayPal API: Platform & CultureDeepak Nadig (PayPal)
18:00 - 18:10Mini Break
18:10 - 19:0018:10 - 19:00Closing Keynote: How To Save Innovation From ItselfAlf Rehn (Åbo Akademi University)
19:00 - 20:30Dinner
20:30 - 23:59EPAM Party & Coding Dojo
Main roomGarageTentLight Room
08:00 - 09:00Breakfast
09:00 - 09:50Keynote: The New New Software Development Game: Containers, Micro Services and Contract TestsMary Poppendieck (Poppendieck.LLC)
09:50 - 10:30Sponsor pitch
10:30 - 11:00Coffee Break
11:00 - 11:45From the Monolith to Microservices: Lessons from Google and eBayRandy Shoup (Consulting CTO)Using Logs To Build a Solid Data InfrastructureMartin Kleppmann (Linkedin)Splitting and Replicating Data For Fast Transactions - Don't Give Up On Serializability Just Yet!Neha Narula (MIT)Apprenticeship Patterns, RevisitedDave Hoover (Dev Bootcamp)
11:45 - 11:55Mini Break
11:55 - 12:40Clean persistenceRafael Ordog (Emarsys)Interaction Driven DesignSandro Mancuso (Codurance)Multi-Host Docker orchestration - Your docker infrastructure has outgrown a single machine, whats now?Lajos Papp (SequenceIQ)Security at ScaleNils Puhlmann (Cloud Security Alliance)
12:40 - 14:10Lunch
14:10 - 14:55The Hidden Dimension Of RefactoringMichael Feathers (R7K LLC)The Front End Architecture RevolutionDavid Nolen (Cognitect)WebSocket for the Real-Time Web and the Internet of ThingsPeter Moskovits (Kaazing)Designing Calm TechnologyAmber Case (caseorganic.com)
14:55 - 15:05Mini Break
15:05 - 15:50Why Is An API Like a Puppy?Adewale Oshineye (Google)How Do You Scale a Logging Infrastructure to Accept a Billion Messages a Day?Paul Stack (OpenTable)Consensus Systems for the Skeptical ArchitectCamille Fournier (Rent the Runway)Changing Software Physics to Make Problems DisappearSadache Aldrobi (Zengularity)
15:50 - 16:20Coffee Break
16:20 - 17:05Microservice AntiPatternsTammer Saleh (Pivotal)Implementing the Saga PatternCaitie McCaffrey (Twitter)Simple and ExtensibleJeff Lindsay (Glider Labs)IaaS Beyond The InfrastructureFlavio Percoco (Red Hat)
17:05 - 17:15Mini Break
17:15 - 18:00Software Architecture as CodeSimon Brown (Independent Consultant)Calculating emotions: building a system to understand human natureÁdám Divák (Synetiq)Techniques and Tools For a Coherent Discussion About Performance in Complex ArchitecturesTheo Schlossnagle (Circonus)Contracts and Clojure: The Best-Yet Compromise Between Types and TestsJessica Kerr (Outpace)
18:00 - 18:10Mini Break
18:10 - 19:00Closing Keynote: Great Engineering, Failed ProductMarty Cagan (Silicon Valley Product Group)
19:00 - 19:30Closing Ceremony & RAFFLE :)
Main room
TimeSession
08:00 - 09:00Breakfast
09:00 - 09:5009:00 - 09:50Keynote: The New New Software Development Game: Containers, Micro Services and Contract TestsMary Poppendieck (Poppendieck.LLC)
09:50 - 10:30Sponsor pitch
10:30 - 11:00Coffee Break
11:00 - 11:45From the Monolith to Microservices: Lessons from Google and eBayRandy Shoup (Consulting CTO)
11:45 - 11:55Mini Break
11:55 - 12:40Clean persistenceRafael Ordog (Emarsys)
12:40 - 14:10Lunch
14:10 - 14:55The Hidden Dimension Of RefactoringMichael Feathers (R7K LLC)
14:55 - 15:05Mini Break
15:05 - 15:50Why Is An API Like a Puppy?Adewale Oshineye (Google)
15:50 - 16:20Coffee Break
16:20 - 17:05Microservice AntiPatternsTammer Saleh (Pivotal)
17:05 - 17:15Mini Break
17:15 - 18:00Software Architecture as CodeSimon Brown (Independent Consultant)
18:00 - 18:10Mini Break
18:10 - 19:0018:10 - 19:00Closing Keynote: Great Engineering, Failed ProductMarty Cagan (Silicon Valley Product Group)
19:00 - 19:30Closing Ceremony & RAFFLE :)
Garage
TimeSession
08:00 - 09:00Breakfast
09:00 - 09:5009:00 - 09:50Keynote: The New New Software Development Game: Containers, Micro Services and Contract TestsMary Poppendieck (Poppendieck.LLC)
09:50 - 10:30Sponsor pitch
10:30 - 11:00Coffee Break
11:00 - 11:45Using Logs To Build a Solid Data InfrastructureMartin Kleppmann (Linkedin)
11:45 - 11:55Mini Break
11:55 - 12:40Interaction Driven DesignSandro Mancuso (Codurance)
12:40 - 14:10Lunch
14:10 - 14:55The Front End Architecture RevolutionDavid Nolen (Cognitect)
14:55 - 15:05Mini Break
15:05 - 15:50How Do You Scale a Logging Infrastructure to Accept a Billion Messages a Day?Paul Stack (OpenTable)
15:50 - 16:20Coffee Break
16:20 - 17:05Implementing the Saga PatternCaitie McCaffrey (Twitter)
17:05 - 17:15Mini Break
17:15 - 18:00Calculating emotions: building a system to understand human natureÁdám Divák (Synetiq)
18:00 - 18:10Mini Break
18:10 - 19:0018:10 - 19:00Closing Keynote: Great Engineering, Failed ProductMarty Cagan (Silicon Valley Product Group)
19:00 - 19:30Closing Ceremony & RAFFLE :)
Tent
TimeSession
08:00 - 09:00Breakfast
09:00 - 09:5009:00 - 09:50Keynote: The New New Software Development Game: Containers, Micro Services and Contract TestsMary Poppendieck (Poppendieck.LLC)
09:50 - 10:30Sponsor pitch
10:30 - 11:00Coffee Break
11:00 - 11:45Splitting and Replicating Data For Fast Transactions - Don't Give Up On Serializability Just Yet!Neha Narula (MIT)
11:45 - 11:55Mini Break
11:55 - 12:40Multi-Host Docker orchestration - Your docker infrastructure has outgrown a single machine, whats now?Lajos Papp (SequenceIQ)
12:40 - 14:10Lunch
14:10 - 14:55WebSocket for the Real-Time Web and the Internet of ThingsPeter Moskovits (Kaazing)
14:55 - 15:05Mini Break
15:05 - 15:50Consensus Systems for the Skeptical ArchitectCamille Fournier (Rent the Runway)
15:50 - 16:20Coffee Break
16:20 - 17:05Simple and ExtensibleJeff Lindsay (Glider Labs)
17:05 - 17:15Mini Break
17:15 - 18:00Techniques and Tools For a Coherent Discussion About Performance in Complex ArchitecturesTheo Schlossnagle (Circonus)
18:00 - 18:10Mini Break
18:10 - 19:0018:10 - 19:00Closing Keynote: Great Engineering, Failed ProductMarty Cagan (Silicon Valley Product Group)
19:00 - 19:30Closing Ceremony & RAFFLE :)
Light Room
TimeSession
08:00 - 09:00Breakfast
09:00 - 09:5009:00 - 09:50Keynote: The New New Software Development Game: Containers, Micro Services and Contract TestsMary Poppendieck (Poppendieck.LLC)
09:50 - 10:30Sponsor pitch
10:30 - 11:00Coffee Break
11:00 - 11:45Apprenticeship Patterns, RevisitedDave Hoover (Dev Bootcamp)
11:45 - 11:55Mini Break
11:55 - 12:40Security at ScaleNils Puhlmann (Cloud Security Alliance)
12:40 - 14:10Lunch
14:10 - 14:55Designing Calm TechnologyAmber Case (caseorganic.com)
14:55 - 15:05Mini Break
15:05 - 15:50Changing Software Physics to Make Problems DisappearSadache Aldrobi (Zengularity)
15:50 - 16:20Coffee Break
16:20 - 17:05IaaS Beyond The InfrastructureFlavio Percoco (Red Hat)
17:05 - 17:15Mini Break
17:15 - 18:00Contracts and Clojure: The Best-Yet Compromise Between Types and TestsJessica Kerr (Outpace)
18:00 - 18:10Mini Break
18:10 - 19:0018:10 - 19:00Closing Keynote: Great Engineering, Failed ProductMarty Cagan (Silicon Valley Product Group)
19:00 - 19:30Closing Ceremony & RAFFLE :)

Tickets

You can sign up for the live stream by filling out this form.

Sponsors

Diamond

  • Ericsson
  • IBM

Platinum

  • Aerospike

Gold

  • EPAM
  • Dealogic
  • Cloudera
  • eVision
  • misys
  • Thyssen

Silver

  • Starshema
  • LogMeIn
  • Pivotal
  • Meta
  • Balabit
  • Virgo
  • Testbirds
  • CXRay

Bronze

  • Etsy
  • ThoughtWorks
  • Fastly
  • Emarsys
  • Atlassian
  • Gamesys
  • 8thlight
  • devexperts

Special

  • Elasticsearch
  • OReilly

Media Partner

    CRAFT is a non-profit conference. We are looking for sponsors who help us make this conference happen. Take a look at our sponsor packages and contact us at hello@craft-conf.com.

    Organizers

    • Gergely Hodicska

      Gergely Hodicska

      program chair, chief organizer//Ustream@felhobacsi
      I am the VP of Engineering at Ustream and I oversee all site, streaming, infrastructure, flash and mobile teams. Early on, I specialized in building and operating large scale web applications, including the design and development of several Alexa Top 100 sites. Nowadays I focus on improving the way we develop at Ustream, creating effective processes and building a culture where our engineers can not just continuously deliver but also continuously improve. I strongly believe in teamwork, devops and lifelong learning.
    • Medea Baccifava

      Medea Baccifava

      event organizer//Prezi@Medea_Baccifava
      I am an innovative professional working in advisory and international marketing positions in Europe and Asia. In current position at Prezi, I deliver small- and large-scale projects, from optimization to communication, handling international events like mloc.js, RAMP and Stretch.
    • Attila Balogi

      Attila Balogi

      event organizer//Prezi@balogiati
      Co-Organising international tech conferences in Budapest with 300-1000 participants. Project management of the events, Design and execute global communication campaigns for Stretch, Mloc.JS, Craft, Redefine ​Conferences.
    • Katalin Marosvölgyi

      Katalin Marosvölgyi

      travel and accommodation manager//Prezi
      Travel specialist at Prezi
    • Máté Nádasdi

      Máté Nádasdi

      website development//Ustream@matenadasdi
      Mate is a Front-end Developer at Ustream in the Site Core team who lives in Budapest. Before joining the real fight of the web, he studied Computer Science at the Eötvös Lóránd University, and worked some years as a full stack developer coding in ObjC, PHP and JavaScript. In the past years he has focused his attention mainly on large scale client side architecture and front-end performance. He is a passionate lover of JavaScript and a maniac of the innovative web.
    • Gabriella Kiss

      Gabriella Kiss

      workshop coordinator//Ericsson
      I am a Learning&Development Program Coordinator at Ericsson, responsible for learning related campaign organization, program and training coordination. On Craft, I am responsible for the smooth delivery of the workshop day. Should you find yourself on a workshop, presentation or involved in a discussion you feel you benefit from when you go home, I will feel successful in my work.
    • Kornel Jenei

      Kornel Jenei

      meetup coordinator//Ericsson
      I am an Agile Coach working with different communities helping them to achieve the agile ways of working. I coach individuals to help them grow, teams to reach high performance and communities to be the most effective. My philosophy: when you think you're pushed out of your comfort zone you're really being pushed into your future comfort zone.
    • Miklós Aurél Rónai

      Miklós Aurél Rónai

      program committee//Ericsson@MiklosRonai
      I am a unit manager at Ericsson where in the past 15 years I have grown from a student to a leader who is responsible for ~100 developers. I am passionate about my company and what it stands for. I think that we can be better day-by-day only with continuous learning and feedback. I believe that with collaborations such as CRAFT and STRETCH we can build a competent and innovative product development community around us, with many great SW craftsmen, leaders and business people.
    • Bálint Köves

      Bálint Köves

      mentor coordinator//Ericsson
      I strongly believe in the constant possibility of improvement and that the only route to this is stretching one's boundaries, instead of following the paved way. My role currently at Ericsson is building, coaching, mentoring and generally enabling a new organization of several teams in the integration area.

    Meetups

    On April 22 we organise a Meetup Evening as a warmup event for Craft. There will be several meetups in Budapest, you can find the list and the speakers of them below. The meetups are free to visit by anybody, so even those people can meet the Craft speakers who can not attend the conference. The meetups usually will start at 5PM, we provide pizza and drinks, and the talks will start from 5:30PM.

    You can find the location of the interested meetup by clicking its title. The attendees will get two coupons at the meetup, which can be redeemed at Kolor (google maps) on Wednesday from 8PM for beer, wine or fröccs

    • Cloud

      2015.04.22
      • Flavio Percoco

        Flavio Percoco

        Rust: A system language for more than just systems
      • Zoltan Nemeth

        Zoltan Nemeth

        Scalable Service Architectures
      • Lajos Papp

        Lajos Papp

        Multi-Host Docker orchestration
    • Testing

      2015.04.22
      • Ines Sombra

        Ines Sombra

        Testing distributed systems
      • Emily Bache

        Emily Bache

        Catch Dancing Ponies: try Approval Testing
    • Functional

      2015.04.22
      • Melinda Tóth

        Melinda Tóth

        Using the open-source RefactorErl in Ericsson
      • Yan Cui

        Yan Cui

        Learn you to tame complex APIs with F# powered DSLs
    • Fullstack

      2015.04.22
      • Alvaro Videla

        Alvaro Videla

        Programming Myths
      • Simon Brown

        Simon Brown

        Software architecture vs code
    • DevOps

      2015.04.22
      • Dan North

        Dan North

        Microservices: software that fits in your head
      • Viktor Farcic

        Viktor Farcic

        Continuous Delivery
    • Frontend/UX

      2015.04.22
      • Amber Case

        Amber Case

        A Programmatic Approach to Perfect Happiness
      • Katarzyna Mrowca

        Katarzyna Mrowca

        How to defeat feature gluttony
    • Node.js, JavaScript

      2015.04.22
      • David Nolen

        David Nolen

        Lambda: The Ultimate Interface
      • Lóránt Pintér

        Lóránt Pintér

        Micro-service architecture on the client-side
    • Python

      2015.04.22
      • Katherine Daniels

        Katherine Daniels

        Press Start: Beginning a New Adventure (Job)
      • Jeremy Edberg

        Jeremy Edberg

        Learning Python on the job and how the cloud makes it harder
    • Agile

      2015.04.22
      • Rui Carvalho

        Rui Carvalho

        Feeback Loops
      • Peter Van de Voorde

        Peter Van de Voorde

        The Social Developer
      • Bogdan Vulcan & Attila Nyeste

        Bogdan Vulcan & Attila Nyeste

        Gamifying Release Planning

    Contact

    Contact us if you have a question athello@craft-conf.comWe are offerring child care for attendees coming with their kids to the conference.
    Please let us know in advance if you would bring your kid.

    Code of
    Conduct

    tl;dr: Be excellent with each other

    All attendees, speakers, sponsors 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.

    Need Help?

    Gergely Hodicska (program chair, chief organiser) at +36 (30) 740 9040
    Medea Baccifava (event coordinator) at +36 (30) 720 6637

    The Quick Version

    Our conference is dedicated to providing a harassment-free conference experience for everyone, regardless of gender, age, sexual orientation, disability, physical appearance, body size, race, or religion (or lack thereof). 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.

    The Less Quick Version

    Harassment includes offensive verbal comments related to gender, age, sexual orientation, disability, physical appearance, body size, race, religion, 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.

    Sponsors are also subject to the anti-harassment policy. In particular, sponsors should not use sexualised images, activities, or other material. Booth staff (including volunteers) should not use sexualised clothing/uniforms/costumes, or otherwise create a sexualised environment.

    If a participant 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 can be identified as they'll be wearing branded t-shirts.

    Conference staff will be happy to help participants contact hotel/venue security or local law enforcement, 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.