Josh GhentJosh GhentJoshGhentTurbo Technologiesme@joshghent.comavatar

Freelance software engineer with over 8 years experience - specializing in web performance and robust infrastructure. Love hiking with my wife and dog (Millie). Urban design enthusiest.

Director of Turbo Technologies

Software Engineer

@joshghent on TwitterGithubme@joshghent.com

Developer Musings

  • Blog
  • Archive
  • About me
  • Work with me

    Developer Musings

    Archive of all posts from joshghent.com

  • Site Upgrades - Gatsby V4 and Webmentions

    Josh Ghent
    2022-07-28T00:00:00.000Z

  • Salary History

    Josh Ghent
    2022-07-27T00:00:00.000Z

    My Salary history

  • The Culture of Estimations

    Josh Ghent
    2022-07-04T00:00:00.000Z

    Estimations are something we do daily. But they are estimations, not deadlines as many believe. Where did we go wrong?

  • My journey with carpal tunnel

    Josh Ghent
    2022-06-21T00:00:00.000Z

    What worked and what didn't.

  • Deeply Remove a Key from an Object

    Josh Ghent
    2022-06-14T00:00:00.000Z

    How to remove a specific key from an object, even in nested structures

  • Creating legacy code is ok

    Josh Ghent
    2022-06-08

    As devs, we want to create things that outlive us. Here's why you shouldn't worry.

  • Questions for Developers to ask at interviews

    Josh Ghent
    2022-05-24T00:00:00.000Z

    Interviews are for both parties. These are questions to ask to make sure the role is a great fit.

  • Bookshelf

    Josh Ghent
    2022-05-22T00:00:00.000Z

    All the books I own

  • There is always more

    Josh Ghent
    2022-04-26T00:00:00.000Z

    Slow down, there is always more to do.

  • Advancing from a Mid-Level to Senior Developer

    Josh Ghent
    2022-04-12

    It can often seem like you're stuck in a rut where you can not progress further. Here is how to get out of the mid-level and onto the next stage of your career

  • Quarterly planning for life

    Josh Ghent
    2022-03-29

    Why quarterly based planning is perfect for keeping you happy, healthy and productive.

  • Should I split my monolith into microservices?

    Josh Ghent
    2022-03-22

    Microservices are the defacto standard for large scale systems. But is it always the right choice?

  • How to make changes as a Junior Developer

    Josh Ghent
    2022-03-15

    Learn how to stick to development principles when the rest of your team doesn't.

  • Be friendly and don't ignore Recruiters

    Josh Ghent
    2022-03-10

    Engineers often look down upon recruiters, here's why you shouldn't.

  • Mistakes I made as a self-taught developer

    Josh Ghent
    2022-02-15

    Mistakes and pitfalls that I fell into when learning to become a software developer.

  • Building Collaboration with Remote Teams

    Josh Ghent
    2022-02-08

    Time and distance doesn't need to prevent your team being collaborative

  • Facing the Legacy Code Monster

    Josh Ghent
    2022-01-25

    Be the hero of your team and face the monster that is legacy systems.

  • How to Ship Software Faster

    Josh Ghent
    2022-01-18

    Releasing new versions of software be a panic-inducing experience. Here's how to ship faster quickly and calmly

  • Cache Auth0 M2M Tokens

    Josh Ghent
    2022-01-11

    How to cache Auth0 M2M Tokens to extend your free plan

  • How You Work

    Josh Ghent
    2022-01-07

    Figuring out how you work best, is a superpower.

  • Maybe don't hire

    Josh Ghent
    2022-01-06

    Your product is in huge demand! Quick hire more staff. Or, maybe don't - here is why.

  • Software Beauty

    Josh Ghent
    2022-01-05

    Why you should strive for beauty in software, why it's forgotten and how to make software beautiful.

  • Continuous Delivery to ECS with Terraform

    Josh Ghent
    2021-08-11

    You need to update your API, but Terraform holds the container definition. What do you do?

  • Web Performance for Developers on a Deadline

    Josh Ghent
    2021-04-29

    Web performance is a vital part of your business to ensure customers keep returning. But, it can be difficult to get the time for it. Here's a guide on how to improve your website's performance on a deadline

  • How to Run Sequelize Migrations in Azure Pipelines

    Josh Ghent
    2021-04-07

    How to use Azure Pipelines to migrate and seed your databases

  • How to Improve Your Typing Speed

    Josh Ghent
    2021-03-30

    The keyboard is the primary interface between my brain and the computer. So increasing the bandwidth of this connection is super valuable. In this post, I dig into why I started practising typing daily and how you can start

  • Super Fast React/Node App Testing with GitHub Actions

    Josh Ghent
    2021-03-25

    How I reduced our GitHub Actions jobs from 13 minutes to less than 3

  • Solve Your Problems. Not Others.

    Josh Ghent
    2021-03-24

    Some thoughts on NIH, Boilerplate code and Solving core problems

  • SpellcheckCI

    Josh Ghent
    2021-03-04

    How to use mdspell and GitHub Actions to spellcheck your markdown blog

  • Setting up LightHouse CI for React in GitHub Actions

    Josh Ghent
    2021-02-16

    The definitive guide on how to setup LightHouse CI for your React app inside GitHub Actions or any other CI provider

  • So, You've Messed Up

    Josh Ghent
    2021-02-15

    What to do when you've messed up at work... big time.

  • Shutdown Routine

    Josh Ghent
    2021-02-04

    My shutdown routine to leave me clear, and ready for tomorrow

  • Resumé Red Flags

    Josh Ghent
    2021-02-03

    10 red flags to avoid when writing your resumé

  • My Advice on Become a Software Developer

    Josh Ghent
    2021-01-31

    A letter to my 17-year-old self on how to become a software developer.

  • Cut to the Chase

    Josh Ghent
    2021-01-25

    Scheduling can be maddening, here's how to make commitments more reliably

  • Redesigning my Site - Accessibility, Privacy and 100 PSI Scores

    Josh Ghent
    2021-01-11

    A story about how I redesigned my site for accessibility, privacy and performance - to reach a perfect 100 in the Google Page speed insights score.

  • Downloading your Favorite YouTube Playlist Automatically

    Josh Ghent
    2020-12-10

    Simple Cron for downloading your favorite Youtube playlist

  • Improving Koru's API Performance

    Josh Ghent
    2020-09-21

    How we analysed performance pain points and improved them

  • Using RDS Snapshots

    Josh Ghent
    2020-09-21

    How to use RDS Snapshots and get access to your data

  • Writing Useful Error Messages

    Josh Ghent
    2020-09-04

    Error messages are a critical part of your systems user experience. Here's how to craft error messages your users would be happy to see.

  • Building Awesome Application Health Checks

    Josh Ghent
    2020-08-28

    Creating Application health checks seems simple, but is easy to get wrong. Here's how to create an awesome health check for your Application or API

  • ATS Resiliency

    Josh Ghent
    2020-08-24

    Forwarding data on to a third party sounds easy but has a lot of potholes you can easily get stuck in.

  • Rebuilding a Monolith

    Josh Ghent
    2020-08-20

    Why we chose to combine over 3 microservices into one central API

  • Re-architecting our PDF Generation

    Josh Ghent
    2020-07-31T14:06:03.284Z

    How a seemingly simple problem was more challenging than expected

  • Preserving Links whilst Migrating Domains with S3

    Josh Ghent
    2020-07-31

    How we successfully preserved links across our system whilst migrating domains

  • Why Backwards Compatibility is Critical

    Josh Ghent
    2020-07-03

    In the 'move fast, and break things' world, backwards compatibility has been cast into the realms of insignificance, but here is why it's so important even now

  • Sharpening the Saw

    Josh Ghent
    2020-06-26T10:17:00.284Z

  • Lightning Fast ZSH Performance

    Josh Ghent
    2020-06-19T12:31:03.284Z

    How I took my ZSH load times from 1.5 seconds to 0.19 seconds

  • Personal Infrastructure

    Josh Ghent
    2020-06-16T12:01:03.284Z

  • How to use Private GitHub Packages on TravisCI

    Josh Ghent
    2020-03-09T09:22:03.284Z

    How to use private github packages in your TravisCI jobs

  • How to Create a Pinned Gist Bot in 10 minutes with GitHub Actions

    Josh Ghent
    2019-11-14T14:58:00.284Z

  • Managing Application Secrets for Terraform across Teams

    Josh Ghent
    2019-11-11T15:08:03.284Z

  • Monitoring Git Leaks in Travis

    Josh Ghent
    2019-11-08T12:11:00.284Z

    How to use gitleaks in TravisCI to monitor secrets

  • Signal vs Noise - Staying Up to Date

    Josh Ghent
    2019-10-16T11:40:03.284Z

  • Pentest Aftermath

    Josh Ghent
    2019-10-09T14:06:00.000Z

  • Resiliency

    Josh Ghent
    2019-10-08T11:43:03.284Z

  • Gatsby or Bust!

    Josh Ghent
    2019-08-29T11:37:00.284Z

  • A Guide to Leaving Your Job

    Josh Ghent
    2019-08-16T12:31:03.000Z

  • Lessons from Battling with Elasticsearch

    Josh Ghent
    2019-07-05T12:31:03.284Z

  • Using Grafana for Monitoring you NodeJS Apps

    Josh Ghent
    2019-03-06T22:12:03.284Z

  • Why does NTP Exist?

    Josh Ghent
    2019-03-05T22:12:03.284Z

  • Starting with Why as a Software Developer

    Josh Ghent
    2019-02-26T22:12:03.284Z

  • Architecting the Next Generation of Communication

    Josh Ghent
    2019-01-23T22:12:03.284Z

  • Resiliency By Design

    Josh Ghent
    2019-01-19T22:12:03.284Z

  • How to Run a Successful Tech Meetup — even if you’re forgetful

    Josh Ghent
    2018-12-22T22:12:03.284Z

  • I don’t know what to say…

    Josh Ghent
    2018-12-04T22:12:03.284Z

  • 10 Things I wish I knew before giving my First Tech Talk

    Josh Ghent
    2018-11-13T22:12:03.284Z

  • Networking at Tech Meetups

    Josh Ghent
    2018-08-11T22:12:03.284Z

  • Tracking Goals in Todoist

    Josh Ghent
    2018-07-27T22:12:03.284Z

  • Lessons from Open Source

    Josh Ghent
    2018-07-13T22:12:03.284Z

  • The Art of Good Code Review

    Josh Ghent
    2018-05-30T22:12:03.284Z

  • Principles of Performance

    Josh Ghent
    2018-05-16T22:12:03.284Z

  • LinkedIn For Developers

    Josh Ghent
    2018-04-19T22:12:03.284Z

  • Solve 90% of Google Pagespeed Insights Issues in 30 Minutes

    Josh Ghent
    2018-03-31T22:12:03.284Z

  • 📱 Zen iPhone

    Josh Ghent
    2018-03-26

  • Understanding PHP hatred

    Josh Ghent
    2018-03-05T22:12:03.284Z

  • What Tracking My Expenses for a Year Taught Me About Personal Finance

    Josh Ghent
    2018-02-26

  • Beginners Database Design Primer

    Josh Ghent
    2018-02-14

  • How to Attend Your First Programming Meetup

    Josh Ghent
    2018-02-06

  • Bulletproof Node — Security Best Practises

    Josh Ghent
    2018-01-23T22:12:03.284Z

  • How to Learn a Programming Language in Record Time

    Josh Ghent
    2017-06-28T22:12:03.284Z

  • What programming language should I learn: or Why it doesn’t matter

    Josh Ghent
    2017-06-23T22:12:03.284Z

July 2022

28 Site Upgrades - Gatsby V4 and Webmentions

27 Salary History

04 The Culture of Estimations

June 2022

21 My journey with carpal tunnel

14 Deeply Remove a Key from an Object

08 Creating legacy code is ok

May 2022

24 Questions for Developers to ask at interviews

22 Bookshelf

April 2022

26 There is always more

12 Advancing from a Mid-Level to Senior Developer

March 2022

29 Quarterly planning for life

22 Should I split my monolith into microservices?

15 How to make changes as a Junior Developer

10 Be friendly and don't ignore Recruiters

February 2022

15 Mistakes I made as a self-taught developer

08 Building Collaboration with Remote Teams

January 2022

25 Facing the Legacy Code Monster

18 How to Ship Software Faster

11 Cache Auth0 M2M Tokens

07 How You Work

06 Maybe don't hire

05 Software Beauty

August 2021

11 Continuous Delivery to ECS with Terraform

April 2021

29 Web Performance for Developers on a Deadline

07 How to Run Sequelize Migrations in Azure Pipelines

March 2021

30 How to Improve Your Typing Speed

25 Super Fast React/Node App Testing with GitHub Actions

24 Solve Your Problems. Not Others.

04 SpellcheckCI

February 2021

16 Setting up LightHouse CI for React in GitHub Actions

15 So, You've Messed Up

04 Shutdown Routine

03 Resumé Red Flags

January 2021

31 My Advice on Become a Software Developer

25 Cut to the Chase

11 Redesigning my Site - Accessibility, Privacy and 100 PSI Scores

December 2020

10 Downloading your Favorite YouTube Playlist Automatically

September 2020

21 Improving Koru's API Performance

21 Using RDS Snapshots

04 Writing Useful Error Messages

August 2020

28 Building Awesome Application Health Checks

24 ATS Resiliency

20 Rebuilding a Monolith

July 2020

31 Preserving Links whilst Migrating Domains with S3

31 Re-architecting our PDF Generation

03 Why Backwards Compatibility is Critical

June 2020

26 Sharpening the Saw

19 Lightning Fast ZSH Performance

16 Personal Infrastructure

March 2020

09 How to use Private GitHub Packages on TravisCI

November 2019

14 How to Create a Pinned Gist Bot in 10 minutes with GitHub Actions

11 Managing Application Secrets for Terraform across Teams

08 Monitoring Git Leaks in Travis

October 2019

16 Signal vs Noise - Staying Up to Date

09 Pentest Aftermath

08 Resiliency

August 2019

29 Gatsby or Bust!

16 A Guide to Leaving Your Job

July 2019

05 Lessons from Battling with Elasticsearch

March 2019

06 Using Grafana for Monitoring you NodeJS Apps

05 Why does NTP Exist?

February 2019

26 Starting with Why as a Software Developer

January 2019

23 Architecting the Next Generation of Communication

19 Resiliency By Design

December 2018

22 How to Run a Successful Tech Meetup — even if you’re forgetful

04 I don’t know what to say…

November 2018

13 10 Things I wish I knew before giving my First Tech Talk

August 2018

11 Networking at Tech Meetups

July 2018

27 Tracking Goals in Todoist

13 Lessons from Open Source

May 2018

30 The Art of Good Code Review

16 Principles of Performance

April 2018

19 LinkedIn For Developers

March 2018

31 Solve 90% of Google Pagespeed Insights Issues in 30 Minutes

26 📱 Zen iPhone

05 Understanding PHP hatred

February 2018

26 What Tracking My Expenses for a Year Taught Me About Personal Finance

14 Beginners Database Design Primer

06 How to Attend Your First Programming Meetup

January 2018

23 Bulletproof Node — Security Best Practises

June 2017

28 How to Learn a Programming Language in Record Time

23 What programming language should I learn: or Why it doesn’t matter

© 2022 - Josh Ghent - cc-by-sa - View source