Notas
Índice cronológico de todas as notas do Scholion.
5359 notas · última:
How I give high-quality feedback quickly
The newsletter argues that feedback can be both fast and high quality if you focus on the highest-leverage work, start with structure when needed, and use the right medium to keep the process sustainable.
How to deliver bad news when it's not your fault
The essay says to deliver bad news with as little drama as possible, avoid language that sounds like blame, keep the message direct, and separate empathy from admitting fault.
10 software essays that changed how I think
The writer says these essays changed his engineering mindset by shaping how he chooses technology, handles input, avoids rewrites, thinks about architecture, improves APIs, and frames his career.
Books Every Software Engineer Must Read in 2024
The page argues that developers should invest in lasting fundamentals rather than short-lived frameworks, and recommends books on software development, architecture, testing, distributed systems, DevOps, leadership, and habits.
The 12 mental models and biases for engineers
The article groups mental models and cognitive biases that shape engineering decisions, with examples of second-order thinking, first principles, inversion, Pareto, sunk cost, confirmation bias, and other models.
Computer Science Papers Every Developer Should Read
The article argues that reading computer science papers helps developers understand core concepts, think critically, and learn from foundational work behind modern software, databases, distributed systems, and search.
Balancing Code and Teams: How Microsoft Does Effective Engineering Management
Nick Cosentino describes engineering management as a people-first role built on situational leadership, transparency, trust, career alignment, safe delivery practices, and thoughtful use of AI.
15 Best Leadership Books
A curated reading guide for leaders that highlights books on communication, habits, feedback, emotional intelligence, team trust, motivation, and practical management.
Replace All Staff Engineers with Multiple New Grads!
The post compares a team of two Staff Engineers with a team of eight new grads and argues that each group brings different strengths, tradeoffs, and failure modes, so balanced teams work best.
How to Unlock Critical Thinking?
The article says critical thinking is a disciplined skill that improves with practice. It recommends clarifying the problem, validating evidence, measuring impact, testing the proposal, and challenging assumptions.
How to Stay Calm Under Pressure?
The article proposes BAA — Breath, Assess, and Act — for high-pressure moments. It says fear can lead to blabbering, premature promises, or rash fixes, so you should pause, clarify what you know, and respond directly.
How to Start Writing a Newsletter and Succeed
The piece lays out practical ways to start and grow a newsletter: choose clear reasons, narrow early topics, plan a backlog, keep a sustainable cadence, and improve reach through networking and distribution.
How to Identify Silent Disagreements?
The post lists signs of hidden disagreement in meetings and execution, and suggests concrete ways to surface concerns early so they do not delay decisions or derail projects.
Don’t be a Spineless Leader: 3 Tips to Lead Better
The post says weak leadership comes from pleasing everyone, deciding too fast, and avoiding disagreement. It recommends asking questions, stating disagreement clearly, and aligning teams, managers, and partners.
7 Tips for Killer Presentations
The article argues that strong presentations start with a clear story, a specific audience, and one message per slide. Good delivery and rehearsal keep the audience engaged.
13 Undesirable Behaviors in Software Engineers: Are You Guilty?
The post argues that software engineers are judged as much by behavior as by technical skill, and lists habits that hurt collaboration, trust, and team morale.
Must-Know Service Communication Patterns
The post outlines four service communication patterns: synchronous request-response, file-based exchange, asynchronous request-response, and event-driven communication, with their main uses and tradeoffs.
Polling Vs Webhooks
The post contrasts polling, which checks for new data at intervals, with webhooks, which push updates through a callback URL when events happen. It explains when each approach fits.
Must-Known Resiliency Patterns for Distributed Systems
The note groups resiliency patterns for distributed systems into downstream and upstream approaches, showing how timeouts, retries, load shedding, rate limiting, bulkheading, and health checks reduce cascading failure and overload.
Message Queues & Message Brokers
The page explains how message queues enable asynchronous producer-consumer communication, and how brokers manage queues while adding routing, transformation, protocol translation, and pub/sub support.
8 Must-Know Strategies to Build Scalable Systems
The page lists eight ways to make systems scale under higher load: stateless services, horizontal scaling, load balancing, auto-scaling, caching, database replication, sharding, and asynchronous processing.
8 Must-Know Distributed System Design Patterns
The page lists common distributed system patterns and what each one addresses: offloading cross-cutting tasks, handling failures, separating reads and writes, partitioning data, coordinating services, and replaying state changes.
3 Interview Questions on Event-Driven Patterns
The post reviews three interview-ready event-driven patterns: competing consumers, queue-based retries with a DLQ, and async request-response using correlation IDs.
15 Must-Know Elements of System Design
The post groups core system design elements into distributed systems, messaging, caching, scaling, networking, storage, and observability, and explains what each one does in a distributed setup.
Refactoring
The newsletter argues that refactoring keeps a codebase healthy, easier to maintain, and simpler to extend, and recommends doing it incrementally with tests and IDE tools.
How to design a system for scale
The newsletter outlines three ways to scale systems: add server clones, partition by function, or partition data. It compares their advantages and limits, especially around state, coordination, and complexity.
What’s Really Like to Be an AI/ML Engineer
The newsletter collects firsthand accounts of AI/ML work, showing how the job mixes planning, mentoring, model training, infrastructure, evaluation, and uncertainty, especially in adversarial settings.
How to Give Constructive Feedback with Confidence as an Engineering Leader
The article defines feedback as timely, kind, and clear information meant to change behavior, then shows how managers can give more useful feedback through in-the-moment and behavioral conversations.
How to Build Good Relationships Inside and Outside Your Engineering Team
The post says engineers collaborate better when they build good relationships, because isolation leads to uncertainty and weaker impact. It recommends reciprocity, trust, respect, and time spent on personal topics and shared interests.
How to Be Pragmatic as an Engineer
The article defines pragmatism as choosing what works in real-world constraints, then argues for simple, trade-off-aware decisions, avoiding premature optimization, and asking better questions early.
Essential Skills for Engineers to Thrive in the AI Era
The piece argues that engineers will need clearer communication, better problem definition, curiosity, continuous learning, adaptability, and strong fundamentals to use AI well and avoid overreliance on it.
How a Senior Engineer Effectively Onboards at a New Job
The article says senior engineers should spend the first weeks learning the org, meeting teammates, asking questions, setting achievable 90-day goals, and finding small early wins while staying open to feedback.
The Complete Guide to Building Agents with the Claude Agent SDK
The guide shows how the Claude Agent SDK wraps the agent loop, built-in tools, permissions, subagents, hooks, structured output, and MCP so you can build a code review agent and other agents with less manual orchestration.
EP 66: Clean Code Tips for .NET Developers - Part I
The post argues that clean code in .NET comes from meaningful names, avoiding null returns, keeping classes focused, limiting method size, reusing existing tools, and enforcing shared rules with EditorConfig and project settings.
Designing Data-Intensive Applications (DDIA) Book
Chapter 1 introduces reliability, scalability, and maintainability as the book’s starting terms, and Chapter 2 compares relational and document models, stressing how data model choice shapes application capabilities.
Angular Routing Essentials: All You Need to Know in One Post
The post walks through Angular routing from defining routes and rendering them with router-outlet to links, params, redirects, nested routes, lazy loading, guards, and resolvers.
Leadership Principles - Part 1
The piece frames leadership as a craft and explains three military leadership principles: self-awareness and self-improvement, technical proficiency, and knowing people well enough to support their welfare.
A high-velocity style of software development
The article argues for coding as a fast, iterative experiment: write code early, keep mock data nearby, restart often, favor consistency, and use composable functions and clean workspaces to shorten feedback loops.
Architecting monoliths for fast, sustainable flow
The post explains that fast, sustainable flow depends on team-sized, loosely coupled, testable, deployable, observable, and evolvable systems, and shows how monoliths can meet some of those goals only with careful design.
Life Altering PostgreSQL Patterns
The post collects PostgreSQL patterns that reduce operational pain: UUID keys, timestamps, restrictive foreign keys, schemas, enum tables, soft deletes, status logs, special rows, careful use of views, and JSON queries.
