Engineering Metrics

(c)XKCD Wisdom It’s been a lot said and done on the field of engineering management metrics. But unfortunately, development teams have a very controversial perception of the metrics, thus it becomes more of the communication issue for the engineering managers or project managers, to introduce those metrics within a group. Speaking of the metrics, I’ve ended up working on the following metrics, that helped me forecast the team productivity and products deliverables....

September 5, 2023 · 6 min · anvyst

Pint and Larastan - pre-commit hooks

Adding laravel/pint and nunomaduro/larastan into your Laravel project using composer with --dev prefix. For both tools, we need to have configuration files, pint.json and phpstan.neon.dist in order to work. The minimal configuration for pint would look like: { "preset": "laravel" } And for larastan, following configuration is recommended: includes: - ./vendor/nunomaduro/larastan/extension.neon parameters: paths: - app/ # Level 9 is the highest level level: 5 Once added, we need to place the following bash script into ....

July 12, 2023 · 1 min · anvyst

Waiting for creativity

Theres a popular notion that artists work from inspiration - that there’s some strike or bolt or bubbling up of creative mojo from who knows where… but I hope (my work) makes clear that waiting for inspiration to strike is a >terrible, terrible plan. In fact, perhaps the single best piece of advice i can afford to anyone trying to do creative work is to ignore inspiration. Mason Currey.

February 5, 2021 · 1 min · anvyst

Organizational Debt

Within organizational debt, there is a volatile subset most likely to come abruptly due, and I call that subset organizational risk. Some good examples might be a toxic team culture, a toilsome fire drill, or a struggling leader. These problems bubble up from your peers, skip-level one-on-ones, and organizational health surveys. If you care and are listening, these are hard to miss. But they are slow to fix. And, oh, do they accumulate!...

November 3, 2020 · 1 min · anvyst

Productivity killers in growth

However, the real productivity killer is not system rewrites but the migrations that follow those rewrites. Poorly designed migrations expand the consequences of this rewrite loop from the individual teams supporting the systems to the entire surrounding organization. If each migration takes a week, each team is eight engineers, and you’re doing four migrations a year, then you’re losing about 1 percent of your company’s total productivity. If each of those migrations takes closer to a month, or if they are only possible for your small cadre of trained engineers—whose time is already tightly contended for—then the impact becomes far more pronounced....

October 28, 2020 · 1 min · anvyst

Product vs Function oriented structures

A function-oriented structure in which firms have “vertical” groupings such as Marketing, Finance, Operations, R&D, or Customer Service. Each function has a specialty, and these specialties are critical to the performance of the firm. This kind of structure is effective when the organization’s product lines are fairly narrow or serve defined market areas. The Product Manager’s Survival Guide. And now for product-oriented structures: A** product-oriented **structure is commonly used by midsize to larger firms that are divided into product groups, product lines, or even product divisions....

May 31, 2020 · 2 min · anvyst

Declarative vs imperative programming

While going through RxJS, found this amazing article explaining the differences of imperative and declarative programming. In computer science, declarative programming is a programming paradigm that expresses the logic of a computation without describing its control flow. Here are some excerpts and learning cliffs to lighten up Saturday quarantine: I draw the line between declarative and non-declarative at whether you can trace the code as it runs. Regex is 100% declarative, as it’s untraceable while the pattern is being executed....

April 18, 2020 · 1 min · anvyst

Composer require/replace: package necromancy

Once in a while, I get lucky being asked to revive some legacy client project, that needs massive upgrades. Normally, the upgrade goes fine, meeting all required upgrades, making sure all the functionality is in place. But this time, the project was so outdated that the packages listed in composer dependencies didn’t just get into the archive. They were moved to a different repository, then closed down, and then mirrored by another developer....

April 14, 2020 · 1 min · anvyst

SRE: Free Books from Google

O’Reilly Publishing and Google giving out online versions (or buy it from Google Books) of their publications on Site Reliability Engineering. Members of the SRE team explain how their engagement with the entire software lifecycle has enabled Google to build, deploy, monitor, and maintain some of the largest software systems in the world.

April 9, 2020 · 1 min · anvyst

Shape Up: Shaping a Product

While going through the second chapter of Shape Up book, just want to summarise some of the key points of it. Real-world scenario with “calendar feature” was perfectly broken down to the points, except of “point-zero” that is constantly missed out in Cyprus: With only six weeks to work with, we could only build about a tenth of what people think of when they say “calendar.” The question became: which tenth?...

March 5, 2020 · 2 min · anvyst