What Type of Developer are you?

I chanced upon an old draft in my list of posts and thought that now is a good time as any for that post while when this was written it might not have been appropriate.

So, the easiest way to write this article is in the form of Swift code.
which type of developers do you know?

enum DeveloperType: CustomStringConvertible {
    case HansSolo
    case DrawlingYoda
    case AustinPowers
    case LlyodChristmas
    case Other
    var description: String {
        switch self {
            case .HansSolo:
                return "Works as the only dev in a large 
                        organisation and want more devs 
                        to share the workload but too 
                        insecure to allow any new devs 
                        from joining the organisation."
            case .DrawlingYoda:
                return "Is involved in every conversation
                        to appear knowledgable but rambles
                        on and on in twisted sentences 
                        that adds no value only reiterating
                        the esatablished facts."
            case .AustinPowers:
                return "Has an egaliteraian feeling 
                        because they purchased the first
                        iPad or iPhone the moment it was
                        released and obsessed with a 
                        particular technology. They can
                        get shagadelic if they cannot 
                        intimidate others with these 
            case .LlyodChristmas:
                return "Bungling developer that manages
                        to get by with sheer luck - 
                        modeled on Jim Carey's character
                        from Dumb and Dumber"
            case .TimTopper:
                return "Can top any claim that you can 
                        make even if it is ridiculous, if
                        you were attacked by a mugger, they
                        were mugged by two. They want
                        everything, disregarding merit."
            case .PeterRePeter:
                return "Can write code of any type to do
                        anything you want AS LONG AS they
                        have access to a repository that
                        has such code committed. Cannot
                        write original code, have to use
                        a fixed template to ensure their
                        code works."
            case .Other:
                return "Normal Developer that actually 
                        ships software, you will never 
                        see these as these are backroom 
                        developers and the above are the

This was a while ago, some of these things have changed but the idea behind remains the same. It is difficult to put them into a category as each has particular and peculiar traits. There has been one developer from a previous engagement that has been the most interesting since that developer could not write code at all, however was recruited by the organisation as a senior developer, without saying much the best way to describe the developer with code is
var dev: DeveloperType = .Other
var thisDev:[DeveloperType] = [.DrawlingYoda, .LlyodChristmas, .TimTopper, .PeterRePeter]

This was written as a rant a while ago, over the years I have helped a lot of developers via code reviews, writing code, teaching, training, etc. However there are some of those tough cookies that irk you and are also fascinating case studies.


Popular Posts