Articles
Find an answer. Explore it further.
Explore the topic mapArticles in this group
0 materials · page 0 of 0
Complete text outline
Research and evidence
Research and sources
Scientific and statistical thinking
A personal knowledge base
Practical experiments and hobbies
- A question for a personal experiment
- An observation plan
- A repeatable measurement
- Understanding how a household object works
- Photographic observation of one object
- Documenting a repair
- Comparing tools on the same task
- Learning a new manual skill
- A shared practical project
- Applying a lesson from a hobby at work
The digital platform
The anatomy of a SaaS superapp
- Mapping the platform: components and responsibilities
- Domains and module boundaries
- Functional requirements and architectural constraints
- Tracing a user request through the system
- Tracing an event from action to outcome
- Deployment topology: processes, nodes, and regions
- Mapping dependencies and failure domains
- A modular monolith and conditions for extracting services
- Evolving architecture as a product grows
- Reviewing architectural decisions for consistency
SaaS domain modeling
Subscriptions and payments
- Products, prices, plans, and subscriptions
- Entitlements and capability checks
- Trials and conversion to a paid plan
- Metered billing
- Payment webhooks and redelivery
- Reconciling internal state with a provider
- Proration when changing a plan
- Failed payments and dunning
- Refunds and billing adjustments
- Migrating plans for existing customers
Superapp modules
Platform frontend
- Application shells and product modules
- Routing and nested screens
- Server state and client state
- Optimistic updates and rollback
- Handling API errors in the interface
- Accessibility for complex forms
- Interface localization and plural forms
- Offline operations and synchronization
- Performance of a large interface
- Dates, currencies, and time zones
Application APIs and protocols
- Designing REST API resources
- HTTP methods, status codes, and error semantics
- Idempotent HTTP operations
- OpenAPI and contract validation
- gRPC and protobuf compatibility
- GraphQL schemas and query cost
- SSE and WebSocket for interface updates
- Cursor pagination
- GraphQL federation and schema boundaries
- Versioning a public API
Browser sessions, cookies, and CSRF
- Authentication, authorization, and sessions: separate responsibilities
- The sign-in journey: browser, provider, session and API
- The lifecycle of a server-side session
- Cookie attributes: Domain, Path, Secure, and HttpOnly
- SameSite and the boundaries of sites and origins
- How automatically sent credentials enable CSRF
- CORS, CSRF, and XSS: different threat models
- Implementing CSRF protection with a synchronizer token
- Double-submit cookies and token binding
- Keeping credentials out of browser JavaScript with a BFF
- Checking Origin, Referer, and Fetch Metadata
JWT
- Inside a JWT: header, payload, and signature
- Choosing between JWTs and opaque tokens
- Symmetric and asymmetric token signatures
- Access and refresh tokens: different lifetimes
- JWTs between services and trust boundaries
- Validating issuer, audience, expiration, and time
- Algorithm selection and signature validation failures
- JWKS, key caching, and rotation
- Refresh token rotation and reuse detection
- Revoking JWT access before expiration
OAuth, OIDC, and external identity providers
- OAuth participants and delegated access
- The authorization code flow with PKCE
- ID tokens and access tokens in OIDC
- Discovery metadata and OIDC client configuration
- Integrating Google sign-in
- Integrating GitHub login and retrieving a profile
- Integrating Microsoft Entra ID
- Integrating Sign in with Apple
- The distinct purposes of state, nonce, and PKCE
- Linking an external account to an existing user
Permissions and Ory Keto
- RBAC: roles and permissions
- ABAC: attribute-based policies
- ReBAC: permissions through object relationships
- Access inheritance in organizations and projects
- Modeling relationships for documents and folders
- Representing relationships in Ory Keto
- Checking permissions in an application API
- Relationship changes and access consistency
- Testing a permission matrix
- Permission check performance and safe caching
Ory Oathkeeper and policy enforcement
- Policy enforcement at the application boundary
- When authorization belongs inside a business operation
- Reverse proxy and decision API integration
- Route rules and request matching
- Authenticating incoming requests
- Passing identity context to an application
- Integrating permission checks with Keto
- Trusted headers and spoofing prevention
- Handling failures and unavailable dependencies
- Integration tests for access policies
Account lifecycle and stronger authentication
- Password storage and hashing parameters
- Email verification without account takeover
- Account recovery and trust boundaries
- Enrolling and verifying a TOTP second factor
- WebAuthn and passkeys
- Step-up authentication for sensitive actions
- Managing active devices and sessions
- Recovery codes and MFA recovery
- Suspension, deletion, and account re-registration
- Migrating between identity systems
Ory Kratos
- Where Kratos fits in an identity system
- Designing identity schemas and traits
- Browser flows and API flows
- Registration and contact verification
- Signing in and obtaining a session
- Building a custom interface for self-service flows
- Connecting an external OIDC provider
- Account recovery and profile updates
- Migrating users to Kratos
- Operating Kratos: configuration, upgrades, and diagnosis
Ory Hydra
- Hydra's responsibilities in an OAuth/OIDC architecture
- Client registration and redirect URI management
- Connecting Hydra to a separate login system
- Login challenges and consent challenges
- Implementing the authorization code flow in an application
- Client credentials for service-to-service access
- Scopes, audiences, and claims
- Introspection, revocation, and ending access
- Signing keys and their rotation
- Diagnosing OAuth flow failures
Keycloak
- Mapping realms, clients, and users
- Connecting an application through OIDC
- Client roles, realm roles, and groups
- Protocol mappers and token contents
- Identity brokering with an external provider
- Federation with LDAP and corporate directories
- Configuring authentication flows
- Sessions, SSO, and logout
- Extending and styling user flows
- Operations: clustering, upgrades, backups, and auditing
Specialized storage systems
- Choosing storage by query and recovery requirements
- S3 objects, keys, and metadata
- Document databases and aggregate modeling
- Measuring column-oriented storage on an example
- A search index as derived data
- SQLite for products and local tools
- Presigned URLs and limited access
- ClickHouse for event analytics
- Vector storage and result filtering
- Multipart uploads for large files
PostgreSQL data modeling and integrity
- Platform data: sources of truth, indexes and copies
- Choosing data types
- Primary keys and record identity
- Foreign keys and entity relationships
- Unique and check constraints
- Normalization and deliberate denormalization
- A transaction for a business operation
- Isolation levels under conflicting requests
- Row locks and deadlocks
- Advisory locks
- Schema migrations without application downtime
PostgreSQL queries and performance
Operating PostgreSQL
Redis data models and commands
- Redis in the platform: fast data and responsibility boundaries
- A cached request: reads, misses, updates and staleness
- Choosing a Redis data structure for a task
- Strings and atomic operations
- Hashes for object data
- Sets and set operations
- Sorted sets and ordered queries
- TTL and the lifecycle of a key
- Pipelining to reduce network exchanges
- MULTI/EXEC and optimistic locking
- Lua and server-side functions for compound operations
- Memory and eviction policies
Redis application patterns
- Cache-aside in an API
- Write-through and write-behind caching
- Invalidating a cache after data changes
- Rate limiting with Redis
- A leaderboard with score updates
- Pub/Sub for transient notifications
- Redis Streams for persistent event streams
- Cache stampedes and coordinated key refreshes
- Hot keys and distributing requests
- Distributed locks and their limitations
Operating Redis
- RDB and snapshot recovery
- AOF and write durability
- Replication and replica lag
- Redis Cluster and slot distribution
- ACLs, TLS, and access boundaries
- Sentinel and primary failover
- Resharding a running system
- Diagnosing latency and slow commands
- Verifying backups through recovery
- Upgrading Redis and verifying application behavior
Distributed systems patterns
- Consistency models in user scenarios
- CAP and its scope of applicability
- CQRS and separate read models
- Event sourcing and state reconstruction
- Leader election
- Leases and time-limited ownership
- Distributed locks and fencing tokens
- Saga choreography and orchestration
- An anti-corruption layer for an external system
- Strangler migration of a running product
Messaging architecture
- Commands, events, and messages: different intentions
- A message in the system: producer, broker and consumer
- At-most-once and at-least-once in one scenario
- The transactional outbox pattern
- Inbox and processing deduplication
- Partition keys and processing order
- Backpressure between producer and consumer
- When a PostgreSQL-backed queue is sufficient
- Kafka, NATS, and RabbitMQ in a controlled comparison
- The boundaries of exactly-once guarantees
- Event versioning
Temporal: durable execution fundamentals
- The problem durable execution solves
- Separating Workflow and Activity code
- Event history and execution recovery
- Determinism and Workflow code constraints
- Workflow failures and Activity failures
- Process results and process state
- The boundary between Temporal and the application database
- Workers and task queues
- A long-running business process worked example
- Idempotent external actions in Activities
Temporal process mechanisms
- Signals for external events
- Queries for reading state
- Updates for controlled process changes
- Child Workflows and process decomposition
- Schedules and periodic execution
- Sagas and compensation in a Workflow
- Retry policies for different failures
- Activity timeouts and their interactions
- Heartbeats and long-running operations
- Cancellation and orderly termination
Changing and operating Temporal workflows
- Workflow and Activity observability
- Self-hosted and managed Temporal against explicit requirements
- Unit testing a Workflow with controlled time
- Checking compatibility through replay
- Changing Workflow code with patching
- Worker Versioning and worker deployment
- Continue-As-New and history growth
- Scaling workers for the workload
- History retention and archival
- Recovering from an external integration failure
Core NATS
- Pub/Sub and subjects in Core NATS
- Subject hierarchies and wildcard subscriptions
- Request/reply over NATS
- Queue groups and work distribution
- Accounts, credentials, and subject permissions
- Subscriber behavior during a disconnection
- Slow consumers and buffer limits
- Reconnecting and restoring subscriptions
- Draining and graceful application shutdown
- Clusters, gateways, and leaf nodes
NATS JetStream
- Streams and consumers as separate entities
- Message retention policies
- Pull consumers and push consumers
- Durable consumers and resuming consumption
- Acknowledgments and redelivery
- Publication deduplication and its limits
- Replay and history reprocessing
- Stream replication and node failure
- Storage limits and load management
- Diagnosing consumer lag and state
RabbitMQ queues and routing
- Producers, exchanges, queues, and consumers
- Direct exchanges and exact routing
- Topic exchanges and routing key patterns
- Fanout exchanges for broadcast
- Bindings and topology design
- Connections, channels, and their lifecycle
- Durable queues and persistent messages: different properties
- Consumer acknowledgments
- Prefetch and in-flight message counts
- Publisher confirms
Reliable processing with RabbitMQ
- Quorum queues and their replication model
- Redelivery and consumer idempotency
- Dead-letter exchanges and failure review queues
- TTL and delayed retries
- Poison messages and endless processing loops
- Message ordering with multiple consumers
- Graceful consumer shutdown
- Connection loss during publication
- Flow control during broker overload
- Topology migration without losing messages
RabbitMQ streams and operations
- Streams as replayable logs
- Choosing between a queue and a stream
- Users, virtual hosts, and permissions
- Offsets and resuming reads after failure
- Stream retention by time and size
- Superstreams and partition distribution
- Queue, connection, and consumer metrics
- Disk and memory alarms
- Clustering and node failures
- Upgrading and testing broker recovery
Metrics and distributed tracing
- A dashboard connecting metrics, logs, and traces
- Counters, gauges, and histograms
- Choosing signals with RED and USE
- Prometheus scraping and service discovery
- Instrumenting an application with OpenTelemetry
- Propagating trace context between services
- Labels and metric cardinality
- Histogram quantiles and interpretation errors
- Tracing across a message queue
- Sampling distributed traces
Application logging
- Platform observability: from user outcome to signal
- Structured logs and their schema
- Choosing log levels
- Request IDs, correlation IDs, and trace IDs
- Errors, stack traces, and useful diagnostic messages
- Audit logs and product event logs
- Logging background jobs
- Request context in asynchronous code
- Redacting secrets and personal data
- Sampling and limiting log volume
- Evaluating logs through an incident investigation
Elasticsearch for logs
- Documents, indices, and mappings
- Shards and replicas
- Data streams for time-based data
- Searching logs by structured fields
- Field types and dynamic mapping failures
- Aggregations for event analysis
- Lifecycle management and retention
- Managing high cardinality
- Diagnosing slow indexing
- Restoring indices from snapshots
Log collection and processing
- The ELK pipeline from application to search
- Logstash inputs, filters, and outputs
- Parsing JSON and unstructured messages
- Elastic Agent and collector management
- Fluent Bit for container log collection
- OpenTelemetry Collector in a telemetry pipeline
- Enriching events with infrastructure metadata
- Comparing Elastic, OpenSearch, and Loki for a workload
- Multiline events and stack traces
- Buffering when storage is unavailable
Computing environment fundamentals
- Processes and virtual memory
- Threads and execution scheduling
- Stack and heap
- Garbage collection
- System calls and the user/kernel boundary
- Filesystems and input/output operations
- TCP connections and retransmission
- Event loops and asynchronous input/output
- Compilation, interpretation, and runtimes
- Numbers, encodings, time, and representation errors
DNS and domain names
IPAM and address space
- Planning infrastructure addressing
- CIDR and subnet calculation
- Public and private address ranges
- IPv6 prefix planning
- VLANs and their relationship to addressing
- VRFs and overlapping address spaces
- Tracking prefixes and addresses in NetBox
- IPAM as a data source for automation
- Detecting address conflicts and orphaned allocations
- Migrating address space
Service discovery and Consul
- Service registries and DNS: separate responsibilities
- Registering a service instance
- Health checks and removing unavailable instances
- Client-side and server-side discovery
- The DNS interface to service discovery
- The Consul catalog HTTP API
- Consul and Kubernetes discovery in the same scenario
- TTL and stale registration detection
- Caching discovery results
- Registry failure and running-system behavior
Docker: how containers work
- The delivery system: from source code to a running version
- Images, containers, and processes
- Linux namespaces
- Cgroups and resource limits
- Image layers and copy-on-write
- Exit codes and container lifecycle
- Volumes and data persistence
- Container networking
- Rootless containers
- PID 1 and signal handling
- Diagnosing a container that exits immediately
OCI and image registries
- Registries, repositories, tags, and digests
- Manifests, image indices, and blobs
- What happens during push and pull
- Authenticating a registry client
- Deploying an OCI registry
- Harbor projects and access control
- Mirrors and caching external images
- Immutable tags and image promotion
- Registry retention and garbage collection
- Signatures, provenance, and verification before execution
Docker builds and local environments
- Dockerfiles and build-step caching
- Multi-stage builds
- BuildKit and build context management
- Multi-platform images
- Choosing a base image
- Docker Compose for an integration environment
- Passing secrets during builds
- Reproducible application builds
- Health checks and dependency readiness
- Optimizing image size and build time
Kubernetes core objects
- Control planes and worker nodes
- The API server and declarative state
- Pods and their containers
- Deployments and ReplicaSets
- StatefulSets and instance identity
- DaemonSets for per-node workloads
- Jobs and CronJobs
- Labels, selectors, and namespaces
- Requests, limits, and QoS
- Readiness, liveness, and startup probes
Kubernetes networking
Kubernetes storage
- Volumes and the Pod lifecycle
- PersistentVolumes and PersistentVolumeClaims
- StorageClasses and dynamic provisioning
- CSI and storage integration
- StatefulSets and data persistence
- Volume snapshots
- Access modes and shared-access constraints
- Expanding a volume
- Backing up an application and its data
- Moving stateful workloads between clusters
Kubernetes access and isolation
- ServiceAccounts and workload identity
- Kubernetes RBAC
- Pod Security Standards
- Application access to the Kubernetes API
- Workload identity for external services
- Secrets and their delivery to Pods
- Admission policies
- SecurityContexts and Linux capabilities
- Multi-tenancy and namespace boundaries
- Auditing Kubernetes API activity
Operating Kubernetes
- Scheduling, affinity, and anti-affinity
- Taints and tolerations
- Operators and reconciliation loops
- PodDisruptionBudgets
- HPA and scaling metric selection
- Scaling nodes
- Upgrading a cluster
- Draining and maintaining a node
- Diagnosing Pending, CrashLoopBackOff, and OOMKilled
- Recovering the control plane and critical components
Testing and CI
Infrastructure as Code and GitOps
- Declarative infrastructure configuration
- Terraform state and change locking
- Terraform modules
- Ansible and idempotent node configuration
- Helm and application configuration
- Kustomize and environment differences
- Argo CD and reconciliation
- Plan reviews and drift detection
- Promoting changes between environments
- Rolling back an infrastructure change
PKI, secrets, and the software supply chain
- Trust boundaries: a platform-wide protection map
- Certificates, keys, and trust chains
- Running a certificate authority
- ACME and automated certificate renewal
- mTLS between services
- OpenBao and issuing application secrets
- Dynamic credentials
- External Secrets and Kubernetes synchronization
- SBOMs and dependency provenance
- Rotating a secret without stopping its consumer
- Verifying signed artifacts in a delivery pipeline
- A backdoored coding assignment: safely reviewing an untrusted repository
Load testing
- Deriving a workload from user actions
- Arrival rate and concurrent user counts
- Open and closed workload models
- Throughput, latency, and errors
- Preparing realistic test data
- Warm-up and steady state
- Soak testing and accumulating problems
- Stress testing and the saturation point
- Coordinated omission in measurements
- A reproducible comparison of two solutions
Profiling and optimization
- Application CPU profiling
- Profiling Go with pprof
- Heap profiling and retained memory
- Allocations and garbage collector pressure
- Lock contention
- Network latency and round-trip counts
- Event loop lag in Node.js
- Benchmarks and statistical stability
- Optimizing a request's critical path
- Checking performance improvements for regressions elsewhere
SRE and reliability
Algorithms and data structures
Optimization, recommendations, and composition
- Formalizing a problem through constraints
- A greedy solution and a counterexample
- Candidates, ranking, and reranking
- Branch-and-bound
- CP-SAT for an applied problem
- A shared contract for multiple solvers
- A slot tree for a heterogeneous feed
- Checking optimality and feasibility
- Quotas, deduplication, and anti-fatigue
- Evaluating results against business constraints
RAG and document processing
- The complete RAG pipeline
- Chunking and semantic boundaries
- Embeddings and representation choice
- Linking evidence in an answer
- Extracting text from different formats
- Hybrid search
- Reranking retrieved passages
- Metadata filters and document permissions
- Updating and removing indexed documents
- A retrieval evaluation suite
Agent systems
- A model call, a workflow, and an agent
- An agent tool contract
- Authority boundaries
- Memory and the freshness of stored information
- Planning and task decomposition
- The Agentic OS run queue and constraints
- Human-in-the-loop workflows
- Controlling token and resource consumption
- Coordinating multiple agents
- Resuming a task after failure
AI quality and operations
- Datasets for evaluating an AI feature
- Labeling correct outcomes
- Regression evaluations
- Comparing models on your own tasks
- Observability for AI requests
- Evaluating unsupported claims
- Prompt injection through external content
- Isolating untrusted instructions
- Caching and inference costs
- Investigating a failed AI decision
A news bot and source ingestion
- A source registry and source properties
- RSS and Atom ingestion
- Ingestion through an official API
- Accepting a user-submitted link
- Extracting the main text of a page
- Topic classification and catalog linking
- Building a digest with verifiable links
- URL normalization and exact duplicates
- Clustering publications about one event
- Monitoring source failures and selection quality
Drones and the flight environment
Drone components and physics
Drone flight rules in Kazakhstan
- Bought a drone: a map of required actions
- The category of a specific operation
- Accounting and state registration
- Technical admission of an aircraft
- Operator qualifications
- Airspace classes
- Checking whether a regulatory requirement is current
- Permanent and temporary restrictions
- Flights near built-up areas
- Self-built aircraft and their limitations
Owner documentation and procedures
- Aircraft and flight logbooks
- Documenting aircraft provenance
- Preparing information for accounting
- Technical conformity declarations
- Checking supporting documents
- Preparing an airspace use application
- Coordination instructions
- A pilot document pack for a specific flight
- Coordinates, altitude, and time in documents
- Updating records after aircraft changes
Learning to pilot a drone
Flight sites and weather
- Surveying a proposed flight site
- Obstacles and space margins
- People, vehicles, and changing conditions
- Wind at ground level and aloft
- Visibility and lighting
- Temperature and battery condition
- Precipitation and equipment limitations
- Choosing a time for a training session
- Gusts and terrain effects
- Deciding to cancel a flight
Maintenance and batteries
- Preflight mechanical inspection
- Inspecting propellers
- Checking motors
- Calibration and when it is needed
- Charging batteries
- Storing and transporting batteries
- Connectors, cables, and contacts
- Updating firmware and verifying the result
- Tracking cycles and signs of degradation
- Assessing damage after an incident
FPV and radio communication
- The architecture of an FPV system
- Radio transmitters and control receivers
- Analog and digital video
- Antennas and radiation patterns
- Polarization and antenna placement
- Checking radio-frequency requirements
- Radio link budgets
- Interference and shared spectrum
- Failsafe behavior after control-link loss
- Ground testing a completed aircraft
Traveling with a drone
- Checking requirements before buying tickets
- Finding official requirements for a new destination
- Airline battery rules
- Packing the aircraft and batteries
- Temporary export and reimport
- Preparing for a trip to the EU
- Preparing for a trip to the United States
- Preparing for a trip to Japan
- Preparing for a trip to Thailand
- A drone in Russia: registration and checking restrictions for a specific flight
- Transit through a third country
Aerial filmmaking
Applied drone missions
- Drone-in-a-Box as an operational system
- Delivering a verifiable result to a client
- Photogrammetry from a set of images
- Image overlap and flight planning
- Ground control points
- Inspecting a building
- Monitoring changes to an object
- Automated mission execution
- Checking model accuracy
- Thermal imaging and interpretation limits
Learning and skill transfer
Course design
Exercises and assessment
Mentoring practice
- Mentoring goals and agreements
- Diagnosing a learner's difficulties
- Separating mistakes from judgments about a person
- Observing learner independence
- Questions before premature hints
- Calibrating the amount of help
- Transferring responsibility to the learner
- Supporting learners through repeated mistakes
- Concluding a mentoring relationship
- Reviewing mentoring program outcomes
Explaining complex ideas
- Identifying prior knowledge
- Selecting one central idea
- Explaining through a concrete example
- Analogies and their limits
- Moving from an example to a general principle
- Explaining through a counterexample
- Revealing a diagram step by step
- Checking understanding through teach-back
- Examining a common misconception
- Adapting an explanation for another audience
Onboarding a beginner at work
Learning platforms
- Requirements for a course platform
- An LMS and learning progression
- Tracking assignments and feedback
- A static site for learning materials
- Moodle in a specific learning scenario
- Open edX in a specific learning scenario
- External platforms and dependence on their rules
- Accessibility of a learning environment
- Learning analytics and their limits
- Exporting and moving course materials
Live teaching
Self-directed learning
English in professional practice
- Reading documentation for a work task
- A vocabulary notebook with usage context
- Describing a bug in English
- Writing a question to a colleague
- Explaining an architectural decision in English
- Demonstrating a product in English
- Writing an article in English
- Participating in a technical discussion
- Working with editorial feedback
- Measuring progress with a repeatable task
Learning Chinese and intercultural practice
- Setting a goal for learning Chinese
- Organizing pronunciation practice
- Connecting pronunciation, meaning, and characters
- Practicing tones
- A personal set of flashcards
- Reading a short text at your level
- Vocabulary for a selected situation
- Preparing a conversation with a teacher
- A journal of difficulties and progress
- Separating cultural observation from generalization
Teams, decisions, and products
Moving into leadership
- The responsibilities of a senior, lead, and manager
- The first month in a new role
- Mapping stakeholder expectations
- Dividing time between coding and leadership
- Identifying team constraints
- Personal measures of leadership work
- Handing over previous technical responsibilities
- Making initial changes while preserving context
- Feedback on leadership style
- Reviewing the first three months
Product decisions and economics
- The user's problem and the proposed feature
- Choosing the minimum useful outcome
- Testing a hypothesis before development
- Prioritizing by expected value
- Total cost of ownership
- Feature usage metrics
- Build versus buy
- The product cost of a technical constraint
- Deciding to stop development
- Reviewing the outcome after release
Decision-making
- Deciding with incomplete information
- Decision reversibility
- Criteria for comparing options
- Explicit assumptions
- Distinguishing risk from uncertainty
- Stakeholder disagreement
- Documenting the reasons for a choice
- Conditions for reconsideration
- Testing decision sensitivity
- Reviewing a mistaken decision in hindsight
Delegation and team organization
- Describing the expected result
- Ownership of product components
- Choosing a task to delegate
- Delegating authority
- Boundaries for independent decisions
- Bus factor and knowledge distribution
- Intermediate checkpoints
- Oversight without constant intervention
- Redistributing overloaded work
- Revising the responsibility structure
Planning and delivery
Hiring and team development
- Defining the expected outcome of a role
- A competency matrix
- Consistent candidate evaluation criteria
- Interview questions based on real tasks
- A bounded practical assignment
- A specialist's development plan
- Preparing for the next level of responsibility
- Sharing experience within a team
- Comparing interviewers' observations
- Evaluating team learning outcomes
Feedback and conflict
- Preparing a conversation about a problem
- Observing and interpreting behavior
- Feedback on a specific episode
- Receiving feedback from a colleague
- Disagreement over a technical decision
- Conflicting priorities
- A broken agreement
- A conversation after a serious mistake
- Checking follow-through on new agreements
- Restoring a working relationship
Communication at work
- A concise problem statement
- Explaining a technical issue to business stakeholders
- A proposal with multiple options
- An architecture decision record
- Asynchronous discussion
- A meeting with a concrete outcome
- Demonstrating completed work
- A responsibility handover document
- Communicating during an incident
- A public analysis of a professional case
Wider context and visual language
Visual design
The history of technologies and standards
- The history of measurement units
- Standardizing time
- How a technical standard emerges
- The history of mass production
- Competing formats
- Compatibility with a legacy system
- The history of a computing interface
- A profession before and after technological change
- Infrastructure path dependence
- A historical case of failed adoption
Economics and supply chains
Cities, maps, and space
- A map as a model of territory
- A city's transport network
- Scale and the loss of detail
- Map projections
- Distance and accessibility
- The distribution of urban functions
- Transfers as part of a route
- Tracing territorial change through historical maps
- Open geodata and its limitations
- Field observation of urban space
Travel and cultural observation
- Researching a place before traveling
- Planning a route under constraints
- Observing everyday practices
- Working with local sources
- Preparing for a language barrier
- Preserving context for photographs and notes
- Checking transport connections
- Reconsidering a first impression
- Comparing expectations with experience
- Preparing an informative trip report
Identity and visual design systems
- Brand purpose and identity boundaries
- From brief to touchpoint system
- Semantic color roles in an identity
- Type pairing across two languages
- Composition rules across touchpoints
- From design decisions to brand tokens
- A compact brand guide with worked examples
- Adapting identity to a product interface
- Checking a single brand color pair
- Changing a token without breaking touchpoints
Avatar creation and adaptation
- An avatar as a recognition tool
- An avatar's path from brief to profile
- Silhouette and small-avatar recognition
- References and stable visual traits
- Light, background, and subject separation
- Photography, illustration, and generated avatars
- An avatar set for multiple platforms
- Local avatar processing and export
- Testing a circular crop
- Avatar legibility at 32 pixels
Characters and visual consistency
- A character's role in a product
- From character bible to scene set
- A character's invariant traits
- Emotion through pose and expression
- Reference views and rotations
- Consistent illustrations with image references
- A mascot in onboarding and error messages
- Preparing a character for animation
- Detecting drift in a single character trait
- Transparent edges in character exports
Advertising creatives and adaptations
- The job of an advertising creative
- From offer to the post-click journey
- Message hierarchy in an advertisement
- A hook without unsupported promises
- Composition for placement and context
- Static banners and short video
- Adapting a creative across platforms
- A matrix of advertising message variants
- Checking one advertising text label
- Matching the CTA to the destination action
Visual asset production and versioning
- The lifecycle of a visual asset
- From source to publication catalog
- Raster, vector, and format choice
- Asset names, versions, and provenance
- Color spaces and export profiles
- Batch exporting sizes and formats
- Optimizing images for a web page
- A visual package manifest
- Checking a file's alpha channel
- Matching an export to its source version
Evaluating visual quality and effectiveness
- Criteria for visual quality
- From visual hypothesis to evaluation
- A rubric for visual variants
- Testing comprehension of a visual message
- Viewing context and evaluation limits
- Comparing advertising variants in an experiment
- Reviewing avatar and character sets
- From evaluation results to the next iteration
- One changing factor in creative comparisons
- Distinguishing clicks from useful outcomes
Articles and an evidence-based portfolio
A bilingual editorial practice
- Choosing the question an article answers
- Structuring an explanatory article
- Revising a draft
- A Russian-English terminology glossary
- Choosing a distribution channel
- Adapting context for the English version
- Independent editorial review
- Preparing a publication package
- Checking a translation for meaning
- Updating an article after publication
Portfolio and professional reputation
- A competency and evidence of its application
- An individual's role in a team result
- Explaining the limits of personal experience
- Connecting articles to career positioning
- Presenting teaching work
- Presenting a leadership decision
- A public project demonstration
- Anonymizing a professional case
- Developing a talk from an article series
- Evaluating the library's contribution to a portfolio