
Five Tips for Transitioning from Permanent to Freelancing
Thinking of moving from permanent employment to freelancing? Follow these 5 tips for a smooth transition and establish yourself as a successful freelancer.
Articles
The guides are the practical part of this archive: working explanations for a specific web development problem, written to show the decision as well as the answer. The subject varies, but the aim is consistent: enough context to use the technique sensibly rather than copy it blindly.

Thinking of moving from permanent employment to freelancing? Follow these 5 tips for a smooth transition and establish yourself as a successful freelancer.

Find the best web developer near you in Brighton, Sussex, or London. This guide covers what to look for, from technical skills to communication and aftercare.

Controlled vs. uncontrolled components in React explained with form examples, refs, validation trade‑offs, and why each approach suits different jobs.

this Changes in JavaScript Event Handlers and MethodsUnderstand why this changes in JavaScript methods and event handlers, including call sites, arrow functions, bind(), event objects, and context bugs.

Primitive vs. reference types in JavaScript explained clearly, including copying behaviour, mutation, equality, and why arrays and objects surprise beginners.

Lifting state up in React explained clearly, including shared state, single sources of truth, child callbacks, and when moving state higher helps.

Five habits of a good web developer, covering clean code, performance, testing, collaboration, curiosity, standards, and communication beyond code.

How to read JavaScript errors and stack traces in the browser, including common error types, line numbers, call stacks, and a practical debugging workflow.

Pass by value vs. reference in JavaScript explained clearly, including why objects seem shared, how reassignment differs from mutation and common beginner bugs.

Local hiring in Brighton or London can support communication, tailored solutions, prompt help and the local economy; remote‑first work may also be suitable.

data‑* Attributes and dataset in JavaScriptUse data attributes and dataset in JavaScript to connect HTML and behaviour cleanly, handle camelCase mapping, event delegation, and string values.

classList in JavaScript: add(), remove(), toggle(), and contains()Use classList in JavaScript for add(), remove(), toggle(), and contains(), with cleaner DOM state updates, validation examples, and className cautions.

DOMContentLoaded vs. load in JavaScriptCompare DOMContentLoaded and load in JavaScript, including parsing, asset loading, script timing, selector failures, and when each event is useful.

querySelector Returns null in JavaScriptDebug querySelector returning null in JavaScript by checking selector syntax, DOM timing, missing elements, search scope, and querySelectorAll differences.