The Architect Virus. Professionalism, Career, Status, Narcissism & Entitlement

What’s with this “Architect” virus going around? Why does everyone want to be one? Is it because of status, narcissism, entitlement, money? No really, why?  I know some architects who work very hard and earn just as much or a little more than most other professionals. Their responsibilities and stress levels are a few notches higher than most however. What about status? That’s just bragging rights. Sure you can inflate you’re résumé or LinkedIn profile a bit with that but that’s about it. You don’t need to be an architect for that. Just call yourself “Senior Master Enterprise Technology Architect”, no need to do anything more than to type it in. Inflation, that’s what it is. Once you needed like 10 to 15 years to become senior at anything. Now 4 years out of school you’re a senior consultant with years of experience. So now we need some more titles to make the distinction I guess. Entitlement? Are you that good? If so how come no one sees it?

OK, so you have big dreams of being an architect. Do you have the skills to go with them? Prove it. Start working as an architect. Act like one, work like one and maybe one day you’ll even become one. Being an architect is not a title, it’s not about how many post grad training you receive or master classes & conferences you attend. It’s not a pay scale; it’s not a promotion or a status. None of these things define an architect, let alone make you one.  It’s all about what you do and achieve. It’s about results and value. Hell, you can have three PhD’s and two Post-doctoral Certified Guru certificates hanging on your wall. Those are all fine, but tell me what your value to the business is? How do you hold up in a passionate discussion with industry experts?

An architect is someone who is capable of designing, building, implementing and supporting medium to large, more of less complex systems in such a way that they function well and that are not or do not become a burden to the organization that uses them. In that respect, my mum used to be a great “domestic architect”. She had a very small budget, big needs for her family and like a true engineer she created very workable and productive solutions with very little money using the resources at her disposal. Al lot of people today couldn’t hack that effort. No way. Did she moan and complain? Occasionally, but most of the time she was working and making sure everyone was taken care of and got all they needed. She never got any status or money for that. No bragging rights, she found satisfaction in doing a great job. She also got some respect.

Why do some people act like spoiled brats? Frequently in direct contradiction with their ambitions. I see this in job applicants, and people on the job at the places I work. There is nothing wrong with ambition, earning your fair share, being rewarded. But all too often people expect this up front. Instead of earning they are into getting mode. That just doesn’t work. You don’t get a job, you don’t get a pay check, you don’t get respect, and you don’t get knowledge. These things are earned, not given. Now there are and will always be bad bosses, exploited employees, dysfunctional organizations and such but please don’t be a narcissistic entitled brat. Don’t complain about problems, help solve them.  Trust me, if you really work in a dysfunctional place beyond repair you need to leave. Run! But if you stay … that’s your decision. Perhaps that pay check and benefits are not that bad after. Or are you, contrary to your ego, not convinced that some other business will pay big bucks for you added value? Whatever the reason is, start doing your job. That is what earns you the paycheck & benefits. Moaning and groaning can be an outlet to vent some steam but it doesn’t solve anything in the end. Don’t give me “It’s not my job”, “That’s not my responsibility”, “My boss should do this and that”, “Someone ought to do that”, “This should be fixed”. Don’t moan when you’re constantly going on about being a great professional, too good to waste your time on the lowly work and are “working on becoming an architect”. It’s bad enough for someone who’s just doing enough to prevent being fired, we can really do without the gripes from someone who claims he’s going to lead. There’s an old army saying: “Shit flows down, gripes flow up”. Your team doesn’t care if you think you ought to be paid more and deserve more gratitude or demand more status.

You’re probably an engineer or a likewise highly educated professional with an above average wage. What do you expect? That they pay you that wage to whine about issues and that “someone” must fix them. Wake up sun shine. That is your job!  Do you really think that the high end wage and great benefits you’re being paid is just to show up and find that the company is running perfectly already? Nope, you’re there to take care of those problems and work towards a better organization. Are you doing that? Are you really sure about that sport? Why on earth do you expect to be patted on the back, made compliments and expect status promotions and raises for sitting around complaining? Take responsibility and build that better organization, that better infrastructure, that better team or that better application. It’s your job, your responsibility. When you’re always in the “what is in it for me” mode, taking care of number one, are you really doing your job?

Leading a team, being a go-to person also means thinking of the team. You need to look at the needs in function of the plans for achieving results, the desired out come and what the team needs to get the job done. If you don’t, you let everyone down. That’s why I am disappointed that the first time people are given the opportunity to put together a conference delegation based on the above mentioned specifications and they do the following: send your themselves. They didn’t make a plan for the team; they didn’t ask around or discuss the needs and plans. They just pocketed a conference or training. “Hey, I’m not being paid to take care of that. My boss should”. Perhaps your boss is drowning in work. Perhaps he could have used some help. Help you could have provided, proving you’re capable of helping the team, supporting your boss and take responsibility”.  If you can’t even get that right, how on earth do you think someone will ever listen to you, follow your lead or give you a promotion? It won’t happen, never, ever. They are just advertising their own short comings for the job they claim they aspire to do.

So do your job well and good. Your job satisfaction will increase, people will notice what you can achieve and will start working with you with greater confidence, enthusiasm & results. Working hard & smart generally leaves you a richer & experienced person. And perhaps, not guaranteed, you might get a raise for that. But even if you don’t your job life will be a much happier one. If that’s not enough for you … well there are plenty of organizations that will hire you and pay you the big bucks if you have such good and in demand skills that deliver outstanding results.

All of this can be summed up in one sentence. Instead of expecting to get things because you think you’re entitled to get them start earning them by working for it. In the long run, what do you think will work out better? Assume the role & responsibilities, do the job before the title and the raise. And no that does not mean you have to work yourself to death. But 9 to 5 coasting never made anyone an expert. Here ends the career lesson.


Geeking Out

Did any of you ever use a disk duplex setup in a Windows server?  A disk duplex can be achieved using a Windows server that has two raid controllers on which you create two mirrored virtual disks. You than use software mirroring in the OS to create a mirror using those two virtual mirrored disks. That way a raid controller can malfunction completely and your systems stays up. Those kind of setup where hard to find or come by. So what does a geek do when he gets his hands on a Hyper-V host that has access to two EVA 8000 SANs? Well he creates a VM that has two disks. One on EVA 1(RAID 5 or 1 ) , the other on EVA 2 (RAID 5 or 1). When he’s done installing the OS, he converts the Windows basic disk to a dynamic disk and creates a software mirror. The end result: a disk duplex in a Virtual machine. Instead of using to raid controllers we used to SAN’s with storage controllers! I just had to do it, couldn’t resist 🙂

Direct Access Step By Step Guide Version 1.2 released

I’m about to start work on a Windows 2008 R2 / Windows 7 Direct Access project and while gathering some resources (I played with it in the lab last fall) I noticed the Step by Step guide has been updated to version 1.2 which was published on June 18th 2010. It’s a great kick start for demoing Direct Access in a lab for management. Grab it here. If you’re hooked and need more info, check out the Direct Access pages on TechNet:

Some people complain Direct Access is (overly) complicated. Well, it’s not a simple wizard you can run or some SOHO NAT device that you plug in, but come on people. We’re IT Pro’s. We did and do more complicated stuff than that. As a matter of fact I remember some feedback John Craddock got last year at Tech Ed Europe (2009). Some consultancy firm employees told him he should not make it look that easy. Organizations need consultancy to get it right. Really? Some will, some won’t. I have nothing against consulting, when done right and for the right reasons. I even consult myself from time to time with partners who need a helping hand. But take note that the world does run on people, and consultants are people (really!). What they can learn,  you can learn. Just put in the effort. So go have fun setting up Direct Access and giving your road warriors and IT Pro’s some bidirectional and transparent connectivity to company resources. To me Direct Access was one of the big selling points for Windows 7 / Windows 2008 R2. Better together indeed 🙂

Exchange 2010 DAG Issue: Cluster IP address resource ‘Cluster IP Address’ cannot be brought online

Today I was called upon to investigate an issue with an Exchange 2010 Database Availability Group that had serious backup issues with Symantec Backup Exec not working. As it turned out, while the DAG was still providing mail services and clients did not notice anything the underlying Windows Cluster Service had an issue with. The cluster resource could not be brought on line, instead we got an error:

“Cluster IP address resource ‘Cluster IP Address’ cannot be brought online because the cluster network ‘Cluster Network 1’ is not configured to allow client access. Please use the Failover Cluster Manager snap-in to check the configured properties of the cluster network.”

I have been dealing with Windows 2008 (R2) clusters since the beta’s and had seen some causes of this so I started to check the cluster & Exchange DAG configuration. Nothing was wrong, not a single thing. Weird. I had seen such weird behavior once before with a Hyper-V R2 cluster. There I fixed it by disabling and enabling the NIC’s on the nodes that were having the issue, thus resetting the network. I you don’t have DRAC/ILO or KVM over IP access you can temporarily allow client access via another cluster network or you’ll need physical access to the server console.

In the event viewer I found some more errors:

Log Name:      System
Source:        Microsoft-Windows-FailoverClustering
Date:          6/18/2010 2:02:41 PM
Event ID:      1069
Task Category: Resource Control Manager
Level:         Error
User:          SYSTEM
Description: Cluster resource ‘IPv4 DHCP Address 1 (Cluster Group)’ in clustered service or application ‘Cluster Group’ failed.

Log Name:      System
Source:        Microsoft-Windows-FailoverClustering
Date:          6/18/2010 1:54:47 PM
Event ID:      1223
Task Category: IP Address Resource
Level:         Error
User:          SYSTEM
Description: Cluster IP address resource ‘Cluster IP Address’ cannot be brought online because the cluster network ‘Cluster Network 1’ is not configured to allow client access. Please use the Failover Cluster Manager snap-in to check the configured properties of the cluster network.

Log Name:      System
Source:        Microsoft-Windows-FailoverClustering
Date:          6/18/2010 1:54:47 PM
Event ID:      1223
Task Caegory: IP Address Resource
Level:         Error
User:          SYSTEM
Description: Cluster IP address resource ‘IPv4 DHCP Address 1 (Cluster Group)’ cannot be brought online because the cluster network ‘Cluster Network 3’ is not configured to allow client access. Please use the Failover Cluster Manager snap-in to check the configured properties of the cluster network.

So these cluster networks (it’s a geographically dispersed cluster with routed subnets) are indicating they do not have “Allow clients to connect through this network” set.  Well, I checked and they did! Both “Allow cluster network communications on this network” and “allow clients to connect through this network” are enabled. 

Weird, OK but as mentioned I’ve encountered something similar before. In this case I did not want to do just disable/enable those NICs. The DAG was functioning fine and providing services tot clients, so I did not want to cause any interruption or failover now the cluster was having an issue.

So before going any further I did a search and almost within a minute I found following TechNet blog post: Cluster Core Resources fail to come online on some Exchange 2010 Database Availability Group (DAG) nodes (

Well, well, the issue is known to Microsoft and they offer three fixes. Which is actually only one, but can be done using  the Failover Cluster Manager GUI, cluster.exe or PowerShell. The fix is to simply disable and enable  “Allow clients to connect through this network” on the affected cluster network. The “long term fix” will be included in Exchange 2010 SP1. The work around does work immediately and their Backup Exec started functioning again. They’ll just have to keep an eye on this issue until the permanent fix arrives with SP1.

Calling x64 CLI Tools in x86 Scripting Tools and Processes

Every now and then I get the same question from people who only recently decided to make the switch to x64 bit Windows operating systems. I’ve been running on x64 since Vista RTM and I’m very happy with it. When those people start scripting with their tools, which are 32 bit, calling some CLI tool in %windir%\System32 they can run into an annoying issue that express itself in the correct yet somewhat misleading “WshShell.Exec: The system cannot find the file specified.”. But you know it’s there in %windir%\System32, you checked and double checked!

When your scripting tool is 32 bit and you run your script it usually launches an 32 bit version of the CLI tool you’re calling. This behavior is a result of file redirection. This is a transparent process that’s part of the Windows-on-Windows 64-bit (WOW64) subsystem that is used to run 32 bit apps. When a 32 bit applications calls a CLI tool in the %windir%\system32 directory it silently redirects this to the %windir%\SysWOW64 where 32 bit apps can happily run without a worry on an x64 bit operating system. Yes, indeed %windir%\system32 is for x64 code only and %windir%\SysWOW64 is for 32 bit code.

What’s in a name 🙂 Some people argue they should have use system32 for 32 bit and system64 for x64 bit but I’m sure they had their reasons for what they did (i.e. it would have been hell for some reason I guess). Other suggestions have also been made by people who are far better qualified than I am. For example by Mark Russinovich, a hard core systems developer, in

Now all this can happen transparently for the user if the tools used have both an x64 and a x86 version. Cmd.exe and ping.exe are fine examples. If you run some VBScript in my favorite scripting tool for example (Sapiens PrimalScript) which is 32 bit it will launch a 32 bit cmd.exe, that launches the cscript.exe 32 bit version and which will launch ping.exe (using WScript.Shell) in %windir%\SysWOW64 by silently redirecting your %windir%\system32 path. No worries, you don’t know any better and the result is the same. So it’s usually not a problem if there is both a x64 and a x86 version to the CLI tool as you have seen in the ping.exe example. When a 32 bit process calls a tool in %windir%\system32 it’s redirected to %windir%\SysWOW64 and uses the 32 bit version. No harm done.

The proverbial shit hits the fan when you call a CLI tool that only has a x64 bit version. As the scripting tool is x86 it’s call is redirected to the WOW64 and the script fails miserably as the CLI tool can’t be found. This can be pretty annoying when writing and testing scripts. The CLI backup tool of Windows Backup is a prime example. It does not have a 32 bit version. Consider this little script for example:

Option Explicit

Dim oShell
Dim oExecShell
Dim sBackupCommandString
Dim sText

Set oShell = CreateObject("WScript.Shell")
'sBackupCommandString = "%windir%\sysnative\wbadmin get disks"
sBackupCommandString = "%windir%\system32\wbadmin get disks"

Set  oExecShell = oShell.Exec(sBackupCommandString)

Do While oExecShell.Status = 0
    Do While Not oExecShell.StdOut.AtEndOfStream
        sText = oExecShell.StdOut.ReadLine()
        Wscript.Echo sText 

Set oShell = Nothing
Set oExecShell = Nothing

There is a lot of File Redirection going on here to %windir%\SysWOW64 when running this code in the 32 bit scripting tool. That tool launches the 32 bit cmd.exe and thus the 32 bit cscript.exe which then launches a 32 bit shell and tries to run "%windir%\system32\wbadmin get disks" which is also redirected to %windir%\SysWOW64 where wbadmin cannot be found throwing the error: “WshShell.Exec: The system cannot find the file specified.”. If you don’t have a 32 bit code editor just launch the script manually from an 32 bit command prompt to see the error.

The solution as demonstrated here is to use as in “%windir%\Sysnative\wbadmin.exe get disks”. Uncomment that line and put the line with sBackupCommandString = "%windir%\system32\wbadmin get disks" in comment. Do the same test again and voila. It runs. So there you have it, you can easily test your script now. Just make sure that when the time comes to put it out in the wild you replace it with the real path if the calling process is x64 bit, which for example wscript.exe and cscript.exe are when you launch the form a x64 bit shell (explorer.exe or cmd.exe), which is the default on a x64 operating system. The x86 version runs when you launch them from a x86 shell. But remember the default on x64 bit operating systems is x64 bit and sysnative only functions when called from a 32 bit process (it’s a virtual directory that doesn’t really exists).

Sysnative was introduced in Vista/Windows2008 x64 bit. Not only 32 bit script editor users a affected by this, all 32 bit processes launching tools in "%windir%\system32 are. See more on MSDN via this link  For the folks running XP or Windows 2003 x64 bit it is perhaps time you consider upgrading to Windows 2008 R2 or v7 x64 bit? If you can’t, no need to worry, you’re in luck. Microsoft did create a hot fix for you (;en-us;942589) that introduces sysnative on those platforms. So welcome to the x64 bit universe, beware of file redirection in WOW64 and happy scripting 🙂

The SP1 Béta Wave – E2K10 & W2K8R2

News from Tech Ed 2010 North America rolls in and we have the announcements of Windows 2008 R2 SP1 Béta for July 2010. Exchange 2010 SP1 Béta became available today! I’m grabbing it 🙂

I wouldn’t be surprised to see the the final releases of the products be announced at Tech Ed 2010 EMEA. Now I also wouldn’t mind if they came sooner due to the new and improved feature set both service packs offer, but I’m not really counting on that.

Bob Muglia’s live streamed keynote @ Tech Ed 2010 North America is nearing it’s end by now and he’s pretty up beat about lots of subjects Visual Studio 2010, Azure, System Center, Cloud, Exchange, OCS 14, Windows Phone 7, SQL Server 2008 R2, Office 2010, SharePoint 2010, Bing Maps & SDK, Avatar as a cloud case study & collaboration with Microsoft etc.

Cloud is omnipresent but they talk about hybrid. Making sure Hybrid is cost effective is important to me. I don’t need more work and costs but less.

Why I Find Value In A Conference

For those of you who are attending a high quality conference I’m going to share some tips. It’s great to be able to attend a conference. Not because it’s in a great city and you’ll get to dine out at night, but because of the opportunities it provides us to learn and grow.

So what is the value of such a conference? Well, it is about the communication with peers and guru’s. The conversations you’ll have and the exchange of taught and ideas. The technical information you’ll gather, the products and techniques you’ll see. All of this will help you to direct and focus the way in which you approach your job, run your projects, plan and realize your visions and ideas. A conference, if done well, is nothing more or less than a technical education in the business of ICT and how to do things and make it work, results versus efforts wise. On top of that you get to interact and share ideas with your peers. You can’t ask for anything more.

Conferences cost a lot of money, time and energy. After all when you’re attending you have no income or the boss pays you while you’re not in the office creating value. On top of that you have to pay for the hotel, flight, daily expenses and the conference fee.  So why would we do this? There’s a global crisis, there’s a European crisis, there’s an XYZ crisis and there is economic doom and gloom all over the place. Not to mention all the results of that downturn … cutbacks, redundancy, foreclosures, failing businesses, unemployment, etc. The conference scene is not immune to a recession. Conferences are canceled, scaled down, attendance drops.  The competition from blogs, on line, free or subscription based content, pre views, beta’s, web casts, computer based training can be felt as well, as has been the case for many years. Conferences need to fight to maintain high standards of technical content for an ever more demanding and skilled public in a very rapidly changing world and IT scene. But still, a conference done right is an investment worth making. It is an investment in knowledge. In return we get all of the above mentioned in the previous paragraph and that is why I attend them. They make me a better “Technical Architect”. That is try I really put in the effort to get the funds, create the opportunity and reserve the time to go. The benefits of a conference, if done right, cannot be denied.

What is the right way?  Well first here’s the wrong way. Don’t go there or learn how to use delegates in .NET or to build a Linq to Wmi query. It’s not just an ordinary classroom. Do not go there to nag about some issues you had or have because you’re too lazy to do research and read help files, readme texts, TechNet or MSDN. Do not go to complain about how hard it is to find information and study.  Do not go because of the great location, you will see nothing of it 🙂 unless you use it as a vacation. Maybe some USA people deserve to do this but heck I’m from Europe and I get my fair share of holidays. Also, take any frustration, denial or ignorance about the lies of instant gratification and careers success you might have had when you bought product X and it didn’t just improve your live after clicking “Next” somewhere else. Results and successes come from an enduring effort, which is a fancy word for hard work. They are not a right, a perk or let alone guaranteed (yeah some vendors and people lied to you, get over it). If you cannot search study and learn on your own get out of ICT now. If you need support for every issue or new item and expect someone to be there to help every step of the way you’re in trouble. It takes time, dedication and a great deal of effort to become and stay proficient in IT. Even then you’ll know about failure, setbacks, troubles and mistakes. Life & work is not a commercial.

Go to a conference for the big picture, the architecture, the networking with peers, the possibilities and the dreams. Expand your knowledge and views on how to make the pieces work and interact. The focus of the conference is on tying it all together, learning new and better ways, discovering possibilities which all equals to yet more stuff to learn and more work to do. At the booths manned by industry experts or representatives do give feedback about the product and offer to send some more details about certain real problems you might have come across. But be nice and polite, don’t be a jerk. Would you feel compelled to help a jerk? Techies are people, really!

Don’t run to sessions like a mad man without a plan.  Know why you are there and how to get what you’re after. If this is your first conference, everything will be new and fabulous (I hope). You can’t attend enough sessions. You are torn between the choice of sessions and tracks. You’re full of new ideas immediately and overwhelmed with even more just after that. So for all you newbie’s, get your act together and prepare a bit or it will turn into chaos. Write down ideas, insights and possibilities to pursue. What about you conference veterans? Have you’ve been there, done that?  Have you have seen it all before? Not really, and we all know it.  It’s all about lifelong learning. Conferences are about being in a stimulating environment where you “marinate” in the professional IT community for a week. Learn from and with the people attending. Not only during sessions. Lunch with them, have a coffee with them. Immerse yourself in this explosion of IT and business. Think about the new stuff, use your imagination, and write down ideas. Cross check your plans. Calibrate you insights.

The role of the conference is get you thinking about stuff and gives you a chance to talk to each other about that stuff. Interact! It is the essence of a conference. Ask questions both in public and in private. Talk to attendees, to experts, to vendors. See what they are in to, need, tried, where they succeeded and failed. Find out what they have to offer. Talk shop, talk IT life, and make that connection with the others attending in whatever role. There is a wide world out there much bigger, larger and perhaps tougher than your own little world that is driven by results and built on efforts. Those folks have professional and business experience in all of the subjects being discussed. Pick their brains! Get some new insights and ideas. Yes I know some vendors act like 2nd hand car dealers and yes I’ve met people who don’t know their own products. But that doesn’t rule out the need for and benefits of communication and interaction, those where just the wrong people, just move along. Oh and don’t forget to get a bunch of extra business cards you got out of the drawer. Also keep in touch with people you meet. Send a follow up mail, a tweet, a blog mention. That’s how you expand your knowledge network. If you get to go to a conference, enjoy it and make sure you arrive early and leave late. There is no value in missing a part of the experience to save some time or some €/$ bills.

I don’t implement all the ideas I return home with from conferences. But I have them written down in mails, scraps of paper, txt files, One Note scribbles etc. I tend to pour them into a word document during and after the conference. Form that I distill my plans, my vision and my roadmap.  I will present those to management, colleagues, partners and customers and offer them solutions based on my perception of what business needs we can satisfy with technology. The stuff I’m working on now was born as ideas 12 to 18 months ago. Those ideas are tested and checked over time, they ripe and then they become plans. I find a conference a great place to do that.