Interview with an Architect

I was asked to interview an Architect. Before I could say anything, he told me that he was an Enterprise Architect and he was absolutely disgusted that he was asked to document the Infrastructure. He further told me that he only wanted to be an Enterprise Architect. He explained to me that for understanding things better, he was studying the “C” code available in our Enterprise.

The last statement gave me enormous joy for 2 reasons.

  1. I said to myself that now I could at least ask some questions as “C” language was involved.
  2. I was glad that he was in touch with programming in spite of being an accomplished Architect.

I first set the premise clear to him that I was only the manager for System Architecture, that too acting. So, Enterprise Architecture was not in my scope of work. Next, I requested him to explain what he is unable to do by being a Technology Architect which he can do as an Enterprise Architect (You see I know a lot of jargon to sail through any situation. I have no idea what should be the answer to this question). He gave me some answer which I of course did not understand. Anyway, I asked him some more questions from the various problems on Architecture I need solving as a part of my job as the head of this department in our company. I also requested him to suggest some directions for solving the issues he had noticed in our Enterprise from his study for the past 6 months or so. It was a very interesting discussion with me learning about Rolls Royce and Scotland Yard and many other things. I told him that as I was not a professional Architect, I would give him the benefit of doubt.

I, then, requested him whether I could ask any question on “C” as he had studied “C” code till 3AM last night. He said that I could do so by all means. So, I requested him letting me know that in “C” if I want to print a variable named “a”, which is an integer, what should I write in the program. He started explaining something which I was not understanding. So, I gave him a board marker and requested if he could write it on the white board in my office. He wrote “printf” followed by a dash and then was waiting and thinking. In my enthusiasm to show my intelligence, I suggested that possibly he would like to write a “comma” followed by “a” and consider putting some brackets and look for a place to put a semicolon. He agreed and I was so glad. Then I requested him to let me know what I need doing if I want to read a value from the standard input into the same variable “a”, which was defined as an integer, in a “C” program. He blinked for some time. Seeing him blink, again in my enthusiasm, I suggested that whether he would consider something like “scanf“. He agreed with me and I was again elated. So, he wrote “scanf” on the board and was waiting. So, I suggested that he could consider writing the address of “a”. He thought for a while and told me that it was a good idea. So, I told him that possibly he would consider something like “&a”. He agreed.

I told him that I did not mean to demean his role as Architect and thus was not wanting to know all this from him. I actually wanted to know why Mr. Dennis Ritchie was so stupid that he takes a variable reference for printing its value and takes the address of the variable for reading a value into the variable. I told him that I was looking for this answer for very long. I was extremely sad when I was informed through Facebook that Mr. Ritchie had passed away as I wanted to tell him what a stupid language he has created which creates so much confusion. I wanted to tell Mr. Ritchie that he had no sense of symmetry whatsoever. I was still looking for the answer so that I could rectify the language before it is dead.

He wished me luck in my research. Using my enormous skills learnt and practiced through years of experience, I shook hands and headed straight for the Smoking Room. On returning from the Smoking Room, I made a report stating facts of the interview only and no decision. My report said that I found that the person’s handwriting was a bit difficult to read.

English: Unix creator Dennis Ritchie
English: Unix creator Dennis Ritchie (Photo credit: Wikipedia)
Advertisements

3 comments

  1. I have been getting threatening calls from people for having insulted Mr. Dennis Ritchie. I wish to clarify that I cannot insult Mr. Ritchie under any circumstances. I owe the well-being of my family and myself to Mr. Ritchie for all these 24 years in the Corporate World as all I have learnt is programming in “C” Language. Even when I write programs in PowerBuilder or Java or Ruby or anything else, everybody tell me that I am writing “C” code.

    However, people are not convinced. They checked me out and concluded that I only know the syntax of “printf”. Also, I know that I only know how to type the program “hello.c” as Mr. Ritchie had written in his book “The C Programming Language”.

    Anyway, to provide absolute proof that I mean no insult to Mr. Ritchie, I state the findings from my research.

    I understand that “printf” can not only be used to print variables, it can also be used to print constants like “Hello, World”. As such constants cannot be identified by an address, it was not possible for Mr. Ritchie to allow for “printf” to take an address as an input parameter. So, we have the enormous luxury to print any expression like “2 * 5 * 1000” or “2 * 5 * 1000 * a” using a “printf” statement in the “C” Language.

    Now, “scanf” is lot more trickier. “scanf” takes an address as an input parameter as it needs depositing the value provided as input at the address where it needs storing. However, if just variable reference was provided, it should have still been possible. The only problem was that the executable at run time would need referring to the symbol table to find the address associated to the variable and then deposit the value at the address. This also should not have been an issue. However, Mr. Ritchie made something called pointers. Now, pointers could store address. And the address stored by the pointer itself could store another address, And that address could store another address and this could go on endlessly. If “scanf” took a variable reference, the executable could run around endlessly searching for the address and this would have made the “C” Language super slow. This would have been unacceptable at that time as the need was to move from super fast assembly language to something just as fast, but much easier to write.

  2. Pingback: URL
  3. Thank you Sir/Madam for your kind patronage and kind encouragement.

    The following are the responses to your questions.
    1. I have no way to analyse the characteristics of the visitors who kindly leave messages on this blog. I do not even try such an exercise.
    2. I request your kindly clicking on the link “About” on the Blog where my addresses on the Social Media have been listed. This will also increase the number of hits on the blog by one.

    Nevertheless, I provide them for you as requested.
    LinkedIn – http://www.linkedin.com/profile/view?id=80194011&trk=nav_responsive_tab_profile
    Facebook – https://www.facebook.com/partha.majumdar.5
    Twitter – https://twitter.com/partha060369
    Slideshare – http://www.slideshare.net/parthamajumdar5/edit_my_uploads

    Regards,
    Partha

This site uses Akismet to reduce spam. Learn how your comment data is processed.