Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Programmer Competency Matrix

Programmer Competency Matrix

Scheduled Pinned Locked Moved The Lounge
com
30 Posts 18 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • abmvA abmv

    Ahem...just fyi Programmer Competency Matrix [^]

    Caveat Emptor. "Progress doesn't come from early risers – progress is made by lazy men looking for easier ways to do things." Lazarus Long

    R Offline
    R Offline
    roundy72
    wrote on last edited by
    #21

    so if i'm 1.5 according to this scale, i'm a merely fairly competent programmer. at 150k/yr, i'm pretty happy about this.

    1 Reply Last reply
    0
    • abmvA abmv

      Ahem...just fyi Programmer Competency Matrix [^]

      Caveat Emptor. "Progress doesn't come from early risers – progress is made by lazy men looking for easier ways to do things." Lazarus Long

      S Offline
      S Offline
      SeattleC
      wrote on last edited by
      #22

      Now that you've all expressed such disdain for the competency matrix, I will foolishly raise my hand and say I think the general concept is sound; that there are areas of competency in development that people arrive at unevenly, and that might measure their ability to do certain kinds of work or thinking. I was thinking of a similar kind of matrix organized around programming paradigms (imperative, OO, functional), but I think there are paradigms that don't yet have a proper name that are still useful measures of developer skill. Perhaps people are just objecting to the specific categories, or the idea that you have to master all these categories to be a "good" developer.

      S M 2 Replies Last reply
      0
      • J jschell

        Note the note at the bottom "Thanks to John Haugeland for a reformatting of it that works much more nicely on the web." So apparently being able to make it readable on the web is not something a programmer needs?

        E Offline
        E Offline
        Erik Burd
        wrote on last edited by
        #23

        I was thinking the same thing - given how smug this guy is. Even *I* can do this and I suck at web development.

        "Computer games don't affect kids; I mean if Pac-Man affected us as kids, we'd all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music." -- Marcus Brigstocke, British Comedian

        1 Reply Last reply
        0
        • L Lost User

          80% of items above level 1 are unnecessary if not completely useless for programming. Who gives a ff about the internal implementation of data structures (platform dependent anyway) or the CPU's microcode architecture. 90% useless if you want to ever be more than a boring spoon fed drone coder for life. only 2 items actually matter to anyone that wants to get a real high level job (CIO or even more-so self employed) and he got those completely wrong anyway (communications & requirements).

          T Offline
          T Offline
          TonyManso
          wrote on last edited by
          #24

          Lopatir wrote:

          80% of items above level 1 are unnecessary if not completely useless for programming. Who gives a ff about the internal implementation of data structures (platform dependent anyway) or the CPU's microcode architecture.

          Only the people who are working hard to squeeze every last ounce of performance of the CPUs, GPUs, display controllers, storage devices, network adapters, compression algorithms, etc. so that your spouse's car can receive map information from a satellite 13000 miles away, in order to tell them how to get to where they are going, while your kids stream reruns of SpongeBob videos from the comfort of their own home, all while you are at your office, cranking out applications in the most inefficient, crappiest way possible, and still managing to look like a rock star when you deliver your product.

          Lopatir wrote:

          90% useless if you want to ever be more than a boring spoon fed drone coder for life.

          No, those drone coders tend to retire somewhat early and very wealthy, after creating an entire industry that never existed before. And the ones that dont, well, they're still getting paid better than most in the industry. Incidentally, I would consider myself about a 2.5 on that matrix.

          On the other hand, you have different fingers. - Steven Wright

          1 Reply Last reply
          0
          • S Sentenryu

            The same goes for all that's written on the article. If you don't work directly with that stuff, it's irrelevant and sometimes even detrimental* that you know it. \* I have some applications here that one such "genius" wrote where he uses an array of threads to "parallelize" some simple calculations. The kick? the calculations are sequential, take less time to execute than the threads take to warm up and are done once a month with no time constraint. But he just had to pass threads around through the whole app...

            J Offline
            J Offline
            jschell
            wrote on last edited by
            #25

            Sentenryu wrote:

            and sometimes even detrimental* that you know it.

            More than sometimes when someone 'thinks' they know it but they don't. This can often happen when someone absorbed a 'best practice' from years ago, perhaps not even from their experience but what someone else told them. And it has resolved into an absolute commandment from god, that must never be questioned, even when evidence suggests otherwise.

            S 1 Reply Last reply
            0
            • S Sentenryu

              The same goes for all that's written on the article. If you don't work directly with that stuff, it's irrelevant and sometimes even detrimental* that you know it. \* I have some applications here that one such "genius" wrote where he uses an array of threads to "parallelize" some simple calculations. The kick? the calculations are sequential, take less time to execute than the threads take to warm up and are done once a month with no time constraint. But he just had to pass threads around through the whole app...

              M Offline
              M Offline
              Munchies_Matt
              wrote on last edited by
              #26

              Yeah, thats just dumb. And you are right, the use of feature xxxx just for the hell of it is a real problem in the IT world. But I found the chart in general a good breakdown of the skills needed, even if they are per field. I dont know about fancy sort routines myself for example, I work more in processes than data, as I write drivers, so I get your point, but generally its good still.

              1 Reply Last reply
              0
              • S SeattleC

                Now that you've all expressed such disdain for the competency matrix, I will foolishly raise my hand and say I think the general concept is sound; that there are areas of competency in development that people arrive at unevenly, and that might measure their ability to do certain kinds of work or thinking. I was thinking of a similar kind of matrix organized around programming paradigms (imperative, OO, functional), but I think there are paradigms that don't yet have a proper name that are still useful measures of developer skill. Perhaps people are just objecting to the specific categories, or the idea that you have to master all these categories to be a "good" developer.

                S Offline
                S Offline
                Sentenryu
                wrote on last edited by
                #27

                The jump from the second cell to the third is way too big and includes skills that are way too niche to be expected from a general developer. Heck, even the second column includes some things that are useless in the day to day. Maybe if it was presented as limited to a specific niche.

                1 Reply Last reply
                0
                • J jschell

                  Sentenryu wrote:

                  and sometimes even detrimental* that you know it.

                  More than sometimes when someone 'thinks' they know it but they don't. This can often happen when someone absorbed a 'best practice' from years ago, perhaps not even from their experience but what someone else told them. And it has resolved into an absolute commandment from god, that must never be questioned, even when evidence suggests otherwise.

                  S Offline
                  S Offline
                  Sentenryu
                  wrote on last edited by
                  #28

                  jschell wrote:

                  And it has resolved into an absolute commandment from god, that must never be questioned, even when evidence suggests otherwise.

                  I deal with this way too much. What happened to "use the right tool for the right job"? I'm tired of seeing people trying to drive nails with the pointy end of a screwdriver.

                  1 Reply Last reply
                  0
                  • S SeattleC

                    Now that you've all expressed such disdain for the competency matrix, I will foolishly raise my hand and say I think the general concept is sound; that there are areas of competency in development that people arrive at unevenly, and that might measure their ability to do certain kinds of work or thinking. I was thinking of a similar kind of matrix organized around programming paradigms (imperative, OO, functional), but I think there are paradigms that don't yet have a proper name that are still useful measures of developer skill. Perhaps people are just objecting to the specific categories, or the idea that you have to master all these categories to be a "good" developer.

                    M Offline
                    M Offline
                    Member 11561335
                    wrote on last edited by
                    #29

                    Got to second this. I see way too many people who work in developing software that have no understanding of various data structures and which one to use(So it's all arrays), how memory is being used, threading(a bool as a thread synchronization object?) and no ability in algorithmic analysis(O(N2) when you could have easily done O(nlog(n)) that I actually like the fact he stressed the basics for a lot of what he wrote. Always seems like the people that don't do those basics also don't use source control or lay out their code with any sort of reason.(No comments and words aren't spelled correctly either.) Their stuff looks great at first since they get it out quickly and it often works but when you're the guy who comes by to try and fix that mess years later it's nightmare. (Since the issues don't crop up in their testing, only when it's been out in the wild for a few years and they actually get a legit volume of usage do things start popping up.)

                    1 Reply Last reply
                    0
                    • R R Giskard Reventlov

                      Lunch?

                      J Offline
                      J Offline
                      Jeremy Falcon
                      wrote on last edited by
                      #30

                      Sure thing man.

                      Jeremy Falcon

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • World
                      • Users
                      • Groups