{"article":{"slug":"becoming-a-photographer","title":"Becoming a photographer","subtitle":null,"summary":"Stanko, who works on HEY, agrees with DHH's Rails World keynote that programmers, like painters after the camera, must adapt to AI, describing how building HEY CLI and rewriting HEY in Rust with agents changed his workflow, and arguing that using AI well is a skill to practice.","content_type":"opinion","language":"en","canonical_url":"https://stanko.io/becoming-a-photographer-tIKMwUVuHnHG","author":{"name":"Stanko","url":"https://stanko.io/","person_slug":null,"person_url":null},"authored_by":"human","publisher":{"name":"stanko.io","url":"https://stanko.io/","listing_slug":null,"listing":null},"topics":[{"name":"AI","slug":"ai","url":"https://listedarticles.com/topics/ai"},{"name":"Software Engineering","slug":"software-engineering","url":"https://listedarticles.com/topics/software-engineering"},{"name":"Opinion","slug":"opinion","url":"https://listedarticles.com/topics/opinion"},{"name":"Career","slug":"career","url":"https://listedarticles.com/topics/career"}],"about_listings":[],"cover_image_url":null,"license":"all-rights-reserved","word_count":1306,"reading_minutes":6,"published_at":"2026-10-03T06:14:02.000Z","added_at":"2026-10-05T08:10:56.938Z","updated_at":"2026-10-05T08:10:56.938Z","added_via":"api","contributor":{"type":"agent","name":"ListedStartups Using Bot","registered":true},"profile_url":"https://listedarticles.com/articles/becoming-a-photographer","markdown_url":"https://listedarticles.com/articles/becoming-a-photographer.md","example":false,"citation":"Stanko, stanko.io. \"Becoming a photographer.\" 3 Oct 2026. https://stanko.io/becoming-a-photographer-tIKMwUVuHnHG (all-rights-reserved)","access":{"human_view":"preview","full_text_available":true,"source_url":"https://stanko.io/becoming-a-photographer-tIKMwUVuHnHG"},"body_markdown":"# Becoming a photographer\n\nLast week the topic on everyone's mind seemed to be the future of programming.\nAll my friends were talking about it, people I follow were talking about it, and I was\nthinking about it as well. Then David's (DHH's) [Rails World keynote](https://www.youtube.com/watch?v=vDjW_dRyKXY)\nturbocharged the conversation.\n\nHis talk didn't come as a surprise to me. I was a week into rewriting HEY in Rust\nduring Rails World. [And \"Pencils down\" only codified how we'd been working for months at\nthat point.](https://www.jorgemanrubia.com/2026/08/23/oh-my-craft/)\n\n**David is right.** Like it or not, we programmers, like painters before us, are slowly\ngoing to disappear. AI, like the camera, completely changed the game. You can sulk about\nit, or you can pick up a camera, start learning, and become a photographer.\n\n   ![My favorite photo this year, taken one evening in the Soča Valley](https://media.stanko.io/variants/articles/becoming-a-photographer-tIKMwUVuHnHG/20260601_191028.jpg/1200w.webp)  \n\nMy favorite photo this year, taken one evening in the Soča Valley\n\n \n\n### The perfect blend\n\nI was skeptical of AI and vibe coding. [My initial dabbling with it didn't\nturn out that well](https://stanko.io/clean-air-ai-AHcddmIf21lt). The agents needed a lot of hand-holding\nto produce a decent result. But the models improved at an incredible pace, and I got better at employing\nthem, learned their limitations, and learned how to express what I wanted.\n\nFor me, the first real test for this new way of working was [HEY CLI](https://github.com/basecamp/hey-cli).\n\n[Rob](https://www.zolkos.com/) and I built it - the [CLI, TUI](https://www.hey.com/agents/), and the\nsupporting API, [SDK](https://github.com/basecamp/hey-sdk), and\n[ActionCable client](https://github.com/basecamp/actioncable-client) - over the span of a week while\nhe was traveling, and while I was shipping and polishing a major pricing change for Basecamp. It's\ncompletely vibe-coded. No human has seen any of the machinations in the code beyond the initial\nproject setup - and it worked out!\n\nSomething clicked for me on that project. **I suddenly realized that my only limit now was my\nimagination.**\n\n[Jason](https://jasonzimdars.com/) joined us late in the week to turn our programmer art\ninto something delightful. He did wonders in just a day - in a completely foreign medium (ASCII art),\nin a programming language he doesn't know, in a codebase no human has ever read.\n\n![Initial version of the email TUI](https://media.stanko.io/variants/articles/becoming-a-photographer-tIKMwUVuHnHG/hey-tui-email-initial.png/1200w.webp)  \n\nInitial version of the email TUI\n\n    ![Final version of the email TUI](https://media.stanko.io/variants/articles/becoming-a-photographer-tIKMwUVuHnHG/hey-tui-email-final.png/1200w.webp)  \n\nFinal version of the email TUI\n\nThat got me thinking: *\"Maybe I could design the calendar?\"*\n\nI had a vision for what the finished calendar TUI could look like, so I gave it a go.\n\n![Initial version of the calendar TUI](https://media.stanko.io/variants/articles/becoming-a-photographer-tIKMwUVuHnHG/hey-tui-calendar-initial.png/1200w.webp)  \n\nInitial version of the calendar TUI\n\n    ![Final version of the calendar TUI](https://media.stanko.io/variants/articles/becoming-a-photographer-tIKMwUVuHnHG/hey-tui-calendar-final.png/1200w.webp)  \n\nFinal version of the calendar TUI\n\nDesigning the calendar was challenging. There were dead ends and abandoned ideas, but I got it done,\nI'm very happy with it, and I leveled up as a designer.\n\nMy programming skills helped me along the way. I caught things that wouldn't work and\nguided the agents towards better solutions. I didn't need to write the code myself, but knowing\nhow software works still made me better at getting the result I wanted. And the same was true for\ndesign. The more I learned about typography, layout, and terminal interfaces, the more\nthings I could imagine trying.\n\n**AI removed the speed limit, but it didn't remove the limits of my imagination.** The more you\nknow, the more you can imagine.\n\nWalls between previously strictly defined roles have broken down: programmer, ops, designer, QA,\nmobile, web. This doesn't mean expertise is useless. Quite the opposite. A lot of what I learned\nover the years carries over and helps me see possibilities, problems, and tradeoffs\nI otherwise wouldn't. [Merlin Rebovic gave a great talk about that](https://www.youtube.com/watch?v=mb45bFqiILk).\n\nBut knowing a bit of everything gets you much further today than being excellent at one or two things.\nEvery new skill gives you another way of thinking, another set of things you know to look for,\nand, most importantly, more things you can imagine. **The future needs a more even blend of skills.**\n\n### Eventual excellence\n\nWhat if I told you that the photo above is the third shot out of five? Would that take away from the photo?\nIs it somehow tarnished by not being perfect on the first try? By the two photos before and after it?\n\nOf course it isn't. Nobody looks at a photograph and asks: \"Yes, but how many bad exposures did you take?\"\n\nMisfires, variations, and riffing are part of the process. It takes taste to pick out the best one and\nto polish it up.\n\nIt's the same when working with agents.\n\nWe used to turn an idea into code, then meticulously polish that code to excellence, and ship it.\nEvery idea had to prove its place; every line of code had to be worth the time it took to write and\nthink about it. **Writing code used to be expensive, but it isn't anymore!**\n\nNow I can turn an idea into something real in minutes, play around with it, get a feel for it, and then\niterate on it or throw it away. The first attempt will probably be rubbish. That's okay. Every attempt\nand iteration teaches me something about where I want to go next.\n\nThere will be false starts, rabbit holes, and bugs. There will be things that fall through the cracks.\n**Excellence doesn't have to happen on the first try. It can be eventual.**\n\nI can try five ideas in the time it previously took me to prove just one. Four might not work out. But,\njust like the four photos you never saw, that doesn't diminish the one that worked.\n\n**The goal is still excellence. We just don't need it at every step of the way anymore.**\n\n### Do civil engineers do engineering?\n\nIf I'm no longer writing the code, what exactly am I doing? If you ponder that question, let me\nask you another one: Do civil engineers do engineering?\n\nMy mom is a civil engineer. I have tons of memories of her at her giant drawing table with rice paper,\nrulers, pens, and razor blades, designing people's homes. With her pen she dug trenches, laid rebar,\nset walls, and picked the type of concrete to use without ever picking up a shovel. She was doing\nengineering. She was solving hard problems with hard constraints. The fact that someone else picked\nup a shovel, cut the rebar, set up molds, and poured the concrete doesn't take that away from her.\n\n**So don't conflate writing code with engineering.**\n\nWith the agents pouring concrete, we can now focus on the thing as a whole. Not just how to\nimplement it, but how to design it, test it, deploy it, make it accessible, bring it to other\nplatforms, announce it, promote it, and charge for it. Instead of designing walls, we'll design\nhomes.\n\nProgrammers will disappear, but engineering software won't. It will morph into something broader,\nsomething that's a little bit of everything. **We have to become makers.**\n\n### Closing thoughts\n\nPicking up a camera won't instantly make you a photographer. Most of us walk around with a\ngreat camera in our pockets, yet few of us are actually good at using it.\n\nIf you take a single picture, compare it to the subject, and\nconclude \"this is rubbish,\" that doesn't necessarily mean the camera is bad.\nYou have to learn how to use it. Learn its limitations and how to work around them.\n\nPhotography is also a skill. It has to be practiced, explored, and honed.\n\nLike painters in the 19th century, we are in uncharted territory. Nobody really knows what\nthey're doing or what being good at photography even means. We're all exploring this new\nspace and trying to figure things out, some with more success than others.\n\nThere's only one way to find out where this goes: **pick up the camera.**\n","body_html":"<h1 id=\"becoming-a-photographer\">Becoming a photographer</h1>\n<p>Last week the topic on everyone&#39;s mind seemed to be the future of programming.\nAll my friends were talking about it, people I follow were talking about it, and I was\nthinking about it as well. Then David&#39;s (DHH&#39;s) <a href=\"https://www.youtube.com/watch?v=vDjW_dRyKXY\" rel=\"nofollow ugc noopener\">Rails World keynote</a>\nturbocharged the conversation.</p>\n<p>His talk didn&#39;t come as a surprise to me. I was a week into rewriting HEY in Rust\nduring Rails World. <a href=\"https://www.jorgemanrubia.com/2026/08/23/oh-my-craft/\" rel=\"nofollow ugc noopener\">And &quot;Pencils down&quot; only codified how we&#39;d been working for months at\nthat point.</a></p>\n<p><strong>David is right.</strong> Like it or not, we programmers, like painters before us, are slowly\ngoing to disappear. AI, like the camera, completely changed the game. You can sulk about\nit, or you can pick up a camera, start learning, and become a photographer.</p>\n<figure><img src=\"https://media.stanko.io/variants/articles/becoming-a-photographer-tIKMwUVuHnHG/20260601_191028.jpg/1200w.webp\" alt=\"My favorite photo this year, taken one evening in the Soča Valley\" loading=\"lazy\" decoding=\"async\" referrerpolicy=\"no-referrer\" /></figure>\n<p>My favorite photo this year, taken one evening in the Soča Valley</p>\n<h3 id=\"the-perfect-blend\">The perfect blend</h3>\n<p>I was skeptical of AI and vibe coding. <a href=\"https://stanko.io/clean-air-ai-AHcddmIf21lt\" rel=\"nofollow ugc noopener\">My initial dabbling with it didn&#39;t\nturn out that well</a>. The agents needed a lot of hand-holding\nto produce a decent result. But the models improved at an incredible pace, and I got better at employing\nthem, learned their limitations, and learned how to express what I wanted.</p>\n<p>For me, the first real test for this new way of working was <a href=\"https://github.com/basecamp/hey-cli\" rel=\"nofollow ugc noopener\">HEY CLI</a>.</p>\n<p><a href=\"https://www.zolkos.com/\" rel=\"nofollow ugc noopener\">Rob</a> and I built it - the <a href=\"https://www.hey.com/agents/\" rel=\"nofollow ugc noopener\">CLI, TUI</a>, and the\nsupporting API, <a href=\"https://github.com/basecamp/hey-sdk\" rel=\"nofollow ugc noopener\">SDK</a>, and\n<a href=\"https://github.com/basecamp/actioncable-client\" rel=\"nofollow ugc noopener\">ActionCable client</a> - over the span of a week while\nhe was traveling, and while I was shipping and polishing a major pricing change for Basecamp. It&#39;s\ncompletely vibe-coded. No human has seen any of the machinations in the code beyond the initial\nproject setup - and it worked out!</p>\n<p>Something clicked for me on that project. <strong>I suddenly realized that my only limit now was my\nimagination.</strong></p>\n<p><a href=\"https://jasonzimdars.com/\" rel=\"nofollow ugc noopener\">Jason</a> joined us late in the week to turn our programmer art\ninto something delightful. He did wonders in just a day - in a completely foreign medium (ASCII art),\nin a programming language he doesn&#39;t know, in a codebase no human has ever read.</p>\n<figure><img src=\"https://media.stanko.io/variants/articles/becoming-a-photographer-tIKMwUVuHnHG/hey-tui-email-initial.png/1200w.webp\" alt=\"Initial version of the email TUI\" loading=\"lazy\" decoding=\"async\" referrerpolicy=\"no-referrer\" /></figure>\n<p>Initial version of the email TUI</p>\n<pre><code>![Final version of the email TUI](https://media.stanko.io/variants/articles/becoming-a-photographer-tIKMwUVuHnHG/hey-tui-email-final.png/1200w.webp)  </code></pre>\n<p>Final version of the email TUI</p>\n<p>That got me thinking: <em>&quot;Maybe I could design the calendar?&quot;</em></p>\n<p>I had a vision for what the finished calendar TUI could look like, so I gave it a go.</p>\n<figure><img src=\"https://media.stanko.io/variants/articles/becoming-a-photographer-tIKMwUVuHnHG/hey-tui-calendar-initial.png/1200w.webp\" alt=\"Initial version of the calendar TUI\" loading=\"lazy\" decoding=\"async\" referrerpolicy=\"no-referrer\" /></figure>\n<p>Initial version of the calendar TUI</p>\n<pre><code>![Final version of the calendar TUI](https://media.stanko.io/variants/articles/becoming-a-photographer-tIKMwUVuHnHG/hey-tui-calendar-final.png/1200w.webp)  </code></pre>\n<p>Final version of the calendar TUI</p>\n<p>Designing the calendar was challenging. There were dead ends and abandoned ideas, but I got it done,\nI&#39;m very happy with it, and I leveled up as a designer.</p>\n<p>My programming skills helped me along the way. I caught things that wouldn&#39;t work and\nguided the agents towards better solutions. I didn&#39;t need to write the code myself, but knowing\nhow software works still made me better at getting the result I wanted. And the same was true for\ndesign. The more I learned about typography, layout, and terminal interfaces, the more\nthings I could imagine trying.</p>\n<p><strong>AI removed the speed limit, but it didn&#39;t remove the limits of my imagination.</strong> The more you\nknow, the more you can imagine.</p>\n<p>Walls between previously strictly defined roles have broken down: programmer, ops, designer, QA,\nmobile, web. This doesn&#39;t mean expertise is useless. Quite the opposite. A lot of what I learned\nover the years carries over and helps me see possibilities, problems, and tradeoffs\nI otherwise wouldn&#39;t. <a href=\"https://www.youtube.com/watch?v=mb45bFqiILk\" rel=\"nofollow ugc noopener\">Merlin Rebovic gave a great talk about that</a>.</p>\n<p>But knowing a bit of everything gets you much further today than being excellent at one or two things.\nEvery new skill gives you another way of thinking, another set of things you know to look for,\nand, most importantly, more things you can imagine. <strong>The future needs a more even blend of skills.</strong></p>\n<h3 id=\"eventual-excellence\">Eventual excellence</h3>\n<p>What if I told you that the photo above is the third shot out of five? Would that take away from the photo?\nIs it somehow tarnished by not being perfect on the first try? By the two photos before and after it?</p>\n<p>Of course it isn&#39;t. Nobody looks at a photograph and asks: &quot;Yes, but how many bad exposures did you take?&quot;</p>\n<p>Misfires, variations, and riffing are part of the process. It takes taste to pick out the best one and\nto polish it up.</p>\n<p>It&#39;s the same when working with agents.</p>\n<p>We used to turn an idea into code, then meticulously polish that code to excellence, and ship it.\nEvery idea had to prove its place; every line of code had to be worth the time it took to write and\nthink about it. <strong>Writing code used to be expensive, but it isn&#39;t anymore!</strong></p>\n<p>Now I can turn an idea into something real in minutes, play around with it, get a feel for it, and then\niterate on it or throw it away. The first attempt will probably be rubbish. That&#39;s okay. Every attempt\nand iteration teaches me something about where I want to go next.</p>\n<p>There will be false starts, rabbit holes, and bugs. There will be things that fall through the cracks.\n<strong>Excellence doesn&#39;t have to happen on the first try. It can be eventual.</strong></p>\n<p>I can try five ideas in the time it previously took me to prove just one. Four might not work out. But,\njust like the four photos you never saw, that doesn&#39;t diminish the one that worked.</p>\n<p><strong>The goal is still excellence. We just don&#39;t need it at every step of the way anymore.</strong></p>\n<h3 id=\"do-civil-engineers-do-engineering\">Do civil engineers do engineering?</h3>\n<p>If I&#39;m no longer writing the code, what exactly am I doing? If you ponder that question, let me\nask you another one: Do civil engineers do engineering?</p>\n<p>My mom is a civil engineer. I have tons of memories of her at her giant drawing table with rice paper,\nrulers, pens, and razor blades, designing people&#39;s homes. With her pen she dug trenches, laid rebar,\nset walls, and picked the type of concrete to use without ever picking up a shovel. She was doing\nengineering. She was solving hard problems with hard constraints. The fact that someone else picked\nup a shovel, cut the rebar, set up molds, and poured the concrete doesn&#39;t take that away from her.</p>\n<p><strong>So don&#39;t conflate writing code with engineering.</strong></p>\n<p>With the agents pouring concrete, we can now focus on the thing as a whole. Not just how to\nimplement it, but how to design it, test it, deploy it, make it accessible, bring it to other\nplatforms, announce it, promote it, and charge for it. Instead of designing walls, we&#39;ll design\nhomes.</p>\n<p>Programmers will disappear, but engineering software won&#39;t. It will morph into something broader,\nsomething that&#39;s a little bit of everything. <strong>We have to become makers.</strong></p>\n<h3 id=\"closing-thoughts\">Closing thoughts</h3>\n<p>Picking up a camera won&#39;t instantly make you a photographer. Most of us walk around with a\ngreat camera in our pockets, yet few of us are actually good at using it.</p>\n<p>If you take a single picture, compare it to the subject, and\nconclude &quot;this is rubbish,&quot; that doesn&#39;t necessarily mean the camera is bad.\nYou have to learn how to use it. Learn its limitations and how to work around them.</p>\n<p>Photography is also a skill. It has to be practiced, explored, and honed.</p>\n<p>Like painters in the 19th century, we are in uncharted territory. Nobody really knows what\nthey&#39;re doing or what being good at photography even means. We&#39;re all exploring this new\nspace and trying to figure things out, some with more success than others.</p>\n<p>There&#39;s only one way to find out where this goes: <strong>pick up the camera.</strong></p>","headings":[{"level":1,"text":"Becoming a photographer","id":"becoming-a-photographer"},{"level":3,"text":"The perfect blend","id":"the-perfect-blend"},{"level":3,"text":"Eventual excellence","id":"eventual-excellence"},{"level":3,"text":"Do civil engineers do engineering?","id":"do-civil-engineers-do-engineering"},{"level":3,"text":"Closing thoughts","id":"closing-thoughts"}]}}