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

April 26-27 will be workshop days.
On April 28-29 we are going to have speaker sessions.

You can find all the videos from our last event on the following Ustream channels: Light Room, Garage, Tent, Main Room.

Location

Magyar Vasúttörténeti Park

The Magyar Vasúttörténeti Park (Hungarian Railway History Park) is a railway museum located in Budapest, Hungary at a railway station and workshop of the Hungarian State Railways. Located on the site of the former north depot of the Hungarian State Railway (MÁV), the Hungarian Railway Museum is Europe’s first interactive museum of its kind. The north depot’s roundhouse, home to the museum, was built in 1911 and is also part of Hungarian railway history. There are over a hundred vintage trains, locomotives, cars and other types of railroad equipment on display, including a steam engine built in 1877, a railcar from the 1930’s and a dining car built in 1912 for the famous Orient Express.

On 28th and 29th of April there will be direct Craft trains in the morning from Budapest-Nyugati Railway Terminal to the venue, and in the evening from the venue to Budapest-Nyugati Railway Terminal, so we recommend to find a hotel near to Budapest-Nyugati Railway Terminal.

Need an accommodation?
Find a local host on Airbnb
Book a hotel room.

Please note that the workshops are on different locations, you will find the location later at the description of the given workshop.

Speakers

  • Aaron Bedra

    Aaron Bedra

    Groupon

    Adaptive Security

    Adaptive Security

    Aaron is a Principal Engineer at Groupon. He is the creator of Repsheet, an open source threat intelligence framework. He is the co-author of Programming Clojure, 2nd Edition and a frequent open source contributor.

  • Adam Tornhill

    Adam Tornhill

    Author of Your Code as a Crime Scene

    Seven Secrets of Maintainable Codebases

    Seven Secrets of Maintainable Codebases

    In this session you'll learn novel techniques that help you make sense of large codebases. You'll learn to identify the code that really matters for your ability to maintain a codebase, how to prioritize improvements and even evaluate your architecture based on how you actually work with the code. We'll also cover the people side of programming as you learn to mine social information such as communication paths, developer knowledge and hotspots.

    All techniques are based on software evolution. They use data from the most underused informational source that we have in our industry: our version-control system. Each point is illustrated with a case study from a well-known codebase like Roslyn, ASP.NET MVC, Scala or Clojure. This is a new perspective on software development that will change how you work with large systems. Come join the hunt for better code!

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

  • Adrian Cockcroft

    Adrian Cockcroft

    Battery Venture

    Adrian Cockcroft has had a long career working at the leading edge of technology. He’s always been fascinated by what comes next, and he writes and speaks extensively on a range of subjects. At Battery, he advises the firm and its portfolio companies about technology issues and also assists with deal sourcing and due diligence.

    Before joining Battery, Adrian helped lead Netflix’s migration to a large scale, highly available public-cloud architecture and the open sourcing of the cloud-native NetflixOSS platform. Prior to that at Netflix he managed a team working on personalization algorithms and service-oriented refactoring.

    Adrian was a founding member of eBay Research Labs, developing advanced mobile applications and even building his own homebrew phone, years before iPhone and Android launched. As a distinguished engineer at Sun Microsystems he wrote the best-selling “Sun Performance and Tuning” book and was chief architect for High Performance Technical Computing.

    He graduated from The City University, London with a Bsc in Applied Physics and Electronics, and was named one of the top leaders in Cloud Computing in 2011 and 2012 by SearchCloudComputing magazine.

  • Amber Case

    Amber Case

    caseorganic.com

    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.

  • Amir Chaudhry

    Amir Chaudhry

    OCaml Labs, Cambridge Computer Laboratory

    Amir works at Unikernel Systems and was previously Programme Manager in the OCaml Labs group at the Cambridge Computer Laboratory. Most of his time is spent on open source efforts and he's a big fan of automation (testing, deployment, etc). He's previously been involved in a number of startups and has a diverse academic background with an MSci in Physics and a PhD in Neuroscience.

  • Andrew Clay Shafer

    Andrew Clay Shafer

    Pivotal

    Andrew draws on a background in system automation, agile methods and web operations to transition organizations to next generation cloud infrastructure at Cloudscaling. Andrew Co-founded Reductive Labs, where he helped organizations build better systems with Puppet. He coined the term 'Agile Infrastructure' and contributed a chapter to the O'Reilly book Web Operations (The one with barracuda on the cover. That's right, barracuda...).

    Andrew has over 15 years working with technology but he is always trying to explore new and better ways to solve problems. He doesn't claim to have all the answers, but hopes he can help people ask better questions. Andrew is more and more frequently given the opportunity to talk on his experience and ideas about managing software and systems. He is infrequently asked to stop talking.

  • Bart De Smet

    Bart De Smet

    Microsoft

    Bart De Smet is a Principal Software Development Engineer working on large scale stream processing systems in the Applications and Services Division at Microsoft Corporation, a course and book author. In his current role at Microsoft, he’s overseeing the architecture, design, and implementation of event processing systems that run at massive scale in data centers, as well as on cloud-connected devices. One of the publicly visible technologies powered by this infrastructure is Cortana. Prior to joining the Applications and Services Division, Bart was involved with the design and implementation of Reactive Extensions for .NET (Rx) and on an extended "LINQ to Anything" mission back in the SQL organization. His main interests include programming languages, runtimes, functional programming, and all sorts of theoretical foundations. Before joining the company, Bart was a C# MVP for four years, while completing his Master of Civil Engineering and Computer Science studies at Ghent University, Belgium. Bart is also the author of the C# 5.0 Unleashed book (and its predecessor) by SAMS, and an author of online courses at Pluralsight for topics such as C# language internals.

  • Bodil Stokke

    Bodil Stokke

    Trading Technologies

    The Miracle of ES6 Generators

    The Miracle of ES6 Generators

    Born into an aristocratic Russian-German family, Bodil traveled widely around the Soviet Union as a child. Largely self-educated, she developed an interest in computer science during her teenage years. According to her later claims, in 1989 she embarked on a series of world travels, visiting Europe, the Americas, and India. She alleged that during this period she encountered a group of mathematical adepts, the "Haskell Language and Library Committee," who sent her to Glasgow, Scotland, where they trained her to develop her powers of category theory. Both contemporary critics and later biographers have argued that some or all of these foreign visits were fictitious, and that she spent this period writing JavaScript.

    Bodil was a controversial figure during her lifetime, championed by supporters as an enlightened guru and derided as a fraudulent charlatan by critics. Her doctrines influenced the spread of Homotopy Type Theory in the West as well as the development of Western computer science currents like dependent types, blockchains and isomorphic JavaScript.

  • Bridget Kromhout

    Bridget Kromhout

    Pivotal

    Containers will not fix your broken culture (and other hard truths)

    Containers will not fix your broken culture (and other hard truths)

    Containers will not fix your broken culture. Microservices won’t prevent your two-pizza teams from needing to have conversations with one another over that pizza. No amount of industrial-strength job scheduling makes your organization immune to Conway’s Law.

    Does this mean that devops has failed? Not in the slightest. It means that while the unscrupulous might try to sell us devops, we can’t buy it. We have to live it; change is a choice we make every day, through our actions of listening empathetically and acting compassionately. Iterative improvement starts somewhere for us all; let’s talk about it.

    Tools are essential, but how we implement the tools and grow the culture and practices in our organizations needs even more attention. Whether you’re just starting to implement technical and organizational change, or facing the prospect that you already have legacy microservices, it’s worth considering the why and the how of our behaviors, not just the what.

    Making thoughtful decisions about tools and architecture can help. Containers prove to be a useful boundary object, and deconstructing systems to human-scale allows us to comprehend their complexity. We succeed when we share responsibility and have agency, when we move past learned helplessness to active listening. But there is no flowchart, no checklist, no shopping list of ticky boxes that will make everything better. “Anyone who says differently is selling something”, as The Princess Bride teaches us. Instead, let’s talk about practical, actionable steps that will help. How do we evaluate our progress? How do we know when to course-correct? How do we react when it seems like there’s always something new we should have done last month?

    Bridget Kromhout is a Principal Technologist for Cloud Foundry at Pivotal. Her CS degree emphasis was in theory, but she now deals with the concrete (if ‘cloud’ can be considered tangible). After years in site reliability operations (most recently at DramaFever), she traded in oncall for more travel. A frequent speaker at tech conferences, she helps organize the AWS and devops meetups at home in Minneapolis, serves on the program committee for Velocity, and acts as a global core organizer for devopsdays. She podcasts at Arrested DevOps, occasionally blogs at bridgetkromhout.com, and is active in a Twitterverse near you.

  • Caitie McCaffrey

    Caitie McCaffrey

    Twitter

    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.

  • Charity Majors

    Charity Majors

    Facebook

    Bootstrapping a World Class Ops Team

    Bootstrapping a World Class Ops Team

    So you think you need an Ops team. Are you sure? Maybe you do, or maybe your developers just need to get better at owning their own services. Operations engineering at scale is a specialized skillset, and you don't need an ops team until you have hard operational problems.

    What are hard operational problems? And if you do need an ops team, where do you start? We'll talk about strengths-based hiring, good interviewing techniques and bad, and how to build a cohesive team rather than a collection of strong individuals. We will also talk about how to effectively integrate an operations (or SRE, or systems) engineering team with your existing software teams using cutting edge techniques such as "DevOps" and "Empathy".

    Charity is a systems engineer at Parse/Facebook and is happily building out the next generation of mobile platform technology.

    Charity is co-author of O’Reilly Media’s Databases at Scale.

  • Corey Haines

    Corey Haines

    Hearken

    Corey loves to code. He also loves to speak. This is an opportunity to mix these two passions. Best known for his journeyman tour and co-founding the coderetreat community, Corey continues to help developers discover ways to continue on the path of awesome development. Lately, he has been focused on effective, maintainable design through a better understanding of the fundamentals of writing code. He is the author of the book, Understanding the 4 Rules of Simple Design, and an upcoming book on The Lambda Calculus.

  • Dan North

    Dan North

    Dan North & Associates

    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.

  • Daniel Bryant

    Daniel Bryant

    OpenCredo

    Empathy - The Hidden Ingredient of Good Software Development

    Empathy - The Hidden Ingredient of Good Software Development

    When I ask fellow developers what they think about empathy, the answer is often “not much”. However, I believe that the skill of empathy, being able to place yourself in another’s position, is crucial to designing, building and operating software at any scale. Join me for a whistle stop tour of the benefits of empathy, which I have learned from working on a wide variety of software projects over the previous ten years. I will share stories of success and failure, and suggest practical techniques that you can harness in order to help your team develop empathy.

    When gathering requirements and performing business analysis, it is obvious that the ability to experience from within another user/customer/being's frame of reference is a valuable skill, but the same can be said when writing code. If we follow Martin Fowler’s train of thought where “any fool can write code that a computer can understand. Good programmers write code that humans can understand” we can see that empathy is at the heart of this skill. We could also argue that the rise of “DevOps” is simply both sides of the traditional divide trying to understand each other better. Developing the skill of empathy isn’t necessarily easy, but in this talk I will share my learnings, techniques and tricks for developing more effective software.

    Daniel Bryant is a Principal Consultant at OpenCredo, and specialises in enabling agility within organisations. His current work includes introducing better requirement gathering and planning techniques, focusing on the relevance of architecture within agile development, and facilitating continuous integration/delivery. Daniel’s current technical expertise focuses on 'DevOps’ tooling, cloud platforms and microservice implementations. He is also a leader within the London Java Community (LJC), contributes to several open source projects, writes for well-known technical websites, and regularly presents at international conferences such as JavaOne, Devoxx and FOSDEM.

  • Danilo Beuche

    Danilo Beuche

    pure-systems

    Versions, Variants, Reuse - Get me out of here!

    Versions, Variants, Reuse - Get me out of here!

    Development is a race with limited sight. Using existing artifacts can give you a strong boost in that race, but often reuse turns against you later in that race. New versions of reused artifacts, support for older release of your product out in the field, different ideas by different clients how the products have to be tailored for them, it can become messy and in the end a lot of work which finally slows you down too much. So reuse isn't that great, is it?

    The talk will give you some insights how to reuse in systematic ways by looking at it from a different perspective. Instead of creating reusable artifacts for later reuse it turns it around and looks at it from the product perspective: features define parts, not the other way around. Deploying systematic reuse and variant management based on the principles of product line engineering will come to help you securing your lead in the (long distance) development race. We'll also cover the important question, when variant management and product line engineering should be the preferred choice for your reuse problem.

    Consultant with experience in development of complex (embedded) systems, object-oriented development, change and requirements management. Main focus is support of product line engineering activities. Specialties: software product line engineering, variant management.

  • Danilo Poccia

    Danilo Poccia

    AWS

    Connecting the Unconnected: IoT Made Simple

    Connecting the Unconnected: IoT Made Simple

    Connecting physical devices to the cloud can enhance the user experience. AWS IoT is a new managed service that enables Internet-connected things (sensors, actuators, devices, and applications) to easily and securely interact with each other and the cloud. In this session, we will discuss how constrained devices can send data to the cloud and receive commands back to the device. Devices can securely connect using MQTT, HTTP, WebSockets protocols and developers can leverage several features of AWS IoT such as the Rules Engine and Thing Shadows to quickly and easily build a real connected product. This session will take a practical approach to developing real-world IoT and mobile applications in which the back end is serverless and can scale from one to virtually unlimited users without any infrastructure or servers to manage.

    Danilo works with startups and companies of any size to support their innovation. In his role as Technical Evangelist at Amazon Web Services, he leverages his 20 years of experience to help people bringing their ideas to life, focusing on event-driven programming and serverless architectures, and on the technical and business impact of mobile platforms and data analytics.

  • Danilo Poccia

    Danilo Poccia

    AWS

    Building Event-driven Serverless Applications

    Building Event-driven Serverless Applications

    We built event-driven user interfaces for decades. What about bringing the same approach to mobile, web, and IoT backend applications? You have to understand how data flows and what is the propagation of changes, using reactive programming techniques. You can focus on the core functionalities to build and the relationships among the resources you use. Your application behaves similarly to a “spreadsheet”, where depending resources are updated automatically when something “happens”, and is decomposed into scalable microservices without having to manage the infrastructure. The resulting architecture is efficient and cost effective to run on AWS and managing availability, scalability and security becomes part of the implementation itself.

    Hands-on session talk: 90 minutes long, code heavy session

    Danilo works with startups and companies of any size to support their innovation. In his role as Technical Evangelist at Amazon Web Services, he leverages his 20 years of experience to help people bringing their ideas to life, focusing on event-driven programming and serverless architectures, and on the technical and business impact of mobile platforms and data analytics.

  • Destiny Montague // Rich Smith

    Etsy // Etsy

    Crafting an Effective Security Organisation

    Crafting an Effective Security Organisation

    Understanding people, and not just technology, is critical in building a successful Security team. Much has been spoken about Etsy's engineering culture, and how continuous deployment and 'devops' have been embraced and developed, but how does security operate in such an environment? This presentation will discuss the progressive approaches taken by the Etsy security team to provide security while not destroying the freedoms of the Etsy engineering culture that are loved so much.

    Discussion will cover the building of an effective security organisation that is people rather than technology centric, and one that positions security to facilitate problem solving with fellow engineers rather than blocking progress through the fear of increased risk. The aim of this discussion is to start a dialogue that will hopefully result in a more honest and inclusive security environment, in contrast to the more common scenario where a false perception of security exists that becomes increasingly divergent from reality as the imposed constraints are actively circumvented.

    The approaches discussed are those that we have found work for Etsy but should not be seen as a one-size-fits-all solution. Every organisation is different and has its own cultural needs, but it is hoped attendees will be able to adapt our learnings to best meet their own organisation and in doing so share these experiences back with the wider community.
    Destiny Montague

    Destiny Montague is a Security Engineer at Etsy. When not solving problems at Etsy, she plays several musical projects including Feathers and her own solo project, Carl Sagan.

    Rich Smith

    Rich Smith, Director of Security Engineering at Etsy, leads a fearless band of cyber-guardians in defending Etsy's members, sellers, and knitted goods from the evils of the Interwebs. Cross-site-stitching and sequin-injection are all taken in stride daily. Prior to his role at Etsy, Rich co-founded Syndis, Iceland’s premier technical security consultancy, where he continues to be an advisor and board member. Rich previously led Kyrus Technology's Commerical Attack Services, held the role of Vice President of Cyber Threat at Morgan Stanley, was a senior researcher at Immunity Inc, and led the Research In Offensive Technologies and Threats group at Hewlett-Packard Research Labs. In his spare time Rich likes beer, noisy music and Python.

  • Diogo Mónica

    Diogo Mónica

    Docker

    Diogo Mónica is the Security Lead at Docker, an open platform for building, shipping and running distributed applications. He was an early employee at Square where he led the platform security team. He received his BSc and MSc degrees in Communication Networks Engineering and is currently a Security Researcher at the distributed systems group. Diogo also serves on the board of advisors of several security startups and is a long-time IEEE Volunteer.

  • Doc Norton

    Doc Norton

    CTO2

    The Technical Debt Trap

    The Technical Debt Trap

    Technical Debt has become a catch-all phrase for any code that needs to be re-worked. Much like Refactoring has become a catch-all phrase for any activity that involves changing code. These fundamental misunderstandings and comfortable yet mis-applied metaphors have resulted in a plethora of poor decisions. What is technical debt? What is not technical debt? Why should we care? What is the cost of misunderstanding? What do we do about it? Doc discusses the origins of the metaphor, what it means today, and how we properly identify and manage technical debt.

    Learning Outcomes
    • History of the Technical Debt Metaphor
    • Challenges with the current common understanding
    • Why what you call “debt” is probably better described as “cruft”
    • How to manage cruft (debt)

    Doc is passionate about working with teams to improve delivery and building great organizations. Once a dedicated code slinger, Doc has turned his energy toward helping teams, departments, and companies work better together in the pursuit of better software. Working with a wide range of companies such as Groupon, Nationwide Insurance, Belly, and many others, Doc has applied tenants of agile, lean, systems thinking, and servant leadership to develop highly effective cultures and drastically improve their ability to deliver valuable software and products.

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

  • Francesc Campoy

    Francesc Campoy

    Google

    Kubernetes: from zero to prod

    Kubernetes: from zero to prod

    Francesc Campoy Flores joined the Go team in 2012 as Developer Programs Engineer. Since then, he has written some considerable didactic resources and traveled the world attending conferences and organizing live courses.

    He joined Google in 2011 as a backend software engineer working mostly in C++ and Python, but it was with Go that he rediscovered how fun programming can be. He loves languages; fluent in four of them, he’s now tackling a fifth one.

  • Gareth Rushgrove

    Gareth Rushgrove

    Puppet Labs

    Gareth Rushgrove is a senior software engineer at Puppet Labs. He works remotely from Cambridge, UK, building interesting tools for people to better manage infrastructure. Previously he worked for the UK Government Digital Service focused on infrastructure, operations and information security. When not working he can be found writing the Devops Weekly newsletter or hacking on software in new-fangled programming languages.

  • Gojko Adzic

    Gojko Adzic

    Neuri Consulting LLP

    The future of automated testing

    The future of automated testing

    Processing is getting cheaper, software is getting more distributed and clouds are taking over. These trends will have a significant impact on what we can do with test automation and what will make sense to automate in the future. Prohibitively expensive testing strategies are becoming relatively cheap, and things that we didn’t even consider automating will become quite easy. At the same time, strategies that served us well for on-premise reliable hardware simply won't work for the distributed, fragmented, virtualised platforms.

    Gojko presents emerging trends in the testing tools space and predicts how you'll be using tools differently ten years from now. If your organisation is suffering from the high cost of testing, come and learn about tools and trends that may help you outrun the competition.

    Gojko Adzic is a strategic software delivery consultant who works with ambitious teams to improve the quality of their software products and processes. He specialises in agile and lean quality improvement, in particular agile testing, specification by example and behaviour driven development. Gojko is the author of the Impact Mapping book. His previous book, Specification by Example, was awarded the #2 spot on the top 100 agile books for 2012 and won the Jolt Award for the best book of 2012. In 2011, he was voted by peers as the most influential agile testing professional, and his blog won the UK agile award for the best online publication in 2010.

  • Hadi Hariri

    Hadi Hariri

    JetBrains

    Kotlin - Ready for production

    Kotlin - Ready for production

    Kotlin, a language developed by JetBrains for nearly 5 years is very close to its first release. However, did you know that it's being used in production for over a few years now already? Both inside and outside of JetBrains there are people deploying Kotlin applications for Android platform, for Web Applications and just about any other type of application.

    Why are people using it instead of Java or some of the other languages out there? Primarily because it provides significant benefits in terms of conciseness, readability and safety, without some of the drawbacks that adopting a new language has such as a higher learning curve or interoperability with existing code and ecosystems.

    In this talk we'll cover some aspects of Kotlin that can really help you in your daily development, focusing on solving issues versus highlighting language features.

    Hadi Hariri is a developer, speaker and Technical Evangelist at JetBrains. His passions include software architecture and web development. Book author and frequent contributor to developer publications, Hadi has been speaking at industry events for over a decade. He is based in Spain where he lives with his wife and three sons. He is also an ASP.NET MVP and ASP.NET Insider.

  • Ines Sombra

    Ines Sombra

    Fastly

    The Fallacy Of Fast

    The Fallacy Of Fast

    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

  • James Turnbull

    James Turnbull

    Kickstarter

    Monitoring As A Service - Modernity and Self-Service

    Monitoring As A Service - Modernity and Self-Service

    Building a modern monitoring environment is more than just using the latest awesome tools, collecting all the data, displaying numerous graphs, and knowing when things go wrong. A modern monitoring environment is more than tools and infrastructure. It’s a service. A service you provide to your whole team: developers, operations, security, and the business.

    This talk is about how you can build monitoring environments (or extend your existing environment) that are customer-focused rather than infrastructure focused. You’ll see how you can treat your needs and the needs of your organization as customer requirements, and build monitoring that is consumable and configurable on demand.

    We’ll focus on:
    • You are not the only customer of your monitoring
    • What does monitoring as a service look like?
    • How do we move to a customer-driven service?
    • How does this change how your monitoring environment operates?

    By the end of the talk you should be able to understand what you need in order to make monitoring available as a service to anyone in your organization.

    James Turnbull is the author of seven technical books about open source software and is a long-time member of the open source community. James authored The Logstash Book and The Docker Book. He also wrote two books about Puppet (Pro Puppet and the earlier book about Puppet as well as Pro Linux System Administration, Pro Nagios 2.0, and Hardening Linux. For a real job, James is CTO at Kickstarter and an advisor at Docker. He likes food, wine, books, photography, and cats. He is not overly keen on long walks on the beach and holding hands.

  • Jeff Gothelf

    Jeff Gothelf

    Author, Speaker, Organizational Designer

    Almost Everything I’ve Learned From 5 Years of Lean UX

    Almost Everything I’ve Learned From 5 Years of Lean UX

    Since the idea first percolated in 2010 through to its current state as a permanent hashtag on Twitter, Lean UX has created a new way of looking at how we design products and services. Equally as important, it has created a new way to look at working together with our colleagues in product management, software engineering, marketing and executive leadership.

    Have the countless, conferences, articles, blog posts, books and presentations made a difference? Has Lean UX made a difference? How have the ideas evolved since 2010?

    In this talk, Jeff Gothelf, author of Lean UX, will recap his learnings from practitioner to author to teacher of Lean UX and the teams trying to adopt it. What’s worked? What hasn’t? Why? Where are things now and where are they headed? This tactical talk will cover all of that and more.

    Jeff Gothelf, Founding partner, Proof, Author of Lean UX: Applying lean principles to improve user experience. Jeff Gothelf has spent a 14 year career as an interaction designer, Agile practitioner, user experience team leader and blogger. He is one of the leading voices on the topic of Agile UX and Lean UX. He is a highly sought-after international speaker having presented at EuroIA, SXSW, IA Summit, Interaction (IxDA), London IA, the Agile conference and Startup Lessons Learned. Jeff has led cross-functional product design teams at TheLadders, Publicis Modem, WebTrends, Fidelity, AOL while maintaining a strong advisory and mentorship presence in the startup communities of New York City and Silicon Valley. Most recently he launched Proof - a lean product innovation studio in NYC. Blog: www.jeffgothelf.com/blog/

  • Jérôme Petazzoni

    Jérôme Petazzoni

    Docker

    Jerome is a senior engineer at Docker, where he helps others to containerize all the things. In another life he built and operated Xen clouds when EC2 was just the name of a plane, developed a GIS to deploy fiber interconnects through the French subway, managed commando deployments of large-scale video streaming systems in bandwidth-constrained environments such as conference centers, operated and scaled the dotCloud PAAS, and various other feats of technical wizardry. When annoyed, he threatens to replace things with a very small shell script.

  • Jessica Kerr

    Jessica Kerr

    Stripe

    Adventures in Elm: Question Your Principles

    Adventures in Elm: Question Your Principles

    What do you get when you combine strict functional programming with heavy user interaction?

    Challenges, and unexpected freedoms.

    Elm is a purely functional language for the browser. It compiles to JavaScript -- after enforcing immutability, types, semantic versioning, and tight boundaries for user and server interactions. Working within these restrictions, I find my programming principles turned upside down. Small components? who needs them. Global state? no problem. New principles emerge instead: events, reproducibility, kindness in times of error. This session gives an overview of Elm, then focuses on the Elm Architecture: how it overturns what is essential in object-oriented and even backend functional programming.

    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#, Scala, Clojure, and now Elm. She speaks about functional programming, property-based testing, and juggling complexity. In real life, she works on the data pipeline at Stripe and raises two daughters in St. Louis, MO. Find her @jessitron or blog.jessitron.com.

  • Jessie Frazelle

    Jessie Frazelle

    Docker

    Application Sandboxes vs. Containers

    Application Sandboxes vs. Containers

    This talk will cover the differences between application sandboxes and containers. The most well known sandbox is Chrome, for providing "hard guarantees about what ultimately a piece of code can or cannot do no matter what its inputs are". At its core, the Linux Chrome sandbox uses namespaces along with seccomp and other native features to provide these guarantees. Containers are composed of the same primitives. What is needed for containers to provide this promise? Can it be done by default? What steps are already being made to get towards containers that actually "contain"?

    Docker Core Maintainer. Typecasted as the person who runs everything in containers including desktop apps. Loves everything from ldflags hacks to syscalls. Nerd by day, rap battle champion by night.

  • Jez Humble

    Jez Humble

    Jez Humble & Associates LLC

    Jez Humble was a vice president at Chef, a lecturer at UC Berkeley, and co-author of the Jolt Award winning Continuous Delivery, published in Martin Fowler’s Signature Series (Addison Wesley, 2010), and Lean Enterprise, in Eric Ries’ Lean series (O’Reilly, 2014). He has worked as a software developer, product manager, executive, consultant and trainer across a wide variety of domains and technologies. His focus is on helping organisations deliver valuable, high-quality software frequently and reliably through implementing effective engineering practices.

  • J. B. Rainsberger

    J. B. Rainsberger

    jbrains.ca

    J. B. Rainsberger helps software companies better satisfy their customers and the businesses they support. Over the years, he has learned to write valuable software, overcome many of his social deficiencies, and built a life that he loves. He has traveled the world sharing what he's learned, hoping to help other people get what they want out of work and out of their lives. He provides personalised consulting and online training through http://online-training.jbrains.ca, where he helps even more people start getting the advice they need with minimal investment. He lives in Atlantic Canada with his wife, Sarah, and cat, Quincy.

  • John Allspaw

    John Allspaw

    Etsy

    John Allspaw is Etsy’s chief technology officer (CTO), leading the Product Engineering, Infrastructure, and Operations teams. Previously, he was the SVP of Infrastructure and Operations at Etsy. For over 17 years, he has worked in system operations in the biotech, government, and online media industries.

    John began his career running vehicle crash simulations for the U.S. government. In 1997, he made the leap to the web, building the technical infrastructures at Salon, InfoWorld, Friendster and Flickr. John is the author of The Art of Capacity Planning and Web Operations: Keeping the Data on Time, both published by O’Reilly Media. He holds a BS from the University of Massachusetts, Amherst, and an MSC from Lund University.

  • Jonathan Klein

    Jonathan Klein

    Attend

    Cognitive Biases in Engineering Organizations

    Cognitive Biases in Engineering Organizations

    Biases like the Fundamental Attribution Error, Confirmation Bias, and Hyperbolic Discounting show up in every day life, but are typically only discussed in academic circles. These biases have a wide reaching impact on organizations of all sizes, and can subtly influence decisions in a negative way if they aren’t called out explicitly and addressed.

    This talk will explain a few common biases that we’ve all seen in the workplace, discuss the reasons why they appear and the actions that result from them, and finally provide some concrete ways to avoid falling into these cognitive traps. The takeaways from this talk will be widely applicable to many roles at a variety of companies, as well as to your life in general.

    Jonathan the Director of Engineering at Attend, a Boston startup building event management software. Previously he was a senior software engineer at Etsy, where he focused on solving web performance and scalability challenges. He started the Boston Web Performance Meetup Group, and he contributes to a few open source projects, including the HTTPArchive, WebPagetest, CSSLint, and Hound (which he co-created). Jonathan blogs regularly at http://www.jonathanklein.net and can be found on Twitter at @jonathanklein.

  • Joseph Pelrine

    Joseph Pelrine

    MetaProg GmbH

    Psychological Aspects of Estimates

    Psychological Aspects of Estimates

    Stumped by story points? Paralysed by planning poker? How about trying something new? Estimation is a necessary but often unenjoyable part of software development. Although much has been written about methods and heuristics for estimating, there is very little information available about what happens psychologically when we estimate.

    This talk examines the cognitive and social psychological and aspects of estimation, and discusses some theories (such as Baumeister’s Ego Depletion Theory), which explain why, despite the best of intentions, our estimates are often not correct, and what we can do about it. We will also look at a number of new approaches, based on modern research in cognitive psychology and chronobiology, and tested with world-class agile teams, aimed at addressing the age-old problems of estimating and prioritizing work. From quatro stagioni to speed poker to multi-attribute utility analysis, you're sure to find new ideas to take back to your team.

    As Kent Beck’s assistant, Joseph Pelrine was one of the first in the world who worked with eXtreme Programming. As Europe’s first certified ScrumMaster and Trainer, he was largely responsible for introducing Scrum to the german-speaking part of Europe. For almost 20 years, Joseph Pelrine has been helping some of the world’s most important companies improve their software development process and successfully transition to Agile. A noted international speaker, he conducts research in the field of social complexity theory and its application to Agile processes, and is currently pursuing a PhD in psychology.

  • Josh Long

    Josh Long

    Pivotal

    Josh Long (@starbuxman) is the Spring developer advocate at Pivotal. He is a contributor to many open-source projects (including various Spring projects), an author on 5 books on Spring (for Apress and O'Reilly), has delivered 3 very popular Livelessons videos, and spoken at hundreds of software conferences and events worldwide.

  • Kate Heddleston

    Kate Heddleston

    Kate Heddleston LLC

    Usable Ops: How to make web infrastructure management easier

    Usable Ops: How to make web infrastructure management easier

    In the past few decades, web applications have become the backbone of much of the technology industry. Hosting tools like Amazon Web Services allow technology companies to build web applications on an unprecedented scale. While these tools give developers more power, it also allows people to build more and more complicated web applications that require multitudes of developers to build, deploy, monitor, and maintain.

    As developer tools increase in power, the systems we’re able to build do too. However, with great power comes great...complexity, and the systems we build today are more complex than ever before. This talk is about reducing the complexity of your web infrastructure, and making it easier for developers on your team to learn, use, and manage your infrastructure.

    This talk focuses on something we don't talk about much in the engineering community: infrastructure usability. Usable infrastructure is something that reduces developer errors, encourages correct behavior, and allows engineers to move quickly without having to worry about managing a complex infrastructure that requires specialized training.

    People should leave with an understanding of three things: what is usability, why it is important for web infrastructure, and how can they go about building usable infrastructure tools that are scalable throughout larger teams.

    Kate Heddleston is a software engineer from San Francisco, and loves building web applications and programming in Python. She studied computer science for a master’s degree, and communication and human-computer interaction for her undergraduate degree. Kate enjoys using open source tools to build web applications, and especially likes building portions of the product that interface with the user. When not programming, Kate is involved with organizations like Hackbright Academy, PyLadies, and Raphael House. She is currently traveling the world and working on personal projects.

  • Kelsey Hightower

    Kelsey Hightower

    Google

    Kelsey has worn every hat possible throughout his career in tech and enjoys leadership roles focused on making things happen and shipping software. Kelsey is a strong open source advocate focused on building simple tools that make people smile. When he is not slinging Go code you can catch him giving technical workshops covering everything from Programming, System Administration, and his favorite Linux distro of the month (CoreOS).

  • Kovas Boguta

    Kovas Boguta

    Infoharmoni

    Demand-Driven Architecture

    Demand-Driven Architecture

    Demand-driven architectures permit clients to pull arbitrary information on demand. Companies like Facebook and Netflix are transitioning to demand-driven architectures because they better accommodate diversifying and ever-changing clients. Conventional designs often rigidly front load decisions leading to brittle, inefficient systems with endless corridors of incidental complexity. Architectures that instead permit clients to request information on demand, such as Relay and Falcor/JSONGraph, give developers a way out. Database solutions like Datomic permit running demand driven queries directly without the arbitrary limitations of document or key-value stores. By embracing demand driven architectures we can more flexibly accommodate the rapidly transforming needs of today's clients (web, native, data api consumers) while paving the way for the unforeseen clients of the future.
  • Kris Kowal

    Kris Kowal

    Uber

    A General Theory of Reactivity

    A General Theory of Reactivity

    Draw a sample from the cacophony: “Everything is just a stream.” “A promise is just an observable.” “A value is just an array of length one.” “There are no silver bullets.” “Why can’t we all just get along?”

    It is only logical that we all get along. In this talk I will explain a General Theory of Reactivity, which will train you how to choose the right asynchronous tool for the job, covering Streams, Promises, Tasks, Futures, Observables, and more.

    Each of these primitives is distinguished by whether it is broadcast or unicast, pushable or pullable, discrete or continuous. All objects that model temporal behavior have analogues with spatial behavior, and some combine both.

    Furthermore, each of these concepts is becoming integral to the JavaScript language or the web platform. What makes each of these types similar and what makes each of them distinct is the key to weaving them into a cohesive whole.

    https://github.com/kriskowal/gtor

    Kris Kowal wrote the CommonJS modules specification and the first package.json. He also published Q, an asynchronous promise library, that had a hand in shaping JavaScript’s Promise. Kris also created 3rin.gs, an online map of Middle-earth, penned in Elvish. Kris works on distributed systems and RPC at Uber.

  • Kyle Kingsbury

    Kyle Kingsbury

    Stripe

    Jepsen VI

    Jepsen VI

    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.

  • Lindsay Holmwood

    Lindsay Holmwood

    Australian Government’s Digital Transformation Office

    Lindsay Holmwood is a engineering manager living in the Australian Blue Mountains. Lindsay works at the Australian Government’s Digital Transformation Office, building clearer, simpler, faster, more humane public services . A long-time contributor to the open source and DevOps communities, he authored cucumber-nagios, Visage, and Flapjack, and has run the Sydney DevOps meetup the past five years.

    Lindsay speaks internationally about both the cultural and technical side of DevOps, covering Just Culture, complexity, cognitive biases, and monitoring tools. He also won third place at the 1996 Sydney Royal Easter Show LEGO building competition.

  • Mark Burgess

    Mark Burgess

    Cfengine

    How do we know IT systems are working well?

    How do we know IT systems are working well?

    Mark Burgess is the founder, CTO and principal author of Cfengine. He is Professor of Network and System Administration at Oslo University College and has led the way in theory and practice of automation and policy based management for 20 years. In the 1990s he underlined the importance of idempotent, autonomous desired state management (“convergence”) and formalised cooperative systems in the 2000s (“promise theory”). He is the author of numerous books and papers on Network and System Administration and has won several prizes for his work.

  • Martin Fowler // Erik Dörnenburg

    ThoughtWorks // ThoughtWorks

    Architecture without architects

    Architecture without architects

    Martin Fowler

    Martin is an author, speaker, consultant and self-described general loud-mouth on software development. He concentrates on designing enterprise software – looking at what makes a good design and what practices are needed to come up with good design. Fowler has been a pioneer of various topics around object-oriented technology and agile methods, and written several books including Refactoring, UML Distilled, Patterns of Enterprise Application Architecture, and NoSQL Distilled. For the last decade he’s worked at ThoughtWorks, what he considers a “really rather good” system delivery and consulting firm, and writes at http://martinfowler.com.

    Erik Dörnenburg

    Erik Dörnenburg is the Head of Technology Europe at ThoughtWorks where he helps clients with the design and implementation of enterprise software. With experience in Java, .NET, and other environments Erik is continually exploring new technology. Frequent exposure to overly complex software has made him interested in simple architectures and software visualisation as means to help people better understand architecture.

    Erik’s career in enterprise software began in the early nineties on the NeXTSTEP platform, and throughout his career he has been an advocate of agile values and Open Source software. He holds a degree in Informatics from the University of Dortmund and has studied Computer Science and Linguistics at University College Dublin.

    Erik is member of GOTO Aarhus Program Advisory Board. See what Erik says on his blog

  • Marty Cagan

    Marty Cagan

    Silicon Valley Product Group

    Great Product Team, Successful Product

    Great Product Team, Successful Product

    In last year’s keynote “Great Engineering, Failed Product” I discussed the ten biggest reasons why products fail. Unfortunately, many people told me that they suffer from each of these problems. So they asked me if I could talk more about the alternative. So in this talk, I will describe what I consider to be the ten most critical characteristics and behaviors of highly effective product teams. Not just of good teams, but of truly strong teams that consistently innovate and provide value for their customers and their business. I have long argued that there is a very dramatic difference between how the best teams work, and how most teams work. In last year’s talk you saw the serious issues in how most teams work. In this year’s talk, you’ll see how the best teams work.

    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

    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

  • Matt Ranney

    Matt Ranney

    Uber

    Scaling Uber

    Scaling Uber

    Matt is the Chief Systems Architect at Uber, where he's helping build and scale everything he can. Previously, Matt was a founder and CTO of Voxer, probably the largest and busiest deployment of Node.js. He has a computer science degree which has come in handy over a career of mostly network engineering, operations, and analytics.

  • Michael Feathers

    Michael Feathers

    R7K LLC

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

  • Mitchell Hashimoto

    Mitchell Hashimoto

    HashiCorp

    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.

  • Neha Narula

    Neha Narula

    MIT

    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.

  • Patrick Debois

    Patrick Debois

    Smalltownheroes

    In order to understand current IT organizations, Patrick Debois has made a habit of changing both his consultancy role and the domain that he works in: sometimes as a developer, manager, sysadmin, or tester, and even as the customer. If there is one thing that annoys him, it is the great divide between all these groups. Patrick first presented concepts on Agile infrastructure at Agile 2008 in Toronto, and in 2009 he organized the first devopsdays. Since then he has been promoting the notion of DevOps to exchange ideas between these groups, and show how they can help each other to achieve better results in business.

  • Phil Calçado

    Phil Calçado

    DigitalOcean

    Phil is the Director of Software Engineering at DigitalOcean, previously he was the Director of Core Engineering at SoundCloud, and his team was responsible for “keeping the trains running” in our microservices architecture. Before that he was the Director of Product Engineering at SoundCloud, and before joining SoundCloud he was a Lead Consultant for ThoughtWorks in Australia and the UK.

  • Rachel Davies

    Rachel Davies

    Unruly Media

    Rachel Davies is co-author of the first Agile Coaching book and works in UK as Agile Coach at Unruly Media, the leading global platform for social video marketing. Internationally recognized and presenting at industry conferences worldwide, Rachel started out working as a software developer and has been an agile practitioner since 2000 applying a range of agile methods including XP, SCRUM, Lean/Kanban, and DSDM. Follow her @rachelcdavies

  • Raffi Krikorian

    Raffi Krikorian

    Uber

    Raffi Krikorian is engineering lead at Uber’s Advanced Technologies Center in Pittsburgh, Pennsylvania. He spends most of his time thinking about off-the-wall ways to change computing, transportation, and the world. Until August 2014, Raffi was Twitter’s VP of Engineering in charge of the platform – the core infrastructure of Twitter. During his tenure, platform engineering was primarily responsible for the scalability, efficiency, reliability, and performance of Twitter, as well as the developer productivity of all software engineers at Twitter. He lead the Twitter transition from a Ruby on Rails website to a JVM-powered services-oriented architecture. It currently serves about 250 million monthly active users, who send about 500 million tweets daily. He also created and used to chair Twitter’s Architecture Group, the team of senior software engineers in charge of Twitter’s overall technology portfolio, who also ensured that software got written to the same consistent standards across its entire global development team.

  • Sam Newman

    Sam Newman

    ThoughtWorks

    Sam Newman is a technologist at ThoughtWorks, where he currently splits his time between encouraging and sharing innovation globally and helping design and build their internal systems. He has worked with a variety of companies in multiple domains around the world, often with one foot in the developer world, and another in the IT operations space. If you asked him what he does, he'd say 'I work with people to build better software systems'. He has written articles, presented at conferences, and sporadically commits to open source projects. He is currently writing a book, Building Microservices, which is available in early access form now, and dead tree version very soon.

  • Sandi Metz

    Sandi Metz

    TorqueForge, LLC

    Get a Whiff of This

    Get a Whiff of This

    Most code is a mess. Most new requirements change existing code. Ergo, much our work involves altering imperfect code.

    That's the bad news.

    The good news is that every big mess is made up of many small ones. Some small problems occur so frequently that they've been given names, and are collectively referred to as "Code Smells".

    This talk illustrates how to take a pile of perplexing code, identify the "smells", and select and surgically apply the curative refactoring. It solves an intractable large problem by breaking it down into well-known small ones, and proves that you can fix anything without being forced to understand everything.

    Sandi Metz, author of Practical Object-Oriented Design in Ruby, believes in simple code and straightforward explanations. She prefers working software, practical solutions and lengthy bicycle trips (not necessarily in that order) and consults and teaches on all things OOP.

  • Sandro Mancuso

    Sandro Mancuso

    Codurance

    Does TDD really lead to good design?

    Does TDD really lead to good design?

    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.

  • Seth Vargo

    Seth Vargo

    Hashicorp

    Scheduling Applications at Scale

    Scheduling Applications at Scale

    Tools like Docker and rkt make it easier than ever to package and distribute applications. Unfortunately, not all organizations have the luxury of being able to package their applications in a container runtime.

    Many organizations have virtualized workloads that cannot be easily containerized, such as applications that require full hardware isolation or virtual appliances. On the opposite end of the spectrum, some organizations deploy workloads that are already static binaries such as Go applications or Java applications that only rely on the JVM. These types of applications do not benefit from containerization as they are already self-contained. To address the growing heterogeneity of workloads, HashiCorp created Nomad – a globally aware, distributed scheduler and cluster manager.

    Nomad is designed to handle many types of workloads, on a variety of operating systems, at massive scale. Nomad empowers developers to specify jobs and tasks using a high-level specification in a plain-text file. Nomad accepts the job specification, parses the information, determines which compatible hosts have available resources, and then automatically manages the placement, healing, and scaling of the application. By placing multiple applications per host, Nomad maximizes resource utilization and dramatically reduces infrastructure costs.

    The flexibility of Nomad’s design brings the benefits of a scheduled application workflow to organizations with heterogeneous workloads and operating systems. This talk will discuss the pros and cons of running in a scheduled environment and includes a series of live demos to supplement the learning experience.

    Seth Vargo has been a member of the DevOps community for about five years. He is a polyglot software engineer and open source advocate at HashiCorp. Previously, Seth worked at Chef (Opscode), CustomInk, and a few Pittsburgh-based startups. He is a co-author of O'Reilly's "Learning Chef" and is passionate about eliminating inequality in technology and organizational culture. When he is not writing software or working on open source, Seth enjoys speaking at local user groups and conferences. He is a co-organizer for DevOps Days Pittsburgh and loves all things bacon. You can find him on the Internet under the single moniker "sethvargo".

  • Steve Freeman // Hilverd Reker

    Zuhlke Engineering Ltd. // Springer Nature

    A meta-pipeline for generating continuous delivery pipelines for microservices

    A meta-pipeline for generating continuous delivery pipelines for microservices

    Our development group is adopting microservices. We found that having developers set up build pipelines by hand for each service was time-consuming and led to inconsistencies as our environment changed, so we automated the process. We developed a meta-pipeline that will generate a continuous delivery pipeline for any of our repositories that follow a set of conventions - our Meta-Pipeline Protocol. Standardising our pipeline definition has greatly reduced our programmers' effort and allowed us to safely evolve our build environment. We're starting to exploit this meta information to improve our overall environment, for example: to visualise relationships, to manage the running of client contract tests, and to profile build timings. In this experience report we will describe the structure of the system, our struggles to develop it, and some of the design decisions we made along the way.
    Steve Freeman

    Steve Freeman, author of Growing Object Oriented Software, Guided by Tests (Addison-Wesley), was a pioneer of Agile software development in the UK. He has developed software for a range of institutions, from small vendors to multinational investment banks. Steve trains and consults for software teams around the world. Previously, he has worked in research labs and software houses, earned a PhD (Cambridge), written shrink-wrap applications for IBM, and taught at University College London. Steve is a presenter and organiser at international industry conferences, and was chair of the first London XPDay.

    Hilverd Reker

    Hilverd Reker is a developer at Springer Nature in London where he works on the Tools Engineering team. He is identifying and implementing solutions to problems faced by most of Springer Nature's software development teams, and doing longer-term work that individual teams can find difficult to justify in short-term value.

  • Todd Montgomery

    Todd Montgomery

    StoneTor LLC

    Todd L. Montgomery is an independent software developer and consultant specializing in high performance applications in a number of languages. Previously, Todd was CTO of 29West and a Vice President of Architecture for Informatica where he was the chief designer and implementer of the 29West low latency messaging products, and Chief Architect of Kaazing. The Ultra Messaging product family (formerly known as LBM) has hundreds of production deployments within electronic trading across many asset classes and pioneered the broker-less messaging paradigm. In the past, Todd has held architecture positions at TIBCO and Talarian as well as lecture positions at West Virginia University, contributed to the IETF, and performed research for NASA in various software fields.

    Todd is also co-author and co-maintainer of the Aeron, Agrona, and Simple Binary Encoding (SBE) open source projects.

    With a deep background in messaging systems, high performance systems, reliable multicast, network security, congestion control, and software assurance, Todd brings a unique perspective tempered by over 20 years of practical development experience.

  • Tony Brill

    Tony Brill

    Square 1 Bank

    An introduction to the GROWS Method

    An introduction to the GROWS Method

    What is it?

    The Grows Method is an evolution of agile principles and builds upon our experience and empirical learning over the last decade. Some of the key findings include:
    • Principles are more important than practices, but both are needed
    • Beginners need steps / We need the Dryfus Model of skills acquisition
    • Managers need to focus on connecting teams to the mission, not just what needs done, but why
    • We need tracer bullets, a simple complete architectural path through our system to use as a template for success
    • Different teams are at different levels and need a structure and understanding of where they are so they can GROW

    Why you should care?


    This discussion helps practitioners and leaders take ownership for the success of their areas by applying adaptations that will help ensure that success. You will be introduced to how GROWS focuses on ownership, goals, and a principle driven framework while de-emphasizing ingrained practices.

    Tony has a long history of leading software teams. As a coach, he focuses on leadership, turning around under-performing teams, implementing sound technical practices and aligning teams to business objectives. He's held senior leadership roles in the Aerospace and Finance industry and has developed a number of games to help teams move from awareness of a principle to actually starting to believe in it.

  • Trisha Gee

    Trisha Gee

    JetBrains

    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.

  • Venkat Subramaniam

    Venkat Subramaniam

    Agile Developer Inc.

    Dr. Venkat Subramaniam is an award-winning author, founder of Agile Developer, Inc., and an instructional professor at the University of Houston.

    He has trained and mentored thousands of software developers in the US, Canada, Europe, and Asia, and is a regularly-invited speaker at several international conferences. Venkat helps his clients effectively apply and succeed with agile practices on their software projects.

    Venkat is a (co)author of multiple books, including the 2007 Jolt Productivity award winning book Practices of an Agile Developer. His latest book is Functional Programming in Java: Harnessing the Power of Java 8 Lambda Expressions. You can reach him by email at venkats@agiledeveloper.com.

  • Yao Yue

    Yao Yue

    Twitter

    Toward Better Design and Code

    Toward Better Design and Code

    Yao Yue is a member of Twitter Platform. She is the tech lead and manager of the Cache Team, and has spent the past few years maintaining, designing and implementing various cache-related projects. She maintains several open source projects, including Twemcache and Twemproxy. Yao has a particular interest in building and simplifying systems deployed at-scale. Over the years she has spent much time studying and playing with computer networks, various distributed systems, databases, and parallel programming. Yao has a BS in Math and Physics and a MS in Computer Science. Before joining Twitter, she interned at Facebook, NVIDIA and IBM Research. In her spare time, Yao has been introducing programming to middle/high school girls via drawing and games. She is also a baker.

Workshops

2 Days Workshop - 26th and 27th of April

  • Sandro Mancuso

    Codurance

    Tuesday+Wednesday (Workshop Day 1+2) — 9:00 - 16:00Crafting Code - 2 days

    Crafting Code - 2 days

    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.

Workshop Day 1 - 26th of April

  • Adrian Cockcroft

    Battery Venture

    Tuesday (Workshop Day 1) — 9:00 - 16:00Microservices

    Microservices

    This tutorial goes into depth on the business need for speed that leads to microservices and the characteristics of existing microservice architectures. In addition, there will be a hands-on exercise to model your existing architecture, a future state, and the step by step migration to get there.

    Audience
    The audience is developers, architects, technical leaders, operations engineers, and anybody interested in the design and architecture of services and components. As part of this training, attendees get hands-on in simulating their own microservice architectures, using the open source spigo/simianviz tool.

    Prerequisites
    While no experience of microservices or SOA is necessary, it would be useful. Moreover, some awareness of cloud architectures, web services, and DevOps practices would also help.

    Computer prerequisites
    A laptop where you have admin rights to install software and the ability to sync to Github to get the code and contribute changes. We will use the Go language runtime (currently version 1.4.2). Windows, MacOSX, and Linux are supported.

    Adrian Cockcroft has had a long career working at the leading edge of technology. He’s always been fascinated by what comes next, and he writes and speaks extensively on a range of subjects. At Battery, he advises the firm and its portfolio companies about technology issues and also assists with deal sourcing and due diligence.

    Before joining Battery, Adrian helped lead Netflix’s migration to a large scale, highly available public-cloud architecture and the open sourcing of the cloud-native NetflixOSS platform. Prior to that at Netflix he managed a team working on personalization algorithms and service-oriented refactoring.

    Adrian was a founding member of eBay Research Labs, developing advanced mobile applications and even building his own homebrew phone, years before iPhone and Android launched. As a distinguished engineer at Sun Microsystems he wrote the best-selling “Sun Performance and Tuning” book and was chief architect for High Performance Technical Computing.

    He graduated from The City University, London with a Bsc in Applied Physics and Electronics, and was named one of the top leaders in Cloud Computing in 2011 and 2012 by SearchCloudComputing magazine.

  • Chris Matts // Tony Grout

    Tesco PLC, King, Skype // Lloyds Banking Group

    Tuesday (Workshop Day 1) — 9:00 - 16:00Real Options, Theory of Constraints, Complexity

    Real Options, Theory of Constraints, Complexity

    Experience the challenges of scaling delivery with this exciting LEGO game.

    The goal of the Game is to build a LEGO city with fully fledged buildings, cars and natural environments. Heaven for C-Suite executives, Directors, Managers, "Heads of" and Agile Coaches who wish to experience agility at scale, learning by doing, and failing.

    Learn how and when to apply:

    • Demand Mapping (theory of constraints for the portfolio)
    • Initiative Mapping (Using metrics to achieve organisational alignment rather than top down control)
    • Value Stream Mapping. Learn how to do it the easy way, the way practitioners do it.
    • Skills Mapping to help you manage key man dependencies.
    • Complexity Mapping (actually it’s Cynefin but everything has be called Mapping, right) to determine whether you should apply a waterfall of Agile approach to building your backlog.
    • Political Mapping (Kate Gray's Politics model) to help you understand where to expend your energy.

    Attendees will discover that leaders and managers in an Agile Organisation need to be the risk manager for the organisation and the coach for their team.

    Tony and Chris are practitioners in the realm of scaling delivery to thousands of people in hundreds of teams. Not just theory, but practical stuff that they exapt to solve their problems.
    Chris Matts

    Chris co-created the ubiquitous Given-When-Then approach with Dan North in 2004. Since then he has busy harvesting tools exapted from applying Agile in new contexts. He has harvested Real Options, Value Mapping (Feature Injection), Staff Liquidity and Demand Mapping. Demand Mapping is the part of Business Mapping that Chris has been developing with Tony and Dan North to help organisations trying to unleash the benefit of Agile.

    Tony Grout

    Tony’s 30 year passion has been to build products that make a massive positive impact on society. He is currently Head of Digital and Non-Digital Agile Transformation at Lloyds Banking Group across 18,000 people and before that he was Head of Agile at Skype.

    He brings enterprise agility to a fast paced, fast growing organisation with thousands of engineers. Before Skype, Tony was the co-chair of the Agile Leadership Council across the more than half a million people in IBM where he was lead technical editor and contributor for the book: Disciplined Agile Delivery: A Practitioner’s Guide to Agile Software Delivery in the Enterprise, harvested from IBM other experiences of agile development.

  • Dan North

    Dan North & Associates

    Tuesday (Workshop Day 1) — 9:00 - 16:00Testing, Faster

    Testing, Faster

    After completing the class, participants will be better able to:
    • Identify and apply a number of testing techniques and methods.
    • Make design choices that promote testability.
    • Understand and implement non-functional testing strategies for e.g. performance and resilience testing.
    • Make suitable cost benefit trade-offs for testing throughout the application lifecycle.
    • Recognise the diminishing return of different testing techniques and avoiding over-testing.
    • Apply consistent testing techniques within and across applications.
    • Understand and develop the role of test analysts.
    • Introduce instrumentation, analytics and telemetry into their development approach.
    • Classify testing techniques by various characteristics and describe their respective merits and trade-offs.
    • Apply a risk-based approach to recognising missing or inadequate testing.
    • Apply feature management techniques like semantic versioning and feature hiding.

    Topics:
    • Test Strategy
    • Test Design
    • BDD
    • Designing for Testability

    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 Zwieback

    Pandora, Mindweather LLC

    Tuesday (Workshop Day 1) — 9:00 - 16:00Awesome Postmortems

    Awesome Postmortems

    Failure is inevitable. Success is unpredictable. Both failure and success are also tremendous learning opportunities. A postmortem, conducted in an skillful way, is one of the best ways to learn from both failures and successes. Postmortems help us identify and address areas of fragility within systems and organizations, making both more resilient.

    In this highly-rated, practical, hands-on session, you’ll learn the theory and, most important, get to practice conducting awesome postmortems, including:
    • How to set the context, and go beyond blame
    • What data to collect before the postmortem and how to present it in the most useful way
    • How to facilitate charged conversations during high-stakes postmortems
    • Finding the real root cause of any failure or success (yes, there is such a thing!)
    • Learning in complex, adaptive systems
    • The new view of “human error”
    • How to recognize and mitigate the effects of cognitive biases
    • Writing up postmortem results (for internal and external audiences)
    • Harnessing prospective hindsight to identify risks and reduce the possibility of future failures

    Audience
    Anyone tasked with facilitating postmortems, retrospectives or learning reviews. And anyone wishing to learn more (and better) from failure and success. Anyone interested in building learning organizations.

    Prerequisites
    None.

    Requirements
    None.

    Dave Zwieback has been working with complex, mission-critical I.T. services and teams for two decades. He is Head of Engineering at Pandora’s Next Big Sound team, and Partner at Mindweather LLC. His career spans small high-tech startups, non-profits, and behemoth engineering, financial services, and pharmaceutical firms. Dave is the author of Beyond Blame: Learning From Failure and Success. To learn more about Dave, visit mindweather.com or follow @mindweather.

  • Francesc Campoy

    Google

    Tuesday (Workshop Day 1) — 9:00 - 16:00Building highly scalable web apps with Go

    Building highly scalable web apps with Go

    During this workshop you will build a web application from scratch using Go to build the backend and some HTML, CSS, JS on the frontend, of course.

    You will gets a hands on experience implementing REST APIs with and without any frameworks. We will also use the built-in concurrency features of Go to make the app faster.

    We will also add features to the app using some of the services available on App Engine:
    • List text here- datastore to store data in a non relational database.
    • Memcache to cache and access data faster.
    • Task queues to schedule tasks to be executed later.
    • Mail to send and receive emails.

    The app will then be deployed on top of Google App Engine, which provides a free tier, so attendees will go through the whole process from inception of an app to deployment and monitoring.

    Francesc Campoy Flores joined the Go team in 2012 as Developer Programs Engineer. Since then, he has written some considerable didactic resources and traveled the world attending conferences and organizing live courses.

    He joined Google in 2011 as a backend software engineer working mostly in C++ and Python, but it was with Go that he rediscovered how fun programming can be. He loves languages; fluent in four of them, he’s now tackling a fifth one.

  • Llewellyn Falco

    DevelopMentor, PluralSight

    Tuesday (Workshop Day 1) — 9:00 - 16:00Code Smells - Developing Design Sense for your Code

    Code Smells - Developing Design Sense for your Code

    "In order to make delicious food, you must eat delicious food...you need to develop a palate capable of discerning good and bad. Without good taste, you can't make good food." - Jiro Ono (World’s Best Sushi Chef)

    The same is true for great code. If we want to make great code we need a refined palate for what great code looks like. We need to look at code and develop a sense for it’s properties and smells. Sadly this is rarely ever done. Programmers are expected to just “know” what is good and what is bad with ever getting a chance to develop and curate an aesthetic sense. Worse, code is rarely looked at unless it is causing us problems so we are expected to be gourmets while spending our time eating at McDonalds.

    Come work on your sense of code. We will look at many snippets to compare and contrast different aspects of what good code is.

    Llewellyn Falco is an Instructor for DevelopMentor & Author for PluralSight. He is an international speaker and the creator of the open source testing tool ApprovalTests.

    He spends most of his time programming in Java and C# specializing in legacy code. He also volunteers creating courseware and teaching kids to program.

  • Mary Poppendieck

    Poppendieck.LLC

    Tuesday (Workshop Day 1) — 9:00 - 16:00Friction Lab

    Friction Lab

    Friction. Starts fires. Stops airplanes. Gives traction. Saps energy. A small bit of friction is unavoidable to gain traction and overcome inertia. A large dose of friction slows everything down, annoying customers and eating away at profits. This lab looks at the four most common sources of friction in digital systems and what to do about them:
    • Friction in the Journey
    • Friction in the Process
    • Friction in the Code
    • Friction in the Flow

    You will Discover:
    • The main causes of friction in the consumer journey
    • How cognitive biases affect our teams as well as our customers
    • A reference process for modern digital systems
    • How to make and keep reliable promises
    • How savvy governments deliver digital services
    • Critical attributes of successful large-scale systems
    • The best way to keep complex systems stable and reliable
    • Why flow efficiency trumps resource efficiency
    • Six ways to increase flow efficiency

    More Information: Essay on Friction.

    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

  • Rachel Davies

    Unruly Media

    Tuesday (Workshop Day 1) — 9:00 - 16:00Stop Herding, Start Leading

    Stop Herding, Start Leading

    When you lead a software team, everyone benefits from setting firm foundations. You will find that developers on your team work better together with a clear vision and sense of purpose. With a firm foundation, you will be able to strike a balance between innovation and consistency on technical architecture. All this is underpinned by a streamlined approach to daily work, where the team can see progress and improve practical skills on the way.

    When you build firm foundations, your team will be able to handle the changes that a fast-paced business throws down. When you have the key to individual developer motivation, conflicts become easier to resolve and you will find team discussion inspires improvement. In order to inspire confidence from others, you need a solid approach, trust springs from your skills so you need to keep them sharp.

    In this workshop, you will acquire a new framework that helps set up a team for success maintaining momentum on delivering business value. The skills we will cover can be useful at any point in the life of a project. Come to this workshop if you aspire to lead software teams to deliver great products while finding satisfaction in their craft.

    We will cover a range of topics through presentation and practical exercises, you will have the opportunity to try all the techniques explained in the workshop. We will talk about real scenarios that you are likely to face and ways that you can lead your team through them. As you will learn, the secret is to build firm foundations for your technical leadership.

    Prerequisites: The only prerequisite for this workshop is some experience working in software development and a desire to lead teams to success. This workshop is suitable for most conference attendees whether they are senior developers, technical managers, and architects.

    Rachel Davies is co-author of the first “Agile Coaching” book and works in UK as Agile Coach at Unruly Media, the leading global platform for social video marketing. Internationally recognized and presenting at industry conferences worldwide, Rachel started out working as a software developer and has been an agile practitioner since 2000 applying a range of agile methods including XP, SCRUM, Lean/Kanban, and DSDM. Follow her @rachelcdavies

  • Rafael Ördög

    Emarsys

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

    Lean Poker

    Lean Poker is this: you and a small group of strangers are going to develop a bot in a language of your choice, that plays poker against other bots. (Don't worry if you don't know poker, we will teach you.) All you need to do is write a function that takes a data structure containing cards and bets your bot sees during the game, and return a single number: the amount you are willing to bet at that point.

    Now here is the catch: even before you start coding the bots play a round in a matter of seconds, and if your bot wins you get points. If it comes second, you get less points. Otherwise you get nothing. The next minute another game plays, and another one, and another one… that goes on all day long, while you and your friends are desperately hacking away on the code, and keep deploying, deploying, and deploying. Don’t worry about the deployment pipeline, that’s already set up for you.

    During this pretty intense day you will sometimes be cheering for your bot to take over, you will be deploying desperately to change the course of events when your bot keeps losing, but even more importantly you will learn how to create as much value as you can in a short period of time, while you are mostly just having fun.

    Please check out leanpoker.org for more information.

    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.

  • Raoul-Gabriel Urma

    Cambridge Coding Academy

    Tuesday (Workshop Day 1) — 9:00 - 16:00Java 8 Lambda Expressions & Streams

    Java 8 Lambda Expressions & Streams

    Java 8 is the largest update to Java in its history. Some of the best ideas from functional programming are migrating their way into Java 8. This intense one day workshop is a hands-on lab session comprising slides, quizzes, live coding and unit test exercises which covers important Java 8 topics.

    Why take this tutorial?
    Java 8 encourages a different style of programming that: - lets you cope for requirement changes (less engineering efforts!) - lets you take advantages of multi-core architecture easily (faster code!) - lets you process large collections with SQL-like operations (do more in less time!) - lets you write more concise code (better readability & maintainability!)

    At the end of the workshop you will be able to use the most important Java 8 features to write easier to read, more flexible code that scales to multicore.

    Topics covered include:
    Lambdas & Streams
    • Behaviour Parameterisation
    • What is a lambda?
    • Method references
    • Collection Processing
    • Stream operations and patterns
    • Stream Optimisation
    Collectors & Data Parallelism
    • Grouping and partitioning
    • Collection Operations
    • Arithmetic collectors
    • Advanced Queries
    • What is Data Parallelism?
    • Parallelising your streams
    • Decomposition performance

    Raoul-Gabriel Urma is a PhD candidate in Computer Science at the University of Cambridge. He is co-author of the book Java 8 in Action: lambdas, streams, and functional-style programming published by Manning. In addition, Raoul has written over 10 peer-reviewed articles, delivered over 20 technical talks at international conferences. He has worked for large companies such as Google, eBay, Oracle, and Goldman Sachs, as well as for several startup projects. He is also the CEO and Co-Founder of the Cambridge Coding Academy and a Fellow of the Royal Society of Arts.

  • Seth Vargo

    Hashicorp

    Tuesday (Workshop Day 1) — 9:00 - 16:00Modern Infrastructure With Terraform & Consul

    Modern Infrastructure With Terraform & Consul

    Terraform is a fantastic tool for provisioning infrastructure, but with such a broad range of responsibilities, it is easy to become overwhelmed with the API, terminology, and workflow. This workshop will cover the basics of Terraform. Beginning with a quick lecture-style introduction to Terraform, we will quickly dive deep into the tool, following the fictitious evolution of a startup as our guide. Not only will this workshop discuss various components of Terraform, but attendees will also understand why and how they might make infrastructure changes with Terraform. Now that our infrastructure is provisioned, how can we connect the various components? With one or two machines, it is easy to point IP addresses, but what happens when we have thousands? We will use Terraform to create a Consul cluster and explore service discovery and health monitoring with Consul. Depending on the time remaining, we will explore the complex problems of secret management using Vault.

    Key takeaways:
    • Provision and manage infrastructure with Terraform
    • Understand the evolution of applications as they relate to scale and operations
    • Explore service discovery and service discovery techniques

    Prerequisites:
    • Participants should have an active AWS account with permissions to create and manage resources
    • Participants should have the latest version of Terraform installed locally
    • Participants should have administrator privileges on their laptop or the ability to escalate privilege easily
    • Participants should have a modern Internet browser such as Firefox, Chrome, or Safari (not Internet Explorer)
    • Participants should have some familiarity with running infrastructure

    You can view the materials here: https://j.mp/tfmat, and that will also need to be distributed to the attendees a few days in advance, since there is some setup required on their part.

    Seth Vargo has been a member of the DevOps community for about five years. He is a polyglot software engineer and open source advocate at HashiCorp. Previously, Seth worked at Chef (Opscode), CustomInk, and a few Pittsburgh-based startups. He is a co-author of O'Reilly's "Learning Chef" and is passionate about eliminating inequality in technology and organizational culture. When he is not writing software or working on open source, Seth enjoys speaking at local user groups and conferences. He is a co-organizer for DevOps Days Pittsburgh and loves all things bacon. You can find him on the Internet under the single moniker "sethvargo".

Workshop Day 2 - 27th of April

  • Aaron Bedra

    Groupon

    Wednesday (Workshop Day 2) — 9:00 - 16:00Building a Dynamic Security Response Environment

    Building a Dynamic Security Response Environment

    As we expand our technological footprint, our environment grows. Our risk grows with it. While we have made advancements in dynamic environments we have done little in the security space. Threats come and go, and our ability to quickly respond to the situation is lackluster at best. We block attackers by updating block lists and running deployment scripts. This takes time and can lead to availability issues.

    Join Aaron as he walks through creating an environment that can quickly respond to web based threats as they appear. You will walk away with the ability to respond to malicious actors in near real time with no configuration updates or deployment scripts. You will also learn some tricks for identifying malicious actors and stopping them before they become a problem.

    What will I learn?
    You will walk away with the ability to respond to malicious actors in near real time with no configuration updates or deployment scripts. You will also learn some tricks for identifying malicious actors and stopping them before they become a problem.

    Who should attend?
    Software developers, system administrators, architects, security specialists and anyone with an interested in approaches to securing their software and environment effectively.

    Aaron is a Principal Engineer at Groupon. He is the creator of Repsheet, an open source threat intelligence framework. He is the co-author of Programming Clojure, 2nd Edition and a frequent open source contributor.

  • Dan North

    Dan North & Associates

    Wednesday (Workshop Day 2) — 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.

    Software, Faster 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?

    Software, Faster 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.

  • Doc Norton

    CTO2

    Wednesday (Workshop Day 2) — 9:00 - 16:00Creative Collaboration: Tools for Teams

    Creative Collaboration: Tools for Teams

    Even high functioning teams occasionally have a hard time making decisions or coming up with creative ideas. There are times when the conversation seems to drag on long after a decision is reached. There are times when we have too many people involved in the discussion or the wrong people involved. There are times when we're not sure who's the actual decision maker. And there are those times when we just seem to be out of synch with each other. This creative collaboration workshop provides tools that help resolve all of these issues.

    Doc is passionate about working with teams to improve delivery and building great organizations. Once a dedicated code slinger, Doc has turned his energy toward helping teams, departments, and companies work better together in the pursuit of better software. Working with a wide range of companies such as Groupon, Nationwide Insurance, Belly, and many others, Doc has applied tenants of agile, lean, systems thinking, and servant leadership to develop highly effective cultures and drastically improve their ability to deliver valuable software and products.

  • Gojko Adzic

    Neuri Consulting LLP

    Wednesday (Workshop Day 2) — 9:00 - 16:00Test automation without a headache

    Test automation without a headache

    Writing maintainable test automation code is today as important as being able to design good customer-facing systems, yet very few teams do it well. If you think that your test automation often costs too much, takes too long and does not give you the return on investment you expected, this is a talk for you. Learn how to apply the five key design patterns that will make the pain go away and allow you to get the most out of your automated tests.

    Gojko Adzic is a strategic software delivery consultant who works with ambitious teams to improve the quality of their software products and processes. He specialises in agile and lean quality improvement, in particular agile testing, specification by example and behaviour driven development. Gojko is the author of the Impact Mapping book. His previous book, Specification by Example, was awarded the #2 spot on the top 100 agile books for 2012 and won the Jolt Award for the best book of 2012. In 2011, he was voted by peers as the most influential agile testing professional, and his blog won the UK agile award for the best online publication in 2010.

  • Jérôme Petazzoni

    Docker

    Wednesday (Workshop Day 2) — 9:00 - 16:00Advanced Docker concepts and container orchestration

    Advanced Docker concepts and container orchestration

    You have installed Docker, you know how to run containers, and have written Dockerfiles to build container images for your applications (or parts of your applications). Now comes the next part: connecting multiple containers together and deploying them on a cluster of Docker hosts instead of your single development machine.

    This is what we will cover, along with some production-related questions: How to manage logs? Backups? Remote access? Security upgrades?

    In this workshop, we will present the networking model of containers and cover how to run containerized applications spanning multiple Docker hosts. We will give recipes to implement cleanly various ops tasks including logging, backups, and more. Finally, we will discuss orchestration and scheduling. We will present solutions like Swarm and Mesos, and see some of them in action on an actual microservices architecture.

    Who should attend:
    Developers and system administrators who are familiar with basic Docker concepts and want to learn how to deploy Docker for real-world applications.

    Take back to work:
    You will know how to deploy Docker "for real," and how to perform common operational tasks with containers. You will learn about patterns and best practices to scale applications with Docker and containers.

    Topics include:
    • Pre-requirements
    • VM environment
    • Our sample application
    • Running the whole app on a single node
    • Finding bottlenecks
    • Scaling workers on a single node
    • Scaling HTTP on a single node
    • Connecting to containers on other hosts
    • Abstracting connection details
    • Backups
    • Logs
    • Security upgrades
    • Network traffic analysis
    • Introducing Swarm
    • Setting up our Swarm cluster
    • Running on Swarm
    • Network plumbing on Swarm
    • Last words

      Additional Materials:
      You won't need to pre-install Docker before the course; each student will be given credentials to connect to an individual virtual machine. All you need is a computer with an SSH client.

      Jerome is a senior engineer at Docker, where he helps others to containerize all the things. In another life he built and operated Xen clouds when EC2 was just the name of a plane, developed a GIS to deploy fiber interconnects through the French subway, managed commando deployments of large-scale video streaming systems in bandwidth-constrained environments such as conference centers, operated and scaled the dotCloud PAAS, and various other feats of technical wizardry. When annoyed, he threatens to replace things with a very small shell script.

  • Jez Humble

    Jez Humble & Associates LLC

    Wednesday (Workshop Day 2) — 9:00 - 16:00High performance organizations

    High performance organizations

    Large organizations often struggle to leverage software to create innovative products. A number of organizational factors conspire to create obstacles to moving fast at scale, including culture, governance, and financial management, and the application of portfolio and program management strategies that do not take advantage of the unique characteristics of software.

    What you will learn:
    In this training we’ll discuss how to take a lean approach to developing new products and running large scale programs of work, and how to grow a culture that enables organizations to turn software into a competitive advantage.

    Audience:
    • Executives interested in strategy, leadership, organization culture, and good governance
    • Directors of IT, both for applications and for infrastructure and operations
    • Anyone working in program or project management, including members of the PMO
    • People in finance and accounting or in governance, regulation, and compliance who are involved in delivery.

    Jez Humble was a vice president at Chef, a lecturer at UC Berkeley, and co-author of the Jolt Award winning Continuous Delivery, published in Martin Fowler’s Signature Series (Addison Wesley, 2010), and Lean Enterprise, in Eric Ries’ Lean series (O’Reilly, 2014). He has worked as a software developer, product manager, executive, consultant and trainer across a wide variety of domains and technologies. His focus is on helping organisations deliver valuable, high-quality software frequently and reliably through implementing effective engineering practices.

  • Joseph Pelrine

    MetaProg GmbH

    Wednesday (Workshop Day 2) — 9:00 - 16:00Dealing with 'self-organisation'

    Dealing with 'self-organisation'

    Self-organisation is one of the most misunderstood concepts used in agile practice. If people really understood the dynamics of self-organising systems, they most probably would avoid trying to use it. Instead, they (mis-)apply some ideas, close their eyes, wish real hard, hope that magic happens, and then use the term “unintended consequences” to describe the result.

    In spite of this fact, the ideal of the “self-organising team” is fundamental to Agile methods. Agile coaches are constantly challenged with how to motivate / persuade / trick their teams into self-organising and doing things, without telling them what to do, but there is very little information or training on this topic. Allowing a team to self-organise along the lines of "oh well, they're all adults, they'll figure it out" is just as irresponsible as reverting to the command-and control school of management. So, how should one go about it?

    The goal of this workshop is to provide you with both the answers to that question, and with the tools you need to do the job. In this workshop, we’ll explore what self-organisation actually is and why teams don’t self-organise, and we’ll discuss what self-organisation will do to and for your teams. You’ll then learn practical techniques from social complexity science and social psychology that will help you achieve the benefits of self-organisation without suffering the unintended consequences of it.

    As Kent Beck’s assistant, Joseph Pelrine was one of the first in the world who worked with eXtreme Programming. As Europe’s first certified ScrumMaster and Trainer, he was largely responsible for introducing Scrum to the german-speaking part of Europe. For almost 20 years, Joseph Pelrine has been helping some of the world’s most important companies improve their software development process and successfully transition to Agile. A noted international speaker, he conducts research in the field of social complexity theory and its application to Agile processes, and is currently pursuing a PhD in psychology.

  • Kelsey Hightower

    Google

    Wednesday (Workshop Day 2) — 9:00 - 16:00Taming microservices with Kubernetes

    Taming microservices with Kubernetes

    Materials or downloads needed in advance
    Google Compute Engine account, a laptop, working SSH client, and GitHub account.

    Description
    Linux containers are only part of the puzzle when designing large scale infrastructure for microservices. First you’ll need a host to run your containers, as the OS is still a requirement. Next you’ll need to configure your containers and deploy them in a way that utilizes your resources efficiently. When that’s all done, you’ll need a way for the services running inside your containers to announce and discover each other. Oh and you need to do all of that fast; manual processes don’t work at scale. A tall order no doubt, but Kubernetes has you covered.

    After attending this tutorial you’ll know how to:
    • Provision a small Kubernetes cluster
    • Package your applications as Linux containers
    • Manage application configurations with etcd
    • Implement service discovery and keep your sanity
    • Deploy and manage Linux containers with Kubernetes

    Kelsey has worn every hat possible throughout his career in tech and enjoys leadership roles focused on making things happen and shipping software. Kelsey is a strong open source advocate focused on building simple tools that make people smile. When he is not slinging Go code you can catch him giving technical workshops covering everything from Programming, System Administration, and his favorite Linux distro of the month (CoreOS).

  • Marty Cagan

    Silicon Valley Product Group

    Wednesday (Workshop Day 2) — 9:00 - 16:00Product Discovery Workshop: How To Create Products Customers Love

    Product Discovery Workshop: How To Create Products Customers Love

    Who is this for?
    This is a session for people responsible for leading products - product owners and product designers, startup co-founders, product managers and product architects.

    What will be workshop cover?
    This workshop is specifically designed for the leaders of technology-powered product organizations that want to dive deep into the Product Owner role and learn the leading edge practices from Lean Startups, Lean UX, Agile, Customer Development, Product Discovery, and Design Thinking, as well as techniques and practices from the very best technology-enabled product companies in the world. The course is designed to teach you everything you need to know to be a confident and competent product owner/product leader for products that make a difference. It will be an intense day, but my intention is to provide the single best learning opportunity in the world for aspiring product leaders.

    Who will be teaching this workshop?
    The workshop will be delivered personally by Marty Cagan, the founder of the Silicon Valley Product Group. Before founding the Silicon Valley Product Group to pursue his interests in helping others create successful products through his writing, speaking, investing and advising, Marty was most recently senior vice-president of product and design for eBay, where he was responsible for defining products and services for the company’s global e-commerce trading site. Prior to that Marty was an engineer for 10 years at HP Labs, and the VP Platform and Tools at Netscape Communications. Marty is the author of the book Inspired: How To Create Products Customers Love.
  • Sam Newman

    ThoughWorks

    Wednesday (Workshop Day 2) — 9:00 - 16:00How to build microservices

    How to build microservices

    Microservices Architecture is a concept that aims to decouple a solution by decomposing functionality into discrete services. Microservice architectures can lead to easily changeable, maintainable systems that 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 philosophy of small and simple; this can help you move towards a microservice architecture. Microservices are typically small systems, with single responsibilities, communicating via the web's uniform interface, 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 depth what the benefits are of finer-grained architectures, how to break apart your existing monolithic applications, and the practical concerns of managing these systems. We will discuss how to ensure your systems can be more stable, how to handle security and the additional complexity of monitoring and deployment.

      We will cover the following topics:
    • Principle-driven evolutionary architecture
    • Capability modelling and the “town planning” metaphor
    • RESTful Web integration and event-driven systems of systems
    • What microservices are (and aren't)
    • Integration techniques including cross-microservice use cases like search and reporting
    • How to handle interface version changes
    • Deployment techniques and supporting technology
    • The importance of matching your organisational structure and your architecture
    • Continuous Integration and testing of microservices

    Sam Newman is a technologist at ThoughtWorks, where he currently splits his time between encouraging and sharing innovation globally and helping design and build their internal systems. He has worked with a variety of companies in multiple domains around the world, often with one foot in the developer world, and another in the IT operations space. If you asked him what he does, he'd say 'I work with people to build better software systems'. He has written articles, presented at conferences, and sporadically commits to open source projects. He is currently writing a book, Building Microservices, which is available in early access form now, and dead tree version very soon.

Tickets

Early Bird tickets for Workshops and Sessions Days are on sale until January 31, 2016.
Note: on the last week of January Sessions Days ticket will include Diversity Scholarship support.

We also provide special discounts for teachers, students and teams:
  • Session Days - Group Discount for at least 10 attendees.
  • Session Days - EDU tickets for teachers and students.
  • Session Days - Diversity Team tickets for two people from different gender within your organization.

Help us support diversity in the community
We wish to support members of underrepresented groups who may not otherwise have the opportunity to attend CRAFT for financial, social or any other reasons. This includes (but is not limited to): people of colour, LGBTQIA+ people, women and disabled people. Our goal for this year is to provide free ticket for 100 people, and if necessary support their travel and accommodation.Find out how you can helpShow less
We can achieve this goal with the support of our attendees and sponsors.

Ways to support our Diversity Scholarship programme, how you can help:
  • Buy a Diversity Supporter ticket: You buy a ticket for yourself and a ticket for somebody selected by the Craft, who otherwise could not join to the conference.
  • Make a Diversity Travel Fund donation: Make a donation to the travel fund that we created for those people in the community who couldn’t afford to come otherwise. (This is not a real ticket, but a donation.)
  • Become a Diversity Sponsor: If your company is interested to be a Diversity Sponsor, please write to hello@craft-conf.com.

REGISTER NOW
Early Bird tickets are available
until January 31, 2016.
Ticket for Session Days includes:
  • 2 days filled with talks from speakers, practitioners worldwide
  • Conference party on the first session day with handcrafted beers
  • Breakfast and lunch on every session day, dinner on the first day, all with vegetarian, vegan, gluten free and lactose free options
  • Artisan coffee selection by baristas
Ticket for a Workshop Day includes:
  • Full day workshop
  • Breakfast and lunch, all with vegetarian, vegan, gluten free and lactose free options
  • Coffee breaks
  • Drink coupons for our evening community event

Sponsors

Diamond

Platinum

Gold

Silver

Bronze

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.

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, religion (or lack thereof), color, national origin or genetic information. 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, color, national origin, genetic information, 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.