Programming is…

Myth: Programmers get to write code all day.

Truth: Most programmers spend a ton of time (in no particular order):

  • Carefully composing e-mails to other programmers/mailing lists/non-technical folks
  • Sitting in on meetings, working on mockups and DB schemas, worrying about performance implications of proposed features
  • Writing bug reports and searching through bug DBs
  • Scrambling to figure out why systems with numerous opaque layers are failing, digging through multi-GB log files with command line tools
  • Explaining downtime to users/higher ups
  • Contributing solutions to strangers’ problems
  • Reading documentation/books/programming blogs/release notes/vulnerability announcements
  • Searching for existing code that does what you want, maybe without knowing what that’s called
  • Evaluating if code you found solves your problem/would perform acceptably/fits in your environment/has a compatible license/has a lasting support community
  • Installing, configuring, and testing a codebase then finding it won’t work for you
  • Googling error messages
  • Digging through public code repositories to see “how [some open source project] does it”
  • Learning source control tools, bash, GNU utilities, and Linux file permissions (and/or the Windows equivalents)
  • Configuring IDEs, virtual machines, web servers, databases
  • Figuring out how to shoehorn together codebases that weren’t designed to coexist
  • Determining which tasks to prioritize from an endless supply

60 thoughts on “Programming is…

  1. says:

    Wow, this is pretty dead on and makes me realise why I underestimate how long it will take me to get something delivered.
    Many of these tasks I don’t mind as they are what development is about. But I really really hate going into meetings with non-techs to explain what’s going on as that’s just a waste of time.

  2. Sam says:

    All task just as a passion how u do … no programmer stands for work only work for passion to do unique and ur idea to deal with login that represents only u.

  3. adding to the list for a small company programmer cum system+network admin..

    *indulging your precious time and efford towards all the IT requirements of the whole business firm, assisting various end-user defined problems and also solving anything related to the office’s computer system .. even if their mouse cant click or the pc suddenly hangs or “how to copy this image in .PDF into my .docx document” or “my printer cant print!.” problems.

  4. Francois says:

    This definition of what a programmer is,that it actually brings forth a sort of enlightment. This definitions actually gives a clear perspective and understanding for a developer on programming and development this day and age, and can help alot of old and new developers better understand themselfs in programming and development world but also the rest of the business to better understand the developers and programmers.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.