muhanga

joined 2 years ago
[–] muhanga@programming.dev 3 points 2 years ago

I am very very skeptic about this whole DORA org and approach and adoption. I have a greatest respect to the DevOps philosophy, but from DORA I only got a baseless/faceless metrics. Maybe it is also Google driving it that gives me additional rejection impulses. I am quite skeptic at what and how Google does and this colors my perception of all thing it produces.

[–] muhanga@programming.dev 0 points 2 years ago

Why can't there be a normal P2P project handling exchange of information and/or modern fiat in the same way (Something like Paypal, but transactions have no middleman)?

Firstly because money is a physical, cultural and social construct so it can't be changed on purely informational basis. Someone still need to share burden of proof and they want to be compensated for the labor. So until we get a StarTrek replicators (mean we remove need to spend money on basic need and survuval of whole human race) this is a state we are in.

In short blockchain and crypto don't solve any real world problem. It solves problem that it itself creates.

I can sell you amazing knife and it will fix the world hunger, but only if you can buy bread and sharpen the knife. This is crypto sell point in the nutshell.

Blockchain is little different as it solves the problem of provable chain of evidence, but it is not economically viable due costs needed to run it for organisations that require it. Any problem that blockchain can solve require that all information for this will be stored on blockchain. And physical object information is not stored on blockchain, so data input errors/malpractice is still the problem and this reduce blockchain effectiveness to the basically zero.

Dan Olson aka foldablehuman have an amazing series of video essays regarding all the crypto blockchain and web3 scam running around. I highly recommend them. It just a sea of information regarding current state of things with crypto/blockchain business.

[–] muhanga@programming.dev 4 points 2 years ago

If you are using BitBucket Cloud you can create pr rules to include people into Review based on files change. And then you can create a user for a bot to monitor those PRs using standard BB notification emails. Of course if there is not much PRs bot is Overkill and human will be enough.

You can always "just" create a static script that pulls repo check diff for files and email people if something is found. This way you don't link your solution to the git cloud offering.

[–] muhanga@programming.dev 2 points 2 years ago

This is why computers had a big reset button.

[–] muhanga@programming.dev 14 points 2 years ago (1 children)

This really devolves into "good teams can deploy daily, can raise a small PRs and have small number of rework". And this is like... thank you, but it is obvious. If team is able to do this things constantly it is probably a good team.

DORA says that if your team is able to do same pattern (as they show) it will be "elite/good" team. This really smell like a cargo cult. And managers are already using DORA metrics as good/bad teams metric.

This is clear Goodhart's Law case: ""When a measure becomes a target, it ceases to be a good measure". So either DORA knowingly did nothing to protect against metric gaming or they didn't considered impact they will make. Neither of those is a good in my opinion.

So yeah I don't like DORA in it current iteration.

[–] muhanga@programming.dev 5 points 2 years ago

Same problem with "top 10%".

"DORA guys" came to our org in the past. And sing a song of "all successfully teams do that to, so you should too". One of the my question, that was left unanswered, was did they analyse negative scenarios to check if their suggestions actually works and add too the reducing cycle times and what not?

And most of the time my cycle time is more depends on number of meetings I need to attend through day than on anything even remotely related to the coding.

I understand what DORA tries to do, but what they achieve is just another cargo cult.

[–] muhanga@programming.dev 3 points 2 years ago

Somewhere someone probably does... But this piece of code really look like someone either tried to inline a bunch of calls or this is code generated object mapper from json or other nested model.

Nobody with a sane mind and serious attitude will use this code as a "real" code. (I still believe in people, despite all the evidence to the contrary I get every day)

As a fun bit though this taken some dedication.

[–] muhanga@programming.dev 2 points 2 years ago

You are absolutely right. At first I just wanted to add my favorite language to the bunch, but then I realised that this isn't really answering anything, because the use case matters most.

You can use any language to programm solution to any problem in any environment. And given that here we have many developers fixing many different problems we will end with just a collection of all possible languages and problem/solution permutation.

Language doesn't matter. Solution and solution logic matter. And most times we are using a Plain Human Language to crate a solution and then encode it.

[–] muhanga@programming.dev 8 points 2 years ago (2 children)

Plain Old Human language. Remember comments? Remember moments when things get very complicated and docs and comments become your only help?

That mostly because none of the languages is the best. Some of them better in some places and worst in others.

For example: Java. Amazing library range, enterprise support and feature and community reach. Java also fail in shambles when you need a low level or guaranteed performance. Erlang. Robust distributed and fault tolerant. Now try to create something that is not network, agent oriented and should work locally only.

Every language has a niche. Look at javascript. JS is only exist because of it's niche. It wasn't good as a language, but it was the only one viable solution in it's niche.

Same with assembly. Nobody sane would use assembly if it wasn't that close to the metal.

There are time tested solution in every niche and it is wise to know why they still there and what drives them.

[–] muhanga@programming.dev 2 points 2 years ago

I learned this lesson through one of my optimization tasks. Speeding up programm by just reducing input data by 80% solved multiple problems. And real eye openner was an "article" about grep: https://lists.freebsd.org/pipermail/freebsd-current/2010-August/019310.html

Basically if you have less work you will do it faster. Since then my first question is always: Can we do less work?

[–] muhanga@programming.dev 2 points 2 years ago

I agree with your motion of creating simple software, but removing learning complex approaches and complex software don't help with this.

Creating simple software requires understanding of what is complex and how to make it simple. There is no way that you can do this without learning. You either learn this by craft or learn through the practise.

[–] muhanga@programming.dev 18 points 2 years ago

Learn to talk to people and maintain connections. It is most invaluable skillet that will help you both carreer wise and professionally. The more people you know the better it is for your carreer. Learn to present yourself. Visibility matters very much, so it also good to "sell yourself" sometimes. There is really fine balance between making a sell and just bragging, people don't like second, but okay with first. Learn to teach other people and help them. Most troubleshooting experience I get now is from helping other people. They have a completely different way of doing code that I am (as a whole) and I am just getting this free xp by helping them and also adding one more trouble to my personal solution cupboard.

As for technology, pick what you like and master it, but also make a peeks at what is currently "in vogue". For example I really have no depth knowledge in the current frontend space, but I did take a passing looks (and build simple tutorial projects) with react, angular and dart. It didn't really required a much effort from me, but this helped in the long run to be aware.

view more: ‹ prev next ›