Thoughts on software development

In Favor of Ruby

Some time in my second year of college, I found out about the university’s Microsoft Lab which was ran by a couple of students. Even though I was a die-hard Linux fan at the time, I suddenly had free access to programming books – which, granted, were geared towards .NET developers, but were still programming books. That’s when I read about test-driven development for the first time (words cannot describe my arrogance when I delivered a programming homework and the teaching assistant didn’t know what unit tests were) or learned about Scrum. After a couple of months I passed my Microsoft Certified Professional exam for Windows Forms in C# and during that summer I received a job offer as a junior .NET developer, but because I had learned to write HTML and CSS on my own, I quickly moved to ASP.NET projects.

Back then, the most “enterprisey” architecture in the ASP.NET world was the N-Tier architecture, which basically added horizontal layers on top of other layers to allow you to create abstractions. I believe this was the diagram used by MSDN to explain this architecture:

read more