Nydalen T by Arild Storaas (CC BY-NC-ND 2.0)

See you at NDC { Oslo } 2018!

The plan for my first NDC conference

My employer Codify has given me an excellent opportunity to go to NDC Oslo, which is one of the major developer conferences worldwide. To get as much as I can out of it, preparation is the key. Here’s what I have planned for my three days in Oslo.


Preparing to prepare

The first push for me to start preparing was a tweet by @NDC_Conferences. It included a link to a book by Alan Mendelevich that — based on the title — seemed just what I needed and perfectly timed:

I decided to grab a copy to my Kindle. For the next several lunch breaks and weekend café visits, I switched the Culture to the conference guide. And I was awarded with an impressive experience and insight that clearly came from a like-minded introvert. The book sparked my enthusiasm, not just for the chance to listen to the conference talks and learn from experienced speakers first-hand, but also to participate in interesting discussions, meet other developers, get to know people around the world and let them know me. That almost sounds like… networking.

The most influential part of the book, something that changed completely how I (try to) introduce myself to new people, was the idea how to handle a simple “What do you do?” question:

The thing “you do” is not necessarily what occupies most of your time on business days. It’s the thing you want to be known for, or the thing that you are most passionate about, or the thing you want to get into.

After reading the quote above and a paragraph about elevator pitch, I realized how boring it would be if someone explained what they do to by listing things that every developer struggles with most of their day. There’s so much in software engineering that I’m passionate about. And to figure I can actually tell that to people I meet!

The book helped me to get started with preparing. Next step was the actual planning.

The Agenda

However important all the off-schedule events are, conferences are there because of the contents. NDC Oslo consists of two days of workshops and three days of talks. My trip will be limited to the the last three days, so I went through all the talks and bookmarked the most interesting ones. I might or might not go with the ones I’ve chosen here, but the main idea was to get an overview of the contents, and to dig a bit deeper into the most interesting ones.

NDC has a lot of contents, so the first thing I did was to decide a theme I would concentrate on. Last year I attended ScotSoft 2017, and that time I focused on AI and deep learning when choosing the talks. For me it worked better than trying to get a bit of everything, so I went with a similar approach for NDC. After the first quick run through the whole agenda, I decided to mostly pick talks about security, architecture, front-end and microservices (and a bit serverless), with a conscious decision to leave other interesting topics like machine learning, accessibility, containers and functional programming for another time.

So, with a goal of filtering down the list of talks into something more manageable, here’s what I ended up with and why (in the order of appearance in the NDC agenda page).

Wednesday

9.00–10.00

Keynote: A Penny for Every Object by Mads Torgsen
Well, this one is quite obvious: it’s Mads Torgsen, and it’s the keynote.

10.20–11.20

We Didn’t Stop to Ask If We Should: Understanding Build vs. Buy by Todd Gardner
For a bespoke software company like Codify, it is invaluable to understand how the decisions to build or not to build are (or should be) made.

The Web That Never Was by Dylan Beattie
The history of “double-you-double-you-double-you” is quite interesting as it is, so there’s a lot of potential for an alternate history being quite intriguing. Definitely sounds more like a relaxed talk, in case I want something like that at the time.

C# 8 by Jon Skeet
A bit out of my scope, but I would like to see Jon Skeet on stage, and knowing more about C# is always good. There’s a lot in C# 8 that I’m really looking forward to.

Insecure Transit — Microservice Security by Sam Newman
This one fits right into my focus area. And Sam Newman is probably one of The People to listen to when it comes to microservices.

I’m Pwned. You’re Pwned. We’re All Pwned. by Troy Hunt
From what I’ve heard, Troy Hunt can be quite entertaining speaker. And it’s about security! And it’s Troy Hunt!

So that’s 5 options for the first time slot where I actually had to choose. Not a good start…

11.40–12.40

Lightweight microservice collaboration using HTTP by Christian Horsdal
I’m currently working with mostly .NET technologies, so having a microservices talk with ASP.NET Core examples sounds tempting.

Authorization for modern Applications by Dominick Baier
Anything that can make authorization easier is always good. IdentityServer is something I have explored a bit, so it’s interesting to see a talk from one of it’s creators.

Frontend Development 2018 — What’s in your stack? by Stefan Judis
This is one of not too many front-end talks. It goes without saying that keeping up with the progress of front-end stack is difficult, let alone knowing how to pick the right tools. Hearing how others have approach this problem is definitely worth the time.

Implementing the Clean Architecture in .NET Core by Ian Cooper
It’s good to always have architecture in the back of your mind while coding to make sure what you write makes sense in the big picture, even if the task at hand is not directly architecture-oriented. The more experience with architecture you have, the easier it is to put in practice. With hands-on .NET Core specific examples, this will definitely be useful.

And once again I’ve got 4 options, so unless Friday’s talk “Hello, Multiverse!” — Quantum Computing and You really delivers over expectations, I won’t be able to go to all four.

13.40–14.40

The Power of Roslyn by Kasey Uhlenhuth
This one is here mostly because Roslyn ans live analyzers are awesome!

Preprocessors, Frameworks, and CSS in JS or: How I Learned to Stop Worrying and Love the Website by Jackie Balzer
The synopsis promises everything I want from a front-end talk: experiences over multiple years, tool and technology migrations, real-world problems and non-ideal solutions.

For the first after-lunch session I actually managed to pick just two. I will most likely go with the second choice that is more web-focused.

15.00–16.00

Give it a REST — Tips for designing and consuming public API’s by Liam Westley
REST has been a topic of discussion at my workplace, so this is definitely one I want to see. Like the one above, also this one promises that “we’ll examine everyday issues”. Bring it on!

16.20–17.20

User Experience for Professionals by Paal Holter
There several talks on usability and accessibility, but I’ve mostly chosen to leave that topic for another time. But a promise of being able to advocate for UX in B2B environments is quite tempting.

Protecting Encryption Keys with Azure Key Vault by Stephen Haunts
Keeping passwords and other sensitive configuration details safe is a key part (no pun intended) of secure deployment, especially in multi-tenant environments. So I wouldn’t mind having an experienced speaker and author explaining it in detail.

A Practical Guide to Graph Databases by Dave Bechberger
Graph databases have been a bit of a daydream of mine for some time now. The main problem has been the practical side of moving from relational to graph database and understanding the trade-offs, and this is exactly what this talk promises to deliver.

The second last session of the day was again one with many very interesting options, so I will have to give it another thought later.

17.40–18.40

An Opinionated Approach to ASP.NET Core by Scott Allen
In addition to Scott Allen being Scott Allen (for those who don’t know, he’s really good at making you learn things), there is a lot to like in this talk. Project organizing is difficult, and it is always good to learn new/different/better ways of doing it. And with ASP.NET Core as the platform, it will be quite straightforward to take the learning back to everyday work.

Technical debt isn’t technical by Einar W. Høst
There is something in this talk that caught my interest. It is probably best described at the end of the synopsis: “…we must instead improve the way we collaborate and build our understanding of the problem we are trying to solve.” A bit vague, maybe, but it could be a start of a wonderful talk.

Thursday

9.00–10.00

Rise of the Tech Influencer — Small steps you can take to increase your reach by Michelle Sandford
This is the first of several career-oriented talks that I have chosen to include in my list. Ever since I left the university and realized how in business world, software engineering is rarely done the way that is the most efficient, gives the best results, or the happiest customers, I have desired to be able to make a difference. I’m hoping to catch at least a couple talks like this to boost my skills and enthusiasm in that area, and the talk by Michelle Sandford sounds like a perfect start.

From SQL to Azure Cosmos DB by Jimmy Bogard
Azure Cosmos DB has some very attractive features, but before jumping in, I must have better understanding of the trade-offs and how they affect the application structure and development. One of the key concerns is the different transactional model, which I hope this talk will shed some light on.

Serverless architectural patterns by Yan Cui
One in to the architectural heavyweight series, with the contents that covers a lot of the the basic building blocks for serverless architecture. In contrast to other more practical talks, this is to deepen the understanding of serverless.

TypeScript Decorators — Higher Order Functions in Disguise by Damjan Vujnovic
With Aurelia, I use decorators constantly, but with only few exceptions I have almost never written decorators myself. Knowing how powerful they are, there is definitely a lot to gain from a better understanding of authoring decorators.

That’s quite a heavy start for the second day. I will most likely have a better idea of what I want after the first day, but for now I just couldn’t choose between the four talks.

10.20–11.20

2018 — The Year of Web Components by Dominik Kundel
I’ve heard this one before. Maybe this time it’s actually happening? Maybe. I would certainly like it. In any case, I want to be ready before the rest of the world is.

Implementing Authentication and Authorization with ASP.NET Core 2 by Chris Klug
The description hits the spot when describing the difficulties in configuring different authentication scenarios. Just a small difference can mean that the way you configured it last time doesn’t work this time at all, and you need a completely different approach.

These two talks are completely different from each other, so it will be up to the feeling at the day to decide which one I will go for.

11.40–12.40

Domain-Driven Design: Hidden Lessons from the Big Blue Book by Nick Tune
While maybe a bit out of scope, this talk is in the core of software development skills that I think are the most important when building applications that are meant to last. There’s a lot I have to learn about DDD, so this talk is the perfect opportunity.

Architecting your next SPA by Guy Nesher
The topic of this talk is extremely interesting, but the description doesn’t reveal much. Learning how others see the advantages and disadvantages of different front-end libraries is definitely useful, and I’m wondering if Aurelia gets any mentions.

Hacking your work life __ balance to take over the world. by Jennifer Wadella
Time management is something I struggle all the time. With the holy trinity of my wife, my sport, and my code, I feel like whenever I spend extra time on one, I’m limiting what I can achieve with the others. And admit it, Jennifer Wadella is awesome!

13.40–14.40

Choose your own adventure: the tech career version by Nabeelah Ali
Another one of the career talks, with a lot of topics that I’d be really interested in learning about. The idea of measuring success in my own terms sounds like it would help achieving my long-term goals.

Modern Security with Microservices and the Cloud by Sandeep Dinesh
The Vault project is probably more or less an open-source option for the likes of Azure Key Vault, so this talk probably has similarities with Protecting Encryption Keys with Azure Key Vault on Wednesday, but this one might have more general approach to the problem.

VueJS yet another JS framework? by Lars-Martin Hejll
Within the last year, VueJS has gained enormous popularity, so without doubt knowing more about it is useful.

15.00–16.00

How to network if you’re scared of people by Kasia Rachuta
Scared of (new) people? Check. Need to network? Check. This might be the perfect follow-up to the book I read to prepare for NDC.

Adapting ASP.NET Core MVC to your needs by Filip W
Knowing ASP.Net Core as well as possible, and getting an idea how much Core is used compared to the traditional .NET Framework, is one my goals for NDC. This talk is hopefully an opportunity to do both.

Security in Cloud-Native by Robin Minto
Back to security, this talk is a more high-level view on securing serverless (and otherwise cloud-native) applications. Considering that security and serverless were both in my list of key topics, this should be quite high in my list.

16.20–17.20

Finding your service boundaries — a practical guide by Adam Ralph
Quite often “the big rewrite” is the developers’ biggest dream, and then it becomes their worst nightmare. I’ve heard of slicing functionality out of a monolith into microservices, but where to take the slice and how does that work in practice? Sounds like Adam Ralph might have some answers.

Building Event-Driven Microservices with Event Sourcing and CQRS by Lidan Hifi
It’s quite difficult for me to sound convincing when talking about events, queues, and eventual consistency as a replacement for traditional relational, centralized database. Leaning more about the architecture style and its patterns would definitely improve my confidence. A real-world example that is used in an invoicing system sounds very interesting.

17.40–18.40

Web Application Security Trends by Christian Wenz
The more you know about security the better. If this talk includes even one way of attacking web applications that I wasn’t aware before, it will most likely be worth it.

Betting on Evolutionary Architecture by James Lewis
It is quite easy to see the benefits (or in lot of cases, the need for) evolutionary architecture, but it is not an easy feat in practice. There would be a lot to gain from knowing more about the techniques and tools.

Friday

09.00–10.00

Security Holes in Git by Edward Thomson
Knowing that any tool used for development can be a threat for security is important, and knowing what those threat us is the first step in preventing vulnerabilities and avoiding security holes.

Attacking Modern Web Technologies by Frans Rosén
This is one more talk to gain knowledge about security threats. Only AWS and Google Cloud are mentioned, but no doubt this will cover areas that apply to the tools and infrastructure I use.

10.20–11.20

The Hello World Show Live with Spencer and Heather
As an interview-style talk, this sounds quite interesting and will probably be a welcome change to other talks. I’m looking forward to see the list of interviewees when they are announced.

11.40–12.40

The History of .NET by Richard Campbell
As a listener of .NET Rocks, I’m quite certain Richard Cambell will make this a good show. I have been on .NET train for relatively short time — I did some C# 8 years ago but for full time only 3 years —

Super large, ultra fast, mega scaling cloud computing. by Espen Brandt-Kjelsen
With “billions of data points”, this sounds like proper big data talk. The most interesting aspect is bringing out the downsides of the cloud, which is maybe not discussed quite as often as it should be.

Unfortunately that will be the end of my NDC visit this year, as I will need to head to the airport for my flight after lunch time.


Conclusion

Going through the NDC agenda proved to be a very time-consuming task. Putting the decision why I had picked the talks I did was even more work. I learned more about the talks and the speakers, and ended up changing some of the picks because of that extra though that I need to put into them when writing it all up.

I hope this post has been helpful to you. I know it has been for myself, and I’m quite interested to see which talks I end up going to.

Let me know if you are coming to NDC, I would love to get to know developers from around the world!