No.

That is the true answer and it is worth a page anyway, because the people asking this question are usually deciding whether to spend six months learning Python before applying, and that is six months they do not need to spend.

What the job requires instead

A business analyst works out what should be built and writes it down precisely enough that somebody else can build it.

The skill is elicitation and specification. Sitting with somebody who has described a solution, finding the problem underneath it, and turning that into something unambiguous. Precise writing is the deliverable, not code.

You are also not a tester, not a designer, and not the person who decides technical approach. Adverts sometimes blur this. The blur is usually a job that is really two jobs.

Where the confusion comes from

Three places, and they are worth separating because two of them are real.

The title is overloaded. “Business analyst” in a bank sometimes means a data analyst who writes SQL all day. In a software team it usually means requirements. Same two words, different job. Read the responsibilities, never the title.

Data analyst adverts contaminate the search results. If an advert wants Python, R or advanced SQL, you are almost certainly looking at a data role.

Some adverts ask for it anyway. Occasionally because the team genuinely works close to the technical detail. More often because somebody copied a template. Either way, plenty of adverts do not ask, and those are the ones to apply to while you are starting out.

What is actually worth learning, in order

None of this is programming. All of it makes you better at the job and better in interviews.

  • How to write acceptance criteria that cover the unhappy path. The single highest-value skill in the role and most people are weak at it. If you cannot name two ways a story goes wrong, you have not finished writing it.
  • Jira. Not as a user of somebody else’s board. Set one up, run sprints, close them, look at what the velocity chart is telling you.
  • Process mapping. Being able to draw the current process and the proposed one so a room can argue about the right thing.
  • Enough SQL to read a query. Not to write one from scratch. Enough that when somebody shows you where the data lives you can follow. A weekend, not a course.
  • What an API is. Conceptually. Enough to understand that one team waiting on another team’s API is a dependency you have to manage.

That list is a few weekends. Learning to code is a few months. The difference is the point of this article.

The honest caveat

Technical fluency does help, and pretending otherwise would be the same dishonesty as the adverts.

A business analyst who understands roughly how the system is built writes better requirements, spots impossible asks earlier, and gets more credibility from engineers in the first fortnight.

But fluency is not the ability to code, it is the ability to follow the conversation and know which question to ask next. You pick that up in the job faster than in any course, and the correct response to something you do not understand is “I do not know, can you walk me through it”. Engineers respond well to that and badly to nodding.

What to do instead of learning to code

Build a delivery project and write twelve user stories with real acceptance criteria, including what happens when the data is missing, when two records match, when the connection drops mid-transaction.

That single exercise will teach you more about what makes a good business analyst than a programming course, and unlike the course it gives you something to be questioned on in an interview.

Say it is a practice project, every time, in one sentence.

The short version

You do not need to code. You need to write clearly, ask uncomfortable questions, and be comfortable saying you do not understand something.

If an advert asks for Python, it is probably a data role. Read the responsibilities, not the title, and apply to the ones that describe the job you actually want.


The gap is not knowledge

It is that every interview question assumes you have a project to answer from. The Portfolio Project Kit is a complete agile delivery project you import into your own Jira in one click, with full acceptance criteria, three sprints and one documented impediment. It is a practice project and you say so every time you present it. See the Portfolio Project Kit, $49


Not sure which of the four you are aiming at?

The Role Fit Diagnostic is sixteen statements. You tick the ones that are true of you now, count your ticks by letter, and read the page for whichever role you already work like. Ten pages, printable, free, about six minutes.

Take the Role Fit Diagnostic