davideisinger.com

My personal website
Log | Files | Refs | README

index.md (2122B)


      1 ---
      2 title: "The Balanced Developer"
      3 date: 2011-10-31T00:00:00+00:00
      4 draft: false
      5 canonical_url: https://www.viget.com/articles/the-balanced-developer/
      6 ---
      7 
      8 In preparation for a recent team offsite, I spent some time thinking
      9 about what I hold dear as a software developer. One idea I kept coming
     10 back to is the notion of *balance.* I see balance manifesting itself
     11 several ways in the work of a successful developer, some of which
     12 follow.
     13 
     14 ## Speed Versus Quality
     15 
     16 The most obvious example is the balance of development speed and
     17 quality. When building software, it's never a good idea to write code as
     18 fast as possible without any attention toward maintainability, just as
     19 it's never a good idea to spend such an inordinate amount of time
     20 designing and tweaking your software that it never ships to customers.
     21 The balanced developer focuses on delivering value both immediately
     22 *and* through the life of the software.
     23 
     24 ## Shiny Versus Proven
     25 
     26 When it comes to selecting tools and technologies, again, balance is
     27 key. An unbalanced developer selects technologies simply because they're
     28 new and exciting, or rejects them simply because they're unknown and
     29 unproven. A balanced developer evaluates new technologies on their own
     30 merits, weighing gains in functionality against the inherent risks.
     31 
     32 ## Doing Versus Sharing
     33 
     34 If you've ever looked at someone's code after hearing them speak at a
     35 conference, you know that there's not necessarily a correlation between
     36 someone's ability to speak about technology and their ability to create
     37 it. At the opposite end of the spectrum, there's the quiet fellow who
     38 sits in your company's basement, writing fast, elegant code that no one
     39 ever notices. The balanced developer understands that doing work and
     40 sharing work are most effective in combination.
     41 
     42 ## That Said...
     43 
     44 To hijack an old saying, you should strive for balance in all things,
     45 including balance itself. Falling perfectly in the middle of every pair
     46 of tradeoffs would be, frankly, *unbalanced*. Everyone has their strong
     47 opinions, and that's a good thing, provided it's balanced out with a
     48 healthy dose of pragmatism.