Saturday, September 28, 2019

How to succeed as a poor programmer

In a previous post I outlined why programmers should strive to be good at one thing rather than everything.

In this post I discuss how to be an asset to an organization when you are not a good programmer.  First, for the record:

I am a poor programmer.   Ask anyone who has worked on group projects with me.

But the key compensation is I am aware I am a poor programmer.   I do not try to do anything fancy.   I follow some heuristics that keep me productive IMO.   I think these heuristics are in fact good for all programmers, but are essential for those of us in the bottom quartile.

  1. KISS.   Always ask first something the extreme programming movement advocates:  what is the simplest thing that could possibly work?  Try that and if it doesn't work, try the second simplest thing.
  2. YAGNI.   When it comes to features and generality, "You Aint Gonna Need It".
  3. ALAN. Avoid Learning Anything New.   Various languages and environments and tools come and go, and each of them requires learning a new set of facts, practices, and a mentality.   And they will probably go away.   Only learn something new when forced.   In 1990 I learned C++.   In 2015 I learned Python.  Good enough.
  4. Make arrays your goto data structure.   Always ask "how would a FORTRAN programmer do this?".   During the course of your lifetime, you should occasionally use trees, but view them like binge drinking... regular use will damage your liver.
  5. Never pretend you understand something when you don't, and never bluff.  Google first, then ask people for what to read, and finally ask for a tutorial from a colleague.   We are all ignorant about almost all things. 
  6. Be aware that most coding advice is bad.   Think about whether there is empirical evidence that a given piece of advice is true.
  7. Avoid linking to other software unless forced.  It empirically rarely goes well.
  8. Try to develop a comfort zone in some area.   Mine is geometric C++ code that calls random numbers.   Don't try to be an expert in everything or even most things.
Finally, let the computer do the work; Dave Kirk talks about the elegance of brute force (I don't know if it original with him).  This is a cousin of KISS.   Hardware is fast.  Software is hard.   Bask in the miracle of creation in software; you make something with behavior out of bits.   If you are bad at programming, you are still programming, something that very few people can do.

35 comments:

  1. This comment has been removed by the author.

    ReplyDelete
  2. Do you have a link to Dave Kirks talk/paper?

    ReplyDelete
  3. https://www.nvidia.fr/docs/IO/8343/Elegance-of-Brute-Force.pdf

    ReplyDelete
  4. Great write, can relate greatly to this!
    I would just add one thing - "find team that compensate your weaknesses and allow your contributions to amplify that team".

    ReplyDelete
  5. If you follow those (bad) advice you too can be a Munchkin at the bottom of the ladder.

    ReplyDelete
  6. Their is a lot of wisdom in this post.

    ReplyDelete
  7. I read from somewhere that Carmack said they pretty much rely on the array when making Doom. But I guess at least he used some tree for BSP?

    ReplyDelete
  8. Brilliant! This typifies the difference between wisdom and intelligence. Intelligence might (for example) think #3 is wrong---wisdom over the decades proves it to be the correct choice.

    ReplyDelete
  9. It was interesting to read this post.post online
    What you wrote should be applied in any business and profession. Do not try to be an expert in everything. I agree.

    ReplyDelete
  10. > Avoid linking to other software unless forced. It empirically rarely goes well.

    Are you saying don't use middle ware? Because empirically all of the projects I've worked on would have been no-goes without middle ware.

    ReplyDelete


  11. Absolutely fantastic job you have done here.This is so nice.Thanks for sharing.
    clipping path service

    ReplyDelete
  12. Hello there, You’ve done a great job. I will certainly digg it and personally suggest to
    my friends. I am sure they’ll be benefited from this site.reloader activator
    avg driver updater
    driver booster
    Revo Uninstaller

    ReplyDelete
  13. Your complicated aspect therefore is undoubtedly tips on finding the best performing reconstruction stable for the task, there are a couple of issues you should take time to give some thought to in this article.mixed in key
    push video wallpaper
    3d lut creator
    IDM
    grids for Instagram

    ReplyDelete

  14. 3D LUT Creator CrackI am very impressed with your post because this post is very beneficial for me and provide a new knowledge to me

    ReplyDelete

  15. Refx Nexus I am very impressed with your post because this post is very beneficial for me and provide new knowledge to me

    ReplyDelete
  16. Latest VersionIDM 6.38 Crack is software that facilitates faster activity while using the web or during files download. We are Place a Video tutorial below on the way to Crack IDM With Patch, Serial key, crack. IDM Serial key’s the simplest thanks to registering it. Internet […]

    ReplyDelete
  17. I guess I am the only one who came here to share my very own experience. Guess what!? I am using my laptop for almost the past 2 years, but I had no idea of solving some basic issues. I do not know how to Crack Softwares Free Download But thankfully, I recently visited a website named Crackedfine
    Push Video Wallpaper Crack
    Wallpapers HD 4k Backgrounds Crack

    ReplyDelete
  18. I guess I am the only one who came here to share my very own experience. Guess what!? I am using my laptop for almost the past 2 years, but I had no idea of solving some basic issues. I do not know how to Easy to Direct Download But thankfully, I recently visited a website named softcrack
    Nitro Pro Enterprise Portable Crack

    ReplyDelete

  19. I guess I am the only one who came here to share my very own experience. Guess what!? I am using my laptop for almost the past 2 years, but I had no idea of solving some basic issues. I do not know how to Download Latest PC Cracked Softwares But thankfully, I recently visited a website named pcsoftz.net
    Tenorshare 4uKey For Android Crack
    Adobe Photoshop Lightroom Crack
    IObit Driver Booster Pro Crack
    Sidify Music Converter Crack
    IObit Uninstaller Pro Crack
    Audio Amplifier Pro Crack
    Restoro Crack

    ReplyDelete
  20. I like your all post. You have done really good work. Thank you for the information you provide, it helped me a lot. I hope to have many more entries or so from you.
    Very interesting blog.
    Adobe Acrobat Pro DC Crack

    ReplyDelete

  21. I guess I am the only one who came here to share my very own experience. Guess what!? I am using my laptop for almost the past 2 years, but I had no idea of solving some basic issues. I do not know how to Download Latest PC Cracked Softwares But thankfully, I recently visited a website named pcsoftz.net
    Adobe Photoshop Lightroom Crack
    Icecream PDF Editor Pro crack
    Tenorshare 4uKey For Android Crack
    Restoro Crack
    Restoro Crack
    Autodesk PowerMill Crack
    NoteBurner Spotify Music Converter Crack
    Nitro Pro Crack

    ReplyDelete
  22. I am very impressed with your post because this post is very beneficial for me and provide a new knowledge to me
    Adobe Lightroom Crack
    Screenpresso Crack
    Ludo Star MOD (Unlimited) Crack

    ReplyDelete
  23. Wow, amazing block structure! How long
    Have you written a blog before? Working on a blog seems easy.
    The overview of your website is pretty good, not to mention what it does.
    In the content!
    vstkey.com
    Overloud TH-U Full Crack
    iMyFone D-Back Crack
    Sonnox Oxford Reverb Crack
    Lurssen Mastering Console VST Crack
    Windows TubeMate Crack
    PhpStorm Crack
    Redshift Render Crack

    ReplyDelete

  24. I guess I am the only one who came here to share my very own experience. Guess what!? I am using my laptop for almost the past 2 years, but I had no idea of solving some basic issues. I do not know how to Download Latest PC Cracked Softwares But thankfully, I recently visited a website named pcsoftz.net
    Tenorshare 4uKey For Android Crack

    ReplyDelete
  25. I worshipped however much you'll acquire performed here. The representation is engaging, your made material shrewd. notwithstanding, you demand get got a touchiness over that you wish be turning in the going with. weakened obviously come further in advance again since unequivocally the same practically a ton regularly inside case you guard this expansion. Edgerunner David jacket

    ReplyDelete