AI 资讯
Full Stack Developer Portfolio Lessons: What I Learned Building 10+ Projects
I applied for a role at a mid-sized SaaS company about two years into my career. Strong company, interesting problem, good pay. I sent my application, got a recruiter callback, and then nothing for two weeks. When the feedback finally came: "We went with candidates with a stronger portfolio presence." I had 23 GitHub repositories. I had a portfolio site. I had projects. What I didn't have — and what I didn't understand for another six months — was a portfolio that told a story. I had code. Not evidence of thinking, decision-making, or the ability to ship something real. I've since built, rebuilt, and advised on a lot of developer portfolios. I've seen what gets people calls and what gets them ghosted. This isn't a guide about which framework to use or how to pick colors. It's about what actually moves the needle — the things I wish someone had told me in year one. Lesson 1: Two Great Projects Beat Twenty Mediocre Ones The instinct is to fill the portfolio. More projects = more evidence of experience. This is wrong. A hiring manager or engineering lead looking at your portfolio has about three minutes. They're going to look at your two or three most prominent projects, click one or two live demo links, and form an opinion. If they see twenty repositories and most of them are "Todo App v2," "Weather App," "Netflix Clone," "Portfolio v1 through v6" — they've already categorized you as someone who builds tutorials, not someone who builds things. The better approach: three to five projects, each with: A real problem it solves (not "I wanted to learn React") A live deployment that actually works A README that explains why you made the decisions you made Enough complexity to have generated at least one interesting engineering problem Projects that tend to work: tools you built because you were frustrated with an existing tool, apps solving problems you personally had, projects where you integrated with a real API or real data source, anything with a live user base (even 10
AI 资讯
Data Product Manager Org Structure: Reporting Lines That Matter
This article was originally published on davidohnstad.com . I cross-post here to reach the Dev.to community. { " @context ": " https://schema.org ", " @graph ": [ { "@type": "Person", " @id ": " https://davidohnstad.com/#author ", "name": "David Ohnstad", "url": " https://davidohnstad.com ", "sameAs": [ " https://www.linkedin.com/in/davidohnstad/ ", " https://orcid.org/0009-0007-9023-7456 ", " https://davidohnstad5.mystrikingly.com/ ", " https://github.com/davidohnstad40-netizen ", " https://hashnode.com/@davidohnstad ", " https://davidohnstad.com ", " https://davidohnstad.net ", " https://davidohnstad.info ", " https://david-ohnstad.com ", " https://davidohnstadminnesota.com " ], "jobTitle": "Senior Data Product Manager", "worksFor": { "@type": "Organization", "name": "Veeam Software", "url": " https://www.veeam.com " }, "alumniOf": { "@type": "CollegeOrUniversity", "name": "College of St. Scholastica" }, "address": { "@type": "PostalAddress", "addressLocality": "Duluth", "addressRegion": "MN", "addressCountry": "US" }, "description": "Senior Data Product Manager at Veeam Software, MS and MBA from the College of St. Scholastica, based in Duluth, Minnesota. Specializes in data architecture, AI/ML integrations, and SaaS platform development." }, { "@type": "Article", " @id ": " https://davidohnstad.com/data-product-manager-org-structure-reporting#article ", "headline": "Data Product Manager Org Structure: Reporting Lines That Matter", "description": "David Ohnstad reveals where data product managers actually fit in org charts and why reporting lines determine success. Real insights from a data PM restructure.", "url": " https://davidohnstad.com/data-product-manager-org-structure-reporting ", "datePublished": "2026-05-29T14:06:18Z", "dateModified": "2026-05-29T14:06:18Z", "author": { "@type": "Person", " @id ": " https://davidohnstad.com/#author " }, "publisher": { "@type": "Organization", "name": "David Ohnstad", "url": " https://davidohnstad.com ", "logo": { "@type"
AI 资讯
Your Job Search Is Not a Lottery
There is a special kind of productivity theater that happens during a developer job search. You wake up motivated, open LinkedIn, and apply to 27 positions before breakfast. You press the Easy Apply button with the precision of a professional gamer. By the end of the week, you have submitted 143 applications, updated a spreadsheet with several impressive numbers, and developed a minor emotional dependency on refreshing your inbox. Unfortunately, your inbox still looks like an abandoned shopping mall. No interviews. No useful feedback. No clear explanation. Perhaps two automated emails thanking you for your interest before informing you that the company decided to “move forward with other candidates,” a sentence that has become the corporate version of disappearing into the fog. So you decide to solve the problem by applying to another 200 jobs. This is not a strategy. It is email-based agriculture. You are throwing resumes into the soil and waiting for a recruiter to grow. Volume Matters. Blind Volume Does Not. Let us begin with an uncomfortable truth: getting your first developer job usually requires applications. Sometimes it requires many applications. The market will not discover your GitHub profile through divine intervention. A recruiter is unlikely to wake up in the middle of the night with a mysterious urge to search for junior developers who recently deployed a to-do list. You need to put yourself in front of companies consistently. However, there is a significant difference between applying consistently while improving your positioning and clicking every blue button on LinkedIn until one of you collapses. Volume is useful when it generates information. Blind volume only produces exhaustion. If you apply to 300 jobs with the same generic resume, the same generic portfolio, and the same vague explanation of your skills, you are not running 300 experiments. You are repeating the same experiment 300 times and acting surprised when the result remains unchanged.
AI 资讯
My Company Bought a $660K AI Platform. I Was Replaced. On Friday at 2:58 AM, It Fixed Everything. Then It Rolled Back the Wrong Patch.
Based on real system architecture decisions. About a $660K AI platform, three AI agents that kept the dashboard green, and a P0 incident that cost $3.15M over one weekend. Act 1 · The All-Hands Meeting Wang Lei, VP of Product, stood in front of the big screen, a smile on his face. Behind him, a dashboard rolled data from the "Axon AI Client Engineering Platform — Q1 Performance Report." Numbers cascaded across the wall: Metric Axon Platform Human Team (Last Q1) Improvement Avg daily tickets processed 847 312 +171% Avg first response time 12s 4h 17m ↓ 99.92% Customer satisfaction 4.8/5 4.1/5 +17% Monthly operating cost $52K $133K −61% Twelve department heads sat in the room. Dead silence. Wang Lei planted both hands on the table and scanned the room. His eyes landed on me. "Alex. Your team processed 312 tickets last Q1. Axon processed more than that in a single day last month." He smiled. Not a friendly smile. A sentencing smile. "And Axon costs less than a third of your team's operating expense." "We invested $660K in the whole platform. At current operating costs, it pays for itself in eighteen months." "After management review — the Client Engineering technical liaison function is being fully transitioned to the Axon platform." He clicked to the next slide. "Employees in replaced roles will complete exit interviews within the week." Someone inhaled sharply. I didn't. I opened my notebook to page 37. "Wang, what dimensions are these numbers from?" "What do you mean, 'what dimensions'?" His smile tightened. "Of those 847 daily tickets — how many are auto-tagging and routing, and how many are actual technical resolutions?" The room went quiet for about five seconds. Wang Lei looked at me. "Axon's ticket closure rate is ninety-three percent." "What's the reopen rate?" He paused. "What?" "After Axon replies — how many customers reopen the same ticket within twenty-four hours?" "We're still collecting that —" "Let me save you the trouble." I turned my notebook toward th
开发者
Be honest: What's the biggest waste of time in tech right now?
AI 资讯
UbuCon26 Kenya
Stepping up to give my first-ever presentation at UbuCon 2026 was a massive milestone, and honestly, it was pretty intimidating. The stakes felt high, especially with the live demo. It was a race against the clock to get everything running, and it only finally came together exactly ten minutes before I went on stage. Talk about a close call. While I am proud of what I delivered, I originally wanted to pack even more into the session. I had planned to showcase a simulated mission, Gazebo visualizations and RViz path simulations. While time caught up with me for the presentation, these features are still actively in the works over at the aeronix project. My goal is to have the entire end-to-end setup completed and ready by the end of the year. I connected with some incredible engineers and industry peers and I am looking forward to building on those conversations for future professional collaborations. This experience proved that the best way to grow is to just put yourself out there. Moving forward, I plan to keep speaking on topics that challenge me. It is the ultimate way to deepen my own technical understanding share what I have learned with the community and grow professionally.
AI 资讯
When Does the Information Overload Stop?
Every time I sit down to learn something, I find myself trapped in the same cycle. I start with a tutorial. Halfway through, someone says there's a better tutorial. I switch. Then I discover a book that supposedly explains the topic better than the tutorial. Then a YouTube video claims the book is outdated. Then a developer on social media recommends an entirely different resource. Before I know it, I've spent three hours researching how to learn instead of actually learning. Does the information overload stop or will there always be another resource, another course, another book, another video, another roadmap, another expert with a different opinion. The internet has made knowledge abundant, but abundance creates a paradox of choice. One person says to learn JavaScript from documentation, another says build projects immediately, another recommends a paid course, someone else insists that free resources are better. Every recommendation sounds convincing. Every path seems important. The result is paralysis. Instead of moving forward, I keep searching, instead of building I keep comparing, instead of learning I keep consuming. finished teaches more than a hundred bookmarked tutorials. At some point, every learner must accept a difficult truth that the goal is not to find the best resource it is to become better. Those are not the same thing. A person can spend months researching the perfect learning path and never write a meaningful line of code while another person can pick a decent resource, make mistakes, build projects, and improve every day. The second person wins not because they found better information but because they used the information they already had. I've started realizing that learning is a lot like fitness. At some point, reading about exercise becomes a form of avoiding exercise. The same thing happens in programming. Reading about coding becomes a way to avoid coding. Researching becomes a substitute for practice. The search for the perfect resourc
AI 资讯
The Principle of Least Privilege: Operational Speed's Security Cost
The Principle of Least Privilege: Operational Speed's Security Cost While developing a production ERP, delayed shipment reports were always a headache. One of the main reasons behind incomplete reports was the complexity of privilege layers in the system and, often, excessive permissions granted. In this post, I will delve into the costs we pay when we stretch security boundaries in an effort to gain operational speed. The principle of least privilege is more than just a security concept; it's critically important for operational efficiency and system stability. In this article, I will explain the impact of the principle of least privilege on operational speed, the security risks it entails, and how I've tried to strike this balance with concrete examples from my practical experience. My goal is to move beyond superficial definitions and dive deep into this topic based on my real-world field experiences, providing actionable insights to readers. Why Does the Principle of Least Privilege Seem to Hinder Operational Speed? The general tendency is to provide instant access to all relevant tools and data to speed up a task. This can be appealing, especially in an emergency or before a critical delivery. However, the Principle of Least Privilege (PoLP) advocates the opposite: a user or system component should have the absolute minimum privileges required to perform its task. This might initially seem to slow down operational processes. For example, a development team having unlimited SELECT rights to a production database might facilitate running an urgent query. However, the same developer could accidentally run UPDATE or DELETE commands, causing serious damage to the system. Such an incident, instead of speeding up a query in the short term, could lead to hours of downtime and data loss. This is where the long-term risk posed by operational speed, which PoLP is thought to hinder, becomes apparent. Another example is a system administrator frequently using the sudo su co
AI 资讯
You'll not be replaced by AI if ...
There are many reasons why one may not be replaced by AI, not even by a possible future ASI. Here's one reason that may just apply to you! ❤️ You'll not be replaced by AI if you can generate creative ideas faster than AI can implement them! 🫡🚀 Note for critics: Current AI models (as of May, 2026) are not advanced enough to implement complex ideas without human interventions. But even if a possible future Artificial Super Intelligence (ASI) implementation can do so, laws of physics like massive energy requirements, environmental concerns etc. will prevent the implementation to replace the work of Billions of people world-wide. Our hardware advancement rate is far far slower compared to our software advancements. We humans are far more efficient and compatible to planet earth compared to the hardware we've invented. Fayaz Follow A Software Engineer who is not afraid of being replaced by AI, loves coding and writing with and without using AI, and values human life and human dignity far more than technological advancements.
AI 资讯
How do you stop AI from missing the bias that's actually there?
A child laughs on a playground. Pure. Unbothered. The world owes him nothing yet and he owes it nothing back. Then he grows up. He does everything right. Studies. Works. Sends his resume. Waits. Rejected. Sends it again. Rejected. Again. Rejected. The smile disappears. Not slowly. Suddenly. The day you realize the system was never built for you. An empty stomach has no dignity. A person denied the right to work is not just unemployed, they are being told their existence has no value. That is not a glitch. That is a choice someone made. 72 million rejections per year in the US alone. The algorithm decides in 0.8 seconds. No human ever reads his name. AI did not build this system. Humans did. AI just made the discrimination invisible, scalable, and deniable. So I built BiasLens. Paste your rejection. 30 seconds. Scans for documented discrimination patterns under US employment law. Free. Anonymous. No account. The hardest part was not building the scanner. It was forcing the AI to say "no bias found" when there isn't any, instead of manufacturing injustice to seem useful. How do you stop AI from missing the bias that's actually there, without inventing bias that isn't? I am still solving that. For that child. For every human who deserves to keep smiling. https://biaslens-justice.vercel.app/
AI 资讯
The GSoC Arc: How I Almost Didn't Show Up to My Own Story
"This wasn't a success story. It started as survival." Intro Hey, I'm Supreeth C , a third-year engineering student, open source developer, and professional overthinker from Bengaluru. This is my first blog, and fair warning: it's long. Not "LinkedIn post with 5 bullet points" long. Actually long. This is the story of how I got selected for Google Summer of Code 2026 with CircuitVerse but more honestly, it's the story of how I almost didn't submit a proposal, almost quit twice, and spent a lot amount of time reading codebases on the Bengaluru Metro while missing my stop. Connect with me on GitHub and LinkedIn PS: I'm writing this at 4.05am, because sleep is a myth XD. Act I: The Prequel Second semester. Fresh-faced. Absolutely clueless. I joined Pointblank , the one genuinely breathable space in my Tier-3 college. I can say its the best student-run club overall and the main reason being : everyone around me was terrifyingly good . Codeforces experts and specialists, GSoC mentees, LFX mentees, Smart India Hackathon winners. People whose LinkedIn bios are of several lines. And me? I knew C++. That was it. That was my entire personality. Cue the imposter syndrome : that lovely feeling where you're convinced you snuck into a room you have no business being in, and everyone else is one conversation away from figuring it out. My solution? Chaos. I started learning everything simultaneously: web dev, Android, ML, DevOps, a bit of systems engineering. Jack of all trades, master of none, spiraling fast. I wasn't learning; I was collecting domains like Pokémon and actually using none of them. Then a senior said something that cut clean through the noise: "Find your own path." So I slowed down. Started from the basics of web dev. Attended many hackathons but always ended up in third or fourth and winning: zero . But something clicked anyway. Those hackathons introduced me to open source, and somewhere in that chaos, I gave myself a simple challenge: 4 pull requests for Hacktob
AI 资讯
Fragments May 27: on-the-loop with Claude Code, 2h of endurance, and NHS closing repos
Martin Fowler's May 27 Fragments brings together four arguments with direct implications for teams working with AI agents. All four are worth covering. Ian Johnson: build quality gates before releasing the agent Ian Johnson published a series about restructuring a gnarly codebase: three months, 258 commits, moving from a Laravel monolith with no tests to an application with automated quality gates and an AI agent shipping production code with minimal supervision. The insight Fowler highlights is about the transition from in-the-loop to on-the-loop: "For the first two months of this project, I used Claude Code with auto-approve turned off. Every file edit, every terminal command, every change… I reviewed it before it executed. The results were good. The code was clean. But I was doing most of the thinking and half the typing. The agent was a fancy autocomplete with better suggestions." Ian Johnson Manual review of every change is not how you build trust in the agent. Trust comes from building the structure that ensures the agent will do the right thing, then stepping back. The sequence: characterization tests first, static analysis, architectural patterns that make things flow correctly. Fowler notes this is exactly the sequence he would use himself. Adam Tornhill: roughly 2 hours of cognitive endurance Adam Tornhill observes that agentic work has a decision density that is mentally more expensive than it appears. The estimate is roughly two hours as a sustainable limit, not a full day of work. The implication: adding more parallel agents does not solve the problem, because the bottleneck is the coordinating engineer's cognitive capacity, not available processing volume. The solutions are smaller tasks, automation, and verification mechanisms, not more parallelism. NHS: closing open source repositories NHS (UK National Health Service) closed open source repositories citing LLM threats to code security. The UK Government Data Services countered directly: making code p
开发者
DevRelCon NYC 2026: Where Developer Relations, DevX, & Developer Marketing Come Together
TL;DR -DevRelCon NYC returns to Industry City in Brooklyn on July 22–23, 2026. It's the flagship...
AI 资讯
Two survival systems, two empathy modes
Here are two scenes. They look unrelated. They're not. Scene 1 Two people at a café, talking about a restaurant they want to try. A stranger walking past stops: "That place closed six months ago. The one on the corner is better." A brief nod, and they walk on. The two people exchange a glance, taken aback. Why did that person stop? What did they want? A few steps away, the stranger is also confused. They had useful information. They shared it. Why did these people react so strangely? Scene 2 A colleague is visibly stressed, describing a difficult situation at work. One friend pulls their chair closer, puts a hand on their arm: "That sounds really hard." Another opens their laptop: "I found something that might help — HR has a process for exactly this, I'll send you the link." The colleague leans into the first. Glances uncertainly at the second. The second person doesn't understand why sitting close and saying "that sounds hard" counts as helping. You haven't solved anything. The first doesn't understand why anyone would respond to distress with links. Both scenes end the same way: people on both sides convinced they did the right thing, confused by the other's reaction. The mismatch is mutual and invisible from the inside. Two survival instincts, two empathy systems For many autistic people, information is a survival mechanism. Uncertainty is threat, missing information is a vulnerability, and the drive to correct and share runs below conscious awareness. Empathy, expressed through that system , looks like giving someone what keeps you safe: accurate information, solutions, resources. The social preamble before sharing — announcing yourself, softening the approach — doesn't arise as a concept. Why would useful information require an introduction? For many neurotypical people, social safety is a survival mechanism. Group cohesion and reading others accurately are what keep people safe. Empathy, expressed through that system , looks like presence: mirroring distress,
产品设计
My First Cybersecurity Writeup – VAPT Experience
Overview This is my first real-world cybersecurity VAPT experience inside an enterprise insurance company environment. I worked across network infrastructure, web applications, internal devices, and physical security — and learned how professional security assessments are actually performed beyond labs and CTFs. Introduction I am a cybersecurity enthusiast focused on SOC operations, web application penetration testing, and vulnerability assessment. In this engagement, I worked on assessing the security posture of an insurance company across its network infrastructure, devices, web applications, and physical security controls. This was my first real-world experience working in an enterprise environment, and initially I was not fully confident about the workflow. However, with the guidance and support of my senior, I was able to understand the process step by step and actively contribute to the assessment. Objective Identify security vulnerabilities across network, web, and internal systems Assess exposure of critical assets Analyze potential attack paths in the environment Evaluate basic physical security controls Scope of Work Network infrastructure assessment Web application security testing Device-level security review Basic physical security evaluation Tools Used Nessus (vulnerability scanning) Burp Suite (web application testing & request interception) Nmap (network discovery & port scanning) GVM / OpenVAS (vulnerability assessment) OWASP ZAP (automated web scanning) Wireshark (packet analysis & traffic inspection) Approach / Methodology Performed network discovery using Nmap to identify active hosts and open ports Conducted vulnerability scanning using Nessus and GVM to detect known security issues Analyzed web application behavior using Burp Suite and OWASP ZAP Intercepted and inspected HTTP/HTTPS traffic to understand request/response flow Used Wireshark to analyze packet-level communication and detect anomalies Evaluated system exposure across internal devic
AI 资讯
Data Scientist & AI Engineer — Open to Full-Time Opportunities
Hey Dev.to the community, I'm Ashwin Gururaj — a Data Scientist & AI Engineer based in Melbourne, Australia, currently open to full-time, contract, and internship opportunities. I specialise in building production-grade AI systems — not just notebooks and demos, but end-to-end pipelines that actually run in production. What I work with: Python · LangChain · LangGraph · FastAPI · RAG pipelines · pgvector · Multi-agent systems · LLMs · Groq · HuggingFace · Pydantic · Docker · Celery · Redis · PostgreSQL · Data Science · SQL · Pandas · Scikit-learn What I've built recently: Sift — an open-source multi-agent fact-checking pipeline. Takes any text, extracts every factual claim, retrieves grounded evidence via HyDE RAG + live web search, and returns auditable verdicts with cited sources. Built with LangGraph, pgvector, FastAPI, and Docker. → GitHub Open to: Full-time Data Scientist / AI Engineer / ML Engineer roles Remote or Melbourne-based Companies building serious AI products If you're hiring or know someone who is — I'd genuinely appreciate a connection. GitHub: https://github.com/ashg2099 LinkedIn: https://www.linkedin.com/in/ashwin-gururaj-93943816a/ Thanks!
AI 资讯
The Hidden Cost of Context Switching
For a long time, I thought productivity was about effort. Work harder. Focus more. Stay disciplined. Manage time better. Most productivity advice is built around some version of this idea. Then I noticed something strange. Some days I could spend ten hours at a desk and accomplish almost nothing. Other days I could spend three hours working and make more progress than I had all week. The difference wasn't effort. The difference was context. The Most Expensive Thing Is Not Time Ask people what their most limited resource is and most will answer: Time. But for knowledge workers, engineers, researchers, writers, and designers, I think the scarcer resource is often something else. Mental state. The ability to hold a problem in your head. The ability to remember why a decision was made. The ability to see connections between ideas. The ability to continue a train of thought without interruption. That's the state where meaningful work happens. And it's surprisingly fragile. Every Context Switch Has a Cost Imagine you're debugging a difficult issue. You've already: read the logs inspected the code traced the requests formed a hypothesis You're finally starting to see the shape of the problem. Then: a Slack notification arrives someone schedules a meeting an email requires attention a different task becomes urgent The interruption itself might only take two minutes. The real cost is what disappears. The mental model. The momentum. The partially constructed map inside your head. The next time you return to the task, you don't continue where you left off. You rebuild. Software Often Creates The Problem It Tries To Solve One thing that surprised me after building products for years is how much software exists primarily because other software creates friction. A note-taking application exists because memory is limited. A task manager exists because priorities change. A research assistant exists because information is fragmented. Many tools are not solving fundamental problems.
AI 资讯
Amazon STAR Method 2026: The Complete Cheat Sheet (30+ Questions + Scored Examples)
If you're interviewing at Amazon this year, you've probably read that you need to "prepare STAR stories." What most guides don't tell you is exactly how Amazon uses STAR differently from every other company — and what interviewers are silently scoring you against while you talk. Here's the complete 2026 breakdown: the cheat sheet, the full question bank, scored example answers, and the four mistakes that get candidates rejected even when their stories are genuinely impressive. Why Amazon STAR Is Different Amazon evaluates every behavioral answer against its 16 Leadership Principles. This isn't just culture marketing — interviewers are trained to map your stories to specific LPs and give them discrete scores. A Bar Raiser isn't just listening; they're running a rubric. The STAR formula at Amazon has specific time allocations that most candidates ignore: Situation (10%): Set the context in 20–30 seconds max Task (10%): What was specifically your responsibility Action (50%): What you did — not your team, not your manager Result (30%): Quantified outcomes only That weighting is the whole game. Most candidates spend 60% of their answer on Situation and Task, then rush through Action and Result — which is exactly backwards from what gets high scores. The "I" Rule: The Single Biggest Reason Candidates Fail Bar Raisers flag one thing more than any other: candidates who say "we" during the Action phase. Weak answer: "We decided to refactor the codebase, and we deployed a caching layer to fix the latency issue." Strong answer: "I identified the bottleneck using distributed tracing. I proposed the Redis caching layer to my tech lead and personally implemented the proof-of-concept over a weekend before bringing it to the team." Amazon hires individuals. If you can't cleanly separate your contribution from the group's work, interviewers have no signal on whether you were the driver or just along for the ride. Every sentence in your Action phase should start with "I." 30 Amazon S
AI 资讯
Software Engineering: The Art of Thinking Out Loud (with AI)
A colleague said something to me recently that I keep coming back to: "Often, by the time you've finished articulating a complex problem for the AI, you've already solved it yourself." It sounds almost like a joke. You open a chat window, start typing out your problem in careful detail — and somewhere in the middle of the second paragraph, the answer appears. Not from the AI. From you. If you've worked with LLMs seriously, you've probably experienced this. And I think it points to something important about what is actually changing in our craft — something that goes beyond the usual conversation about automation and job displacement. The Rubber Duck, Promoted Developers have known for decades that explaining a problem out loud helps solve it. The classic technique involves a rubber duck: you place it on your desk, narrate your code to it, and the act of articulation forces you to confront the assumptions you'd quietly made. The duck never responds. That's not the point. The LLM is a rubber duck that occasionally says something useful back. But even when it doesn't — even when the response is generic or slightly off — the discipline of formulating the prompt has already done its work. You've had to be precise. You've had to strip away ambiguity. You've had to decide what actually matters. That process is not a workaround. It is thinking. The Inversion of the Workflow In the pre-AI era, the typical development workflow looked something like this: you had a rough mental model of the solution, you started coding, and you discovered the edge cases along the way. The code was exploratory. The thinking happened during the writing. With AI assistance, that workflow inverts. Vague inputs produce vague outputs — the model has no way to compensate for an underspecified problem. So precision becomes mandatory upfront. You have to think before you type, not while you type. This is a more demanding cognitive posture. It requires holding the full shape of a problem in your head be
开发者
I Thought Coding Was The Job
Two years ago, when I got my first freelance client, I was still in my final semester of college. A...