I have read this post: ‘Architects: If you can’t code, don’t apply for senior dev jobs‘ and I can’t wait to share something happened to me not so long time ago.
I was interviewed for a position of Chief of Development in a start up. I passed two interviews with Human Resources and I only had left a face to face interview with the CEO of the company. He was(is) a very well known IT professional with an impressive technical background, but he moved to the dark side: management. Seems he got fists full of dollars from stock ops in the late nine tees from a company located in Mordor (sorry, Redmon).
The face to face interview was strange: first, he asked me random technical questions but never looked at my face, he continued looking at the screen of his laptop… ‘This is not a good start’, I was thinking… Then he looked at me, took some sheets of paper that handed to me and said,
-‘Well, now it’s time for the written coding test!’.
What? A written coding test for a management position? I was astonished, and he realized of it. – ‘Is there any problem with the coding test?’, he asked me.
– ‘No, just a bit bizarre, this is a management position, right?’
– ‘Yes, but there are a lot of development managers out that have never developed a single line of code, and my managers MUST know to develop’, and at the same time he handed me the papers.
– ‘I agree, but obviously nowadays as a programmer I cannot score very well compared to a senior developer’.
– ‘I know, you will be compared to other managers’. And then he gave me another sheet of paper with a question about threading. I identified it as one of the threading problems to apply for Google.
– ‘The problem says to write the solution in C’, I said, ‘I can’t code C directly without googling, can I write it in Java?’.
– ‘No, I need it in C’. And continued looking at the screen of this laptop for several minutes.
I tried to write the solution and I must admit that I was not so blocked in my life. Even when I was a student at the university never ever I had that feeling. When my adrenaline faded way of my veins my mind became clearer and I could code the solution, pretty much the right one.
I gave the solution to the CEO and asked me how I felt. ‘Bad’ I said. ‘I guess I’m not interested in this position anymore’.
– ‘Why?’, he looked surprised.
– ‘If you want a Development Manager to test their knowledge about coding, you should explain that in advance’.
We shook our hands and then I left the building. One day later I called the Human Resources responsible of the recruitment and I told her I was not interested in the recruitment process any more.
– ‘Why?’, she was very surprised.
– ‘It’s quite unusual to ask a Manager to perform a written coding test without notice, I felt like falling into a trap, I did not feel comfortable’.
– ‘But you did right, that’s the CEO told me!’, she sounded even more confused.
– ‘No, I did not react very well; I was shocked and I almost lost my nerves. I could barely control my temper’.
– ‘I’m sorry for that; my CEO is quite unusual and I think you could make a good team with him. Please, if you think it twice, let me know and call me back asap’.
I thought it twice, three, four and N times and never called back. I think it’s important to know from the early beginning what are your roles and duties. I believe that Managers have to manage, developers have to develop and only under very special circumstances managers have to go deep into the code. Even in small companies and start ups it’s important to understand this. Otherwise we can find some bizarre situations, like CEO submitting changes to CVS after an attack of ‘I will teach these lazy programmers how real men code!’, or Marketing VP changing CSSs or HTML files directly in the FTP server of the corporate website ‘because IT guys need days to do it!’, or CFO creating email accounts for his girlfriend, friends and family in the corporate MS Exchange Server (what does ‘run out of space on server disk’ means?). Yes, all of them are true.