Practical topic hub

Programming

Coding, APIs, debugging, deployment, automation and practical software engineering.

</>

Clear steps, practical checks and a useful next action.

Programming with AI book cover
New interactive book · 20 languages

Programming with AI — build the software you imagine

Learn how to plan, build, test and launch your own programs with AI writing the code while you stay in charge. Read it online in up to 3 languages of your choice.

Get the book — £5.99
Featured guide

Debug a failed deployment

Separate build, configuration, startup and routing failures so each test answers one useful question.

Open the step-by-step guide

More practical guidance

Quick checklist

  • Commit and environment recorded
  • First relevant error saved
  • Failing stage identified
  • Runtime and config compared
  • One change tested at a time

Common problems

Build succeeds but the service is unhealthy

Inspect the start command, bind address, assigned port, migrations and startup time before changing application logic.

It works locally only

Compare runtime versions, case-sensitive paths, ignored files, environment variables and network dependencies.

Frequently asked questions

Which programming language should a beginner learn first?

Choose based on what you want to build: JavaScript for websites, Python for automation, data and general scripting, or Kotlin or Swift for mobile apps. The core ideas, such as variables, loops and functions, transfer between languages. Picking one and building small projects matters more than finding the perfect language.

Can I build software with AI if I cannot code?

AI tools can write a lot of code for you, but you still need to understand what you are asking for and check that the result works and is safe. Learning the basics of reading code, running it and testing it makes AI far more useful. Start with small projects and build your understanding step by step.

What is Git and do I really need it?

Git is a version control tool that records snapshots of your code so you can see what changed and go back if something breaks. Even for a small personal project it acts as a safety net and a history of your work. It also makes sharing and backing up code to a hosted service simple.

How do I keep passwords and API keys safe in my code?

Never write secrets directly into your code files or commit them to Git. Store them in environment variables or a secrets manager and add local secret files, such as a .env file, to your .gitignore. If a secret is ever exposed, revoke it and create a new one straight away.

What is the difference between debugging and testing?

Testing checks whether your code does what it should, ideally automatically every time you make a change. Debugging is the process of finding and fixing the cause of a problem once you know something is wrong. Good tests make debugging faster because they show exactly what broke and when.

What to do next

After recovery, write the root cause, detection gap and one preventive check into the project runbook.