{"id":2210,"date":"2010-11-04T22:34:33","date_gmt":"2010-11-05T03:34:33","guid":{"rendered":"http:\/\/blogs.terrorware.com\/geoff\/?p=2210"},"modified":"2010-11-09T22:44:14","modified_gmt":"2010-11-10T03:44:14","slug":"a-heads-up-about-head-down-coding","status":"publish","type":"post","link":"https:\/\/blogs.terrorware.com\/geoff\/2010\/11\/04\/a-heads-up-about-head-down-coding\/","title":{"rendered":"A Heads-Up About Head-Down Coding"},"content":{"rendered":"<p><em>This was <a href=\"http:\/\/localfourth.com\/2010\/11\/04\/a-heads-up-about-head-down-coding\/\">originally posted<\/a> on the <a href=\"http:\/\/www.localfourth.com\/\">Local Fourth<\/a> blog as part of my participation in a community media innovation project at the <a href=\"http:\/\/www.medill.northwestern.edu\/\">Medill School of Journalism<\/a>.<\/em><\/p>\n<p>I first became  acquainted with the term hackathon in college.  A  computer science student group organized an all-night event in one of  the computer labs and ordered in pizza and a seemingly limitless supply  of caffeinated soda.  I remember the event as fun, but I mostly worked  on classwork.  I didn\u2019t yet have a backlog of personal hacking projects  that could really benefit from hours of uninterrupted coding.<\/p>\n<p>At the start of this project, Shane, Steve and I participated in a  mobile hackathon sponsored by The Media Consortium.  It was a fun way to  familiarize ourselves with our chosen software tools, get used to  coding as a team and anticipate some of the hurdles we\u2019d encounter  during the innovation project.  Though I spend a lot of most days in  front  of the computer, there\u2019s something pleasurable about having an  entire day, or weekend, of frenetic, uninterrupted programming.  This  might sound like hell to a lot of people, but it\u2019s fundamentally  satisfying to building something from scratch and to be able to be fully  immersed in a project, really feeling every aspect of the process and  design.<\/p>\n<p>Most of my coding time doesn\u2019t feel this way.  Within the innovation  project, there are countless meetings, e-mail threads to read, documents  to share.  While there is a certain amount of coordination required  between developers working on the same code base, the time overhead  required to connect with other teams feels like it increases  exponentially.  While communicating about the project often feels like  an interruption, finding uninterrupted time to program is even more  difficult when I have to factor in childcare responsibilities.<\/p>\n<p>On a typical Wednesday, I try to leave the workspace before 3:30 to  pick the kids up from their after school program.  Then we head home  where I have to help with homework, cook dinner, do the dishes, go to  the park if we have time and then remind them when it\u2019s time for bed.   It\u2019s around 9 before I can even think clearly about code again.   Thursdays, I leave even earlier to pick them up from school, drop  Florence at home and drive Oona to the West Loop for her dance class  (though this has made me really good at doing long division in my head  while navigating traffic).  If the traffic\u2019s bad, I\u2019m in the car for  around two hours total.  I sometimes try to squeeze in a little work  while they\u2019re doing homework, or reading after dinner, but it usually  feels like a kind of attention purgatory where I\u2019m neither able to focus  on the infuriating bug that I\u2019m trying to fix or the needs of the kids.   On the days when I have to leave early, it feels like I never end my  work day at a coherent stopping point, where I\u2019ve at least discovered  the cause of a bug and have a plan for a fix or where I\u2019ve sketched out  enough of the implementation  of a feature where I can come back to it  and everything will make sense.<\/p>\n<p>I\u2019ve lived with and helped take care of my friend\u2019s twin daughters,  now 10 years old, for a few  years.\u00a0 But, my responsibilities, and their  impact on my time, really ramped up since we all moved to Chicago. I\u2019m  somewhere between a babysitter and a parental figure and this ambiguity  mirrors the range of likely responses to talking about trying to work on  a software project and share in childcare responsibilities.  For a lot  of my peers, who are childless, the response is \u201cI can\u2019t imagine what  that\u2019s like.\u201d  For older folks who are parents, it\u2019s more like \u201cduh,  that\u2019s how it is.\u201d  It\u2019s a tough topic to talk about, made tougher  because, from week to week, I either feel overwhelmed by all the  juggling or like the responsibilities that I have are a cakewalk  compared with those of a full-time single parent.<\/p>\n<p>As a <a href=\"http:\/\/geekfeminism.org\/2010\/10\/29\/baby-and-startup-big-deal-or-perhaps-a-big-deal\/\">recent thread about parenting and start-ups<\/a> on the excellent Geek Feminism Blog points out, its not a very  productive conversation to generalize about how parenting or any other  real-life experience affects technology projects and the people behind  them.  Still, the experience of someone struggling to balance the needs  of a project and the needs of others is different than those who aren\u2019t  struggling with such ambivalence.  I\u2019ve read accounts of developers who  are fathers feeling alienated when they leave at the end of the workday,  just as their childless colleagues are ordering pizza for a late-night  coding session.  During this past year\u2019s Ada Lovelace Day, a campaign to  forefront women in technology, a blogger voiced <a href=\"http:\/\/geekfeminism.org\/2010\/03\/25\/how-not-to-do-ada-lovelace-day\/\">criticism<\/a> that some men used it as an opportunity to acknowledge how their female  partners gave them time to work on technical projects rather than  celebrating the direct technical contributions of women.  In the context  of childcare responsibilities, it\u2019s easy to see how this underscores a  trade-off between one person\u2019s ability to participate in demanding  technology projects and another\u2019s.  But I want to go beyond pointing out  that there might be some disparities and prejudices around different  people\u2019s availability for technology work or projects. Instead, I try to  question whether the amount of time someone spends hacking on a  project, or in the office necessarily represents the only value of their  labor.<\/p>\n<p>I yearn for days where I can work, uninterrupted and on my own  schedule, on a juicy programming problem.  But I, and hacker culture in  general, may also overly romanticize this kind of heads-down coding.   Interruptions are frustrating, but they can also mean that our work and  lives as programmers are grounded in the world and not just in code.  Good software exists to meet needs, not for its own sake, and a life  without significant demands outside of a software project can make it  much more difficult for a developer to design software that is both  elegant and useful.  Furthermore, more code, or time coding, doesn\u2019t  necessarily mean better code.  I\u2019ve definitely spent hours of intense  coding, only to find that I\u2019ve hacked my way into a corner, leaving  behind a series of commits more convoluted than when I started.<\/p>\n<p>Now I just need to remember this when I\u2019m stuck in traffic rushing to make that after-school pickup.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This was originally posted on the Local Fourth blog as part of my participation in a community media innovation project at the Medill School of Journalism. I first became acquainted with the term hackathon in college. A computer science student group organized an all-night event in one of the computer labs and ordered in pizza&hellip; <a class=\"more-link\" href=\"https:\/\/blogs.terrorware.com\/geoff\/2010\/11\/04\/a-heads-up-about-head-down-coding\/\">Continue reading <span class=\"screen-reader-text\">A Heads-Up About Head-Down Coding<\/span><\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[20589],"tags":[830,579,61],"class_list":["post-2210","post","type-post","status-publish","format-standard","hentry","category-medill-community-media-innovation-project","tag-children","tag-parenting","tag-programming","entry"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p4wnIz-zE","_links":{"self":[{"href":"https:\/\/blogs.terrorware.com\/geoff\/wp-json\/wp\/v2\/posts\/2210","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.terrorware.com\/geoff\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.terrorware.com\/geoff\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.terrorware.com\/geoff\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.terrorware.com\/geoff\/wp-json\/wp\/v2\/comments?post=2210"}],"version-history":[{"count":2,"href":"https:\/\/blogs.terrorware.com\/geoff\/wp-json\/wp\/v2\/posts\/2210\/revisions"}],"predecessor-version":[{"id":2212,"href":"https:\/\/blogs.terrorware.com\/geoff\/wp-json\/wp\/v2\/posts\/2210\/revisions\/2212"}],"wp:attachment":[{"href":"https:\/\/blogs.terrorware.com\/geoff\/wp-json\/wp\/v2\/media?parent=2210"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.terrorware.com\/geoff\/wp-json\/wp\/v2\/categories?post=2210"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.terrorware.com\/geoff\/wp-json\/wp\/v2\/tags?post=2210"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}