If you’re a GIS analyst or technician, you’ve probably had this thought more than once: I should really learn Python.
You know your way around ArcGIS Pro. You can build a geodatabase, run a suitability analysis, fix a topology error, and make a map that a city council will actually look at. But when a project needs the same eleven geoprocessing steps run against 40 counties, you find yourself clicking through it 40 times, or building a ModelBuilder model that gets you 80 percent of the way there and then stalls.
Python has always been the answer to that problem. The catch is that learning it costs real time, and you already have a job.
Now there’s a new wrinkle. You can describe what you want in plain English, and an AI assistant will hand you a working ArcPy script in about fifteen seconds. So the question has changed. It’s no longer “is Python worth the effort?” It’s “do I need to learn this at all, or can I just ask?”
Here’s my honest answer after watching a lot of GIS professionals go down both roads.
The short version
Yes, you should still learn it. But you need to learn less than you used to, and you should learn it in a different order. The skill that matters now is reading ArcPy code, not writing it from memory. That’s a much lower bar, and AI is the fastest tutor you’ll ever have for clearing it.
What AI is genuinely good at
Let’s be fair to the tools, because they’re better than a lot of people admit.
AI is very good at the parts of scripting that were always tedious. Setting the workspace, turning on overwrite output, looping through every feature class in a geodatabase, building a file path, writing a cursor. That’s boilerplate. It’s the same 20 lines every time, and it’s the part that made beginners quit.
It’s also good at remembering things nobody should have to memorize. The exact parameter order for Buffer. Whether it’s dissolve_option or dissolveOption. The name of that one raster function you use twice a year. Ten years ago you kept the ArcPy help page open in a second monitor all day. That’s over, and it’s a real improvement.
It’s good at translating. Give it a ModelBuilder model or a written description of a workflow and it’ll produce a reasonable script. Give it a 90-line error traceback and it’ll usually tell you what broke.
And it’s good at doing the thing you’d never bother to script by hand because the setup cost was higher than the payoff — the one-off cleanup task, the quick field audit, the “I need a list of every feature class with a null in this field” question.
That’s a lot of value. None of it is fake.
Where it falls apart, and why that matters more in GIS
Here’s the problem. AI doesn’t know your data.
It knows what ArcPy looks like. It does not know that your parcel layer is in a geographic coordinate system, that the field is called OWNERNAM and not OwnerName because it came out of a shapefile in 2011, that there are 300 records with a null geometry, or that the feature class you just pointed it at is the live production copy.
Consider a simple example. You ask for a script that buffers your parcels by 500 feet and clips a zoning layer to the result. You get back something that includes a line like this:
arcpy.analysis.Buffer(parcels, parcels_buffer, "500 Feet")
That’s correct ArcPy. It will run. It will not throw an error. It will produce an output feature class with the right name in the right folder.
And if your parcel layer is in WGS84, the buffer distance is being applied to a coordinate system measured in degrees, and your result is garbage. Not obviously garbage — the polygons look like polygons. You’ll find out three weeks later when someone notices the notification list has the wrong 200 addresses on it.
This is the thing that separates geoprocessing from most other kinds of scripting. A broken web page looks broken. A bad analysis looks fine. It renders. It has an attribute table. It goes into a PDF and gets mailed to property owners.
The other risk is that geoprocessing is destructive. An update cursor that writes to the wrong field, a script that overwrites an output because overwriteOutput was set to True, a delete that runs against your enterprise geodatabase instead of the scratch copy — these aren’t hypothetical. AI will write all three of those without hesitating, because you asked it to and it has no idea which database is which.
If you can’t read the code, you can’t tell a right answer from a wrong one. Both of them run.
So what do you actually need to learn?
Much less than a computer science degree, and much less than the old “learn Python properly, then learn ArcPy” path. Here’s the list I’d give a GIS analyst who wants to be able to review and trust AI-generated code:
Core Python, the small version. Variables. Strings and how file paths get built. Lists. for loops. if statements. Enough about functions to follow one when you see it. That’s a weekend, not a semester.
How ArcPy talks to your data. arcpy.env.workspace and arcpy.env.overwriteOutput, the List functions (ListFeatureClasses, ListFields, ListRasters), and how a geoprocessing tool gets called and what it hands back.
Cursors. If you learn one thing, learn cursors. SearchCursor, UpdateCursor, InsertCursor. This is where the real automation lives, it’s where AI-generated code is most likely to be subtly wrong, and it’s where field order and field names bite you.
Error handling and messages. try/except and arcpy.GetMessages(). Mostly so you can tell the difference between “it failed” and “it silently did nothing.”
What you can skip for now. Classes and object-oriented programming. Decorators. Virtual environments and packaging. Testing frameworks. Async anything. These matter if you become a developer. They do not matter for automating a weekly data update.
That’s a realistic list. It’s maybe 15 to 20 hours of focused effort, and every hour of it pays off immediately, because you’re not learning Python in the abstract — you’re learning to read the exact code you’re about to run against your own data.
That list is more or less the scope of our Introduction to Programming ArcGIS Pro 3.x with Python class, which is where most GIS analysts should start — it assumes you’re a GIS person, not a programmer. And once cursors and geoprocessing calls feel routine, Data Analysis with ArcGIS Pro 3.x and Python is the logical next step — that’s where you start doing real work with the data instead of just moving it around.
How to actually work with AI once you know that much
A few habits that make the difference:
Give it context it can’t guess. Tell it your ArcGIS Pro version, the coordinate system, the actual field names, and whether you’re working with shapefiles or a file geodatabase or an enterprise database. Paste in the output of ListFields if you have it. Most bad AI code comes from missing context, not from the model being dumb.
Work in small pieces. Ask for one function, test it, then ask for the next. A 200-line script that arrives all at once is very hard to review and very easy to accept on faith.
Always run it on a copy first. Every time. No exceptions. Make a scratch geodatabase, copy in a few hundred features, run it there, look at the results in a map before you point it at anything real.
Use it as a tutor, not just a code generator. This is the part people underuse. Paste a script back in and ask it to explain each line. Ask why it used a cursor instead of Calculate Field. Ask what happens if a field is null. You will learn ArcPy faster this way than from any book, because you’re asking about code that solves your problem, on your data, right now.
This is exactly what we built Automating ArcGIS Pro Tasks using AI Generated Python Code around — how to prompt for ArcPy, how to review what comes back, and how to catch the failures that don’t announce themselves. It pairs with the Python class rather than replacing it. One teaches you to read the code; the other teaches you to get good code to read.
If you’re not ready for Python yet
Nothing says you have to start there. Plenty of automation in ArcGIS Pro happens without writing any code at all, and for a lot of recurring workflows it’s the right tool.
ModelBuilder handles chained geoprocessing visually, and it will take you further than most people expect before you hit its limits. Tasks are a different animal — good for standardizing a procedure other people in your office have to follow the same way every time. And Mastering ArcGIS Pro 3.x Editing, Analysis, and Automation covers the automation options side by side so you can see where each one runs out of room.
Starting there is fine. Just know that the ceiling is real, and Python is what’s on the other side of it.
What this means for your career
There’s an anxiety underneath this question that’s worth naming: if AI writes the code, is the skill worthless?
I’d argue the opposite. When writing a script was the hard part, being the person who could write scripts was the job. Now that the writing is cheap, the scarce thing is judgment — knowing which analysis is correct, whether the output is trustworthy, what the data actually represents, and where the geoprocessing model will surprise you. That’s GIS knowledge, and you already have most of it.
The person who’s in trouble is the one who can neither write the code nor evaluate it, and just runs whatever comes back. The person who’s in demand is the one who can look at 40 lines of ArcPy, spot that the buffer is running in decimal degrees, and fix it in ten seconds.
That’s the job now. It’s a better job than the old one, and it takes less time to prepare for.
Bottom line
Learn Python. Learn ArcPy. Learn the narrow, practical slice of it that lets you read a script and know what it’s about to do to your data.
Then use AI for everything else — the boilerplate, the parameter names, the first draft, the error messages, the explanations. You’ll get through the tedious work in a fraction of the time it used to take, and you’ll still be the one responsible for the answer.
Which, in this line of work, you always were.
Not sure where you fall on this? Our ArcGIS Pro and ArcGIS Online Learning Pathways lay out the order these classes are meant to be taken in. Every course mentioned here is available live-online, in person, or self-paced, and the self-paced versions are all included in the Annual GIS Training License.

