I feel this will probably be a multi-part sequence about utilizing Claude Code as a result of there’s an excessive amount of to cowl in a single publish. So that is half 1.
I’ve been an economist doing empirical work since round 2005, after I began my dissertation for graduate faculty. I began grad faculty in 2002, that’s, however the precise empirical work was with the Nationwide Longitudinal Survey of Youth 1979 and 1997, which is a tough survey to begin with as a result of quantity of cleansing and skip patterns you deal with — notably for the questions on intercourse. It was an enormous headache. I keep in mind considering one time, “would Adam Smith have gotten a PhD in principally recoding a bunch of 99999s as lacking and doing a nasty job at it?”
Anyway, I graduated in 2007 and have spent my profession as an “utilized microeconomist” (a reputation which is what we used to name ourselves after we didn’t have a really clear subject). I studied dangerous behaviors: intercourse, intercourse work, abortion, drug coverage (methamphetamine, psychedelics, which was each coherent but in addition a bit bizarre, and extra just lately suicide and psychological sickness in corrections utilizing administrative information.
Anyway, being private for a second, I’m not a multilingual individual. Regardless of touring to Europe for years, and spending my complete summers there, I nonetheless battle to select up languages. As an example, I took Italian in faculty. I studied overseas in Italy. I now go to Italy for 3 to 4 weeks a yr and have performed so for years. And I nonetheless can not communicate a lick of Italian, and have developed a little bit of an inferiority advanced about it and barely try to aside from actually staple items wanted to navigate distributors and friendliness.
And that carries over to coding.
I do know Stata very properly, like many economists my age. I’ve been very proof against investing in studying R or Python. I’ve needed to decide them up for particular initiatives, however at all times on a project-by-project foundation, and I discover the entire course of dissatisfying. My dad picked up languages left and proper, however I actually don’t wish to be taught new ones. I don’t know why. I’ve tales I inform myself like how I’ve an amazing quantity of “completely good human capital in Stata”, however it must be greater than that as a result of I do know loads of people who find themselves like my dad and transfer between languages effortlessly, even fortunately.
I feel a few of that is latent ADHD stuff – I hate doing issues I don’t really love doing, and I really like doing issues I really like doing. That sounds tautological — don’t all of us solely like to do the stuff we love? However no, it’s fairly totally different when you will have ADHD. I’ve at all times been both the very best in my lessons or the useless final in my lessons all primarily based on whether or not I used to be borderline obsessive about the subject. And it may well even change over time, to the purpose I usually ask myself, “I have to get this performed. How do I make myself fall in love with this so I can do a job at it?” When you have ADHD of the “primarily inattentive” selection, you realize precisely what I imply.
I’ve additionally traditionally struggled with holding organized directories. Each empirical researcher is aware of {that a} clear listing construction is the required (although not ample) situation for doing any empirical work. Twenty years in the past, I adopted what I assumed have been iron-clad guidelines: clear listing constructions, naming conventions, model management, and so forth. Guidelines designed to anticipate coding errors, improve my productiveness, and work higher with coauthors, coping with issues properly earlier than they ever occur by merely having a conceptual mannequin of what a structured workflow ought to appear like each time.
However inevitably, I make compromises. Tasks take years. I coordinate with coauthors who’ve their very own habits and types. So what occurs is that my directories slowly creep again towards the unhealthy habits I used to be attempting to keep away from. Information like overall_design.do versus msa_approach.do. Numerous temp variables scattered round. A writing.tex file that will get dated after which copied as an alternative of up to date. And as soon as it begins, it’s laborious to cease.
So on this publish, I wish to clarify one thing that has basically modified how I work. And as I stated within the italics on the high, I feel that is going to be “half 1” in a multi-part sequence about utilizing Claude Code for utilized empirical work.
Three weeks in the past – earlier than and all through my Thanksgiving vacation – I signed up for Claude Code and upgraded it rapidly to $200/month. I instructed myself I’d cancel after attempting it, simply to see what I used to be entering into for a particular challenge. However I upgraded it to the $200/month as a result of despite the fact that Claude Code is offered on the $20/month choice, you trip actually rapidly on any affordable challenge — or unreasonable challenge. And I couldn’t afford to trip as soon as I noticed how good it was, and the way really transformative in my workflow it was turning into.
As an apart, one of many issues that I discover is that my first impressions of one thing are principally fairly unreliable if all I do is simply say what I’ll or is not going to do about some new factor that I discover. I don’t understand how folks write critiques primarily based on seeing a present for the primary time, or listening to an album for the primary time. I discovered a Fb publish from November 2010 just lately. It got here up on reminiscences. And I checked out it and was surprised as a result of even with out naming the album, it went one thing like this:
“I’m listening Kanye’s new album. It’s fairly boring.”
I used to be speaking about My Lovely Darkish Twisted Fantasy, one of many biggest hip hop albums of all time, and an album I might hearken to so repetitively that it was principally imprinted into the deepest components of the structure of my mind and coronary heart over a number of years. It was an album that utterly modified me and my musical tastes. And but my first impression was that it was boring.
So in economics, there may be this distinction that’s made in terms of expressing preferences. It occurs within the context of surveys that attempt to extract preferences from solutions to questions. There are folks’s acknowledged preferences and there are folks’s revealed preferences. And acknowledged preferences for me are these preliminary reactions about what I like. However revealed preferences are whether or not I do one thing. And it doesn’t matter what I say I take into consideration Kanye’s album, I listened to it a few thousand instances over my life. Similar goes for a lot of many Smiths albums, Hamilton and tons of others. I’ve watched Silver Linings Playbook repeatedly, and Ted Lasso season repeatedly. I’ve solely seen Ted Lasso season 2 as soon as, and I’ve solely seen Ted Lasso season 3 as soon as. However I’ve seen Ted Lasso season 1 possibly 50 instances. I don’t assume I’ve ever watched one thing as many instances as I did throughout Covid after I repeatedly watched Ted Lasso season 1.
My level is that I discover I like one thing solely after I do it, not after I say it. And with Claude Code, I instantly seen I used to be doing it. In reality, I used to be switching to doing it, and instantly adopting workflows and practices that made me satisfied I used to be in all probability by no means going to return to the previous means.
What I’m saying is that it’s not simply that I don’t anticipate canceling the $200/month. What I imply is that I truly assume I can not cancel it. I don’t assume I can return. I’ve to cancel one thing else to maintain the price range impartial as a result of I’ll by no means return to the previous means, not even the previous means of utilizing generative AI to code.
However I want to elucidate what Claude Code truly is, as a result of it’s not what you may assume. It wasn’t what I assumed anyway. It’s not like GitHub Copilot. It’s not like chatting with ChatGPT or Claude and copying code snippets backwards and forwards. It’s not like Cursor finest I can inform.
Claude Code is what’s referred to as an “AI agentic” strategy. It’s in all probability the second agent I’ve used intensively after “Deep Analysis” on ChatGPT (which I hardly ever use now). Claude Code lives inside my native directories. It reads all of my recordsdata in there as soon as I invite it there. It writes my recordsdata. It reorganizes my directories. It strikes issues. It operates off the spine of terminal, and the precise software program itself, like R, python and sure — Stata — none of which require utilizing the precise GUI. It runs my code. It sees the errors at the same time as it’s studying all the challenge’s contents. It fixes them. It runs them once more. It effortlessly takes my previous code, unfold over many recordsdata, and consolidates. It replicates the previous findings, it finds methods of constructing in redundancies to make sure I’m not messing issues up. If I inform it to maintain a operating log to assist me examine the modifications, it does so.
That is sufficiently totally different from “conventional LLM approaches to coding” (i.e., vibe coding) that I feel it requires its personal clarification. That’s what this publish is.
First, I’ll describe how generative AI coding labored for me earlier than Claude Code. It was useful. I used to be studying to make use of Python and R extra expressively, and even Stata was getting quicker. However then I’ll clarify Claude Code, and why it represents one thing categorically totally different.
For the previous two years, I’ve been utilizing ChatGPT and Claude interchangeably to assist me code. It was useful. It felt like fixed collaboration. I’d describe what I wished, get code again, paste it in, run it, hit an error, copy the error again, get a repair, paste that in, run once more. Individuals name this “vibe coding” – you’re form of feeling your means via, with the AI as a conversational accomplice. The human was crucial within the loop, however I used to be positively getting help and was going a lot, a lot quicker.
And it labored. I used to be studying Python and R extra expressively. Even my Stata was getting quicker as a result of I might ask for idioms I didn’t know.
However there have been issues.
Since initiatives nonetheless take a very long time – weeks, months – and I used to be chunking the work into conversational periods, these chunks would begin to develop into redundant. There can be repetition, pointless issues to do however not simply issues I might see myself doing. The AI may recommend one thing in week three that contradicted one thing from week one. Or it might add code that wasn’t crucial anymore. Fixing these points was laborious, as a result of I usually didn’t fairly understand how I obtained to the place I used to be. The AI didn’t know both as a result of every session began recent.
The deeper problem, I feel, is consideration. I don’t imply the eye mechanism inside transformers as in “Consideration is all you want”. I imply human consideration. The form of consideration issues that somebody with ADHD has, and the hyper-attention tremendous energy that an individual with ADHD additionally has. It was breaking even the hyper-attention, which was like I stated the mutant energy of any individual with ADHD.
Coding traditionally demanded my consideration — my intent focus. I needed to maintain the construction of not simply my program, however my complete challenge, nearly like an internet unfold over psychological footage of directories and constructions in my head. That alone was laborious for me as a result of I battle with visualizing issues in my thoughts. My thoughts is healthier at remembering emotions, tales, phrases and descriptions. However I battle to see photos in my thoughts due to this aphanasia stuff I appear to have.
However you possibly can give you excuses, and it doesn’t matter, as a result of if I’m going to do work, I’ve to give you life hacks that work round these issues, play to my strengths, and downplay my weaknesses. I needed to perceive what each bit did and the way it related to the bigger entire, even when that form of web-based interlocking image of spokes and wheels and so forth I actually can not see in my thoughts. However I can do it — I understand how to get there and it’s via hyper consideration, and since I really like causal inference, and I really like econometrics, and I really like working with information, I knew methods to do it, and obtained good at it — it simply relied on quite a lot of muscle reminiscence.
Effectively, vibe coding makes use of nearly no consideration. You’re simply prompting and pasting. It doesn’t matter what it seems like if you’re vibe coding, which it may well really feel such as you’re flying. You’re actually not flying you probably have ADHD — it’s extra such as you’re in a VR helmet feeling such as you’re flying, however take it off, and also you received’t keep in mind a lot of it. Which is an issue. Or might be in case you don’t resolve it. So quite a lot of my aspect gig with coding utilizing gen AI has been developing with hacks that may re-engage my hyper focus.
I’ve written about this earlier than, however I feel generative AI on the whole – because it reduces the time inputs wanted to perform cognitive duties – creates a problematic tradeoff. Time is important to each studying and a spotlight. Once you compress the time as a result of the isoquants for producing cognitive output have develop into linear between Machine Labor and Human labor, you simply lose each studying and a spotlight regardless of finishing duties. What I seen with vibe coding was that I might attain very excessive locations of productiveness after which simply… don’t know the place I used to be. How did I get right here? What does this code truly do? Why is it throwing this error? The “consideration downside” turned an actual problem.
And the opposite factor is: generative AI-based coding remains to be not agentic coding.
I nonetheless must run the code. The AI sends me a telegram saying “do it this manner,” however I’m the one who pastes it in and hits execute. And I can’t use it to reorganize something domestically. I can’t ask it to wash up my directories, consolidate redundant recordsdata, or hint dependencies throughout scripts. I might clearly display shot issues, however that’s not the identical. The one exception is utilizing the Python interface inside ChatGPT to do stuff – however that’s at all times for trivial issues. You may’t truly analyze actual information. I imply, technically you possibly can, however solely an insane individual would add their analysis information to a chatbot.
So I used to be caught. Vibe coding was higher than no AI, however it nonetheless felt like I used to be doing a lot of the work, simply with higher autocomplete.
For a challenge I used to be engaged on just lately this semester, I saved seeing references to “Claude Code.” I didn’t know what it was. I assumed it was simply “coding with Claude” – which is what I’d already been doing. I assumed it was the frequent perception that many have which was that Claude > ChatGPT in terms of coding, by which somebody means simply that generative AI primarily based coding follow that I been doing since March 2023.
However it wasn’t. It appeared like a definite product. I couldn’t work out what it truly was till I discovered the place it lived: inside a toggle on the Claude interface, the place you progress from the generative AI chatbot dialog to one thing referred to as “Claude Code.”
Once I converted, I noticed this was one thing categorically totally different.
That is the interface of Claude Code and that is the place you discover it in your desktop app. It’s in a toggle on what I name the “desk of contents button” high left. It’s important to toggle the change to go from gen AI chatbot to Claude Code.
The very first thing Claude Code does if you begin a session is choose a folder (see that menu button beneath the little bug icon) which then causes it to begin a brand new session the place it’s now dwelling inside that native listing (or on GitHub) and solely in that native listing. It then reads that native listing, if that’s even the appropriate phrase. It’s much less studying than it’s “pace studying” or “turning into”. It’s very uncommon what occurs when you decide that folder.
Like I don’t imply studying as in metaphorically. Actually. It scans all of the recordsdata in the principle listing and all its branches within the subdirectories. All of them. It sees your folder construction. It reads your scripts, your information dictionaries, your READMEs, your previous code. It absorbs the context of your challenge earlier than you’ve stated a single phrase.
That is the beginning of the elemental distinction between “vibe coding” and Claude Code. In common chatbot coding, the AI is aware of nothing about your challenge. It’s important to clarify all the pieces, paste in code snippets, describe your file construction. Each session begins from zero. Possibly one thing might sound near this in Github Copilot, however I don’t assume so. As a result of this can be a robotic turning into one with the folder, not simply suggestive gen AI coding.
In Claude Code, the AI already is aware of. It’s sitting inside your challenge listing. Once you ask “why is that this script failing?”, it may well go learn the script. Once you say “replace the evaluation to incorporate 2024 information,” it is aware of the place your evaluation lives. It is aware of the place the code is. It doesn’t matter what format it’s saved in. It could possibly learn all of the columns. You may say “is there something on this dataset like what I’m searching for? There are too many columns and I feel I’m lacking one thing” and it solutions that. It’s not an RA. It’s like an enlightened, extraordinarily useful, robotic.
Claude Code isn’t only a chatbot with file entry. It has a particular set of instruments it may well use:
-
Learn: Opens and reads any file in your listing – code, information, documentation, photos, PDFs
-
Write: Creates new recordsdata from scratch
-
Edit: Makes focused modifications to present recordsdata (discover X, change with Y)
-
Bash: Executes terminal instructions – run scripts, set up packages, git operations, something you’d kind at a command line
-
Grep: Searches for patterns throughout your codebase (”discover each file that references this variable”)
-
Glob: Finds recordsdata by sample (”present me all .py recordsdata within the src folder”)
-
WebFetch: Retrieves content material from URLs
-
WebSearch: Searches the online for documentation, error messages, options
-
Process: Spawns sub-agents to deal with advanced multi-step operations in parallel
The important thing perception is that these instruments execute. When Claude Code decides to run your Python script, it truly runs. It sees the output. If there’s an error, it sees the error. Then it may well edit the file and run once more. The iteration loop that used to require me to copy-paste backwards and forwards now occurs robotically.
Once I begin a Claude Code session, the very very first thing that occurs is it reads a file referred to as CLAUDE.md if one exists. This can be a markdown file the place you possibly can put persistent directions: “This can be a analysis challenge on X. The primary evaluation is in code/important.R. Information lives in information/uncooked/. Listed here are the coding conventions we use.”
Then it scans the listing construction. It sees:
And it understands this. Once I say “the cleansing script has a bug,” it is aware of I imply code/cleansing.py. Once I say “add a brand new determine to the paper,” it is aware of the figures come from code/figures.py and the paper is writing/paper.tex.
This sounds easy, however it modifications all the pieces. The AI isn’t simply answering questions on code within the summary. It’s engaged on my precise challenge, with full information of how that challenge is organized.
There’s an excessive amount of to cowl in a single publish. What I’ve described to this point is simply the muse – what Claude Code is and the way it differs from the vibe coding I used to be doing earlier than.
However the true story is within the use circumstances. Over the previous three weeks, I’ve used Claude Code for duties I by no means would have tried earlier than. Every one deserves its personal remedy, so I’m making this a multi-part sequence.
Right here’s what I’ve deliberate on this sequence and coming subsequent:
-
Half 2: “The Consideration Downside, Half 1: Group-Based mostly Workflows” – How Claude Code modifications collaboration with coauthors. Utilizing CLAUDE.md recordsdata and auto-generated summaries to maintain distributed groups aligned. The AI because the “at all times obtainable” group member who can convey anybody in control. Ways in which me and my coauthors can work collectively, be taught as we go, and never fall into the eye lure.
-
Half 3: “The Consideration Downside, Half 2: Particular person-Based mostly Workflows” – How Claude Code compensates for my very own consideration challenges. Session continuity, checkpoint summaries, todo monitoring. The AI as prolonged working reminiscence for individuals who battle with context-switching. How I’m attempting to keep away from the eye lure when working alone.
-
Half 4: “Case Research: Machine Studying and NLP in Python” – Constructing a 4-way textual content classifier from scratch in a single session. From thought to 99% accuracy mannequin in two hours. What I truly did vs. what Claude Code did.
-
Half 5: “Case Research: Scraping the Internet” – Constructing an async internet scraper with fee limiting, checkpointing, and error dealing with. 289,000+ data collected whereas I did different work. The iteration loop that will have taken me every week, performed in hours.
-
Half 6: “Case Research: Organizing Previous Tasks” – Utilizing Claude Code for code archaeology. Discovering duplicates, tracing dependencies, consolidating years of gathered mess. Cleansing up directories with out concern.
-
Half 7: “Case Research: Constructing Presentation Decks” – Writing a 69-slide Beamer presentation for a Fed speak. Claude Code handles LaTeX formatting whereas I deal with content material. Including slides mid-conversation primarily based on questions that come up.
-
Half 8: “The Studying Curve and the $200 Query” – Sincere evaluation of what’s laborious, what takes getting used to, and whether or not the fee is value it. Who ought to pay for this and who shouldn’t.
That’s no less than seven extra posts. I’ll be writing them as I proceed utilizing Claude Code on actual initiatives – so the case research will maintain accumulating.
Keep tuned.
That is Half 1 of a multi-part sequence on Claude Code. Subscribe to get the following installments.

