Monotony and Epiphany

Starting to work a full time job writing code for a semester has opened my eyes to many of the issues that software professionals speak of. Whenever applying myself to studies or homework assignments and projects, I’ve always done so with excitement and enthusiasm. There have always been moments of frustration, but always egging me on to find the proper solution. The wonderful opportunity I have now has introduced me to a new experience, however: the monotony of incremental progress.

In “Things You Should Never Do, Part I”, Joel Spolsky writes that programmers are naturally inclined to want to scrap old code and begin fresh, feeling that the old code is lacking too much to repair in one way or another. He offers the reason that code is harder to read than to write. While revising my own code I’ve come to the faulty (but not always false) conclusion that my code was bad because I had forgotten what certain chunks of my code were accomplishing. As if I were one of the coders in Spolsky’s blog post, I had fallen into the trap of thinking code was opaque for not having code completely memorized.

My desire to start anew was not always confined to my own project, though, as a couple of times I have thought of ways I would do things differently if I were involved in certain code building. While some of my ideas were certainly valid, this article made me come to the realization that a ground-up approach to coding with an already existing model is almost arrogant in most situations. Who am I to think that code I write will be any less buggy, or any more elegant? Am I somehow immune to forgetting about edge cases at the beginning of my implementation? This is especially true when the coder doesn’t fully understand the code he or she wishes to rework. How can you know that instability exists if you can’t understand the blueprint in the current moment? Of course, if a problem exists (agreed upon by all or most involved in the coding process) then corrections should be made, but Joel Spolsky has opened my eyes to the fact that the sometimes slow moving process of incremental iteration is entirely too important.

要查看或添加评论,请登录

Andrew Reed的更多文章

  • Underlying Representation of a Class: We Have to go Deeper!

    Underlying Representation of a Class: We Have to go Deeper!

    Once upon a time, I took a career preparation seminar as a senior. This class taught how to prepare a resume, create a…

  • Women in Math and Science

    Women in Math and Science

    Did you know that the first programmers for the modern computer were women? Neither did I. I'm currently reading a…

  • Writing and Coding: Not Oil and Water

    Writing and Coding: Not Oil and Water

    When people say they could never learn how to code because they think learning a specific language is too hard, I…

  • Pushing Through the Boredom

    Pushing Through the Boredom

    I’ve already written a post about procrastination in the workplace, but it seems the topic is common in blog posts and…

  • API Entropy

    API Entropy

    “Ways to Create Complexity: Break Your API” by Max Kanat-Alexander offers advice to developers designing an API…

  • No Problem

    No Problem

    My first day at my co-op internship was very dizzying. despite working other internships and summer research before…

  • Getting Resumes Read

    Getting Resumes Read

    In "Getting Your Resume Read", Joel Spolsky gives a few pointers (some stressed and repeated frequently) on how to get…

  • Subliminal Follow the Leader

    Subliminal Follow the Leader

    Working in a group with one or more partners who have an unoptimized work flow can be frustrating. This is only…

  • Should I Procrastinate? Nah, I'll do it Later.

    Should I Procrastinate? Nah, I'll do it Later.

    Most days begin the same for me. I get into work, fill my water bottle, and spend my first ten minutes at work checking…

  • Prescription: Panacea and a Grain of Salt

    Prescription: Panacea and a Grain of Salt

    Code complexity is something all programmers should strive to prevent or reduce for the future of the codebase. Though…

社区洞察

其他会员也浏览了