Starting Something New

A magic dwells in each beginning
Hermann Hesse, Steps

I’m a C# developer. I’m doing nothing but C# (except for some JavaScript/jQuery – you just can’t do web programming without it). On the one hand because it is simply the best, most modern, and most powerful programming language that exists these days, on the other hand because it is challenging enough to focus on one single thing at a time if you want to do it right.

Until some months ago, I never thought about taking a closer look at mobile programming. Learning Java, a language that is essentially outdated? Or Objective C, when I gave up C++ more than ten years ago because I considered C# a far better alternative? And not to mention the maintenance and organizational nightmare that comes with today’s mobile development.
Unacceptable, I would not even do that in my wildest dreams.

But then I stumbled upon the Xamarin platform which opens up mobile development for C# developers, and at the same time enables true cross-platform development: Sharing a large part of the code between the apps while preserving each platform’s individual capabilities. Xamarin wiped away all of my caveats at one blow, and so I was very curious to give it a try.

Initially, I was playing around with it for some weeks to see what I could do with it. But soon – almost immediately – I got seriously infected. So I bought myself a Mac Mini and began to dive into Xamarin programming more systematically, with the clear intent of incorporating it into my professional skill set.

There were various reasons that led me to that decision. Here are some of them…

Read More

Code Readability is soo Important…

Always write your code in a way that the next developer maintaining your code could be an axe swinging madman who knows where you live.
An unknown programmer (hopefully still alive and well…)

Clean code is simple and direct. Clean code reads like well-written prose. Clean code never obscures the designer’s intent but rather is full of crisp abstractions and straightforward lines of control.
Grady Booch

For almost ten years now, I’m a freelancer in the field of software development. Effectively, I’m something like a well-paid stand-by man who almost always is supposed to work with an already existing codebase that needs to be extended or treated in some other way (e.g. refactored or covered with tests). An important part of the job is to quickly get familiar with this codebase – it’s the single key factor for my professional success. And to succeed, I’m reliant on the code being carefully crafted and not holding any surprises. That’s why I’ve come to value well-written code really high over the years.

Read More