People, Privacy & Programming
Our world of technology is rapidly changing. We can compute more, faster. We can analyze incredibly large datasets efficiently and quickly. We can rapidly build applications for devices that communicate with each other and the greater world in real-time.
But our technology-led advancements also highlight the rising importance in humanity and ethics – after all, big data also includes our personal data. Recent measures like GDPR should help improve the privacy of our personal data but security is more important than ever before with everything now online and connected. As developers, we have an ethical imperative to do our due diligence when creating software – but where and how to start?
At this year’s GOTO Berlin conference, we’ll discuss how to plan, prepare and conquer the unity of "People, Privacy & Programming". We’ll review how past innovations lead to incredible new opportunities for all kinds of technologies and how we can prepare ourselves for future advancements. Our speakers are both today’s top practitioners helping teams and organizations adopt new tools and technologies including Machine Learning, Serverless and DevOps, and the internationally-recognized thought-leaders planning for the Web 3.0 and beyond.
Although the concepts of machine and deep learning have been around since the 1950s, increases in both the amount of raw data that organizations store and processing power available in the last decade has led to increased interest and advances. Automation has already been proven to improve productivity – both in businesses and across entire sectors. Software has driven much of this automation process, but many workflows still require decisions to be performed by humans. Machine and deep learning aim to automate the decision-making process by training algorithms to take over, using empirical evidence from stored data. How can today’s engineers take advantage of modern machine learning methods? What are the pitfalls that can occur when trying to automate decision-making? How can businesses take advantage of the hoards of data that they have accumulated?
"The difficulty lies not so much in developing new ideas as in escaping from old ones.”- John Maynard Keynes, English economist (1883-1946). We all want to know what’s new and exciting – but to get to the truly new and the really exciting, we need to go beyond current trends and likely outcomes and examine what is non-obvious. In this track we will ask our crystal ball some probing questions. What thoughts and ideas are developing in software that go beyond business IT and typical embedded systems? What is happening in IT “at the edge”? Where is our industry heading and what does the future hold? What challenges will we encounter that we haven’t even thought of yet – and what can we do now to make sure we will be ready to adapt and meet these challenges?
The Blockchain was defined in a paper by Satoshi Nakamoto in 2008, documenting how electronic cash could change hands without trust or the two parties knowing each other. The first block in the blockchain – and the first bitcoins – were mined in January 2009. Fast forward to 2018, and blockchain is the buzzword of the moment – everyone wants to know how it will impact our lives and disrupt traditional businesses. Yet many people do not fully understand what it is or how it works. With this topic we’ll focus on understanding the fundamental principles of the blockchain, examine the current state of affairs, and then look at what the future may hold. Practical sessions to get you started will complement talks about how the blockchain can be used for things other than just exchanging cash. And of course, we’ll look at the issue of utmost importance: security.
In a relatively short time we've taken a system built to resist destruction by nuclear weapons and made it vulnerable to toasters." - Jeff Jarmoc. We would all agree that security is important. Historically, the need for secrecy in wartime spearheaded much of the technology that is still used to secure communications and financial transactions today - only now, processing power has put advanced cryptography in the hands of everyone, not just governments and large corporations. Failings in security can have serious consequences for society – our personal livelihoods, health systems, financial systems, even the political stability of countries or entire regions. In this track we will look ahead: what form might future attacks on our security at every level take? How can we meet these challenges?
DevOps is a set of processes intended to reduce the time taken between committing a change to a system, and that change being deployed to the normal production environment – while ensuring adherence to the highest standards of testing and quality. This involves bridging the gap between development and operations, which is both a technical and a cultural challenge. This topic will examine what skills and tools we need for effective DevOps, what the best practises in this field are, and how we can foster a healthy DevOps culture. The technology and best practices in the DevOps space are constantly evolving. Systems become antifragile by the introduction of random chaos; monitoring has moved from being about tech metrics to business metrics; and many see serverless as the next step in infrastructure automation and application design. Even technologies like Kubernetes - considered “new” a relatively short while ago – are now used as the foundation for further evolving technologies like Service Meshes or FaaS (Function as a Service).
An Event-Driven Architecture (EDA) is an architectural style in which events are considered first-class citizens of the architecture. In an EDA, events play an important role in the communication between components. Each event represents a fact that happened, usually actual business facts. Certain components make changes to the system and emit events to represent these facts, while other components consume these events and take corresponding actions. With this topic we will cover a foundation for domain-driven design and decoupled microservices, analysis with event storming, the differences between asynchronous communication, messages and events, and the use of events rather than state. We’ll ask if events are the only means of communication between components in an EDA, how an EDA relates to event sourcing, and how to can keep track of cause and effect chains in an event-driven system.
Artificial Intelligence is catapulting us into the world of science fiction at a startling rate. AI has already proven to be a useful tool in many areas that humans are not ideally suited to, such as drawing insights from vast amounts of data. But while it’s easy to get caught up in the dream of AI removing drudgery from everyday life and propelling humanity to greater heights, we must not forget that technology also has flaws and can have a darker side. This topic will examine this opposite side of the spectrum. Everyone has heard the “AI gone wrong” stories in the news – from harmless and amusing reports of misunderstood voice commands, through potentially serious glitches in facial recognition, to serious and life-threatening issues like self-driving cars causing fatalities. When designing AI, our models must consider factors that extended far beyond the purely technical – and knowing just how serious the consequences can be, how can we trust these models? What would an AI-first future look like? What should we as a society consider when taking this giant leap into the unknown?
"Computer languages of the future will be more concerned with goals and less with procedures specified by the programmer.” - Marvin Minsky, April 1970. Programming languages and frameworks are the tools of our trade, but they are tools that are constantly updating, changing and evolving. From the tried and tested to the cutting edge, this topic includes talks about programming languages and frameworks – from the ones everyone loves to hate, to the ones you’ve never heard of. How do frameworks and languages designed over 20 years ago evolve to stay relevant? What should a modern framework do for you, and what should it not? How important is the problem domain a given programming language was written to solve? Just what is functional programming, and how can you build your skills in this important area?
“Change is the law of life and those who look only to the past or present are certain to miss the future.” – John F. Kennedy What does the organization of the future look like? Building sustainable work and lifestyles for all levels of society while adapting to an ever-changing technological landscape will require some radical new approaches. Forward-thinking companies are already experimenting with concepts that go far beyond agile, such as self-organization and working without managers. In this topic we’ll be examining these new paradigms and hearing about real-world experiences. What has been proven to work – and perhaps more importantly, what has been proven not to work? Is an all-or-nothing approach required or can elements of these new systems be integrated into our organizations today?
“Half of being smart is knowing what you are dumb about.” - Solomon Short, writer The first wave of applications for the Internet of Things (IoT) brought much speculation about coming changes in a number of domains. While the first (often quite odd) products were from small start-ups, established companies are now implementing their first products, turning smart mobility, smart factories, and smart agriculture into reality. This next wave requires smart ecosystems as an essential building block. Typically, first prototypes are built quickly – but when advancing to production, unexpected issues from increased complexity can appear. With this topic, we’ll look at what tools are available to smooth development of “smart” applications. What are the best practices in the IoT ecosystem? Throw in some augmented reality, deep learning and drones – what more could you ask for?
We live in a time where the hierarchical structure of teams with managers is moving to a new model of tribes with leaders. In the ideal version of this new landscape, the expertise of developers and specialists is recognized and everyone is involved in the decision-making process. How can we make this transition? How do we cope with our new roles? What works and what doesn’t? Behind every online interaction is a real live person with their own unique background, perspectives, biases and context. To be successful we must embrace and nurture our relationships with other humans, whether they are community members in an open source project, founded start-up or work for a huge corporation. How have our conversations changed in the past year? In the past five years? How will they change in the future?