Duct tape devs

I read this article by Joel recently.

I consider myself to be a bit of a one of these. I am more interested in getting something live than making something beautiful. The article gave me some reassurance after a crap interview I had recently.

Hands up, it was my fault, I did interview spectacularly badly (well in one part anyway). But as well as my own pish poor performance I also think I touched a few comedy raw nerves.

It was a technical C# interview, I had already totally cocked up the on-line C# test because I am not anal or obsessed with language history (and I am a bit rusty on C#, having been back on pure Excel/VBA/Oracle for a while). And bear in mind this was a multiskill role (with heavy energy trading business focus as well as technical), not some pure C# nerdathon.

Anyway the interviewer asked me if I had used linq, yes, I said but I thought it was a bit pointless. His eyes went wide in shock, he was dumbfounded. So much so that I had to check we were talking about the same linq (language integrated query). we were. As far as I am aware many devs would consider the database a better place to do the queries. Yes, if you have created a textbook multilevel mulit inheritance, multi interface, hierarchical nightmare you might be too far gone to do it in the DB. I am totally sure there are plenty of scenarios where it is useful, and equally plenty of times other techniques are at least as good. I’ve only dabbled with it so I could be wrong.

Then he asked me about design patterns, so I answered (honestly) that I tend to write fairly simple code, try to avoid inheritance and complex class hierarchies. More shock.

He asked me some other stuff I can’t remember but I am fairly sure I got that 100% wrong by his criteria, and 100% right by the duct tape programmer description.

It only just dawned on me that C# was his life, I am sure he has managed to squeeze every single C#/.net feature into one of his projects somehow. And is proud of that. Definitely in the 34% sparklier gang. Me, I’ll churn out the same old pap that I know works time and time again, unless I am sure there is time and justification for blue sky thinking.

No wonder he was traumatised when I suggested something he loved was ‘a bit pointless’. At least he didn’t ask me about silverlight or he would have got both barrels.

This interview made me realise I don’t want to be a ‘pure’ C# developer, in that rarefied atmosphere where technology is more important than solving business problems.

I want to use the cool tools IT departments get like VS, SQL Server, Toad etc, but I want to be with the business fixing the pain points (with the techs they rely on (Excel/Access/VBA/.net etc)).

which are you sparklier or dact tape?

cheers

simon

Advertisements

10 Responses to “Duct tape devs”

  1. jon Says:

    I like linq. It makes it really easy to code once you learn it. I haven’t extensively used databases yet. I interact with Excel the most and using linq makes it really easy to manipulate 1D arrays.

    So, mark me up as a “sparkler.”

  2. jon Says:

    I think I’ll change my answer on that after reading the article you linked to. I would say I’m in between, I like new stuff, but I also like to get it done.

    If we call .NET sparkles compared to VBA, by all means give me .NET, it is so much easier to use and faster to code. But there is a learning curve that will cost you, but after that, you can put out just about anything.

  3. Stephen Allen Says:

    Simon, you say

    “Then he asked me about design patterns, so I answered (honestly) that I tend to write fairly simple code, try to avoid inheritance and complex class hierarchies. More shock.”

    but only a few weeks ago you were deprecating Excel “Class Modules” to me because they did NOT exhibit inheritance functionality.

    I suspect that one’s opinions about these sorts of issues depend your perspective, when there is (or you believe there is) a specific hierarchy to the discussion (e.g. interviewer/interviewee).

  4. Simon Says:

    ??
    VBA doesnt do inheritance usefully, .net does, but that doesnt mean you have to always use it to the max. interview or not. I’ll leave OO and Excel for another post.

    Jon, its not so much the tools that define the sparkle, more your way of using them: to either solve biz problems, or just to play with new stuff.

  5. mikewoodhouse Says:

    Nothing wrong with inheritance – I use it every time there’s no other way to get the job done. Interface inheritance is better than the other sort (“implementation”? I always forget). I’m using a genuine base class right now – keep looking for ways that it might work better/be simpler without it but not found one yet. It rather seems that your interviewer hasn’t got past the everything-looks-like-a-nail stage yet. Many never do. You probably wouldn’t have been happy there.

  6. Joe Serdakowski Says:

    I try to keep things as simple and uniform as possible. I am using Excel-VBA for the front end and SQL Server, MySQL or Access for the back end, but do nothing in the database except store data and index. To be perfectly honest, I know very little about using any of these databases except how to set up tables and indexes. I started life with VisiCalc, then moved on to Excel for the Mac, then Visual FoxPro, now Excel-VBA-Database. I seem to get from point A to point B faster than sparklier programmers with less bugs, but I lose business because I am not using the politically correct programming solutions.

  7. Simon Says:

    Mike, I’d say he was not past the ‘everything looks like the GOF pattern I read about last night cos I don’t have anything better to do’. Classic .net dev – no idea there is a world outside C# and OO. You’re right, it wouldn’t have worked for me there, lucky too as I have heard other stuff since. so a close shave all in all.

  8. Hibbert Says:

    Let’s get things done. It’s horses for courses. Knowing which technology to use is an important judgement call that one must make subjectively. Does this piece of work need a .NET component making it run 30% faster or does it need to be working and shipped pretty soon. All “good” programmers will do unit tests. They should be testing their code as they go along. I did squirm a little when I read that there is no need for unit testing, in the Duct tape article. As an Excel-VBA-Database developer myself, I use the a some of the enormous time saved from creating complexity to test my work, and then test some more with the users. You can still build quality, robust applications in a duct tape kind of way.

  9. MKP Says:

    I’m definately a duct taper then! And I think I must have worked with your interviewer (or a clone) in the past…so many levels of inheritance/abstraction that he actually produced nothing!

  10. ross Says:

    composition is the new inheritance

    Thats all ;-(

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: