selective focus photo of brown and blue hourglass on stones

Competency in software development, the hidden cost

There’s a hidden cost in the software development industry that often gets left behind by any kind of productivity metric that processes like Agile try to quantify. In fact, unless you do rigorous Agile in the sense of proper planning poker between the senior and junior developers and striving hard to have a facilitator on-board to ground the discussions and communication towards finding the balance of complexity a feature or user-story has, it will be probably impossible to pinpoint this hidden cost.

Now we all know that nobody does Agile rigorously. In fact many have “adopted” Agile to their business which basically means there’s a faux-Agile in the interest of business only hidden as a form of corrupt and evil project management. In such an environment, this hidden cost that grows can only thrive and flourish.

Continue reading →
closeup photography of brown analog scale

Scaleway Kapsule and Rancher-managed Hetzner Kubernetes clusters

I honestly think this is the 3rd time I’m moving things around. First I was on Proxmox managing myself a cluster of bare-metal Hetzner (from the server auction page). Then I was torn between a home server and one on Hetzner. I was using many images from the TurnKey Linux project. Nice, interesting but required immense investments of time.

Then I decided I wanted managed Kubernetes services. Not long ago (half-a-month) did I went over to Digital Ocean’s managed Kubernetes service. For not a small price, got a 3 node cluster with 24GB of RAM and 12 cores. Started installing my stuff and quickly ran out of resources only to be forced to pay more.

Continue reading →
close-up photo of gray stone pile

The dynamic equilibrium of code, flexibility in software development

It must be considered that there is nothing more difficult to carry out nor more doubtful of success nor more dangerous to handle than to initiate a new order of things; for the reformer has enemies in all those who profit by the old order, and only lukewarm defenders in all those who would profit by the new order; this lukewarmness arising partly from the incredulity of mankind who does not truly believe in anything new until they actually have experience of it.

Niccolò Machiavelli (1469 – 1572)

The above words are as true for software development as they are true for politics and human nature. Though unlike politics which requires a shift of mentality of the majority of the population and unlike the human nature which usually takes years to change or a very aggressive and disturbing moment of life (death, pain, illness) … we are “blessed” let’s say, in software development to have a choice.

Continue reading →
white ceramic mug near tea pot on table

It’s not just about learning a programming language

It’s actually teaching yourself a way to think … I found myself today in a situation at work that’s outlined perfectly in this article on strategic domain driven design. In fact, the original idea I remembered it from Eric Evan’s great DDD book, but I couldn’t quickly find the page and paragraphs that contained the idea of contexts and upstream/downstream systems so I relied on Google to find me a relevant authority to invoke. Luckily, the above article came about and it captured the idea I wanted to express to my co-workers perfectly.

The situation was that an upstream data producer made a deployment, to which we scaled effectively and nicely all in an automated fashion but then a day later, they rolled-back the change as it produced 50% extra data. Then at the roll-back, 50% of the data was gone.

Continue reading →