Skip to content

Instantly share code, notes, and snippets.

@davidwhitney
Created August 26, 2021 10:33
Show Gist options
  • Save davidwhitney/cdc5b6c7123712d34d48b43f39ed5d6c to your computer and use it in GitHub Desktop.
Save davidwhitney/cdc5b6c7123712d34d48b43f39ed5d6c to your computer and use it in GitHub Desktop.
Foundation Interview

Who am I?

Hey I'm David Whitney, I'm from London and I'm an alc... ha, wait wrong meeting! I jest I jest.

So thrilled to be having this conversations.

I'm David and I'm an independent software consultant from London in the UK. In previous all very serious and corporate lives, I've held job titles like "Chief Technical Architect", "Lead Principal Engineer" and "Head of Engineering" at a bunch of market leading orgs around the UK - household names like JustGiving, trainline, JustEat, Gfk, etcetera etcetera.

I've written a couple of best-selling kids books about computer programming (Get Coding 1 + 2, available in all good bookstores!) but mostly, more than anything, I just adore programming and helping people who love programming do programming and be lovely to each other.

I'm a "you will pry my keyboard out of my cold dead hands" lifer, and I love building wild things for fun that aren't just things that are forced to exist by companies.

I've been programming in C# since 2001, when I was a teenager, and that is terrifying, and I believe that .NET is at least as amazing as all the other beautiful runtimes and languages there are out there, and I spent a lot of time trying to prove that if it's cool, and interesting, that we can do it in .NET.

As a second dubious claim to fame, I've worked professionally in 36 programming languages, probably having forgotten more than I ever knew, and am, I expect, the only person in this process that looks like they got kicked outta a death metal band in the 90s. Bring your whole self into everything hey? ;)

What excites you about the future of the .NET ecosystem?

Is it a cop-out answer to say "everything!" - but really, everything. [laugh].

There's a bit of a truism that "the newest thing is often the most exciting point" but I think we're in the middle of a .NET renaissance really. As a platform, we're holding all the cards at the moment.

The languages hosted upon it are rapidly evolving to changing demands in the marketplace (however controversial change can be), and .NET is broader in reach than it's ever been.

We have the long-serving stalwarts like ASP.NET, MVC, and Web Api, there's a whole alternate universe in the world of Unity and Game Development, there's great work going on getting .NET to run on IoT devices with MicroFramework and the Meadow project, we've got .NET in WebAssembly with Blazor, we have Xamarin for devices, and finally, FINALLY between MAUI and the UnoPlatform, .NET has a compelling and evolving desktop story again.

It's kind of wild to realise that .NET has a compelling story across all of those targets.

I adore the fact that .NET has both a past, and obviously has a future. Hundreds of thousands of people use .NET. Enterprises depend on it. Games depend on it.

It's one of the most high performing runtimes in the world.

I honestly feel like .NET lived long enough to become the villain of it's own success, and now is through it's Christopher Nolan directed redemption arc.

I love the fact that .NET, and the languages atop it are learning, and changing, and evolving to better suit the needs of people doing .NET in 2021. .NET really, really, is for everybody in 2021.

What role do you think the .NET Foundation can play to inspire more confidence in .NET?

We need to be honest that Microsoft casts a long shadow over .NET and the foundation. This isn't a bad thing, but it's something that we have to understand and accept.

There's a segment of the technology landscape that has never grown past prejudices of the early 1990s, and I think the foundation is a key part of the journey to prove that .NET isn't just the "platform holder" and instead a distinct and thriving ecosystem of people who care doing work that they care about.

This isn't new.

Plenty of the most innovative work that's happened in .NET over the years didn't originate from Microsoft. They came from the ALT.net movement in the mid to late 2000s, they came from innovative open source projects like Nancy and the Castle project that paved the way for ideas and libraries that are now mainstream.

.NET has been a sound development choice regardless of Microsoft for almost two decades, and I believe that the foundations place is to provide as much legitimacy to the wider .NET community as Microsoft provide to the langauge and framework for enterprises.

There's this great line from a song I adore "I have learnt to embrace all the things that I cannot change".

We need to embrace and understand that some people will be sceptical about .NET because of it's historic custodian. We need to embrace and understand that some people will put more confidence in .NET for that exact same reason.

And we need to then give people reason to believe that we can support and ensure the longevity of strategically important projects in case of issues - in much the same way as other comparible foundations in other ecosystems do and can.

It's also really important to understand that "projects! all the projects!" is not the only way to inspire more confidence in a platform.

The foundation needs to support education. We need to support bootcamps. We need to support vendors innovating in cloud hosting.

As an explicit mission statement, every single platform that supports "new technology" should launch with .NET as a first class citizen, and it's of vital importance for .NET to be percived as important and relevant that we fund and provide support for this.

We should always be in the room, and we get in the room by offering support, and we stay in the room by inspiring people.

How can the .NET Foundation help OSS projects be more successful & gain credibility?

Great question.

For the longest time in the .NET ecosystem official "Canonical Microsoft solutions" have often carried more weight in discussions, especially in Enterprise, than open source equivalents, and I think the foundation is an important force of cannonising not-from-Microsoft solutions with exactly the same weight and importance as the vendor provided ones.

I think right now, the foundation offers assurance that canonized projects will receive funded support and are "safe strategic bets" for organisations - but I don't believe that is where the foundations help really should stop.

I think it should be the remit of the foundation to help projects level up - to help provide professional guidance if they wish it to help grow their audience - think funding translators, or technical writers for documentation, legal support for licensing, business support for people that are trying to work out how to make a living from authoring open source.

I feel like there's a lot that the foundation could help orchestrate, leaning on the contacts of it's members, and the funds of it's sponsorship, to help make contributing to open source in .NET a positive and pleasurable experience that's fit for humans.

The people are the most important part in open source software.

What can the .NET Foundation do around education & adoption of .NET?

I hinted at this before, but I think it's important that we're in all of the rooms when conversations are happening in the wider technology community. Corners of .NET have a history of adversarial behaviour towards new or competing frameworks and I think that's a pretty toxic attitude that needs to change as we grow.

We need to be engaged with people where learning is happening - and not just expect them to "come to us". We need to engage with the unity community (ha, rhyme!) and other disparate microcosms of .NET.

We need to engage with well known bootcamps to make sure that they have teaching materials and people - both paid and volunteer, to make sure that people joining tech understand that .NET is an option for them, and it's pretty cool.

We absolutely need to make sure we're watching and engaged with new open source platforms that support multiple programming environments, to make sure we can pay people to share expertise and convince them that .NET is just a part of the wider technology community as JavaScript, or Ruby, or Go, or Rust.

It's a slow process, but through a pattern of providing both materials, financial support for teachers and teaching aids, and connecting people keen to help in wider platform adoption on new tech, we can stop .NET becoming an island that is the victim of it's own isolated success.

.NET is really, honestly, pretty cool, if we let it be!

What are some things you would do right away if you join the .NET Foundation board?

I'd love to see us push for radical transparency around initiatives, and a clear statements of strategic themes, goals, and tactics to move us towards them.

I feel like the foundation and it's initiatives need to be run like any other business, with focus, division of labour, solicitation of help, funding and action.

People will trust the foundation if they see the results of actions as well monitored and observed metrics.

But mostly, I want to listen to the community, and what they think. What they want. I want to listen to our open source authors, our community advocates, the quiet devs, the juniors. Everyone.

Listen, and then work out how to engage. Listen to what they care about.

Any maybe buy everyone a drink?

Is that bribery? Can I say that?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment