GrooveStomp Profile Picture

Balancing Development Considerations

It’s common knowledge that changes are cheap to accomodate early in the lifecycle of development. The extent to which this is true can feel rather visceral, depending on the competing needs of the project and the available resources.

Programming is an iterative process involving a lot of in-the-trenches work, some reflection, and a lot of effort to address technical debt. I think it’s really important to partake in this holistic view of software development regardless of the day-to-day realities of the office. Doing so can help to combat any weariness from the workplace, and keep you motivated about the project. Unfortunately, doing this can also have a negative impact on family life and other non-career-specific goals. I don’t know of a good solution to this specific issue, so I always try to focus on family at home and career at work. Mostly this has worked well.

There are always a lot of tangential or less important issues that need addressing outside of the core considerations of a given project. There’s also a lot of downtime on any given project due to any number of factors. Smaller side issues can sometimes be addressed during bouts of downtime, and dedicated thought can be directed towards larger issues. If management and the team are on board with it, it may be possible to divert a little time away from the primary concerns of “the project” to focus on larger side issues. This can be especially attractive if said side issues represent recurring problems for multiple developers or may otherwise potentially sow large benefits.

Anyway, I realize this is all very vague and unhelpful as it currently stands. I want to explore this more fully, but am unsure to what extent I can talk about my work. Hopefully progress in some of my side projects will provide more fodder for technical thought. I can say this: my interests in programming have certainly shifted from game engines and computer graphics towards operating systems and communication. Cloud computation is pervasive these days, but seems to be somewhat at odds with my direct interests here. I’m curious how much of that is perceived vs. real, and how much my direct experiences are coloring my judgment.