The 10X Programmer

  • Iwas Bornready (9/19/2016)


    "Given the state of questions I see asked on SQLServerCentral and other sites, it definitely seems that there are plenty of developers being paid to produce poorly written T-SQL code."

    Wow, what a great way to stifle questions. Here I thought we had a forum where we could freely ask anything and not worry about being labeled stupid. Was I wrong? Seriously, if I ask a question about THIS then it doesn't mean I don't know anything about THAT. And the person that seems to have all the answers to all the questions may really just be a grumpy old programmer that studies hard but still can't figure out simple logic.

    I've known people that others think are 10X programmers. Yes they can code like the wind. But then the rest of us have to come in from behind and fix all the bugs. So do I believe there truly is a 10X programmer? No.

    10x 🙂 to both these responses. I have likened myself at times to the person who follows the elephant in the parade, cleaning up the mess left behind by the star attraction.

  • I'd never heard of the concept of a 10x programmer, until I read your article Steve. And of course you're asking more about a 10x DBA, rather than programmer. Regardless, I've got to think about this for a while. When I searched the term I came across this blog post (10 habits of 10x developers) which helps me understand what you're talking about. Your article and the blog post I linked to remind me of what one recruiter told me at the Workforce Solutions office when I was unemployed. He used a term he called "lunchbox developer". By that he meant a programmer who basically does what's needed, doesn't aspire to learn more, gets the job done and basically does whatever he/she did when they first started programming. I am interested in improving myself, doing more than I have in the past, learning new things and taking on additional challenges. The lunchbox programmer isn't. I think the lunchbox programmer is satisfied with fight fires all day, repeating what he/she did when they first went to work for their employer. There's room for both in this world and certain places value one type of developer over another.

    However, if I understand the term 10x developer correctly, I do not believe I've achieved that. I don't think I'm 10 times better at developing software than my co-workers. My goal is first to do better than I did yesterday, before I try to beat my co-workers. I hope to one day be that 10x developer.

    But a 10x DBA? WOW, what does such a person look like? I don't think I've got a good enough idea of that to know for certain, but I have an idea of what it isn't. I saw a DBA who needed to change something in several servers spending his whole time logging into each one, getting into SSMS and manually performing the update. It was hugely time consuming and caused the shutdown of several systems for a few hours. That person isn't a 10x DBA. He should have scripted it and then ran the script remotely so that it would make the changes without needing to log into each server. But I also don't think that not being a 10x DBA is complementary to being a 10x DBA. I bet its more of a continuum, than a "this or that" type of thing.

    One last thing, I believe that any good developer, whether they're a 10x developer or not, is open with his/her colleagues and willing to share his/her knowledge with them. Even if they are great at what they do and no one else can do what they do, if they're so arrogant as to think no one else can do what they do they are not, IMHO, 10x developers. (And of course the same goes for the 10x DBA.) I remind you of the case of Terry Childs who in 2008 thought that he knew better than anyone else in San Francisco and decided to hold the whole city hostage, so to speak, because he thought himself just better than anyone else. He is, by all accounts a brilliant network administrator, who kept vital information to himself. That's just hubris at its worst level.

    Kindest Regards, Rod Connect with me on LinkedIn.

  • "Is there such a thing as a 10X programmer?"

    It depends.

    It depends primarily on what is being coded. For instance, if I'm writing a module for the kernel of an operating system or a device driver, the effort is of necessity going to be slow, to ensure unbreakability (Is that a word? It should be.)

    If I'm writing SQL code to perform a repetitive or semi-repetitive task such as index rebuilding or data compression, I may take a long time to implement the dynamic SQL to execute the code, but ultimately, this is very efficient, since the code works for all indexes (if I've implemented it correctly), and never has to be written again.

    If I'm writing SQL code that is difficult to implement dynamically but is repetitive (like creating new indexes), I have a SQL language template for that and I just plug in the unique names in the code. Using code templates for code with the same patterns is extremely efficient and I've produced thousands of lines of code in a single day, recently produced over 17,000 lines of SQL code in 6 days...

    ...whereas when I was writing server source code, it was all I could do to turn out 250-300 lines of tested, C++ source code every day. Yet, I will tell you that was efficient and productive. It met the standard that Microsoft used to measure the productivity of the developers that wrote the NT operating system.

    So, in answer to your question, it depends.

  • Clearly there are 1/10 x programmers but does that truly mean we have 10 x programmers? It all depends on how you define x. If x is the typical output of a competent programmer - not just coding, but also design, documentation and all the other ancillaries, then I would argue that a 10 x person is quite rare indeed. Still we've all known the 1/10 person (or worse) who seems to somehow actually slow the whole project down by their very presence.

  • A 10X programmer/dba, to me, is someone who can accomplish many tasks well, not just write the least amount of code that satisfies the requirements faster or more efficiently than everyone else. If only that was all that was expected of me.

    The 10X programmer needs to be able to help the product owner draft good requirements. They then need to help organize and break down those requirements into easily executed work assignments. Next, they have to produce designs that are resilient to requirement changes while making sure the entire team is well informed and has a good grasp of what the software will do, especially the test engineer and the documentation person. Then, and only then, can they commit themselves to writing succinct, cohesive, loosely coupled code that the next programmer, 10X or not, can maintain.

    Finally, they should always be looking to help others improve themselves so that one day they too can be 10X programmers (code reviews are a great opportunity to exercise this particular talent).

  • To be honest, I've yet to run into a supposed 10X programmer that's worth their salt.

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • According to my co-workers, I'm the -1x Programmer, but in my mind, I'm the 100x Programmer. :hehe:

  • Hopefully a job offer looking for a 10x DBA won't land you sitting alone in a server room with 9 empty chairs. :ermm:

    "Do not seek to follow in the footsteps of the wise. Instead, seek what they sought." - Matsuo Basho

  • Eric M Russell (9/20/2016)


    Hopefully a job offer looking for a 10x DBA won't land you sitting alone in a server room with 9 empty chairs. :ermm:

    Never respond to such silly job specs!!! (I have seen similar.)

    Gaz

    -- Stop your grinnin' and drop your linen...they're everywhere!!!

  • Jeff Moden (9/19/2016)


    To be honest, I've yet to run into a supposed 10X programmer that's worth their salt.

    Look in the mirror

  • Steve Jones - SSC Editor (9/21/2016)


    Jeff Moden (9/19/2016)


    To be honest, I've yet to run into a supposed 10X programmer that's worth their salt.

    Look in the mirror

    Now you're going to make him blush. :rolleyes:

    "Do not seek to follow in the footsteps of the wise. Instead, seek what they sought." - Matsuo Basho

  • Steve Jones - SSC Editor (9/21/2016)


    Jeff Moden (9/19/2016)


    To be honest, I've yet to run into a supposed 10X programmer that's worth their salt.

    Look in the mirror

    Thank you for the compliment but I'm definitely not a 10X programmer. In fact, I'm sub 1X because it takes me a bit extra time to do testing so the QA doesn't have to kick it back for some reason.

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • Jeff Moden (9/21/2016)


    Steve Jones - SSC Editor (9/21/2016)


    Jeff Moden (9/19/2016)


    To be honest, I've yet to run into a supposed 10X programmer that's worth their salt.

    Look in the mirror

    Thank you for the compliment but I'm definitely not a 10X programmer. In fact, I'm sub 1X because it takes me a bit extra time to do testing so the QA doesn't have to kick it back for some reason.

    Which is why I agree with Steve. It isn't how much you do, it is how good you do.

    Think of it this way, if you spend an extra hour doing testing, and it eliminates 10 hours of testing in QA, isn't that better?

    Dave

  • Jeff Moden (9/21/2016)


    Steve Jones - SSC Editor (9/21/2016)


    Jeff Moden (9/19/2016)


    To be honest, I've yet to run into a supposed 10X programmer that's worth their salt.

    Look in the mirror

    Thank you for the compliment but I'm definitely not a 10X programmer. In fact, I'm sub 1X because it takes me a bit extra time to do testing so the QA doesn't have to kick it back for some reason.

    You are, because at the end of the day, measuring total effectiveness, you produce more. This means that when we look at dev time, quality, lack (or proliferation) of bugs, performance, and pleasure from customers, you're probably way ahead.

    10X doesn't mean more code. It doesn't mean more functions or features. It doesn't mean 1/10th the time. It means 10x in terms of effectiveness and value.

    This is subjective, for sure, but there are developers and DBAs that are just much, much more effective than others.

  • RenoChris (9/19/2016)


    Clearly there are 1/10 x programmers but does that truly mean we have 10 x programmers? It all depends on how you define x. If x is the typical output of a competent programmer - not just coding, but also design, documentation and all the other ancillaries, then I would argue that a 10 x person is quite rare indeed. Still we've all known the 1/10 person (or worse) who seems to somehow actually slow the whole project down by their very presence.

    This is a semantic game. People are either 1/10x or 10x, depending on how you measure things.

    I do agree this is rare. I think we find 4-5x programmers regularly, but 10x, that's hard.

Viewing 15 posts - 16 through 30 (of 49 total)

You must be logged in to reply to this topic. Login to reply