Programming In Everyday Life



You wake up full of ideas about new features and capacities that will be added to the product you're working on. But at this stage this code's structure is opaque to you and you have been working on this code for over a year. It's unclear how these features can be integrated into the current codebase. For incorporating those ideas, although in theory you have generalized attributes and gotten rid of all sorts of corner cases which were flagged as bugs by users you don't see a path forward. You will see the vision and capabilities that are new and are hopeful your co-workers will have context your ideas will add to the product. You finish off your breakfast and head to the office. Still your thoughts that are very hopeful will survive until the day's end.

Right there is another re-organization. It is a Tuesday and you half-expected this. Some teams are merged and others disbanded. Whims. This is neither good nor bad in your mind. General grayness that permeates the organization to keep people on their toes. You see a man pacing back and forth and look out the window and gesturing. He cites needing more resources and you can not tell if he's currently talking about people or pens.

You've had a ticket open for testing out your ideas for a few weeks now about getting a new cluster. Provisioning VMs that is new is an process that entails some pseudo-language that is weird. All your efforts have been thwarted. The reason are varied, hollow, and usually backed by an artificial sense of urgency:"Not in your job title","Not about the roadmap","New release is tomorrow","Urgent bug fix","Contractual duties","Required by law", etc.. You have an intuition in case you'd been residing around the same 19, that you would have been friends. You realize many of the"broken things" are castles with moats. Martin Fowler got it wrong, it's not micro-services, it's micro-castles and it is the future of all software development. You start imagining this is all a deleted scene from the movie"Brazil". You are a programmer in the bureaucracy. You imagine putting it to your head, pulling out a gun and pulling the trigger. HR bureaucrats spring into action and start racing to see who can stamp a requisition form for your replacement. I want to put you. YOU SEE? . Where were you? Right, validating some new feature code.

They are technically capable so in and you have some friends and test runs you ping them with your thoughts. They excited or are not engaged in any way. They do not see the vision of how it provides a unified experience and enhances the product. You do not blame them. Their supervisor was breathing down their neck about a bug that has eluded all root cause analysis for a few months now. It might be hiding in any number of 3rd party dependencies and is not reproducible in any manner. Transitive dependencies' list is so big that no one knows anymore some variant of Guava keeps conflicting with another edition of Guava every 3rd day of the month. The workaround ever since you can remember is to re-run the three hour construct that produces whatever artifacts depend on those set of dependencies. You ping another friend, same reaction. You select something to work on and examine your Jira and Asana queue and while on Jira you ping that ticket you've had available for some VMs. Your mind starts to wander and you begin pursuing an analogy. Take re-jigger the thing, the item, add something else, pass it on to the next guy. You don't have time to get stuff that is new and don't expect a response from the ping since it has been migrating hardware and they are operating at capacity.

You finish the task you had picked up and three other ones have already shown up in the queue. There's neither coherence nor any kind of sensibility in any of the items that are new. No unified vision. Just requests by go-betweens that sit between you and the users of all the products you're working on. About not doing things this way you remember some kind of manifesto. Something about direct and frequent interaction between the manufacturers and the people that get out value of the manufacturers of the work. Your mind wanders again and you find the trail of another analogy. This is like playing with house except engineering but you are too tired to carry this one.

Too fullstack tired to continue the initial thread that began in the morning and had you excited to go into the office. The build is broken and you are unsure why. Maybe it's the 3rd of this month? You can not run it on a cluster to figure out if it is your code that's breaking or somebody.

Leave a Reply

Your email address will not be published. Required fields are marked *