Posts

Showing posts from 2018

2018 Reading list

Man's Search for meaning -Viktor E. Frankl Climate Change: What everyone needs to know – Joseph Romm Snow Crash – Neal Stephenson Man Plus – Frederik Pohl Childhood's end – Arthur C. Clarke The Beginning of Infinity: Explanations that transform the world – David Deutsch A Case of Conscience – James Blish Witch: A Tale of Terror – Charles MacKay Meditations – Marcus Aurelius Life 3.0: Being human in the age of artificial intelligence – Max Tegmark Bullshit Jobs: A theory – David Graeber Lost Connections: Uncovering the real causes of depression and the unexpected solutions – Johann Hari It doesn't have to be crazy at work – Jason Fried, David Heinemeier Hanson A Knight of the Seven Kingdoms – George R.R. Martin The case against education: Why the education system is a waste of time and money – Byran Caplan Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations - Nicole Forsgren PhD, Jez Humble, and G

RIF Notes #49

“A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system.” ~ John Gall The Agile Fluency Model – “ Organizational leaders are complaining that they’re not getting the benefits they expected. This article presents a fluency model that will help you get the most out of agile ideas” The impact of the ‘open’ workspace on human collaboration – “In short, rather than prompting increasingly vibrant face-to-face collaboration, open architecture appeared to trigger a natural human response to socially withdraw from officemates and interact instead over email and IM” Yes, the Open Office Is Terrible — But It Doesn’t Have to Be What I Talk About When I Talk About Platforms – “Some organisations stumble when they attempt to build on top of their existing shared services without first addressing their organisa

The rule of law

There are a few laws and principles of economics, psychology, etc. that have strong applicability to Software Development. Here are the ones I find most interesting. Goodhart’s law – “when a measure becomes a target, it ceases to be a good measure. It will be the inclination, and, in fact, may be in people’s best interest for them to game the system by changing their behavior in such a way as to favorably adjust the measure in order to achieve the target” The Hawthorne effect – “The researchers were surprised to find that the productivity of the more highly illuminated workers increased much more than that of the control group…their productivity even improved when the lights were dimmed again. By the time everything had been returned to the way it was before the changes had begun, productivity at the factory was at its highest level” Jevons paradox – “occurs when technological progress increases the efficiency with which a resource is used (reducing the amount necessary

RIF Notes #48

“In the software profession, it is common to hear advice like: “only hire the best and let them figure it out.” This sentiment is nearly as misguided as command-and-control and antithetical to Lean thinking. “Hire the best” is an elitist and ultimately lazy management philosophy. Comically, that attitude is often accompanied by an unwillingness to pay top dollar for such talent. But even if you could hire such a team, consider that a championship athletic team will almost always defeat an all-star team, because the quality of the relationships between qualified players is usually more important than the individual performances” – Corey Ladas Decoupling the Client and Server with Hypermedia A Bright Future for the Smart Client The Cult of the Root Cause Improvement Boards -“Let’s replace—or at least augment—the once-every-two-week “retrospective” meeting with a continuous process that’s part of our culture” Microsoft continues to be a leader in Gartner's Cloud IaaS MQ 16 New Code An

The rule of law

There are a few laws and principles of economics, psychology, etc. that have strong applicability to Software Development. Here are the ones I find most interesting. Goodhart’s law – “when a measure becomes a target, it ceases to be a good measure. It will be the inclination, and, in fact, may be in people’s best interest for them to game the system by changing their behavior in such a way as to favorably adjust the measure in order to achieve the target” The Hawthorne effect – “The researchers were surprised to find that the productivity of the more highly illuminated workers increased much more than that of the control group…their productivity even improved when the lights were dimmed again. By the time everything had been returned to the way it was before the changes had begun, productivity at the factory was at its highest level” Jevons paradox – “occurs when technological progress increases the efficiency with which a resource is used (reducing the amount necessary for any one

RIF Notes #47

“The greatest enemy of knowledge is not ignorance, it is the illusion of knowledge” - Stephen Hawking Migrations: the sole scalable fix to tech debt. Suffering on Stack Overflow - This is an interesting perspective. A .NET library for carefully refactoring critical paths. It's a port of GitHub's Ruby Scientist library In the microservice world, shared libraries can be problematic Should that be a Microservice? Keep These Six Factors in Mind

RIF Notes #46

“More than 95% of your organization’s problems derive from your systems, processes, and methods, not from your individual workforce. Your people are doing their best, but their best efforts cannot compensate for your inadequate and dysfunctional systems.” – Peter Scholtes User Research Will Destroy Your Product R rises to #12 in Redmonk language rankings Upstart - The Engineer's Path: 2 Decisions That Define a Career The hidden costs of serverless - Evaluating the real costs of serverless architecture is tricky On the criteria to be used in decomposing systems into modules – a review of the legendary Parnas paper from 1971. ”In conclusion, while much attention is given to the need to divide a system into modules (microservices), much less attention has been given to the criteria by which we decide on module boundaries” “We have tried to demonstrate by these examples that it is almost always incorrect to begin the decomposition of a system into modules on the basis of a flowchart

RIF Notes #45

“There are no solutions. There are only trade-offs” – Thomas Sowell The War on Developer Productivity (And How I Intend to Win It) – “The problem is that today’s chat tools are amplifying the troublesome parts of human nature, rather than minimizing them” Dividing frontend from backend is an antipattern Let’s bury the hustle – “ The hustle has become synonymous with the grind. Pushing through pain and exhaustion in the chase of a bigger carrot. Sacrificing the choice bits of the human experience to climb some arbitrary ladder of success. I can’t connect with any of that” Blockchain - Blockchain Fundamentals – I’m still struggling to understand the blockchain hype. ASP.NET - Use Razor to Generate HTML for Templates in a Single-Page App – “ How do you blend server-side MVC with client-­side MVVM? For many, the answer is simple: They don’t blend” What I Talk About When I Talk About Platforms – “‘Platform’ is just about the most ambiguous term we could use for an approach that is supe

RIF Notes #44

‘“We are what we repeatedly do. Excellence, therefore, is not an act – but a habit.” - Will Durant Managers, screw the Golden Rule – “Don’t treat employees the way you want to be treated” Deployment Strategies Defined –“ We need a common understanding of this topic in order to build better tools, make better decisions, and simplify communication with each other” Superheroes don’t work 90-hour weeks Performance Guide for Visual Studio in ReSharper 2017.3 Quickly learn about the common methods for analyzing architecture tradeoff Excuses Fixing Data Breaches Part 1: Education Web Development - Speed Thrills: Could Managed AJAX Put Your Web Apps in the Fast Lane?

RIF Notes #43

“The problem of big rewrites is that they are a technical solution to a cultural problem. Bad code wasn’t created only because developers don’t know how to code properly. It was created by the kind of conversation and mentality…” – Technical Debt  101 Meltdown and Spectre – Biggest security vulnerability of all time. Rounding Up the Newest Extensions for Visual Studio 2017 Ten years in, nobody has come up with a use for blockchain – “ Everyone says the blockchain, the technology underpinning cryptocurrencies such as bitcoin, is going to change EVERYTHING. And yet, after years of tireless effort and billions of dollars invested, nobody has actually come up with a use for the blockchain—besides currency speculation and illegal transactions.” The presence prison – “Everyone’s status should be implicit: I’m trying to do my job, please respect my time and attention” A leader’s guide to managing modern development teams Architecting Services with Design Patterns Announcing the Windows Com