arvil's blog

About Me

TLDR: I work with C# on .NET, Flutter (Dart + Java/Kotlin), Angular, MSSQL, and CosmosDB

"I code stuff"

I've been coding since I was as young as five without ever realizing it. My journey began with BASIC on a V-Tec.

First Professional Experience

I graduated with experience in the WAMP stack (that's Windows-Apache-MySQL-PHP) and jQuery. My first six months of professional work involved this stack.

My Introduction to the .NET Stack

I was hired as an ASP.NET WebForms developer when the .NET Framework was still at version 3.5. I coded in VB.NET with Oracle (PL/SQL) and MSSQL (T-SQL) databases. Things were pretty okay, but I decided to introduce jQuery and AJAX to the mix—essentially using WebForms to load the initial page before handing everything to JavaScript and serving API endpoints through XmlHttpRequests. I handled a LOT of projects here, from simple project management to dealing with Printer Job Language (PJL).

I left the company with most of the newer projects in C#.

I Hate Talking About This Third One

I was hired as a "Technical Consultant." This experience taught me to review job responsibilities very thoroughly.

Apparently, all I had to do was manually convert Word files to HTML. Eventually, I wrote code in C# to automatically convert the input and even upload them to our CMS. Literally five minutes of work in one click.

I raised my concerns to my manager and eventually got into a different role where I wrote ETL packages with SSIS. I did this for about a year before I left.

Finally Back to Proper Software Development

ASP.NET Web API on C# and AngularJS (yes, the first version). We started with .NET Framework 4.5, then moved to .NET Core 3.1 then 6.

While my main project had very strict regulations (I wouldn't call them standards because they weren't), I was able to expand my learning through a handful of side projects. One project I was particularly fond of was creating a Chrome extension that bridged our JIRA work items to our timesheet software. What I created for myself to save time was made available to everyone. Win-win for everyone!

I left the company six years later with strong .NET and Angular (the new version) experience.

Post-Corporate

Freelance work. Having spent most of my years in fully monolithic systems, I decided to dedicate my time to understanding and implementing event-driven design. After many different approaches, I finally ended up doing Domain-Driven Design (DDD) and Event Sourcing.

I spent a long time making it better until I finally decided to open-source my event sourcing library for .NET (Uneventful).

On top of this, I learned Flutter to create apps for Point-of-Sales devices and some reporting apps on the side.