Looking for my RSS feed? Here it is!

Integrity in Life via Cartoons

Saturday, August 4, 2007

Anyone who knows me knows that I do not waver on my integrity.  If there is an option between doing something properly and getting something done quickly, then I'm going to do it properly.  PERIOD.  There will be no discussions.  I've left three gigs for not wavering on my integrity and I'm very grateful for it as each time, by the grace of God, my pay has been increased (I did the math and I think I should keep this pattern up!)  Most of my principles are Biblical principles that I would very literally and very gladly give my life for, but some of them are principles in the technical world.  It's important to note that having integrity means that you are one whole, complete, singular person with no divisions; you are an integral unit.  You cannot have integrity if you have one belief system at home and a completely different one at work.  I don't mean simply "religious" beliefs, but I mean moral, ethical, and general beliefs and philosophies of your entire life.

www.reverendfun.com

One of my role models in this area is Al Weiss, the president of worldwide operations for Walk Disney Parks and Resorts, who reports directly to Michael Eisner.  A few months ago I attended the "Rebuilding Integrity in the Workplace" conference in Kansas City, Kansas hosted by the Integrity Resource Center, where Weiss spoke on "Guiding Principles for Faith and Work".  It was one of the most powerful and jolting conferences I've ever attended.  This is a man who told Michael Eisner that he would NOT attend his meetings when his son has a baseball game.  By listening to him, you could just hear a screaming reminder that meekness (consciously controlled strength) is the opposite of weakness (being a sissy).  Granted sometimes it feels like the cartoon on the right, but it's always worth it!  Christians, remember when you were spiritually resurrected?  You were given a Christ's backbone; don't let it go to waste.  That thing held the sins of the world and didn't break.  Non-Christians... intrigued?

One principle that I live by is a simple principle of what some call "taking pride in your work".  It's really just called "doing it right", but whatever you call it the result is the same: no one can in good conscious put you to shame for what you've done.  Now, many people like to apply this in their personal life, but completely forget to apply it professionally.  For example, some programmers may be very good about applying the 10 commandments and parables to their live, but will blatantly on something like the W3C standards or .NET Framework Design Guidelines.  It may not seem like a big deal to that person, but each of these things are very similar in that they each flow from the person's integrity.  If you start to be sloppy at work or tolerate sloppiness, you will inevitably start to be sloppy or start to tolerate sloppiness at home or at church.  This is very analogous to stealing.  If you start to steal office supplies, you are demonstrating your abilities to steal, which could eventually lead to the stealing of greater things (not that there are "lesser" or "greater" things-- we don't get to choose the value of what we steal as it's always still stealing).  One example of good work is the ESV Bible website.  This website houses one of the best English translations of the original Greek, Hebrew, and Aramaic that the Bible was written in while at the same time making my Firefox HTML validator give a perfect rating.  The webmaster of the ESV Bible website, Stephen Smith, is a model of integrity when it comes to this area.  Having this level of integrity allows him, to continue to expose the ESV Bible in even more ways without having to go back and worry about something not being right; he just did it right to begin with.  Flowing from his integrity is the ability to access the full ESV Bible text via the website, a web service, a GET service, or even directly via e-mail.  His respect for the web and therefore the users of the web prompted him to also release a Firefox search plug-in for the ESV Bible.  Furthermore, since he isn't skipping steps or taking shortcuts, he can publish information about the internals of the website or other website components without the fear of shame.  If you are following the rules and living by integrity even in the seemingly areas of life you will have no shame.

www.reverendfun.com

In the .NET community having integrity at work may mean that you are holding fast to the to the Framework Design Guidelines, to which I have a very high allegiance.  Krzysztof Cwalina and Brad Abrams's book is by far and away the most important book that any .NET developer can own.  When I get a new job at a company, I make sure to mention this book in the interview as it's always a job requirement for me, because this book is the absolute LAW.  There are no need for opinions and no reason to make decisions, we just need to look to the law and see what it says.  Methods are CamelCased, Streams are to be disposed, and classes are to never be prefixed with a "C".  Simple.  Some people think that you can waiver on something like this or bring our own "opinions" to it but, we do not come to the law to judge the law, but, rather, we come to the law to be judged by the law.  It would be incredibly difficult to overstate that principle.  The other day I saw some code that came across my desktop and, obviously, my honor and integrity forced me to throw it away as it violated a virtually innumerable amount of rules.  Looking at this horribly impossible to read code felt very much like the cartoon on the left (that truly is such a perfect picture of it!)

Of course, being a scientific person who bases my life on evidence, proof (no, they aren't the same thing) as well as oral and paper defenses backed by research, I defended my position by a working code example and gave various examples of what would happen when someone violates the rules.  I also explained that the .NET Framework has more people working on it than probably the biggest open-source project in the world and yet it looks like it was written by a small team, thanks to the Framework Design Guidelines, without which the entire framework would look like a series of agitated quantum particle swinging from a double pendulum (i.e. it would look very chaotic!)  Of course, while everyone present agrees that each of my arguments were valid and were said to be "very good" and "very helpful", they were completely dismissed.  There are people in this world who actually believe that ignoring fundamental principles and rules is OK if it means a deadline can be met or if it agrees with how projects have always been built.  It's as if the norm implies normal, which it doesn't, or as if normal means right, which it also doesn't.  Being a bit naive, I used to think that everyone was taught as a child "just because something works, that it doesn't mean it's right".  It used to be that when a parent caught their son or daughter in a lie that child would be told something along the lines of "it doesn't matter if it didn't hurt anyone, it's still wrong."  Alas, the pragmatic and utilitarianism model for success has spread like a virus in place of traditional values such as righteousness and integrity.

www.reverendfun.com

Thankfully, most everyone obeys the official Framework Design Guidelines and all respectable companies have them has requirements.  Yet, some people have absolutely no respect for the law, so, in interviews I make very sure that people understand what will be required of them in terms of the .NET coding rules.  Of course, those who have no experience with the official rules, don't have the Framework Design Guidelines book at their desk, or have no idea what FXCop will probably end up bring around a situation similar to the cartoon on the right.  Of course that image also represents what will happen when a company demands that you completely disregard the Framework Design Guidelines that all .NET developers are required to give their complete allegiance to.  These are situations were holding to your integrity in "little things" will help you hold to your integrity in "greater things".  It's very important to note that I'm not saying that you need to be uncompromising with everything that you want.  No, you're never going to get what you want.  I'm talking about foundational principles, not product or tool requests.  For example, though we have every right to vigorously fight for it, we have no right to cry about not getting the data access layer creator we want, but we must not waiver on the simple foundational concept that a solution will have a data access layer.  Font styles, colors, or sizes belong in the world of preference, not in the world of foundational principles; however, implementation of layout via CSS versus that of tables might be a foundational principle for someone.  When you compromise on a seemingly insignificant foundational architectural principle like this, you will you soon be compromising on greater things in your finances, in your church, or with your relationships.  Great or small, foundational principles are non-negotiable.  For almost 10 years now I've been trying to explain with my lips and with my life that there is no difference between personal and professional.  They each flow from the exact same core of a person.  No one can take the foundational principle from you no matter how hard they try.

All this should help explain to people the beginnings of my absolutely lack of respect for today's (2007) most widely used "web" browser, the perfect example of anti-integrity.  I just can't see how introducing a tool into the world's computers which lowers the value of our world's information infrastructure isn't an act of terrorism.  This is, without equal, the quintessential example of lack of integrity in all of the entire technology world.  Decisions were made for the "business" and not for the people.  Businesses ultimately never matter, but people will never cease to matter.  People with integrity never strive to seek what a business wants or what a business needs or seek to find "business reasons" for anything, but rather seek to live by their foundational principles that define who they are to increase the quality of the lives of people.  Often this means, that you must do an upgrade simply to aide in the satisfaction of someone's job or to assist in system usability.  For example, you never need a business reason to switch from MSDE to SQL Server 2005.  SQL Server 2005 will greatly lower the stress levels of people and will thereby increase the quality of their lives.  The same would go for moving to .NET 1.1 to .NET 2.0 or WSE 2.0/3.0 to WCF or VSS to Subversion.  Businesses are only abstract entities, while people are the creation of God and the intense focus of His loving gaze.  With regard to web browsers, it's very fortunately that when working with the aforementioned "web" browser, web developers quickly learn the lesson that they just can't develop applications in that thing at the early stages of development, but, in fact, really need to develop for web browsers (W3C browsers) like Firefox, Opera, and Safari first and then add support for the other one later.  If the people choosing release dates on that product had integrity, instead of releasing what amounts to spyware, they would have simply told their managers "No".  Alas, the results of the Acid2, the test of web browser integrity, test were almost identical for their latest release as the previous one and the product is bringing nothing but grief to developers and users all over the world.  That's the price of not having integrity in the world place.  Admittedly, the Firefox team isn't guiltless either, but their version 3.0 seems to be holding up quite well with the Acid2 test, with the other "web" browser showing no hope in sight.

www.reverendfun.com

There are so many other examples of integrity it's difficult to know where to start.  It could be with your finances, your language, your honesty, your influences, your bumper stickers, or actually anything else.  In the technology realm, showing your integrity would be obeying fundamental principles and following the official guidelines even if they break corporate "standards" or not going on corporate retreats if there is any chance that it will cause you to violate your personal integrity.  Imagine if you were building a tall building or a bridge, would you compromise for any reason?  No, doing that could leave people dead.  Integrity demands that your level of steadfastness in the small things match your steadfastness in the great.  You just can't be one person at home and another at work.  Having integrity means that you live the same principles in both places.  You cannot be one person on Sunday and another on Monday.  This includes full-time employees and contractors.  One manager actually told me to my face "You're a contractor, you have no integrity!"  Needless to say, I didn't last another week :)  You cannot put your work or anything else above your integrity.  Nothing matters that much.  Christians, above all, relax, get marinated in your Bible, live by the cartoon on the left and run the software of your lives on PHP 3.8 ("Indeed, I count everything as loss because of the surpassing worth of knowing Christ Jesus my Lord. For his sake I have suffered the loss of all things and count them as rubbish, in order that I may gain Christ" -- remember that no popular English Bible has ever translated the word "rubbish" in its full force!).  You will be fine, no one can touch you.  Also, don't beat yourself for even publicly messing up.  We all make mistakes, even big ones.  That's the entire point of forgiveness.  Non-Christians... again, intrigued?

Math Problem: 5 + 9 (type the answer in the box)

Notice: all comments are subject to moderation.

Comment saved. All comments are moderated and may not show up for some time.

Creative Commons License
This work is licensed under a Creative Commons Attribution 2.5 License.

Powered by the Minima Blog Engine, NetFXHarmonics Prominax, and Squid Micro-Blogging library.

Developed using NetFXHarmonics DevServer.

Mini-icons are part of the Silk Icons set of icons at famfamfam.com