<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Frontend Web Development]]></title><description><![CDATA[Frontend engineer, Javascript developer, HTML coding, CSS coding, Developers mindset all @ the frontendist]]></description><link>https://thefrontendist.com</link><generator>RSS for Node</generator><lastBuildDate>Thu, 16 Apr 2026 13:32:43 GMT</lastBuildDate><atom:link href="https://thefrontendist.com/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Shift Left Is Not a Phase: How Modern Engineering Teams Are Moving Quality to the Center]]></title><description><![CDATA[We’ve all been there. It’s 4 PM on a Friday, the production deployment pipeline is green, and suddenly your observability dashboard erupts—latency spikes in the payment service, CORS errors in the new]]></description><link>https://thefrontendist.com/shift-left-is-not-a-phase-how-modern-engineering-teams-are-moving-quality-to-the-center</link><guid isPermaLink="true">https://thefrontendist.com/shift-left-is-not-a-phase-how-modern-engineering-teams-are-moving-quality-to-the-center</guid><dc:creator><![CDATA[Sam Bruton]]></dc:creator><pubDate>Thu, 09 Apr 2026 08:42:08 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/62f4bdea2e865683123dee78/8f7fd2e5-b548-49f3-952c-8bc8b6f0f084.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>We’ve all been there. It’s 4 PM on a Friday, the production deployment pipeline is green, and suddenly your observability dashboard erupts—latency spikes in the payment service, CORS errors in the new frontend build, and a Terraform drift that somehow bypassed the staging environment. Three hours later, you’re rolling back, cursing the fact that these issues weren’t caught when the code was written, or when the infrastructure was defined, or at the very least, when the PR was opened.</p>
<p>This is the expensive end of the software development lifecycle (SDLC), and it’s exactly where “shift left” aims to intervene. But for teams running microservices on Kubernetes, deploying via GitOps, and shipping frontend assets through edge networks, shifting left isn’t just about running JUnit tests earlier. It’s a fundamental restructuring of how we think about feedback loops in distributed systems.</p>
<h3><strong>Beyond the Buzzword</strong></h3>
<p>The traditional shift left narrative—moving testing from QA to development—is outdated. In modern cloud-native environments, the “left” extends to the moment an engineer opens an IDE, and the “right” stretches continuously into production. For teams leveraging Infrastructure as Code (IaC), CI/CD pipelines, and polyglot architectures, shifting left means embedding validation, security, and observability into the earliest possible stages of creation.</p>
<p>The economic argument remains compelling: fixing a bug in production costs 100x more than catching it during requirements. But in 2024, the math has new variables. Cloud infrastructure complexity, distributed service dependencies, and the blast radius of configuration drift mean that late-stage failures don’t just cost money—they erode customer trust in ways that automated rollbacks can’t fully repair.</p>
<h3><strong>The Stack-Specific Reality</strong></h3>
<p><strong>Frontend: From Manual QA to Static Confidence</strong> Modern frontend ecosystems (React, Vue, Svelte) offer compile-time safety that previous generations lacked. Shift left here means treating TypeScript errors as pipeline blockers, not suggestions. It means integrating accessibility linting (axe-core, ESLint plugins) into pre-commit hooks rather than relying on end-to-end tests.</p>
<p>Component-driven development using Storybook or Chromatic allows visual regression testing to happen before integration, not after. When your build pipeline generates static assets served via CDN, catching bundle bloat or security misconfigurations (CSP headers, dependency vulnerabilities via <code>npm audit</code>) at the PR stage prevents cache poisoning headaches in production.</p>
<p><strong>Backend: Contracts Over Integration</strong> For backend engineers juggling REST or GraphQL APIs across microservices, shift left manifests as contract testing with tools like Pact or Mountebank. Rather than discovering breaking API changes during integration testing, services validate compatibility against consumer contracts during the build phase.</p>
<p>Static application security testing (SAST) and software composition analysis (SCA) now run in milliseconds during local development via IDE plugins or pre-commit hooks. Database schema changes—historically a source of 3 AM pages—are validated using tools like Liquibase or Flyway in CI pipelines, with automated rollback scripts generated before deployment ever reaches staging.</p>
<p><strong>Cloud Infrastructure: Policy as Code</strong> This is where shift left thinking has evolved most dramatically. When infrastructure is defined in Terraform, Pulumi, or CloudFormation, “testing” happens before <code>terraform apply</code>. Policy-as-code tools (Open Policy Agent, Checkov, Terrascan) scan IaC for compliance violations, exposed secrets, or cost inefficiencies during the PR review.</p>
<p>GitOps workflows (ArgoCD, Flux) inherently shift left by making the Git repository the single source of truth. But mature teams go further: they use tools like LocalStack or Testcontainers to spin up cloud service mocks during integration tests, validating IAM policies and event-driven architectures (SQS, SNS, Kafka) without touching a live AWS account.</p>
<p><strong>CI/CD: The Immutable Gate</strong> Your pipeline is the enforcement mechanism. Modern shift left thinking treats CI/CD not as a conveyor belt, but as a progressive validation system:</p>
<ul>
<li><p><strong>Fast feedback layers</strong>: Unit tests and linting complete in under 2 minutes</p>
</li>
<li><p><strong>Security gates</strong>: Container scanning (Trivy, Snyk) happens on image build, not in production registry</p>
</li>
<li><p><strong>Observability validation</strong>: Automated canary analysis and chaos engineering experiments run in staging environments that mirror production topologies</p>
</li>
<li><p><strong>Feature flags</strong>: Decoupling deployment from release allows testing in production with limited blast radius, effectively shifting the “integration” phase rightward while keeping risk contained</p>
</li>
</ul>
<h3><strong>The Cultural Inversion</strong></h3>
<p>Technology is the easy part. The harder shift is cultural. Traditional models buffered developers from operational concerns. Shift left demands T-shaped engineers who understand that a TypeScript generic and a Kubernetes NetworkPolicy are part of the same quality continuum.</p>
<p>This manifests in pair programming sessions where backend engineers review Terraform plans, or frontend developers writing OpenAPI specifications before touching React code. It requires platform engineering teams to provide “golden paths”—opinionated CI/CD templates and scaffolds that embed security and compliance by default, rather than asking developers to bolt them on.</p>
<p>The “you build it, you run it” ethos extends to developers owning their services’ SLAs from day one. This doesn’t mean 24/7 on-call for everyone, but it does mean engineers use observability tools (Honeycomb, Datadog, Grafana) during development, not just during incidents. Distributed tracing becomes a development tool, not just a debugging one.</p>
<h3><strong>The Complexity Trap</strong></h3>
<p>Shift left is not about moving <em>all</em> testing to unit tests. It’s about appropriate feedback at appropriate times. Over-rotation creates “shift left fatigue”—developers drowning in pre-commit hooks that take 10 minutes to run, or security scanners with 90% false positive rates.</p>
<p>Smart teams implement a “fail fast” hierarchy:</p>
<ol>
<li><p><strong>Local</strong>: Instant feedback (linting, type checking, unit tests)</p>
</li>
<li><p><strong>Pre-merge</strong>: Comprehensive but fast (contract tests, container scans)</p>
</li>
<li><p><strong>Post-merge</strong>: Deep validation (integration tests, performance benchmarks, security penetration testing)</p>
</li>
</ol>
<p>They also recognize that some quality attributes—true user experience, emergent system behaviors, production load patterns—cannot be fully simulated left of deployment. These require sophisticated progressive delivery techniques (canary deployments, blue-green releases) that blur the line between “testing” and “production monitoring.”</p>
<h3><strong>The New Feedback Loop</strong></h3>
<p>For teams operating at scale, shift left has evolved from a testing strategy to an architecture principle. It’s designing APIs with idempotency in mind because you know retries will happen. It’s writing Terraform modules with built-in cost estimation because finance is now part of the SDLC. It’s treating the developer experience (fast local development, instant preview environments) as a prerequisite for quality, not a nice-to-have.</p>
<p>The goal isn’t zero bugs in production—that’s a fantasy in distributed systems. The goal is reducing the <strong>mean time to detection (MTTD)</strong> and <strong>mean time to resolution (MTTR)</strong> by ensuring that when failures occur, they’re surfacing in contexts where engineers have maximal context and minimal pressure.</p>
<p>In modern software, quality isn’t a stage you pass through. It’s the substrate of every commit, every pull request, every infrastructure definition. Shifting left isn’t about doing more work earlier; it’s about recognizing that in a world of continuous deployment, the only sustainable speed is built on confidence—and confidence is manufactured at the source.</p>
<p><strong>To conclude</strong></p>
<p>Shifting left is not a fad or a checkbox—it's a change in how teams design feedback loops so quality becomes a continuous, visible property of every artifact from code and infrastructure to UX and telemetry.</p>
]]></content:encoded></item><item><title><![CDATA[6 best reviewed desktop tech organisation and productivity gadgets]]></title><description><![CDATA[Here are six widely praised, easy‑to‑buy desktop gadgets that noticeably tidy up a desk, streamline workflows, or cut friction from day‑to‑day work. They’re all well‑reviewed by trusted outlets or have strong third‑party recommendations, and they sol...]]></description><link>https://thefrontendist.com/6-best-reviewed-desktop-tech-organisation-and-productivity-gadgets</link><guid isPermaLink="true">https://thefrontendist.com/6-best-reviewed-desktop-tech-organisation-and-productivity-gadgets</guid><category><![CDATA[technology]]></category><category><![CDATA[Products]]></category><category><![CDATA[desktop]]></category><category><![CDATA[Organisation]]></category><category><![CDATA[gadgets]]></category><category><![CDATA[Productivity]]></category><category><![CDATA[#Productivity-tips]]></category><category><![CDATA[Reviews]]></category><category><![CDATA[#TechReviews]]></category><category><![CDATA[Tech Gadgets]]></category><dc:creator><![CDATA[Sam Bruton]]></dc:creator><pubDate>Thu, 11 Dec 2025 11:21:59 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/EG49vTtKdvI/upload/a23887fa025ea3b7ec86047fb4cd4214.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Here are six widely praised, easy‑to‑buy desktop gadgets that noticeably tidy up a desk, streamline workflows, or cut friction from day‑to‑day work. They’re all well‑reviewed by trusted outlets or have strong third‑party recommendations, and they solve common pain points—cluttered cables, cramped surfaces, poor lighting, or messy peripherals. Prices span budget to premium, so you can choose based on impact and desk real estate.</p>
<h2 id="heading-best-centralised-docking-power-station">Best centralised docking power station</h2>
<p><img src="https://m.media-amazon.com/images/S/aplus-media-library-service-media/b55bfc22-4d4d-4d23-8332-fb30f5b52871.__CR0%2C0%2C2928%2C1200_PT0_SX1464_V1___.jpg" alt="Anker 568 USB‑C Docking Station (11‑in‑1, USB4)" /></p>
<p><strong>Why this is the single most transformative pick for most desks</strong></p>
<ul>
<li><p><strong>Real, tested power for a modern laptop desk.</strong> <a target="_blank" href="https://www.wired.com/gallery/best-laptop-docking-stations/#:~:text=Anker%20568%20Docking%20Station%20for,problem%20is%2C%20it%27s%20quite%20expensive">WIRED’s 2025</a> roundup of top laptop docks calls Anker’s 568 one of the <a target="_blank" href="https://www.wired.com/gallery/best-laptop-docking-stations/#:~:text=Anker%20568%20Docking%20Station%20for,problem%20is%2C%20it%27s%20quite%20expensive">strongest</a> options, noting it excels at powering all your other gadgets and supports serious charging and bandwidth.</p>
</li>
<li><p><a target="_blank" href="https://www.wired.com/gallery/best-laptop-docking-stations/#:~:text=Anker%20568%20Docking%20Station%20for,problem%20is%2C%20it%27s%20quite%20expensive">WIRED</a> - That praise comes from hands‑on testing and comparison across many docks—exactly what you want when you’re condensing messy cables and chargers into one tidy hub.</p>
</li>
<li><p><strong>Serious port coverage without a giant block.</strong> USB4 up to 40 Gbps, laptop charging to 100W, multiple front‑facing <a target="_blank" href="https://www.wired.com/gallery/best-laptop-docking-stations/#:~:text=Anker%20568%20Docking%20Station%20for,problem%20is%2C%20it%27s%20quite%20expensive">USB‑C ports</a> for fast device charging, plus a host of display and data ports—so you can connect monitors, wired Ethernet, storage, and peripherals from one unit, not a tangle of adapters.</p>
</li>
<li><p><strong>Cleaner, calmer workspace.</strong> Instead of multiple wall chargers, a power strip, and random dongles strewn across the <a target="_blank" href="https://www.wired.com/gallery/best-laptop-docking-stations/#:~:text=Anker%20568%20Docking%20Station%20for,problem%20is%2C%20it%27s%20quite%20expensive">desk</a>, you get a single, slim dock that sits neatly and internally routes everything. It’s a minimalist, durable piece that keeps the desktop footprint small while enabling a full desktop setup.</p>
</li>
</ul>
<p><strong>Tradeoffs</strong></p>
<ul>
<li><p><strong>Premium price -</strong> It’s not cheap; that’s the price of serious capability and future‑proofing.</p>
</li>
<li><p><a target="_blank" href="https://www.wired.com/gallery/best-laptop-docking-stations/#:~:text=Anker%20568%20Docking%20Station%20for,problem%20is%2C%20it%27s%20quite%20expensive"><strong>Windows‑leaning compatibility</strong></a> <strong>-</strong> Some USB4 docks can have limitations on specific Mac setups; check your system’s exact compatibility before buying, especially if you use macOS as your primary machine.</p>
</li>
</ul>
<p><strong>Best use case</strong><br />Anyone using a modern laptop as a main workstation—especially with one or more external screens, wired networking, or multiple peripherals—who wants to eliminate cable clutter and speed daily connections.</p>
<h2 id="heading-cable-management-organiser">Cable management organiser</h2>
<p><img src="https://m.media-amazon.com/images/I/51UGfBk05qL._AC_SY300_SX300_QL70_ML2_.jpg" alt="Anker Multipurpose Cord Keeper" /></p>
<p><strong>Why this tiny gadget punches above its size</strong></p>
<ul>
<li><p><strong>Immediate, no‑drill tidying for everyday cables -</strong> Magnetic clips keep charging or data cables exactly where you want, preventing them from sliding off the desk or tangling. It’s quick to install, easy to re‑stick, and works on many surfaces—perfect for a desk where you plug in phone, earbuds, or a tablet several times a day.</p>
</li>
<li><p><strong>Strong editorial endorsement -</strong> The Strategist’s cable‑organizer guide picked Anker’s magnetic holder as the best magnetic option, noting a $15 price for a two‑pack and clearly recommending it after testing and vetting multiple systems.</p>
</li>
<li><p><a target="_blank" href="https://nymag.com/strategist/article/best-cable-organizers.html#:~:text=Anker%20Magnetic%20Cord%20Keeper%20Cable,off%0A%0A%0A%0A%2415%20for%202">New York Magazine</a> <strong>-</strong> That kind of testing beyond ad copy gives confidence this is a legitimate, useful product rather than a gimmick.</p>
</li>
<li><p><strong>Ultra‑low friction, ultra‑low cost -</strong> For a few dollars, you quickly transform a messy desk edge into a neat charging station—no heavy hardware or permanent changes needed.</p>
</li>
</ul>
<p><strong>Tradeoffs</strong></p>
<ul>
<li><p><strong>Holding capacity is limited to small cables -</strong> It’s great for charging cords and small wires, not thick power cables or large bundles.</p>
</li>
<li><p><strong>Adhesive eventually needs refreshing -</strong> Like most stick‑on organizers, adhesion can fade over time; re‑cleaning or re‑sticking is occasionally necessary.</p>
</li>
</ul>
<p><strong>Best use case</strong><br />Any desktop where phone or accessory cables regularly fall off the edge, or where a minimal, tidy look matters more than hiding every cable in a box.</p>
<h2 id="heading-best-lighting-upgrade-to-reduce-glare-and-desk-clutter">Best lighting upgrade to reduce glare and desk clutter</h2>
<p><img src="https://m.media-amazon.com/images/I/71FpP6myfPL._AC_SY300_SX300_QL70_ML2_.jpg" alt="BenQ ScreenBar Monitor Light" /></p>
<p><strong>Why slotting this above your screen is so effective</strong></p>
<ul>
<li><p><strong>Works where desk lamps can’t -</strong> It clamps on the monitor and shines downward onto the workspace, avoiding screen reflections. That means better lighting for documents, keyboard, or notes without wasting desk space—a perfect solution for tight setups.</p>
</li>
<li><p><strong>Proven, long‑standing praise -</strong> PCWorld’s hands‑on review calls the ScreenBar brilliant for tiny desks or multi‑monitor setups, with the pros of USB power, space savings, and even brightness, though noting the higher cost.</p>
</li>
<li><p><a target="_blank" href="https://www.pcworld.com/article/401862/benq-screenbar-review.html#:~:text=,Cons%0A%0A%0A%0A%20%20%2A%20Expensive">PCWorld</a> - The same review observed uniform light, effective glare avoidance, and strong practical use, not just a spec sheet.</p>
</li>
<li><p><strong>Balanced features for real use -</strong> USB power, adjustable brightness and color temperature, and a clean, thin design mean it’s not just a novelty lamp; it’s a long‑term, everyday tool that makes working at night or in dim rooms easier.</p>
</li>
</ul>
<p><strong>Tradeoffs</strong></p>
<ul>
<li><p><strong>Premium compared to basic desk lamps -</strong> You pay more than a simple lamp, but you gain space and less glare.</p>
</li>
<li><p><strong>May block some webcams, depending on placement -</strong> Any monitor‑mounted bar can interact with a camera; consider your camera position, or use an external webcam mount if needed.</p>
</li>
</ul>
<p><strong>Best use case</strong><br />Small desks, home offices in shared rooms, or anyone bothered by harsh shadows or screen glare who wants a clean, unobtrusive light.</p>
<h2 id="heading-best-premium-space-saver-and-ergonomics">Best premium space saver and ergonomics</h2>
<p><img src="https://www.staples-3p.com/s7/is/image/Staples/6A0EF317-5C14-478E-ACC2B82DDDE24DBF_sc7?hei=90&amp;wid=90" alt="Humanscale M2.1 Adjustable Monitor Arm" /></p>
<p><strong>Why it’s worth a premium for a truly clean desk</strong></p>
<ul>
<li><p><strong>Clears the desktop and boosts posture -</strong> A monitor arm lifts the screen, freeing surface space for keyboard, notebooks, or a small organiser. Humanscale’s M2.1 is a professional‑grade arm with internal cable routing and a counterbalance system, designed for frequent adjustments and long life, so your desk stays neat without constant cable fuss.</p>
</li>
<li><p><strong>Strong independent validation -</strong> PCWorld highlights Humanscale’s arm line for productivity, ease of adjustment, and built‑in cable management, noting the M2.1 supports better posture and a clutter‑free environment while offering quick, simple installation. <a target="_blank" href="https://www.staples.com/humanscale-m2-1-adjustable-single-monitor-arm-black-m21tbb/product_24603509#:~:text=In%20today%E2%80%99s%20fast,be%20replaced%20for%20many%20years">staples.com</a> That kind of third‑party recognition matters when choosing a high‑cost accessory you’ll live with daily.</p>
</li>
<li><p><strong>Reliable build, fewer future headaches -</strong> Humanscale’s design emphasises durability, smart stops, and accessories; for a long‑term setup that you won’t want to replace, that’s valuable.</p>
</li>
</ul>
<p><strong>Tradeoffs</strong></p>
<ul>
<li><p><strong>Price -</strong> It is expensive, even among professional arms.</p>
</li>
<li><p><strong>Desk thickness or clamp limits -</strong> As with any clamp or grommet arm, verify your desk’s thickness or mounting method is compatible before buying.</p>
</li>
</ul>
<p><strong>Best use case</strong><br />Small or medium desks where every inch counts, or anyone who wants a premium, long‑lasting arm to keep a tidy workspace and reduce neck or eye strain.</p>
<h2 id="heading-best-tidy-stand-with-storage-for-small-desks">Best tidy stand with storage for small desks</h2>
<p><img src="https://images.containerstore.com/catalogimages/480301/10092037-everything-organizer-monito.jpg?align=center&amp;height=600&amp;width=600" alt="Everything Organizer Monitor Stand with Drawer" /></p>
<p><strong>Why this is a great affordable add for clutte</strong><a target="_blank" href="https://www.staples.com/humanscale-m2-1-adjustable-single-monitor-arm-black-m21tbb/product_24603509#:~:text=In%20today%E2%80%99s%20fast,be%20replaced%20for%20many%20years"><strong>red desks</strong></a></p>
<ul>
<li><p><strong>Raises the monitor and provides quick‑access storage -</strong> The stand lifts the screen to a more comfortable height while the drawer neatly holds small items—sticky notes, pens, U<a target="_blank" href="https://www.staples.com/humanscale-m2-1-adjustable-single-monitor-arm-black-m21tbb/product_24603509#:~:text=In%20today%E2%80%99s%20fast,be%20replaced%20for%20many%20years">SB sticks—s</a>o <a target="_blank" href="https://www.staples.com/humanscale-m2-1-adjustable-single-monitor-arm-black-m21tbb/product_24603509#:~:text=In%20today%E2%80%99s%20fast,be%20replaced%20for%20many%20years">they don’t</a> sit on the surface or get lost behind the keyb<a target="_blank" href="https://www.staples.com/humanscale-m2-1-adjustable-single-monitor-arm-black-m21tbb/product_24603509#:~:text=In%20today%E2%80%99s%20fast,be%20replaced%20for%20many%20years">oard. It’s</a> exactly the sort of slice of organization that has a large visual impact for a modest spend.</p>
</li>
<li><p><strong>Strong buyer feedback on the merchant p</strong><a target="_blank" href="https://www.staples.com/humanscale-m2-1-adjustable-single-monitor-arm-black-m21tbb/product_24603509#:~:text=In%20today%E2%80%99s%20fast,be%20replaced%20for%20many%20years"><strong>age -</strong> It sh</a>ows a 5‑star rating with real user reviews, indicating satisfaction and usefulness in everyday setups.</p>
</li>
<li><p><a target="_blank" href="https://www.containerstore.com/s/office/office-supplies/everything-organizer-monitor-stand-with-drawer/12d?productId=11019927#:~:text=5,0%0A%0A%0A%0A16%20Reviews">containerstore.com</a> <strong>-</strong> That social proof is valuable for budget gear: people actually use it and like it.</p>
</li>
<li><p><strong>Simple, universal design -</strong> Works with most monitors or laptops on desks that need just a bit more surface order, and it’s easy to move between rooms or desks.</p>
</li>
</ul>
<p><strong>Tradeoffs</strong></p>
<ul>
<li><p><strong>Not a substitute for cable management -</strong> It frees space and adds storage, but doesn’t hide power strips or cables under the desk. Pair it with clips or a box if you have a lot of cords.</p>
</li>
<li><p><strong>Limited size -</strong> It’s designed for modest setups; very large or heavy monitors may need a stronger stand or an arm instead.</p>
</li>
</ul>
<p><strong>Best use case</strong><br />Students, small home offices, or anyone who wants an instant tidy look without drilling, wiring, or spending premium‑arm money.</p>
<h2 id="heading-best-lowcost-way-to-hide-power-strips-and-reduce-visual-clutter">Best low‑cost way to hide power strips and reduce visual clutter</h2>
<p><img src="https://m.media-amazon.com/images/S/aplus-media-library-service-media/49da6c88-8a1e-41cc-9015-2834b81c488b.__CR8%2C0%2C1019%2C630_PT0_SX970_V1___.png" alt="Chouky Cable Organizer Box set" /></p>
<p><strong>Why a simple box can dramatically change how a desk feels</strong></p>
<ul>
<li><p><strong>Hides the ugly stuff in seconds -</strong> Power strips, extra cords, and adapters get tucked out of sight inside the box, so the desk looks cleaner and safer. This is especially helpful for desks near outlets, or setups that rely on larger power bricks.</p>
</li>
<li><p><strong>Third‑party recommendation from a respected guide -</strong> The Spruce’s cable‑management guide selects Chouky as a top box option, pointing to a $26 sale price and highlighting the usefulness of such boxes for organisation.</p>
</li>
<li><p><a target="_blank" href="https://www.thespruce.com/best-cable-management-5271358#:~:text=Best%20Box%3A%0A%0A%0A%0ASALE%0A%0A%0A%0AChouky%202%20Pack%20Large,Box%20at%20Amazon%20%2432%20%2426">The Spruce</a> <strong>-</strong> This kind of professional pick reinforces that Chouky is a vetted value choice, not just a random listing.</p>
</li>
<li><p><strong>Much cheaper than pricey trays or racks, and easier to use -</strong> No drilling under the desk, no complicated installation—just place it where you want, route cords, close the lid, and you’ve instantly decluttered.</p>
</li>
</ul>
<p><strong>Tradeoffs</strong></p>
<ul>
<li><p><strong>Limited access while in box -</strong> If you need to frequently unplug or swap connections, opening the box is needed; this is the normal tradeoff for a cleaner look.</p>
</li>
<li><p><strong>Ventilation and heat -</strong> As with any box covering power gear, ensure adequate ventilation, especially in hot rooms; avoid cramming too many high‑heat devices without airflow.</p>
</li>
</ul>
<p><strong>Best use case</strong><br />Tight apartments, multi‑use desks, or any workspace where power strips are visible and distracting, and you want an inexpensive, fast fix.</p>
<h3 id="heading-additional-guidance-on-picking-among-these">Additional guidance on picking among these</h3>
<ul>
<li><p><strong>If you have one clean, modern laptop desk and multiple devices</strong> → start with the <strong>Anker 568 dock</strong> to dramatically reduce cables and centralise power. Add the <strong>ScreenBar</strong> if lighting is poor, or <strong>Cord Keeper</strong> if you still have a few stray cords on the desk edge.</p>
</li>
<li><p><strong>If space is extremely tight or you use a heavy monitor</strong> → choose <strong>Humanscale M2.1</strong> or another premium arm first to reclaim surface area. Pair with <strong>Chouky</strong> to hide power strips under or beside the desk.</p>
</li>
<li><p><strong>If budget is tight but the desk looks messy</strong> → start with <strong>Cord Keeper</strong> and <strong>Chouky</strong>; add the <strong>Container Store stand</strong> for quick storage once money allows.</p>
</li>
</ul>
<p>These six picks span budgets and specific pain points, but all are well‑reviewed or recommended by credible sources, making them safe, high‑impact buys for organising a desktop and boosting everyday productivity.</p>
]]></content:encoded></item><item><title><![CDATA[How I got AI to talk like a pirate about Python]]></title><description><![CDATA[Here is a snippet from Pirate Johnarry Silver about the History of Python. Using OpenAI and gpt-5.1 model and some clever prompt instructions via an express app, I got ai to be an informative pirate.
It’s quite simple really and its all within the in...]]></description><link>https://thefrontendist.com/how-i-got-ai-to-talk-like-a-pirate-about-python</link><guid isPermaLink="true">https://thefrontendist.com/how-i-got-ai-to-talk-like-a-pirate-about-python</guid><category><![CDATA[openai]]></category><category><![CDATA[AI]]></category><category><![CDATA[#ai-tools]]></category><category><![CDATA[gpt]]></category><category><![CDATA[Express.js]]></category><category><![CDATA[backend]]></category><category><![CDATA[prompting]]></category><category><![CDATA[#PromptEngineering]]></category><category><![CDATA[Web Development]]></category><dc:creator><![CDATA[Sam Bruton]]></dc:creator><pubDate>Tue, 09 Dec 2025 14:06:25 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/TQzf98MMFmQ/upload/88b60221b4fae6a604d735d5101be6d4.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Here is a snippet from Pirate Johnarry Silver about the History of Python. Using OpenAI and gpt-5.1 model and some clever prompt instructions via an express app, I got ai to be an informative pirate.</p>
<p>It’s quite simple really and its all within the instructions property. When creating a request with OpenAI client response you can specify the model, instructions and input. When providing instructions you can use things like,</p>
<ol>
<li><p>Make sure to return the answer in HTML5 semantic format.</p>
</li>
<li><p>You like to talk like a pirate, arrr! Your name is Johnarrry Silver and like to let people know at the end of your answer.</p>
</li>
<li><p>You are knowledeable and helpful, providing citations for your answers when possible.</p>
</li>
</ol>
<p>Instructions go a long way to create a well crafted and specific prompt response that is actually usable.</p>
<p>Here’s the article it generated.</p>
<h1 id="heading-brief-history-o-python-matey">Brief History o’ Python, matey</h1>
<h2 id="heading-how-python-first-set-sail">How Python first set sail</h2>
<p>Python be a high-level programming language created by <strong>Guido van Rossum</strong> in the late 1980s, with the first public release o’ <strong>Python 0.9.0</strong> in <strong>1991</strong>. Van Rossum started hackin’ on it at <strong>Centrum Wiskunde &amp; Informatica (CWI)</strong> in the Netherlands as a successor to a language called <strong>ABC</strong>, aim’n for cleaner syntax and better error handling.</p>
<h3 id="heading-name-and-early-design">Name and early design</h3>
<p>The name “Python” comes not from the serpent, but from the British comedy show <strong>“Monty Python’s Flying Circus”</strong>. Van Rossum wanted a language that was:</p>
<ul>
<li><p>Easy to read and write (emphasis on clear, human-friendly syntax),</p>
</li>
<li><p>Highly extensible with C and other systems,</p>
</li>
<li><p>Suitable for rapid prototyping and scripting.</p>
</li>
</ul>
<h3 id="heading-major-versions-and-milestones">Major versions and milestones</h3>
<ul>
<li><p><strong>Python 1.0 (1994)</strong> – Introduced core features like functions, modules, exceptions, lists, and dictionaries.</p>
</li>
<li><p><strong>Python 2.0 (2000)</strong> – Brought list comprehensions, a full garbage collector, and a more open, community-driven development process.</p>
</li>
<li><p><strong>Python 3.0 (2008)</strong> – A major redesign to fix long-standing quirks; not fully backward compatible with Python 2, but cleaner and more consistent (e.g., <code>print()</code> as a function, better Unicode support).</p>
</li>
<li><p><strong>End of Python 2 support (2020)</strong> – Official support for Python 2 ended, with the ecosystem largely havin’ shifted to Python 3.</p>
</li>
</ul>
<h3 id="heading-growth-and-community">Growth and community</h3>
<p>Python’s community blossomed through the <strong>Python Software Foundation (PSF)</strong>, created in <strong>2001</strong> to manage intellectual property and support the community. Over time, Python became wildly popular for:</p>
<ul>
<li><p>Web development (e.g., Django, Flask),</p>
</li>
<li><p>Scientific computing (NumPy, SciPy),</p>
</li>
<li><p>Data analysis and machine learning (pandas, scikit-learn, TensorFlow, PyTorch),</p>
</li>
<li><p>Automation, scripting, and education.</p>
</li>
</ul>
<p>By the 2010s and 2020s, Python had become one o’ the most-used languages worldwide, praised for its readability and rich ecosystem of libraries.</p>
<h3 id="heading-references-fer-further-reading">References fer further reading</h3>
<ul>
<li><p>Python Software Foundation – “History of Python” <a target="_blank" href="https://www.python.org/doc/essays/blurb/">https://www.python.org/doc/essays/blurb/</a></p>
</li>
<li><p>Guido van Rossum – “History of Python” talk (PyCon &amp; essays) <a target="_blank" href="https://www.python.org/doc/essays/">https://www.python.org/doc/essays/</a></p>
</li>
<li><p>Python timeline (Python Wiki) <a target="_blank" href="https://wiki.python.org/moin/History">https://wiki.python.org/moin/History</a></p>
</li>
</ul>
<p>Arrr, that be a wee slice o’ Python’s voyage through time, signed yer matey, <strong>Johnarrry Silver</strong>.</p>
]]></content:encoded></item><item><title><![CDATA[Intrinsically Full Stack]]></title><description><![CDATA[This is a little different to what I normally write about but the title is very fitting.
I am reading a book called “The Art of Impossible” by Steven Kotler. There’s a chapter called the full intrinsic stack. That sparked my interest to write an arti...]]></description><link>https://thefrontendist.com/intrinsically-full-stack</link><guid isPermaLink="true">https://thefrontendist.com/intrinsically-full-stack</guid><category><![CDATA[full intrinsic stack]]></category><category><![CDATA[art of impossible]]></category><category><![CDATA[intrinsic values]]></category><category><![CDATA[extrinsic values]]></category><category><![CDATA[Self Development]]></category><category><![CDATA[flow state]]></category><category><![CDATA[achieving-goals]]></category><category><![CDATA[self-improvement ]]></category><category><![CDATA[Self Improvement ]]></category><dc:creator><![CDATA[Sam Bruton]]></dc:creator><pubDate>Mon, 13 Oct 2025 13:03:31 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/_OALPYswQNg/upload/ee1cd62eaf52a9ec31de80a0e59fc28a.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This is a little different to what I normally write about but the title is very fitting.</p>
<p>I am reading a book called <em>“The Art of Impossible” by Steven Kotler</em>. There’s a chapter called the <em>full intrinsic stack</em>. That sparked my interest to write an article since the overlap in wording with full-stack developer and a feeling of wanting to share what I am learning about <em>Self-determination theory</em> - <strong>developers can benefit from this information too.</strong></p>
<p>It talks about the <em>five most powerful intrinsic drivers</em> and how they biochemically and neurologically enable us to achieve impossible feats. That could be great athletic performance, mastery of a skill or skills (public speaking, piano, tai chi), overcoming fears and obstacles in ones life, hiking to the top of Snowdonia on Saturday, the list goes on!</p>
<p>Opposed to that are <em>extrinsic drivers</em> which are motivators outside of oneself, such as, <em>“John has a real cool car and now I want one”</em> or <em>“I’ll give you £100 if you push tommy into the swimming pool“</em>.</p>
<p>You can see the difference. <em>Intrinsic</em> are generally going to be more sustainable and longer-term (but they don’t always have to). They are drivers that come from within, so that not matter what is happening around you, you still have that drive to continue achieving what you set out to do regardless of economic, weather patterns, social norms or train times.</p>
<h3 id="heading-in-summa"><strong>In summa</strong></h3>
<p><em>Extrinsic</em> is being moved by external factors such as rewards, status, opinions of others.</p>
<p><em>Intrinsic</em> is being internally motivated by curiosity, care, passion, love and values that are inherent in every human.</p>
<p>Our tasks of life can be categorised as either extrinsic or intrinsic in nature. Neither is right or wrong and its important to know the origin of a task as it will give you a good</p>
<p>Know whether your motivation is externally or internally driven helps you approach each of life’s tasks in the right mind-state and constantly tune your willpower to make them a reality.</p>
<p>Read for free the why and how of intrinsic step at <a target="_blank" href="https://www.untappedlab.co/untapped-toolkit/intrinsic-stack">https://www.untappedlab.co/untapped-toolkit/intrinsic-stack</a> and get the untapped toolkit to take your potential, performance and wellbeing to the next level.</p>
]]></content:encoded></item><item><title><![CDATA[Major differences in Junior and Senior tech roles]]></title><description><![CDATA[I had a conversation with a 2 different heads of engineering and they hit on a couple of key truths about career advancement and the key differences between junior, mid and senior developers. This doesn’t only apply to sticking at the same company, c...]]></description><link>https://thefrontendist.com/major-differences-in-junior-and-senior-tech-roles</link><guid isPermaLink="true">https://thefrontendist.com/major-differences-in-junior-and-senior-tech-roles</guid><category><![CDATA[career progression]]></category><category><![CDATA[career advice]]></category><category><![CDATA[Career]]></category><category><![CDATA[Career Coach]]></category><category><![CDATA[Progression]]></category><category><![CDATA[Junior developer ]]></category><category><![CDATA[MidLevelEngineers ]]></category><category><![CDATA[senior-software-engineer]]></category><category><![CDATA[ senior developer guide]]></category><category><![CDATA[junior developer, learning programming, frontend]]></category><category><![CDATA[Developer]]></category><category><![CDATA[developers]]></category><category><![CDATA[development]]></category><category><![CDATA[engineering]]></category><category><![CDATA[developers mindset]]></category><dc:creator><![CDATA[Sam Bruton]]></dc:creator><pubDate>Fri, 11 Apr 2025 10:28:59 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/ZwHp0TkDVQo/upload/23f0ef2ce79d06cd928963ce181ff2c5.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I had a conversation with a 2 different heads of engineering and they hit on a couple of key truths about career advancement and the key differences between junior, mid and senior developers. This doesn’t only apply to sticking at the same company, career progression can also take place when applying for a new job that is at the next rank.</p>
<p><strong>A junior progression into mid-level</strong> is usually an automatic advancement after a minimum 2-years of professional experience within your discipline (i,e; frontend, backend).</p>
<p><strong>A senior</strong> however shows <em>leadership</em> and <em>drives</em> on initiatives that align with both company values and personal career development goals.</p>
<h2 id="heading-a-real-life-example">a Real life example</h2>
<p>I am currently going through a career breakthrough phase. I have been sat at the mid-level frontend developer for around 5+ years now. I’ve been at my current employer from well into 1-year and I’m thirsty for my next evolution into seniority. I have been involved in team initiatives and driving these forward, started to mentor other devs and now looking to germinating my own initiative for the next financial year.</p>
<p>I have found an initiative gap in our department that I could drive. The way I’m going to achieve this is by aligning my personal career development goals with the company’s engineering vision.</p>
<p>This has to start at an OKR (Objective, Key, Results) level. This way it can be tracked and monitored throughout the year to ensure that:</p>
<ol>
<li><p>I stay on track with the initiative</p>
</li>
<li><p>Upper management can clearly see what I have achieved</p>
</li>
</ol>
<p>From here it comes down to my own commitment self-learning, knowledge sharing through guild meetings and working groups for others to get involved and having an understanding that I am not the know-it-all for that area but I am someone who is a point-of-contact for the initiative who is willing to go away and find the answers.</p>
<h2 id="heading-what-it-takes">What it takes</h2>
<p>This type of senior initiative driving can also be called <strong>championing</strong>. A person who supports and advocates for the development of the initiative because the person is passionate about this area AND it has positive results for the company.</p>
<p>It takes courage to be a driver in this way. You will have to get good at answering unscripted questions from both technical and non-technical perspectives. You must be open and honest in your findings and your current level of understanding. You will need to attend conferences, webinars and meet ups to progress your knowledge. You will need to get good at documentation and probably drawing data flow diagrams or similar. And most of all you will need to discern between what is useless information and what has the most meaningful impact.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>In conclusion, progressing from a junior to a senior developer involves more than just accumulating years of experience. It requires demonstrating leadership, taking initiative, and aligning personal career goals with the company's vision. By championing initiatives, engaging in continuous learning, and effectively communicating with both technical and non-technical stakeholders, you as a developer can have an active say in your career development. This journey demands courage, commitment, and the ability to strive towards the betterment of your team.</p>
]]></content:encoded></item><item><title><![CDATA[Essential Checklist for Evaluating Package Dependencies]]></title><description><![CDATA[Integrating a third-party package dependency into your codebase is a significant decision that requires careful consideration. While such packages may offer solutions, they could potentially introduce complications in the future.
Below are key questi...]]></description><link>https://thefrontendist.com/essential-checklist-for-evaluating-package-dependencies</link><guid isPermaLink="true">https://thefrontendist.com/essential-checklist-for-evaluating-package-dependencies</guid><category><![CDATA[npm]]></category><category><![CDATA[npm packages]]></category><category><![CDATA[dependency management]]></category><category><![CDATA[development]]></category><category><![CDATA[Developer]]></category><category><![CDATA[Devops]]></category><category><![CDATA[software development]]></category><category><![CDATA[Software Engineering]]></category><category><![CDATA[software architecture]]></category><dc:creator><![CDATA[Sam Bruton]]></dc:creator><pubDate>Tue, 11 Mar 2025 13:57:37 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/oZMUrWFHOB4/upload/4ebe7db7f86956ff8da18e4df4d884f5.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Integrating a third-party package dependency into your codebase is a significant decision that requires careful consideration. While such packages may offer solutions, they could potentially introduce complications in the future.</p>
<p>Below are key questions to help assess whether a package dependency justifies inclusion:</p>
<p>Prior to incorporating any new package, conduct thorough evaluations and secure approval from Technical leads and senior developers, confirming the package's necessity and the absence of superior alternatives.</p>
<p>Follow this assessment checklist:</p>
<ul>
<li><p>What <strong>security classification</strong> has Snyk assigned? If High or Medium risk, are we comfortable accepting this vulnerability?</p>
</li>
<li><p>Is there <strong>ongoing maintenance</strong>? Infrequent <strong>updates</strong> might indicate unreliability.</p>
</li>
<li><p>What is the dependency's <strong>size</strong> impact? If substantial and not reducible through <strong>tree shaking</strong>, can we accept potential performance implications?</p>
</li>
<li><p>Is <strong>documentation</strong> comprehensive? Inadequate documentation will complicate understanding and implementation.</p>
</li>
<li><p>How robust is the <strong>user community</strong> and what is the update frequency?</p>
</li>
<li><p>What <strong>dependencies does this package itself require</strong>? Do these meet our evaluation criteria?</p>
</li>
<li><p>What <strong>licensing</strong> terms apply? Is usage permitted under the current license? Is it commercial or open-source?</p>
</li>
</ul>
<p><a target="_blank" href="https://bundlephobia.com/">Bundlephobia</a> provides a valuable resource for identifying size, download times, what dependencies [package] relies on and whether it is tree-shakeable.</p>
<p>By examining these factors, you can make well-informed choices regarding third-party package integration, thereby reducing risks and supporting long-term project viability.</p>
]]></content:encoded></item><item><title><![CDATA[Understanding the Importance of Delaying Serialization in Modern Applications]]></title><description><![CDATA[1. Performance Optimization
Serialization and deserialization can be computationally expensive processes. By delaying serialization, you can avoid the performance overhead until it's absolutely necessary. This can lead to more efficient use of system...]]></description><link>https://thefrontendist.com/understanding-the-importance-of-delaying-serialization-in-modern-applications</link><guid isPermaLink="true">https://thefrontendist.com/understanding-the-importance-of-delaying-serialization-in-modern-applications</guid><category><![CDATA[serialization]]></category><category><![CDATA[software development]]></category><category><![CDATA[#datahandling]]></category><category><![CDATA[Web Development]]></category><category><![CDATA[Application Development]]></category><category><![CDATA[data transformation]]></category><category><![CDATA[json]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[technology]]></category><category><![CDATA[technical writing]]></category><category><![CDATA[Data security]]></category><category><![CDATA[maintainability]]></category><category><![CDATA[coding]]></category><category><![CDATA[coding tips]]></category><category><![CDATA[best practices]]></category><dc:creator><![CDATA[Sam Bruton]]></dc:creator><pubDate>Tue, 02 Jul 2024 08:07:06 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/4wOkqiXNP7M/upload/b3274a651a6d3691a48359ffa6e137ad.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3 id="heading-1-performance-optimization">1. <strong>Performance Optimization</strong></h3>
<p>Serialization and deserialization can be computationally expensive processes. By delaying serialization, you can avoid the performance overhead until it's absolutely necessary. This can lead to more efficient use of system resources and faster execution of your application.</p>
<h3 id="heading-2-data-consistency">2. <strong>Data Consistency</strong></h3>
<p>When you delay serialization, you ensure that you are working with the most up-to-date data. Immediate serialization might lock the state of the object at a point where it could still be subject to changes, leading to potential inconsistencies. Delaying it ensures that all necessary updates are included before the data is serialized.</p>
<h3 id="heading-3-error-handling-and-debugging">3. <strong>Error Handling and Debugging</strong></h3>
<p>Keeping data in its native form for as long as possible can simplify error handling and debugging. If errors occur, it's often easier to diagnose and resolve issues with data in its native format rather than in its serialized form. Once data is serialized, it can be more challenging to inspect and manipulate for debugging purposes.</p>
<h3 id="heading-4-flexibility-and-maintainability">4. <strong>Flexibility and Maintainability</strong></h3>
<p>By delaying serialization, you keep the data in a flexible state, which makes it easier to make changes or apply transformations. This can be particularly useful in complex systems where data may need to go through multiple stages of processing. Delaying serialization until the final step can simplify the overall architecture and make the system more maintainable.</p>
<h3 id="heading-5-network-efficiency">5. <strong>Network Efficiency</strong></h3>
<p>In distributed systems, sending serialized data over a network can introduce latency and bandwidth usage. Delaying serialization until the data is ready to be transmitted can reduce unnecessary network load. Additionally, it allows for potential optimizations such as batching multiple pieces of data together before serialization, reducing the number of network calls.</p>
<h3 id="heading-6-security-considerations">6. <strong>Security Considerations</strong></h3>
<p>Keeping data in its native form allows you to apply security checks and sanitization before serialization. This can help prevent security vulnerabilities such as injection attacks or data leaks. Once data is serialized, it may be more difficult to apply these checks effectively.</p>
<h3 id="heading-7-intermediate-processing">7. <strong>Intermediate Processing</strong></h3>
<p>In many workflows, data needs to undergo several transformations or be combined with other data before it is finally serialized. By delaying serialization, you ensure that the data remains in a format that is easy to work with during these intermediate steps, facilitating smoother and more efficient processing pipelines.</p>
<h3 id="heading-practical-example">Practical Example</h3>
<p>Imagine a web application that processes user input and stores it in a database. If you serialize the user input immediately after receiving it, any subsequent validations or transformations will require deserialization, modification, and re-serialization, which is inefficient. Instead, by delaying serialization until after all necessary processing steps are completed, you maintain the data in a manipulable state, streamline the workflow, and only serialize once at the end, right before storage or transmission.</p>
<p>In summary, delaying serialization allows for performance optimization, ensures data consistency, aids in debugging, enhances flexibility and maintainability, improves network efficiency, bolsters security, and facilitates intermediate processing.</p>
<p>I would love to read your comments on when and why you use serializers.</p>
<p>Courtesy to <a target="_blank" href="https://arvid.xyz/principles/">https://arvid.xyz/principles/</a> for the inspiration.</p>
]]></content:encoded></item><item><title><![CDATA[How to work "better" as frontend developer]]></title><description><![CDATA[I feel these points are timeless and can supercharge your work-life balance if you think about how they can be applied in your daily life.

DO ONE THING AT A TIME
 Productivity thrives on singular focus. Attempting to juggle multiple tasks only leads...]]></description><link>https://thefrontendist.com/how-to-work-better-as-frontend-developer</link><guid isPermaLink="true">https://thefrontendist.com/how-to-work-better-as-frontend-developer</guid><category><![CDATA[2Articles1Week]]></category><category><![CDATA[Developer Tools]]></category><category><![CDATA[developers mindset]]></category><category><![CDATA[mindset growth, mindfullness meditation, mindfulness mental health, mind body fitness, mind body, mindfulness of nature, positive parenting, physical fitness, physical activity, health related fitness, mindfuiness work, mindfulness and the workplace, productive mindset, physical exercise activities, exercise of yoga]]></category><dc:creator><![CDATA[Sam Bruton]]></dc:creator><pubDate>Sat, 23 Mar 2024 17:17:48 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1711209632413/5db8a758-846e-4b7d-89c2-0a121705441a.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I feel these points are timeless and can supercharge your work-life balance if you think about how they can be applied in your daily life.</p>
<ol>
<li><p><strong>DO ONE THING AT A TIME</strong></p>
<p> Productivity thrives on singular focus. Attempting to juggle multiple tasks only leads to divided attention and diminished results. By concentrating on one task at a time, you can give it your full attention and complete it to a high standard.</p>
</li>
<li><p><strong>KNOW THE PROBLEM</strong></p>
<p> Translate complex bugs or tasks into simpler terms to enhance your comprehension. Breaking down the issue into actionable steps or bullet points provides a roadmap for tackling it effectively.</p>
</li>
<li><p><strong>LEARN TO LISTEN</strong></p>
<p> While asking questions is valuable, listening attentively offers even greater insights. Observing how others approach problems allows you to learn from their creative problem-solving methods.</p>
</li>
<li><p><strong>LEARN TO ASK QUESTIONS TO THE RIGHT PEOPLE</strong></p>
<p> Seeking guidance from the right people can expedite solutions and steer you in the correct direction. Utilise your team's expertise to save time and ensure clarity in your approach.</p>
</li>
<li><p><strong>DISTINGUISH SENSE FROM NONSENSE</strong></p>
<p> In the midst of coding, it's easy to be sidetracked by non-essential details. Focus on the core logic of your task, delegating design-related aspects to teammates, to maintain efficiency and effectiveness.</p>
</li>
<li><p><strong>ACCEPT CHANGE AS INEVITABLE</strong></p>
<p> Accepting change as an inevitable part of development fosters adaptability and resilience. Embrace challenges with an open mindset, ready to pivot when necessary.</p>
</li>
<li><p><strong>ADMIT MISTAKES</strong></p>
<p> Admitting errors promptly facilitates quicker resolution and gets you the necessary support. Transparency and accountability are key components of professional growth. People will respect you more if you own up to it.</p>
</li>
<li><p><strong>SAY IT SIMPLE</strong></p>
<p> Clear and concise communication ensures that your message is understood without distractions. Avoid verbosity and present information clearly.</p>
</li>
<li><p><strong>BE CALM</strong></p>
<p> When faced with setbacks or challenges, maintaining your composure will help you to rationally approach solutions. Release stress through healthy outlets like exercise or deep breathing to regain focus and clarity.</p>
</li>
<li><p><strong>SMILE 😃</strong></p>
<p>A smile is a powerful tool that radiates positivity and fosters a welcoming environment. Embrace optimism in your work and interactions, remembering that every challenge presents an opportunity for growth.</p>
</li>
</ol>
<p>By internalising these principles, you can enhance your productivity, problem-solving abilities, and overall well-being as a frontend developer. Keep striving for improvement and approach your work with confidence and positivity!</p>
<p>Good luck 😃</p>
<p>If you are looking for 1-to-1 frontend development support, schedule a free 30-minute session today -&gt; <a target="_blank" href="https://calendly.com/frontendistro/30min">https://calendly.com/frontendistro/30min</a></p>
<p>Credit to chester town centre wall art - <a target="_blank" href="https://imgur.com/gallery/iVoAJph">https://imgur.com/gallery/iVoAJph</a></p>
]]></content:encoded></item><item><title><![CDATA[In-house frontend web developer]]></title><description><![CDATA[In-house frontend web developer
Before I begin, I would love to know what you think on this topic, because it is a subjective matter and really only you can decide what works best for you. So please leave a comment with your experience and thoughts o...]]></description><link>https://thefrontendist.com/in-house-frontend-web-developer</link><guid isPermaLink="true">https://thefrontendist.com/in-house-frontend-web-developer</guid><category><![CDATA[Frontend Development]]></category><category><![CDATA[jobs]]></category><category><![CDATA[web developers]]></category><category><![CDATA[Web Development]]></category><category><![CDATA[Freelancing]]></category><dc:creator><![CDATA[Sam Bruton]]></dc:creator><pubDate>Wed, 25 Jan 2023 10:21:31 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/SYTO3xs06fU/upload/1ae3d3daebcaf0f5da96f1f1079928e4.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><a target="_blank" href="https://www.pedestrian.tv/job/in-house-front-endbackend-web-developer-for-online-fashion/">In-house frontend web developer</a></p>
<p>Before I begin, I would love to know what you think on this topic, because it is a subjective matter and really only you can decide what works best for you. So please leave a comment with your experience and thoughts on which type of team/company you prefer to work with.</p>
<p>I would like to make clear that I am yet to fully decide which is a better role, being an in-house frontend web developer or being a web developer in an agency, and I am still gathering my experience in both areas.</p>
]]></content:encoded></item><item><title><![CDATA[Is Frontend dev merging with Dev Ops?]]></title><description><![CDATA[Introduction
As frontend development becomes more sophisticated every day with the help of emerging javascript frameworks in 2023 (and beyond), we are more often than not required to set up our development environment and run scripts that compile and...]]></description><link>https://thefrontendist.com/is-frontend-dev-merging-with-dev-ops</link><guid isPermaLink="true">https://thefrontendist.com/is-frontend-dev-merging-with-dev-ops</guid><category><![CDATA[Beginner Developers]]></category><category><![CDATA[frameworks]]></category><category><![CDATA[Frontend Development]]></category><category><![CDATA[Frontend frameworks]]></category><dc:creator><![CDATA[Sam Bruton]]></dc:creator><pubDate>Wed, 25 Jan 2023 10:05:38 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/unsplash/WjnF1Tp-p3I/upload/v1669645718392/U4y9zH5q_Q.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-introduction">Introduction</h2>
<p>As frontend development becomes more sophisticated every day with the help of emerging javascript frameworks in 2023 (and beyond), we are more often than not required to set up our development environment and run scripts that compile and build production code-base ready for live publishing.</p>
<h2 id="heading-frontend-frameworks">Frontend Frameworks</h2>
<p>Gone are the days when the code we write is the code that gets published. A good example is Sass Preprocessing scripts that can add superpowers to CSS. Browsers have no idea what SCSS is or what Sass is, they only know about CSS. So, SCSS must be converted into CSS via the superpowerful Sass preprocessor. You can read more on that here <a target="_blank" href="https://sass-lang.com/guide">https://sass-lang.com/guide</a> under the Sass Preprocessing paragraph.</p>
<p>Sass has provided us with super abilities we could only have dreamed of 10 years ago. And JavaScript frameworks scaffold for us the fundamentals for web apps so that we don’t have the rewrite the same base code setup each time, meanwhile keeping up-to-date with browser updates and authentication security rules. Vue.js claims to be "an approachable, performant and versatile framework for building web user interfaces" and in my opinion does that very well.</p>
<p>There are so many frameworks and it can often leave newly found coders confused as to which direction to move, but as long as you develop a very good comprehension of the big 3 frontend languages, you can't go wrong. HTML, CSS and Javascript are namely the primary languages that most frontend frameworks sit on top of. Without the former, the latter would not exist.</p>
<p><code>Yet to come...</code></p>
<h3 id="heading-whats-the-deal-with-front-end-developers-doing-developer-ops-work">What’s the deal with front-end developers doing developer ops work?</h3>
]]></content:encoded></item><item><title><![CDATA[Improving Soft Skills as a Developer]]></title><description><![CDATA[Developers seem to be greeted with this air of being an alien race. One of my co-workers once introduced me to a client with a humours tone, that “us developers are from an outer species race”. I know she was joking and it was funny, but that can som...]]></description><link>https://thefrontendist.com/improving-soft-skills-as-a-developer</link><guid isPermaLink="true">https://thefrontendist.com/improving-soft-skills-as-a-developer</guid><category><![CDATA[Mindset]]></category><category><![CDATA[Beginner Developers]]></category><category><![CDATA[skills]]></category><category><![CDATA[Developer]]></category><category><![CDATA[Soft Skills]]></category><dc:creator><![CDATA[Sam Bruton]]></dc:creator><pubDate>Sun, 11 Dec 2022 11:00:48 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1670756336333/u5OiocR95.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Developers seem to be greeted with this air of being an alien race. One of my co-workers once introduced me to a client with a humours tone, that “us developers are from an outer species race”. I know she was joking and it was funny, but that can sometimes keep developers shy and lacking in communication skills even more. It’s almost a way to excuse a persons lack of ability to ask questions and uncomfortable, anxious mannerisms when in social situations.</p>
<p>But this doesn’t have to be the case. Remember when you were learning to code, well the same can be done to build healthy social skills.</p>
<p>One great way to socialise comfortably can be to take the attention away from yourself. So, that means having questions to ask. Having a few generic questions you could ask anyone is a great way to start. And from there, fill in the gaps with more specific questions.</p>
<p>For example, a generic question may look like this:</p>
<ul>
<li><p>What do you feel was one thing that really challenge you so far this year?</p>
</li>
<li><p>What was the most difficult decision you had to make this year?</p>
</li>
<li><p>Where do you see yourself in 2 years?</p>
</li>
<li><p>What do you do when you feel lazy?</p>
</li>
<li><p>How do you spend your free time?</p>
</li>
</ul>
<p>These open-ended questions are going to a) tell you the type of person someone is, and b) give you an opening to dive deeper into their response (and ultimately life). Follow up questions might look like this:</p>
<ul>
<li><p>Do you think that if you had X it would have made your decision easier?</p>
</li>
<li><p>What is it that draws you towards that place you see yourself 2 years from now?</p>
</li>
<li><p>Do you think there could be a better approach to X?</p>
</li>
</ul>
<p>I love these types of questions because you will end up talking about purposeful and meaningful topics. Not only is it great for the other person to be thinking about these things, but listening to their response it will help you to find your answers to these questions. Invariably, if the other person has an interest in the conversation they will ask you the same question back. If not, do not worry if they leave you in silence. You can respond with something like:</p>
<p>“I really liked what you said about X and feel that it is important in my life too. What I tend to do is…”</p>
<p>Then go on to answer the question yourself.</p>
<p>Or if you didn’t agree or like their response you could say something like:</p>
<p>“I see that X is important in your life and its impact is benefiting you, however in my case that wouldn’t work because…”</p>
<p>This kind of conversation shows compassion for the other person. You don’t need to prove who is right or wrong because you are talking about subjective experiences and everyone is different.</p>
<p>One thing I’m working on is having conversations with people even when we both have different viewpoints and don’t agree with each other. The aim here is to understand why someone feels, thinks, or acts in a certain way rather than having a judging match of who is right.</p>
<p>If you are just starting to realise that you want to “get out of your shell” but do not enjoy the mainstream social places such as bars, clubs, or restaurants then another great way to meet and socialise with people is through voluntary work.</p>
<p>Homelessness, Shelters, and Food banks in the United Kingdom are a big deal due to the increase in utility bills and there are charities that need your help. This is a great way to be involved in an activity that is meaningful to people who need help, meanwhile building connections with those around you.</p>
<p>If this interests you find out more at https://streetsupport.net/give-help/</p>
<p>Alternatively, have a think and google the type of charity or group activity you would like to be involved in.</p>
<p>Good luck!</p>
]]></content:encoded></item><item><title><![CDATA[Today is the most important day of your life]]></title><description><![CDATA[Today will always be the most important day of your life. And what can you posible do to make sure you remember it tomorrow?
In a couple of years you will have forgotten the little annoyances and small regret.
You will be left with two things

Result...]]></description><link>https://thefrontendist.com/today-is-the-most-important-day-of-your-life</link><guid isPermaLink="true">https://thefrontendist.com/today-is-the-most-important-day-of-your-life</guid><category><![CDATA[lifestyle]]></category><category><![CDATA[life]]></category><category><![CDATA[progress]]></category><category><![CDATA[development]]></category><category><![CDATA[Self Improvement ]]></category><dc:creator><![CDATA[Sam Bruton]]></dc:creator><pubDate>Mon, 28 Nov 2022 13:26:48 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/unsplash/jxZSN2NyXTM/upload/v1669641626279/XD2SXzFUB.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Today will always be the most important day of your life. And what can you posible do to make sure you remember it tomorrow?</p>
<p>In a couple of years you will have forgotten the little annoyances and small regret.</p>
<p>You will be left with two things</p>
<ol>
<li>Results of any efforts you have made</li>
<li>The moments remembered</li>
</ol>
<p>What mountain are you climbing?
What peak can you see if the distance?</p>
<p>Maybe an avalanche is on the way; Something arriving in overwhelming quantities. </p>
<p>We are always moving, progressing and developing. The thing about development is that where we are now will not be where we find ourselves in a few years, or even months.
It’s always a work in progress.
Your life is a work in progress</p>
<p>Inspiring life material</p>
<p>• A film: All Sorts</p>
<p>• A magazine: ZigZag surf mag </p>
<p>These are thought-generating words that I have published whilst on my trip to Cape town, South Africa. </p>
<p>Follow along for more to come. </p>
]]></content:encoded></item><item><title><![CDATA[The Developers Mindset]]></title><description><![CDATA[What is the developer's mindset?
The Developers Mindset is an intangible force that enables a person to utilize their skills along with solution-orientated thinking to make better decisions whilst coding.
When performed correctly, it allows a develop...]]></description><link>https://thefrontendist.com/the-developers-mindset</link><guid isPermaLink="true">https://thefrontendist.com/the-developers-mindset</guid><category><![CDATA[Mindset]]></category><category><![CDATA[Beginner Developers]]></category><category><![CDATA[skills]]></category><category><![CDATA[Collaboration]]></category><category><![CDATA[Frontend Development]]></category><dc:creator><![CDATA[Sam Bruton]]></dc:creator><pubDate>Fri, 19 Aug 2022 09:34:20 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1660901765140/QFcjh45LU.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-what-is-the-developers-mindset">What is the developer's mindset?</h2>
<p>The Developers Mindset is an intangible force that enables a person to utilize their skills along with solution-orientated thinking to make better decisions whilst coding.</p>
<p>When performed correctly, it allows a developer to streamline their development time. This means you are writing code that is concise and to the point. Leaving comments and correct documentation when necessary and cleaning up those console.logs() for production.</p>
<p>A well-rounded developer's mindset inevitably aids one in working logically through bug fixes and even reduces the potential of future bugs or bugs that may affect other areas of an application.</p>
<p>Continue reading to find out some of the key skills that encompass a developer's mindset.</p>
<h2 id="heading-key-skills-for-a-developer">Key Skills For A Developer</h2>
<h3 id="heading-why-patience-is-a-virtue">Why Patience Is A Virtue</h3>
<p>Patience correspondences to time. It takes time to fix bugs and development of a large codebase. Many iterations through the same code to improve the performance and reliability. Rome was not built in a day and neither will your projects. Daily consistency is better than one-off binging when it comes to developing an application. Properly plan projects (usually with pen and paper) turn out better because you've put in the time to think about design patterns and what if's before writing code. Then when you're ready to key down, the process flows because you have a "road map" to follow.</p>
<h3 id="heading-forever-learning">Forever Learning</h3>
<p>As a web developer or software developer, learning is something we must accept. Just because you know Javascript doesn't mean now know every other JS library there is. Sure, you know its foundations and the syntax, but you'll still need to read the documentation and search on StackOverflow.</p>
<p>The day you say "I'm happy with this version of NodeJS and jQuery 1.3.0" is the day you get a shock. In this industry, programming languages are always being improved, whether it's security-lead or new functionality based on clients' demands. Even browsers have to keep up with the moving tides of programming language libraries. Keep your mind open to new ways to achieve your solution.</p>
<p>A good example of this is - look at code you wrote 1-year ago, I bet you have a better way of writing it today.</p>
<h3 id="heading-mistakes-will-happen">Mistakes will happen</h3>
<p>No one is perfect, not even code generated by AI technology! After 5-years of web development experience, I was still learning and still making mistakes - just less often. Mistakes highlight areas you may be weak on. If you start writing down these areas then you can begin to read up on and practice strengthing these weaknesses.</p>
<h3 id="heading-think-independently">Think Independently</h3>
<p>Just because others can't be bothered to write comments in their code, doesn't mean you have to do the same. I love commenting on my code because it also acts as a way for me to check over what I've done is correct. By doing so, I always find better solutions to make my code more efficient and less verbose thus making it run quicker and easier to read/understand. Without independent thinkers, things would be the same and no new ideas would come to fruition. If you've got an idea, see if you can build it physically, or meta-physically, just build it somewhere so others can benefit from it too.</p>
<p>I wanted to create an app that would interact with coffee machines and so I made the idea a reality. If you want to join me on this project check it out here - https://github.com/Samuroid/coffee-machine-app/tree/master. It's been a while since I've contributed to it so I could use some fresh perspectives on it.</p>
<p>And there it is. The developers mindset. I was inspired to write about this since there wasn't much else on the topic and the other articles I read were larger short and inconcise. In the future, I may amend this article to include the latest information on the developers mindset.</p>
<p>If you remember anything from here, remember this - <strong>Mistakes will happen</strong>, You will be <strong>forever learning</strong> and <strong>Think Independently</strong>.</p>
]]></content:encoded></item><item><title><![CDATA[Frontend Web Development]]></title><description><![CDATA[This is a story of a frontend web developer and how he came to be. Within this story are hidden ruby gems that reveal the secrets as to how he was able to go from someone without any web development knowledge, to running his own web development servi...]]></description><link>https://thefrontendist.com/frontend-web-development</link><guid isPermaLink="true">https://thefrontendist.com/frontend-web-development</guid><category><![CDATA[business]]></category><category><![CDATA[ Rich Dad Poor Dad]]></category><category><![CDATA[Web Development]]></category><category><![CDATA[Frontend Development]]></category><category><![CDATA[think and grow rich]]></category><dc:creator><![CDATA[Sam Bruton]]></dc:creator><pubDate>Thu, 11 Aug 2022 13:10:01 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1660567789220/OLRrVOtVy.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This is a story of a frontend web developer and how he came to be. Within this story are hidden ruby gems that reveal the secrets as to how he was able to go from someone without any web development knowledge, to running his own web development services business. The hidden ruby gems within this story can be applied to any area of your life, where you desire to develop your skills within.</p>
<p>Last written updated on August 15th 2022. To be continued...</p>
]]></content:encoded></item></channel></rss>