2025 Reading
Links to articles I read in 2025 with a few notes to remind me of the topic.
January
Please Don’t Force Dark Mode
- Dark mode on websites doesn’t work for all situations.
- There are no accessibility guidelines for maximum contrast ratio.
Ultimate guide to CI/CD: Fundamentals to advanced implementation
- “Perhaps most importantly, CI/CD fosters a culture of collaboration and transparency within software development teams. When everyone can see the status of builds, tests, and deployments in real time, it becomes easier to identify and resolve bottlenecks in the delivery process. The automation provided by CI/CD also reduces the cognitive load on developers, freeing them to focus on writing code rather than managing manual deployment processes.”
How do interruptions impact different software engineering activities?
- Suggestions include minimizing high-dominance interruptions, reducing interruptions during code writing, and measuring for improvement.
- “Reduce urgent notifications from authoritative figures during critical focus periods, unless urgent. Use scheduled check-ins instead.”
- “Avoid interruptions during code writing, which has the highest stress correlation. This can be achieved using “Do Not Disturb” blocks within calendar and chat, and a culture that respects that time.”
February
3 Common Reasons Your Manager Will Fail You During Promotions And How To Have A Back Up Plan
- The common causes for promotion failure are change of manager, last-second reasons, and unclear promotion process.
- Be sure other layers of management are also included in promotion advocacy.
- “At the more senior levels, promotions are about relationships as much as they are about performance. Rather than ‘what did you accomplish’, it becomes also about ‘what do others say about you’.”
- “People leading higher visibility work or more cross-team work tend to advance faster in their careers. Say yes to those key company initiatives with high visibility if you want to grow. If you’re not in a role of high visibility, consider what projects or tasks you can take on to increase your visibility and frequency of interaction with senior executives.”
How to write a good design document
- “The goal of a design document is to convince the reader the design is optimal given the situation.”
- “You should anticipate every objection someone would have and preemptively show why it’s invalid, so that the reader never even thinks to bring it up.”
Goodhart’s Law: How Measuring The Wrong Things Drive Immoral Behaviour
- Putting too much focus on a single metric results in people solely focusing on getting that number higher. A set of multiple measurements need to be taken to prevent these unintended consequences.
March
Only Solve One New Problem At A Time
- Focus on one problem at a time. Solving multiple problems simultaneously often leads to complications and setbacks.
- Incremental integration allows for clearer project timelines, stakeholder communication, and promotes creative solutions, ultimately yielding better results by constraining thought processes and methods.
Ask for no, don’t ask for yes
- Instead of saying “Can I work on X to help with problem Y?” say “I’m going to work on X to solve Y. I’ll start this on Wednesday, unless you say otherwise.”
- “Pursue this approach for problems you feel are in the scope of your role but that you want to inform the boss about. It’s great when you want to offer a chance for feedback, but you are confident enough in the course of action that you don’t need feedback.”
Kotlin Sequences: An Illustrated Guide
- Normal collections are processed as a whole for each operation; sequences perform all operations on one item at a time.
When to Use Sequences
- Collections work well for collecting items and stateful operations (sorting, distinct).
- Sequences are good for
.forEach()
type of operations that are stateless. They can also generate values as they are requested.
- Java streams can run in parallel while Kotlin sequences cannot.
April
Are You Coachable?
- Being coachable is about actively seeking out coaching - not just being open to being coached. “For once you redefine the bulls-eye of coachability as actively seeking out coaching, it creates a culture where everyone is desperate to grow and is learning to grow through utilizing the expertise, wisdom, and skills of others.”