Friday, 30 December 2016

Clean Code III: Functions - Robert C. Martin


Get ready for a challenge as Robert Martin dives deep into the topic of clean Java code by examining what makes a good function. In this talk you will look at a lot of code; some good and some bad. You will experience how such code is analyzed, critiqued, and eventually refactored. You will understand the decisions made by an expert in the field as bad code is gradually transformed into good code. How big should a function be? How should it be named? How should it be documented. How many indent levels should it have? How should it deal with exceptions, arguments, and return values. This talk is all about code at the lowest level. And yet the principles and techniques presented have far reaching implications.

source: ndc

Monday, 19 December 2016

Mining Repository Data to Debug Software Development Teams - Elmar Juergens


If the team architecture and the technical architecture do not fit together, problems arise. Both architectures evolve, however, often causing misalignment. How can we notice such mismatches and react in time?
In this talk, I present modern analysis techniques that mine data from different software artifacts (e.g. lightweight architecture specifications, code and trace files) and version control systems. They reveal problems in the code or design that result from communication problems in the development team.
I present the analysis techniques using examples from open source and commercial software systems. I also outline both best practices and limitations in employing such analyses that I collected over 10 years.

source: goto

Friday, 16 December 2016

Authentication & secure API access for native & mobile Applications - Dominick Baier



Modern native & mobile applications have requirements like authenticating a user and securely accessing APIs on behalf of that user. Since those application types have access to advanced platform and OS features like cryptography and secure storage we can enable advanced features like mobile single sign-on, seamless token lifetime management and other advanced security features. The OpenID Connect and OAuth 2.0 hybrid flow alongside some new specification like PKCE and PoP are a perfect match for these scenarios.


source: ndc

Thursday, 15 December 2016

Upgrading JavaScript to ES6 and using TypeScript as a shortcut - Chris Heilmann


ECMAScript* (insert 6, 2015, 7, 2016, whatever here) is a hot topic and rightfully in the spotlight. After 15 years of weird ups and downs we now have a ratified version of the language that powers the web. ES6 answers many demands developers had and our products need, but it still suffers from the issue that not all runtimes support it.
Instead of waiting for everyone to upgrade or blocking out users we have the option to transpile or to choose a subset of JS to achieve compliance with our needs and wants. In this talk Chris Heilmann shows the pros and cons of these approaches.


source: ndc

Wednesday, 14 December 2016

Safe at Any Speed - Ian Cooper




Ian Cooper has over 20 years of experience delivering Microsoft platform solutions in government, healthcare, and finance. During that time he has worked for the DTI, Reuters, Sungard, Misys, Beazley, and Huddle delivering everything from bespoke enterprise solutions, ‘shrink-wrapped’ products, and cloud services to thousands of customers. Ian is a passionate exponent of Software Craftsmanship and Agile Architecture. When he is not writing code he is also the and founder of the London .NET user group and speaks at events throughout the UK.

source: buildstuff

Tuesday, 13 December 2016

Yesterday’s Technology is Dead, Today’s is on Life Support - Troy Hunt


Isn’t technology just awesome? Well we think it’s awesome and then a year or two later it’s old junk that for most of us, serves no further useful purposes. The technology of yesterday is rapidly becoming unrecognisable not just in the sense that it’s so different to what we use today, but a whole generation has literally never even seen a cassette tape or a rotary dial phone before.

Looked at the other way, our present day technology was inconceivable such a short time ago. What we take for granted today was little more than a pipedream yesterday yet our lives would be unrecognisable without them. Our children could not conceive of a time without mobile phones or internet; there are adults today that have not known this time!

This talk delves into how technology is changing around us from the essential to the absurd. Technology we put in our homes, technology we carry, technology we insert inside ourselves and all of it headed for rapid obsoletion as the next inconceivable wave takes hold. As much as yesterday’s technology is dead, today’s is on life support and we’d better get ready for the next big thing.

source: ndc

Monday, 12 December 2016

Teaching Kids Programming - Lynn Langit


In this talk, director of the non-profit 'Teaching Kids Programming', Lynn Langit will share her experience teaching kids coding around the world over the past 8 years. Starting when she worked at Microsoft, with the DigiGirlz program, Lynn has been creating courseware, teaching teachers and teaching kids core computational concepts.

Lynn will discuss and demonstrate key concepts using example from TKP courseware (core is in Java). Teaching methods are based on Agile / XP technical practices and include pair and mob programming, TDD, katas, koans and more.

Attend this session to learn what works with teachers and kids and to learn how you can make a difference teaching the next generation of programmers.


source: ndc

Sunday, 11 December 2016

Domain Architecture Isomorphism and the Inverse Conway Maneuver - Dylan Beattie


Most of us have come across Conway's Law - the observation that "organisations that design systems are constrained to produce designs which are copies of the communication structures of those organisations". From standalone web applications to open-source projects to large-scale enterprise applications, a project's success (or failure) comes down to the team that's trying to deliver it - so why do so many projects try to impose the right architecture on the wrong team structure?

Once you accept the the tendency for systems to end up reflecting the structure of the teams that build them, it becomes clear why a lot of software projects don't go according to plan. Your architect says you're going to use an API instead of direct database access - but then you sit your back-end developers right next to your DBA and give them a deadline to hit. What do you think's going to happen to your abstraction layer? Or you decide you're going to have an API team in London working with an app developer in Belarus and a web team in Ukraine, and then you wonder why your system's communication layers are causing performance problems?

In this talk, Dylan explores the idea that we should be designing our systems first, and then restructuring our teams to reflect the system design. We'll look at some common communication structures - including some things you probably do already that you never realised were communication structures - and how those structures affect the outcome of the systems they help to build. We'll discuss how you can apply common patterns to your teams as well as your code, and we'll talk about how to sell the idea to your boss before you start moving desks around.

source: ndc

Saturday, 10 December 2016

Messaging and Microservices - Clemens Vasters

 

Microservices are the new hot topic in the industry, and yet they are based on foundational principles of service orientation as formulated in the early 2000s, and those were in turn based on experience and insights from building messaging-oriented systems in previous decades. In this talk, Clemens Vasters, Architect for Messaging at Microsoft Corporation is going to talk about the eternal truths and proven patterns of messaging, and about how messaging helps Microservices-architecture based systems achieve operational objectives.


source: goto

Friday, 9 December 2016

The Error of Our Ways - Kevlin Henney



What happens when things break? What happens when software fails? We regard it as a normal and personal inconvenience when apps crash or servers become unavailable, but what are the implications beyond the individual user? Is software reliability simply a business decision or does it have economic, social and cultural consequences? What are the moral and practical implications for software developers? And when we talk of 'systems', are we part of the 'system'? What about the bugs on our side of the keyboard? In this talk we will explore examples of failures in software and its application, and how they affect us at different scales, from user to society.

source: goto

Thursday, 8 December 2016

Ryan Ripley - The Business of Agile: Better, Faster, Cheaper - Ryan Ripley


During my last agile transformation a key stakeholder asked me, “Why are we doing this?” I talked about increasing quality, delivering software sooner, and fostering a more collaborative relationship with our business partners. After a few minutes, he raised his hand and stopped me.
“I get all that. BUT how is all of this agile stuff any better, faster, or cheaper than what we do today?”

Leaders must answer the “better, faster, cheaper” question if they want their agile transformation and projects to move forward.

To prepare leaders for this critical question, we explore how “better, faster, cheaper” translates to an agile organization, the metrics a leader can use to track progress towards “better, faster, and cheaper”, and how leaders can demonstrate the benefits gained from their agile activities.


source: cohaaorg

Wednesday, 7 December 2016

Debugging your communication for more success and efficiency in DevOps - Sabine Wojcieszak


In this talk we will focus on the role of communication for a DevOps team, although we will also touch psychological aspects of mindset, attitude and behavior!
Whenever people come together, communications starts at once! You can´t stop it! In addition to the original face-to-face communication we use a lot of different communication channels like phones, chats, live webinars and emails in our modern times.
As communication is a very complex topic misunderstanding is part of daily our work; it is always the companion of communication. We have to spend a lot of time to deal with these misunderstandings or - what is worse - things will go wrong.
The more different characters work together in cross-functional teams like DevOps the higher the probability of misunderstanding. With release cycles getting shorter and shorter or continuous delivery, time is a very precious factor in IT projects. So why do we waste time in clearing up misunderstanding? For more success and more efficiency it will be extremely helpful to identify the bugs in your communication and eliminate them to reduce misunderstandings and save time! And we will talk about the nearly unbelievable effect on everyone´s motivation.
In this session theoretical background will be combined with best practice; the importance of further education in communication skills especially for “people from IT” to reach more efficiency will be pointed out.

The takeaways for the audience:
- what is beyond organizational change and tools when doing / being DevOps
- the importance of communication and the difficulties
- bugs and misunderstanding
- smart ways to eliminate bugs in order to create a successful and efficient communication
- communication as part of culture, attitude and motivation
- Best practice of slight but successful improvement of communication and the effect on everyone in a company

source: NDC

Tuesday, 6 December 2016

The Future of Visual Studio (Visual Studio "15" Preview) - Amanda Silver



Come to hear the future of Visual Studio. This session will illustrate how Visual Studio is evolving demo by demo. We’ll show you the latest capabilities to enable any developer to build any apps. We’ll provide a preview of the streamlined acquisition experience for the next release of Visual Studio. You will see the cutting edge features we are working on to bring your productivity to the next level. We’ll even provide a back stage peek into how we’re using your feedback to continuously improve Visual Studio.

source: build

Monday, 5 December 2016

Foolproofing your UI & UX - Jessica Engström


Can you foolproof your design?
How do you design your app to be noticed and feel beautiful and harmonious?
UI & UX is commonly thought about at the last stages of developing. I say that you should incorporate this already from the beginning to save time and code.
I will take you through the planning stage, how to choose what elements to use, how to polish your design and finishing off with the testing stage.


source: ndc

Sunday, 4 December 2016

Less - The Path to Better Design - Sandi Metz


The concrete principles of Object Oriented Design are useful but are built upon powerful concepts that the principles tend to obscure. When design principles become goals in and of themselves, object oriented design gets a bad name and applications suffer. This talk strips away the well-known design principles and exposes the hidden, underlying goals of design. It reveals programming techniques that allow you to write less code while creating beautiful, flexible applications.

source: ndc

Saturday, 3 December 2016

A Pragmatic Approach to Microservices with Axon Framework - Allard Buijze



Most discussions about the implementation of a microservices based infrastructure start by evaluating the various technical options and challenges that it comes with. However, the real business value isn’t in these technical choices, but in the functionality. Axon Framework helps developers build a message driven, modular application using the architectural principles of Domain Driven Design (DDD), Command-Query Responsibility Segregation (CQRS) and Event Sourcing. It allows developers to focus on the functionality of an application first, and naturally evolve the application to meet non-functional requirements as the need arises.

In this session, you will see what such an application looks like, how to easily set it up using the new features of Axon 3, and how to evolve the application into microservices.

source: goto

Friday, 2 December 2016

The Future of Software Engineering - Mary Poppendieck


2020 used to be far in the future. Today it’s four years away. We no longer need to guess what breakthroughs await us in that magic year, the future is hiding in plain sight: a reliable Cloud, industry-disrupting Platforms, massive data from the Internet of Things, really useful Artificial Intelligence, surprising Virtual Reality...

The question is not what the technologies of 2020 will be – that is rapidly coming into focus. The real question is: What is value? What’s important, what isn’t, and why? Should you focus on Continuous Delivery? DevOps? How do you get from where you are now to where you need to be? How do you scale? How do you keep your systems reliable and secure?

This talk will discuss how software engineering is changed by the emerging digital technologies.

source: goto

Thursday, 1 December 2016

Soft Skills for the Developer - Mahesh Krishnan


In the eyes of a lot of people, "the stereotypical developer" is an introvert, who spends all of his or her time in front of a computer, communicates poorly, is socially awkward, unreliable, wears esoteric T-shirts and has an addiction to caffeine.
Of course, this is not (all) true, but as developers our coding skills far outweigh our "soft" skills. So, what do we, as developers, need to do to improve on these skills?
Mahesh Krishnan, draws upon his years of experience as a developer and consultant to talk about these skills, and what you need to do to get them. He will provide you with tools and tips to help you with your confidence, communication skills, time management skills, how to resolve conflict, etc; and also what you need to do to advance both your technical and leadership skills.

source: ndc