Code, headbang, grouch, repeat!
Hey folks! My name is João Antunes and I'm a software engineer and architect, experienced with .NET and related technologies, who also enjoys trying and learning new technologies as much as possible
My main interests are software architecture, design and development, with more focus on the backend, but with a view of the whole stack.
I love to explore new technologies, dig up some fringe topics and dive into over-engineering sessions, but always trying not to forget the basics and how they're essential to everything else.
Area of Expertise
With microservices and cloud technologies being all the rage these days, event-driven systems are also getting their fair share of spotlight.
While the reinvigorated interest in these concepts and technologies is great, just using the simplest available library to push events through your chosen messaging infrastructure won't cut it!
In this session, we’ll discuss why there’s more to it than calling a couple of methods, common pitfalls that can get your system into an inconsistent state, be it event-driven or not, as well as some ideas and patterns to address them.
Object oriented is one of the most broadly used programming paradigms. Problem is, most of the times, even if we use a primarily OO programming language, we're not really taking advantage of it or other useful paradigms and language features, ending up in a mostly procedural scenario.
In this session, I’d like to share some ideas to improve our code, making it easier to understand and maintain, taking better advantage of our languages’ capabilities, mixing paradigms as appropriate.
None of these ideas are new, but it seems we keep forgetting them and get back to the same old mess.
Presentation consisting on some slides and a lot of sample code.
Samples in C# but contents should be applicable across language/tech stack.
Ideal session duration 45-60m, but may be adapted to fit a smaller slot.
Even if they're not our main focus, many of us regularly create console applications in .NET, be it to test some feature, run some benchmarks or automate some tasks.
In all these use cases, we get the job done, but not being the main focus of our day-to-day job, things end up a bit hacky and not as easy to use as they could.
What if I told you we can have our cake and eat it too? Or, in better words, we can create these console applications to help us, but make them more user friendly without too much hassle.
That's exactly where Spectre.Console comes in, an open source library that helps us create beautiful console applications, from parsing command line arguments, prompting the user for information, providing progress reports and much more!
Developing distributed applications is the norm nowadays, with microservices and related architectural patterns leading the way. The problem is, we don’t quite seem to have adapted to the added complexity these approaches bring, in particular, the amount of failure scenarios involved.
What happens to your precious data if there’s a power outage halfway some processing steps? How about a network hiccup? Can your API handle client retries?
My goal with this talk, is to get you thinking about various ways your distributed application can be put up to the test, while also sharing some ideas to address these challenges.
JetBrains .NET Days Online 2022
.NET Virtual Conference 2022
Session titled: "Next level console apps with Spectre.Console"
Session titled: "OOPs, I did it again"
Session titled "Back to basics: the mess we're making out of OOP"
Code, headbang, grouch, repeat!