Blog
Programming, software engineering and computer science, explained from the ground up. Each article starts free to read; the rest needs a free account.
- Careers6 min read
A 30-day DSA plan
A realistic 30-day plan for data structures and algorithms interview preparation: a daily routine, the patterns to cover each week from arrays and hashing to graphs and dynamic programming, how to practise so it sticks, and what to do on the days you get stuck.
- Careers5 min read
A learning roadmap for developers
A practical roadmap for becoming a software developer: programming fundamentals, data structures and algorithms, Git and the command line, databases, web basics, choosing a backend or frontend path, deployment and cloud, system design, plus how to learn effectively, build projects and avoid tutorial hell.
- Careers6 min read
A LinkedIn profile that works
Build a LinkedIn profile that recruiters find and remember: photo and banner, a headline with the right keywords, an About section that tells your story, experience and projects written as impact, skills, Featured items, settings that make you discoverable, and how to post and network without cringe.
- Careers5 min read
A resume for freshers
A one-page resume for your first software job: what recruiters and applicant tracking systems look for, the sections in order, writing project bullets with impact, skills that hold up in an interview, and the mistakes that get resumes rejected in seconds.
- Security6 min read
Active Directory explained
What Active Directory is, how domains, domain controllers, forests and organisational units fit together, how signing in works with Kerberos and LDAP, and how it differs from Microsoft Entra ID.
- Setup guides5 min read
Add an SSH key to GitHub
Step-by-step: check for an existing key, generate an Ed25519 key on Windows, macOS or Linux, add it to ssh-agent, paste the public key into GitHub, test the connection, switch a repository from HTTPS to SSH, use separate keys for work and personal accounts, sign commits with SSH, and fix permission denied errors.
- DevOps5 min read
Ansible for beginners
Automate server configuration with Ansible: agentless SSH-based design, inventories, ad-hoc commands, playbooks and tasks, modules, idempotency, variables and templates, handlers, roles, Ansible Vault for secrets, check mode, and how Ansible fits alongside Terraform and containers.
- Networking5 min read
API gateways
What an API gateway does and when you need one: a single entry point for many services, routing, authentication, rate limiting, request transformation, aggregation and the backend-for-frontend pattern, observability, gateways versus load balancers and service meshes, popular products, and pitfalls.
- Security6 min read
API keys and how to protect them
What API keys are and how to handle them safely as a consumer and as a provider: keeping keys out of code, git and front ends, environment variables and secret managers, restricting and rotating keys, what to do after a leak, and how to issue, hash and scope keys in your own API.
- Programming5 min read
Async and await
What async and await mean across languages: the problem of waiting, callbacks and futures, how await suspends a function without blocking a thread, the same example in JavaScript, Python, C# and Kotlin, running work concurrently, error handling, and the mistakes that make async code slow or broken.
- Python and JavaScript4 min read
asyncio explained
Python's asyncio from the ground up: coroutines, async and await, the event loop, running tasks concurrently with gather and TaskGroup, timeouts, limiting concurrency with semaphores, async HTTP, and the blocking-call mistake that freezes everything.
- System design6 min read
Back-pressure
What back-pressure is and how systems use it to stay stable under load: fast producers and slow consumers, unbounded queues and memory exhaustion, bounded buffers, blocking, dropping and sampling, rejecting with 429 and 503, load shedding, back-pressure in TCP, Node.js streams, reactive streams and Kafka, and designing systems that degrade gracefully.
- Careers5 min read
Behavioural interviews and STAR
How to answer "tell me about a time when..." questions with the STAR method: what interviewers are really assessing, building a bank of stories, worked examples for conflict, failure and leadership, answers for freshers, and mistakes to avoid.
- Programming6 min read
Big-O notation
Big-O notation explained for beginners and interviews: what it measures, the common complexities from O(1) to O(2^n) with code examples, rules for working out the complexity of loops and recursion, space complexity, best, worst and average cases, amortised cost, and how it guides real decisions.
- DevOps5 min read
Blue-green and canary deploys
How to release new versions without downtime or big-bang risk: rolling updates, blue-green deployments with instant rollback, canary releases with gradual traffic shifting and automated analysis, feature flags, database changes that keep both versions working, and choosing a strategy.
- Java and Spring5 min read
Build a REST API with Spring Boot
Build a complete REST API with Spring Boot step by step: a task resource with create, read, update and delete, request and response records, validation, proper status codes, consistent error responses with ProblemDetail, pagination, PostgreSQL with Flyway, and tests.
- System design6 min read
Caching layers in system design
Where caches live in a large system and what each layer is good for: browser, CDN, reverse proxy, application in-process, distributed caches like Redis, and the database's own caches, with hit rates, consistency, invalidation across layers, stampedes, hot keys, and how to discuss caching in interviews.
- Databases5 min read
Caching strategies
Where caches live, the patterns for using them (cache-aside, read-through, write-through, write-behind), choosing TTLs, eviction policies, keeping caches correct after writes, and the stampede and stale-data problems that bite in production.
- Databases6 min read
Cassandra explained
How Apache Cassandra stores huge amounts of data across many machines: the masterless ring, partition keys and clustering columns, query-first data modelling, replication factor and tunable consistency, the write path with commit log, memtables and SSTables, compaction and tombstones, CQL, and when Cassandra is the right choice.
- Networking6 min read
CDNs explained
How content delivery networks make websites faster and more resilient: edge servers and points of presence, how requests reach the nearest edge, cache hits and misses, Cache-Control headers, cache keys and invalidation, caching dynamic content and APIs, security features, and setting one up.