Recruitment process and interviewing

I’ve been to some interviews where I’ve scored pretty badly. Mainly since I don’t know from heart how to write a small method that reads from stdin in C++. Or, I know sort of how to do it, but I need to compile a couple of times before it works properly. So, my C++ skills aren’t sufficient. Never mind that I’ve been working with C++ for the last couple of years with embedded systems. I don’t know what kind of developers that are hired by that company… Ever since I graduated I have questioned the way most employers do interviewing. It seems that no one stops and asks what they are doing. I’ve met some head hunters that do a terrific job, but only a few. Are there so many bad interviews based on the fact that software developers have to do the interviewing?

I was really glad to read the following blog post: Interviews can be a terrible way to identify good programmers. I quite like the idea of you, me, and a couple of co-workers having a coffee and chatting. Excellent way to get to know each other.

Fear of Lint

Me and my collegueas tried to run Lint on your code base. The results where terrifying. I can say that we are responsible for the 27/1881/7219 row. I am ashamed.

Rumor has it that we don’t use Lint because some teams has so many errors that they don’t have time fixing them all. Thus, not using Lint at all…

0×00000000 != 0

0×00000000 != 0 is the statement of the day. If you assign 0×00000000 to a U32 then you can be sure that all bits are set to 0, thus making the variable empty. So, the implicit statement is that assigning it to zero wouldn’t…

This is from one of our senior developers.

Bit order

If you are used to interpreting Bit 32:0 as: “Bit 0 is the LSB and located to the right, and Bit 32 is the MSB and located to the left”, and then spending two weeks wondering why you can’t write 0xF000000 to the register, this is why: Bit 32:0 should be interpreted as: “This is a 16-bit register where Bit 32 is the rightmost LSB and Bit 0 is the leftmost MSB.” In the documentation there is a reference to section 3.6.1 that explains how to handle registers. Looking into that section you get the explanation: “xxxxxxxxxxxxxxxxxxx <- insert example here”. Meh.