Talks
The new generation of cloud architecture in large-scale software
As the Abramed team lead, I provided an explanation about the Tenant Manager service. I talked about the role of this service in providing backups, automation, managing large Kubernetes clusters, and updating large software stacks to newer versions.
Language: Persian
100 Go Mistakes and How to Avoid Them
In this tech talk I've talked about Teiva Harsanyi's amazing book in front of company's amazing engineers. I've covered some of the most common mistakes including but not limited to interface pollution, interface on producer side, returning interfaces, append unexpected side-effects, memory leaks in slices and maps, and ignoring evaluation mechanism in range. We also talked about HackerNews, Lobsters, and Github Trending page.
Language: Persian
C# Bootcamp
I was the instructor and mentor of the C# bootcamp held at SystemGroup, which consisted of four sessions over two weeks. In this bootcamp, I talked about C# history, .NET Runtime, Language Basics (types, classes, structs, interfaces, exceptions, etc), Advanced Topics (IL, JIT, delegates, events, lambdas, etc), Linq (linq extension methods), .NET collections, concurrency, thread and threadpools, async/await, Runtime info (reflections, attributes). We also wrote fun projects like a Linq-To-SQL project from scratch using Expressions and reverse-engineered a .NET app by editing its IL code using dnSpy.
Language: Persian
Cloud Native ERP DevOps
As the team lead of the SystemGroup's DevOps team, I had a presentation about DevOps and its implementation in the company, our development and operation challenges in ERP development, tools we use to maintain our codebase, trunk-based development, our quality gates like Aqua Trivy and Golangci-lint, tools we use from CNCF Landscape, and more...
Language: Persian