Aaron Powell
I like long walks on the beach talking about .NET
Sydney, Australia
Actions
Aaron is a Developer Advocate at Microsoft, focusing on .NET and Azure. Having spent 20 years doing web development he's seen it all, from browser wars, the rise of AJAX and the fall of 20 JavaScript frameworks (and that was just yesterday!). Always tinkering with something new he explores crazy ideas like writing your own implementation of numbers in .NET, creating IoC in JavaScript or implementing tic-tac-toe using git commits.
Area of Expertise
Topics
Tackling the developer inner loop
There are so many factors when it comes to the developer inner loop of distributed applications. How do we do service discovery? How do we implement consistent logging? What are we doing about resilience? How do we have a "clone repo, run app" experience without a week of machine setup?
Let's take a dive into the world of the developer inner loop to see how we can optimise this experience, and ensure we get developers up and running, without sacrificing our pathway to deployment.
I've burnt out, now what
I grew up a technologist and always loved technology. Whether it's pulling apart old radios to figure out they work or writing my first LOGO Writer application to see the turtle do something, I craved it, so becoming a software dev was always on the cards. Throughout my 20 years in the industry I've had a lot of jobs and always loved where I worked.
COVID came and like everyone, I had my struggles with lockdowns and home schooling, but I was already a remote worker so the isolation aspect wasn't a real "bother" for me, I'm naturally introverted after all.
Then in late 2022 I just… stopped. I stopped enjoying my job. I stopped looking forward going to work. I avoided technology outside my scheduled work hours. I'd find myself losing hours a day just staring at a computer screen.
It took me probably 6 months to admit there was a problem, and that problem was I was burnt out.
But what comes next? It's one thing to accept you're burnt out but where do you go from there? Let me share my journey, from being on the cusp of a performance improvement plan to someone who is back do loving what they do and can't wait to get started every day.
Generative AI for the .NET Developer
Have you ever wondered how to create intelligent apps with .NET and Azure OpenAI? Do you want to learn how to leverage the power of large language models like ChatGPT to generate natural and engaging conversations? Do you want to see how AI can build AI apps? If you answered yes to any of these questions, then this talk is for you!
In this talk, you will discover how to use .NET, C#, and Azure to create amazing applications with OpenAI and other generative AI technologies. You will learn the fundamental concepts of this latest wave of AI, the benefits and challenges of using .NET with it, and the best practices and tips for developing intelligent apps. You will also see a live demo of how AI can build AI apps using .NET and OpenAI.
And yes, this abstract was created using Bing's Chat 😀
Data mining YouTube transcripts
Conferences often publish their sessions on YouTube after the event but finding what you're looking for in them can be time consuming.
With hours upon hours of video content how do you find that thing your colleague mentioned, that insight you wanted to revisit, or find something of interest from your topics?
Well, let's build this. Let's leverage some aspects of the current generation of AI models to create an app which doesn't create answers "from thin air" but contextualised around YouTube playlists from DDD, or really any data that you could want.
We'll look at how to extract intents from prompts and semantically search highly unstructured data to produce (hopefully) meaningful outcomes.
Docker, FROM scratch
Docker's popularity has exploded over the last couple of years, especially in the DevOps space, but unless you've spent a lot of time in that area it can be a confusing technology to wrap your head around.
So let's step back and start looking at Docker from, well, FROM scratch (and we'll understand just what that means).
With minimal starting knowledge of Docker we'll look into what it is, cover off all the core concepts from images to containers, volumes to networks, and how we can compose environments. We'll also look at how to use Docker in Dev, not just DevOps and how containers can be useful tools without being something to run production infrastructure on.
The beauty of stupid ideas
We spend all our days striving to write the perfect code, code that is well thought out and will stand the test of time.
This is not a talk about that code. This is a talk about all that code you don't write because it's stupid, it doesn't solve a "real" problem or doesn't make any sense.
We'll explore some of my own stupid ideas, like writing my own number system in .NET or writing an IoC container in JavaScript, what I learnt from these stupid ideas and why exploring stupidity is important.
Beyond console.log
Whether you're a Chrome, FireFox, Edge or Safari kind of person you've probably opened up the web developer tools at some point... but is your extent of usage writing console.log within your code and inspecting an element, or have you gone deep?
For this session we'll be diving into the tips and tricks that will make you a power user when it comes to your browser dev tools, explore the console beyond console.log, learn the differences between the different browser tooling and how to find that damn problem that's only happening on _insert any browser name here_!
2 Day React Workshop
React is a JavaScript library for creating high-performing, maintainable JavaScript applications and brings a fresh approach to thinking into the JavaScript community.
Being a declarative user interface library that is un-opinionated about the rest of your application it is easy to reason about it is simpler to learn and master the basics than a full application framework like Angular. Also, thanks to the simple nature of React, the patterns and lessons you will learn are transferable to other libraries and frameworks.
Aaron started using React in its v0.8 days after having worked with several other web frameworks, and immediately liked what he saw. From its drive towards componentisation to data management it’s been a great tool for building application dashboards, public websites, and native applications. Aaron has introduced it to many projects across a variety of industries through his career.
### Day 1: React fundamentals
* Introducing React and the Virtual DOM
* Why React?
* React's Architecture
* Advantages
* Components
* Props
* State
* Lifecycle
* Styling
* Developer experience
* Dev Tools
* Hot Reload
* React with TypeScript
* Functional patterns and immutability
* State management patterns
* Container/Smart components
* Hooks
* Redux
* Error Handling
* Error Boundaries
* Routing and Single Page Applications (SPA’s)
### Day 2: Real world React
* Application/source control structure
* Automated testing
* Optimising app performance
* webpack
* Production configuration
* Bundling
* Code splitting/lazy loading
* Integrating with a web server
### Pre-requisites:
* Understanding of JavaScript fundamentals
* Participants need to bring a laptop
* [Latest Node LTS](http://npmjs.com/)
* [Git](https://git-scm.com/)
* [VSCode](https://code.visualstudio.com/) or other text editor
Unleash the Power of VS Code
VS Code is hot, there's no doubt about it being an utterly amazing editor, but I ask you, are you using it to its full potential? Let's go on a journey together and look to unlock the real power that you can get out of VS Code. Whether it's with shortcuts or extensions, environment standardisation and remote development, collaboration to integrations, there's so many things to uncover that can take you from a user to a pro in no time.
This session will leave you itching to get back into your editor and code up a storm on that next piece of work.
This will be a primarily hands-on, demo-heavy talk as we look at all the things you can do with VS Code. It doesn't need to be specific to a single platform/language but depending on the audience it will be tailored to best suite them with the extensions that are covered.
NDC Sydney 2022 Sessionize Event
NDC Melbourne 2022 Sessionize Event
NDC Sydney 2021 Sessionize Event
DDD Perth 2021 Sessionize Event
Azure Cosmos DB Conf Sessionize Event
NDC London 2021 Sessionize Event
NDC Sydney 2020 Sessionize Event
NDC Sydney 2019 Sessionize Event
uduf 2019
uDuf is the only Umbraco conference in the Southern Hemisphere where each year Umbraco users from across Australasia and the World come together to share knowledge, gain new Umbraco skills and commune with others in the Umbraco community.
It is designed to build a strong and sharing community of developers, project managers, marketing teams and web specialists who use Umbraco. With separate development and business focused content streams, you don’t have to be a coder to get something out of uDuf - we’ve got you all covered!
Through presentations, on-site training and a community Hack Day, you’ll gain insights on technical know-how, creative tips, best practices, and sales strategies. You’ll also get to hear from, and mix with, the brains behind it all as we welcome members of the Umbraco HQ. Discover why Umbraco is the fastest growing .NET CMS in the world, and how it can put a rocket into your business whilst remaining flexible and user friendly.
Microsoft Ignite | The Tour Sydney
I presented my Docker, FROM scratch talk at Sydney's largest Microsoft centric conference.
NDC Sydney 2018 Sessionize Event
DDD Melbourne
DDD Melbourne is an inclusive non-profit conference for the software community.
Our goal is to create an approachable event that appeals to the whole community, especially people who usually don’t have the opportunity to attend, or speak at, conferences.
DDD Perth Sessionize Event
NDC Oslo 2018 Sessionize Event
NDC Sydney 2017 Sessionize Event
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top