Well Rounded Development is a concept I promote to allow developers (professional and otherwise) to concentrate on more than just writing code but how that code works with the world.
I work in Software Engineering specifically in Build Engineering making sure everyone else’s code actually compiles at the end of the day (this is a metaphor…continuous integration doesn’t wait for the end of the day). This also means that when something breaks it is my job to track down what went wrong and get back to the development team to fix it (or fix it myself if I can). This role has exposed me to many different coding practices and styles which I will comment on in conjunction with information of how to build better software.
What is CxM? CxM stands for Customer X Management where the “x” often stands for “Relationship” but it can easily stand for other common nouns used for describing a process involving customers. once you abstract the nouns down to “x” you see how things relate to customers, internal and external, and you see how your code interacts with the world.
I didn’t come up with CxM…I shamelessly borrow the acronym from Microsoft’s Dynamics CRM presentations. it fits the way I’ve been talking about customer service for over a decade however.
Finally, why philosophy? Everybody talks about “beautiful code” or “code poetry” because it is nice to look at and easy to read. I think there is more to be learned by looking at the thought patterns behind writing this type of code – the mental clarity required for beautiful code to just happen.
Developers need to be like a Renaissance man, a person who has many skills to deal with whatever problems may be faced in a day. Knowing the deeply technical ins-and-outs of one language may be enough for some (who are lucky enough to specialize) but most of us have to not only know a language (and the patterns and practices of that language) but we must constantly be learning (and relearning) development principles and new technologies that are always emerging. When you build software that combines four programming languages plus a few scripting languages you are constantly learning just to stay in front of the process.
I look forward to sharing the ride with you.
— David