<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title><![CDATA[Sage Ideas — Solo Studio Operating System]]></title>
    <description><![CDATA[Writing on solo engineering, building in public, career leverage, LLC operations, documentation, and durable personal systems.]]></description>
    <link>https://www.sageideas.dev/topics/solo-studio</link>
    <atom:link href="https://www.sageideas.dev/feed/solo-studio.xml" rel="self" type="application/rss+xml"/>
    <language>en-us</language>
    <managingEditor>sage@sageideas.dev (Jason Teixeira)</managingEditor>
    <lastBuildDate>Wed, 05 Aug 2026 06:02:27 GMT</lastBuildDate>
    <ttl>60</ttl>
    <item>
      <title><![CDATA[The Difference Between Testimonials and Proof]]></title>
      <description><![CDATA[Testimonials are quotes. Proof is a system: source, context, receipt, methodology, limits, and next action.]]></description>
      <content:encoded><![CDATA[<h1>The Difference Between Testimonials and Proof</h1>
<p>A testimonial is a quote.</p>
<p>Proof is a system.</p>
<p>That difference matters because most premium websites are overdesigned and under-evidenced. They look expensive, but the proof is thin. Three quotes. Four logos. A vague claim about outcomes. A case-study page with no numbers, no screenshots, and no explanation of what the team actually did.</p>
<p>That is not enough anymore.</p>
<p>Buyers have seen too many fake walls of logos and too many anonymous “VP of Product” quotes.</p>
<p>They read with suspicion.</p>
<h2>A testimonial answers one question</h2>
<p>A testimonial says:</p>
<p>Someone had a good experience.</p>
<p>That is useful, but limited.</p>
<p>It does not tell the buyer:</p>
<ul>
<li>where the quote came from</li>
<li>whether the person approved it</li>
<li>what changed</li>
<li>what the scope was</li>
<li>whether the result was typical</li>
<li>whether there is a screenshot, metric, or artifact behind it</li>
</ul>
<p>The quote helps.</p>
<p>It is not the whole proof.</p>
<h2>Proof answers the next six questions</h2>
<p>Proof goes further:</p>
<ol>
<li>Source: where did this come from?</li>
<li>Context: what was the situation?</li>
<li>Artifact: what can I inspect?</li>
<li>Outcome: what changed?</li>
<li>Limit: what does this not prove?</li>
<li>Route: what should I read or do next?</li>
</ol>
<p>That structure makes proof useful to both humans and search engines.</p>
<p>Humans get confidence.</p>
<p>Search engines get crawlable context.</p>
<p>The site gets internal links that move attention from education to offer to proof.</p>
<h2>Proof can be anonymous and still honest</h2>
<p>Not every business can publish client names.</p>
<p>That is normal.</p>
<p>NDAs exist. Sensitive industries exist. Early client relationships exist. Some customers are happy to be reference calls but not public logos.</p>
<p>The mistake is pretending anyway.</p>
<p>An honest anonymous proof card can say:</p>
<ul>
<li>role</li>
<li>industry</li>
<li>relationship context</li>
<li>what kind of reference is available</li>
<li>whether a call can be arranged during discovery</li>
</ul>
<p>That is weaker than a named quote, but it is stronger than a fake logo.</p>
<p>Sage Ideas uses this pattern intentionally: callable references until named, permissioned testimonials are available.</p>
<h2>Proof needs page architecture</h2>
<p>Do not place all proof in one section and call it done.</p>
<p>Proof belongs across the site:</p>
<ul>
<li>homepage: short proof ledger</li>
<li>work pages: screenshots, architecture, decisions, outcomes</li>
<li>service pages: relevant case study links</li>
<li>pricing: risk reversal and scope clarity</li>
<li>trust page: references, credentials, process, security posture</li>
<li>blog: teardown articles that explain how proof was created</li>
<li>academy: lessons built from real artifacts</li>
</ul>
<p>That is how a site starts to feel serious.</p>
<p>The proof is not attached to the brand.</p>
<p>It is woven through the brand.</p>
<h2>Proof needs limits</h2>
<p>A premium brand can say what it does not prove.</p>
<p>That line is underrated.</p>
<p>If a customer doubled an account, the page should explain the window, source, and risk. If a client launched faster, the page should explain the scope. If a tool improved a workflow, the page should show what was measured and what was not.</p>
<p>Limit language does not weaken proof.</p>
<p>It makes proof credible.</p>
<p>The buyer can tell the difference between confidence and fantasy.</p>
<h2>Proof should create content</h2>
<p>Every proof asset can become content:</p>
<ul>
<li>a case study</li>
<li>a teardown</li>
<li>a checklist</li>
<li>a short video</li>
<li>a founder note</li>
<li>a comparison page</li>
<li>an academy lesson</li>
</ul>
<p>That is the content engine.</p>
<p>Not “write more posts.”</p>
<p>Turn real artifacts into useful public thinking.</p>
<h2>The standard for this site</h2>
<p>For Sage Ideas, the bar is:</p>
<ul>
<li>no invented testimonials</li>
<li>no fake screenshots</li>
<li>no borrowed logos</li>
<li>no unqualified outcome claims</li>
<li>real product screenshots when available</li>
<li>real founder photo</li>
<li>real case-study visuals</li>
<li>named testimonials only with permission</li>
<li>anonymous references clearly labeled</li>
</ul>
<p>That is not a constraint.</p>
<p>It is the brand.</p>
<p>The more fake the internet gets, the more valuable provenance becomes.</p>
<p>Related: <a href="/trust">Trust</a>, <a href="/work">Work</a>, <a href="/academy">Sage Academy</a></p>
]]></content:encoded>
      <link>https://www.sageideas.dev/blog/the-difference-between-testimonials-and-proof</link>
      <guid isPermaLink="true">https://www.sageideas.dev/blog/the-difference-between-testimonials-and-proof</guid>
      <pubDate>Tue, 16 Jun 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Strategy]]></category>
      <author>sage@sageideas.dev (Jason Teixeira)</author>
    </item>
    <item>
      <title><![CDATA[What I Learned Building in Public as a Solo Engineer]]></title>
      <description><![CDATA[One year of building the Nexural ecosystem, trading futures, writing a book, and documenting everything. The wins, the failures, and what I'd tell someone starting today.]]></description>
      <content:encoded><![CDATA[<h1>What I Learned Building in Public as a Solo Engineer</h1>
<p>One year ago, I left my role at HighStrike and founded Sage Ideas LLC. Since then, I&#39;ve built a fintech platform with 185 database tables, an AI-powered Discord bot, an ML trading signal system, a 120,000-word book on trading, and this portfolio site.</p>
<p>Here&#39;s what I learned.</p>
<h2>The Loneliness is Real</h2>
<p>Solo engineering means:</p>
<ul>
<li>No code reviews (you review your own code)</li>
<li>No architecture discussions (you argue with yourself)</li>
<li>No one to catch your blind spots (you discover them in production)</li>
<li>No one to celebrate wins with (you push to main and move on)</li>
</ul>
<p>The fix: I started documenting my decisions. Every major architecture decision gets a markdown file explaining what I chose and why. It&#39;s a conversation with my future self — and now it&#39;s content for my portfolio.</p>
<h2>Ship Weekly, Not Monthly</h2>
<p>My first 3 months, I built for 4 weeks before deploying. I&#39;d find bugs, realize I&#39;d built the wrong thing, and waste days refactoring.</p>
<p>Now I ship every week. Sometimes every day. Small deploys mean:</p>
<ul>
<li>Less risk per deploy</li>
<li>Faster feedback</li>
<li>Easier rollbacks</li>
<li>Visible progress (crucial for motivation)</li>
</ul>
<h2>The 80/20 of Solo Engineering</h2>
<p><strong>20% of the work that produces 80% of the value:</strong></p>
<ul>
<li>Database schema design (get this right and everything downstream is easier)</li>
<li>API contract definition (Zod schemas catch 90% of integration bugs)</li>
<li>CI/CD setup (automated deploys = you ship more)</li>
<li>Error monitoring (knowing about bugs before users report them)</li>
</ul>
<p><strong>80% of the work that produces 20% of the value:</strong></p>
<ul>
<li>Pixel-perfect UI (users care about function, not font weight)</li>
<li>Performance optimization before you have users</li>
<li>Writing tests for code that&#39;s going to change next week</li>
<li>Choosing the &quot;perfect&quot; tech stack</li>
</ul>
<h2>The Financial Reality</h2>
<p>I&#39;m an active futures trader. Trading income funds the building. This is a luxury most solo builders don&#39;t have.</p>
<p>Without trading income, I&#39;d have needed:</p>
<ul>
<li>6 months of savings minimum</li>
<li>A clear monetization path before building</li>
<li>Paying customers before building features</li>
</ul>
<p>Building in public without revenue pressure is a privilege. Building in public WITH revenue pressure is entrepreneurship. They require different strategies.</p>
<h2>What Actually Got Me Hired (Interviews and Interest)</h2>
<p>After building all of this, here&#39;s what hiring managers and potential clients actually care about:</p>
<ol>
<li><p><strong>&quot;You built a platform with 185 tables?&quot;</strong> — Scale impresses. Not the number itself, but the fact that I designed and managed it solo.</p>
</li>
<li><p><strong>&quot;You trade the same instruments your software analyzes?&quot;</strong> — Domain expertise is rare. Most fintech developers don&#39;t use their own products.</p>
</li>
<li><p><strong>&quot;Where&#39;s the live demo?&quot;</strong> — The quality dashboard on my portfolio site has started more conversations than my resume. People can see it working.</p>
</li>
<li><p><strong>&quot;You wrote a 120K-word book?&quot;</strong> — This signals commitment, deep thinking, and communication skills. Nobody writes 120K words casually.</p>
</li>
<li><p><strong>&quot;Show me the GitHub&quot;</strong> — They want to see real code, real commits, real CI pipelines. Not a polished portfolio page — the actual repository.</p>
</li>
</ol>
<h2>What I&#39;d Tell Someone Starting Today</h2>
<ol>
<li><p><strong>Pick one thing and ship it.</strong> Don&#39;t build a &quot;platform.&quot; Build a single feature, deploy it, and show it to one person. Then build the next feature.</p>
</li>
<li><p><strong>Document obsessively.</strong> Your documentation is your portfolio. Your commit messages are your work log. Your architecture docs are your case studies.</p>
</li>
<li><p><strong>Build what you use.</strong> I built trading tools because I trade. I built test frameworks because I test. Conviction comes through when you build for yourself.</p>
</li>
<li><p><strong>Don&#39;t optimize before you have users.</strong> Ship the ugly version. Get feedback. Then polish.</p>
</li>
<li><p><strong>Your portfolio IS the project.</strong> The meta-project of maintaining a portfolio site with SLOs, incident drills, and evidence artifacts is itself proof of engineering maturity.</p>
</li>
</ol>
<h2>One Year Later</h2>
<p>I&#39;ve built more in one year solo than many teams build in two. Not because I&#39;m faster — because I have no meetings, no planning poker, no sprint ceremonies, and no organizational overhead.</p>
<p>The trade-off is loneliness, self-doubt, and the constant question: &quot;Is this good enough?&quot; The answer is always &quot;ship it and find out.&quot;</p>
]]></content:encoded>
      <link>https://www.sageideas.dev/blog/what-i-learned-building-in-public-as-a-solo-engineer</link>
      <guid isPermaLink="true">https://www.sageideas.dev/blog/what-i-learned-building-in-public-as-a-solo-engineer</guid>
      <pubDate>Sun, 15 Feb 2026 00:00:00 GMT</pubDate>
      <category><![CDATA[Career]]></category>
      <author>sage@sageideas.dev (Jason Teixeira)</author>
    </item>
    <item>
      <title><![CDATA[How to Review Your Own Code (When There's Nobody Else)]]></title>
      <description><![CDATA[Solo engineering means no code reviews. I've developed a self-review process that catches 80% of what a second pair of eyes would find. It starts with stepping away.]]></description>
      <content:encoded><![CDATA[<h1>How to Review Your Own Code (When There&#39;s Nobody Else)</h1>
<p>On larger teams, every PR gets reviewed by at least one other engineer. At Sage Ideas, I&#39;m the only engineer. Nobody reviews my code.</p>
<p>This is a problem. Not because I write bad code — but because I&#39;m blind to my own assumptions. Every developer is.</p>
<p>I&#39;ve developed a self-review process that catches most of what a second pair of eyes would. It&#39;s not perfect, but it&#39;s dramatically better than &quot;looks good, merge.&quot;</p>
<h2>The 24-Hour Rule</h2>
<p>I never review code I wrote today. The minimum gap between writing and reviewing is 24 hours. Ideally 48.</p>
<p>This sounds slow. It&#39;s actually fast. In those 24 hours, I&#39;m building something else. When I come back to review, I&#39;ve partially forgotten my implementation. That forgetting is the point — it lets me read the code like someone else wrote it.</p>
<h2>The Review Checklist</h2>
<p>I review in 4 passes. Each pass looks for different things:</p>
<h3>Pass 1: Read Like a User (5 minutes)</h3>
<p>Don&#39;t look at the code. Open the PR diff and read just the file names and line counts.</p>
<p>Questions:</p>
<ul>
<li>Does the change make sense from the file names alone?</li>
<li>Is it touching too many files? (sign of a coupled change)</li>
<li>Are there files that shouldn&#39;t be in this change?</li>
</ul>
<h3>Pass 2: Read for Logic (15 minutes)</h3>
<p>Now read the code. But don&#39;t check for style, naming, or formatting. Just logic.</p>
<p>Questions:</p>
<ul>
<li>Does the happy path work?</li>
<li>What happens with null/undefined inputs?</li>
<li>Are there any cases where this fails silently?</li>
<li>Am I handling the error case, or just logging and moving on?</li>
<li>Is there a race condition? (Especially in async code)</li>
</ul>
<h3>Pass 3: Read for Security (10 minutes)</h3>
<p>\\</p>
]]></content:encoded>
      <link>https://www.sageideas.dev/blog/how-to-review-your-own-code-when-there</link>
      <guid isPermaLink="true">https://www.sageideas.dev/blog/how-to-review-your-own-code-when-there</guid>
      <pubDate>Mon, 08 Dec 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[Engineering]]></category>
      <author>sage@sageideas.dev (Jason Teixeira)</author>
    </item>
    <item>
      <title><![CDATA[The Myth of the 10x Developer]]></title>
      <description><![CDATA[There are no 10x developers. There are developers with 10x clarity about what to build and what to skip. The difference is decision-making, not typing speed.]]></description>
      <content:encoded><![CDATA[<h1>The Myth of the 10x Developer</h1>
<p>The &quot;10x developer&quot; is the tech industry&#39;s Bigfoot. Everyone claims to have seen one. Nobody can prove they exist.</p>
<p>What DOES exist: developers who produce 10x the value. But not by writing 10x the code. By writing 1/10th the code — the right 1/10th.</p>
<h2>The Real 10x Skill: Knowing What Not to Build</h2>
<p>I&#39;ve watched two developers tackle the same problem:</p>
<p><strong>Developer A</strong> built a custom event sourcing system with CQRS, a saga pattern for distributed transactions, and a custom query language. It took 6 weeks and had 3 critical bugs at launch.</p>
<p><strong>Developer B</strong> used a PostgreSQL table with a status column and a cron job. It took 3 days and worked perfectly for 2 years.</p>
<p>Developer B looked &quot;less impressive.&quot; Their code wasn&#39;t clever. Their architecture wasn&#39;t interesting. But their solution shipped in 3 days, never broke, and cost $0 in infrastructure.</p>
<p>Developer B was the 10x developer.</p>
<h2>What Actually Makes Someone Productive</h2>
<p><strong>1. They delete code more than they write it.</strong></p>
<p>Every line of code is a liability. It needs to be understood, tested, maintained, and debugged. The developer who deletes 200 lines and replaces them with 40 has improved the codebase more than the one who added 400 lines.</p>
<p><strong>2. They say &quot;no&quot; more than &quot;yes.&quot;</strong></p>
<p>&quot;Should we add GraphQL?&quot; No, our 5 clients are fine with REST.
&quot;Should we add a caching layer?&quot; No, our database handles the load.
&quot;Should we migrate to microservices?&quot; No, our monolith deploys in 30 seconds.</p>
<p>Every &quot;no&quot; saves weeks of work that would produce zero user value.</p>
<p><strong>3. They communicate before they code.</strong></p>
<p>The most productive developer I ever worked with spent 3 hours a day in meetings. Not pointless meetings — architecture discussions, product alignment, cross-team coordination. His code output was &quot;low.&quot; His team shipped 2x faster than any other team.</p>
<p>He was removing ambiguity. Every hour of upfront clarity saves 10 hours of rework.</p>
<p><strong>4. They automate themselves out of work.</strong></p>
<p>I wrote a CI pipeline that runs 500+ tests in 8 minutes. That pipeline has saved thousands of hours of manual testing across the team. The ROI of that one automation dwarfs anything else I built that quarter.</p>
<p>10x productivity isn&#39;t about velocity — it&#39;s about leverage. Build things that multiply everyone&#39;s output, not just your own.</p>
<h2>The Uncomfortable Truth About Productivity</h2>
<p>Most engineering time isn&#39;t spent writing code. It&#39;s spent:</p>
<ul>
<li>Understanding requirements (30%)</li>
<li>Reading existing code (25%)</li>
<li>Debugging (20%)</li>
<li>Waiting for CI/deploys (10%)</li>
<li>Actually writing code (15%)</li>
</ul>
<p>If you want to be 10x more productive, don&#39;t learn to type faster. Learn to:</p>
<ul>
<li>Ask better questions during requirements</li>
<li>Navigate codebases faster</li>
<li>Debug systematically instead of randomly</li>
<li>Automate your CI/CD pipeline</li>
</ul>
<h2>Why This Matters for Your Career</h2>
<p>The market pays for output, not effort. Nobody cares if you worked 80 hours this week. They care if the feature shipped, if it works, and if it didn&#39;t break anything.</p>
<p>The developer who ships the right thing in 20 hours is more valuable than the one who ships the wrong thing in 60 hours.</p>
<p>Focus on making the right decisions. The code will follow.</p>
]]></content:encoded>
      <link>https://www.sageideas.dev/blog/the-myth-of-the-10x-developer</link>
      <guid isPermaLink="true">https://www.sageideas.dev/blog/the-myth-of-the-10x-developer</guid>
      <pubDate>Fri, 10 Oct 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[Career]]></category>
      <author>sage@sageideas.dev (Jason Teixeira)</author>
    </item>
    <item>
      <title><![CDATA[Running an LLC as an Engineer: What Nobody Tells You]]></title>
      <description><![CDATA[I founded Sage Ideas LLC. Here's the stuff the 'start a consulting business' articles leave out — taxes, insurance, contracts, and why I keep a personal financial runway.]]></description>
      <content:encoded><![CDATA[<h1>Running an LLC as an Engineer: What Nobody Tells You</h1>
<p>In 2024, I filed the paperwork for Sage Ideas LLC. $125 in filing fees. 20 minutes on the Florida Division of Corporations website. Easy.</p>
<p>Everything after that was the hard part nobody warned me about.</p>
<h2>What They Tell You</h2>
<p>&quot;Start an LLC for liability protection. Take consulting gigs. Write off your laptop. Be your own boss.&quot;</p>
<p>Great pitch. Here&#39;s the reality.</p>
<h2>What They Don&#39;t Tell You</h2>
<h3>Self-Employment Tax Is 15.3%</h3>
<p>As an employee, your employer pays half of Social Security and Medicare taxes. As an LLC, YOU pay both halves. That&#39;s 15.3% on top of your income tax.</p>
<p>At $150K income:</p>
<ul>
<li><strong>As W-2 employee:</strong> ~$5,700 FICA (your half)</li>
<li><strong>As LLC:</strong> ~$22,950 self-employment tax</li>
</ul>
<p>That $23K difference is the &quot;freedom tax.&quot; It&#39;s real, it&#39;s every year, and most &quot;start a consulting business&quot; articles conveniently forget to mention it.</p>
<p>The mitigation: S-Corp election. Once your income justifies it (~$80K+), electing S-Corp treatment lets you split income into salary (subject to FICA) and distributions (not subject to FICA). You&#39;ll need an accountant for this.</p>
<h3>Quarterly Estimated Taxes</h3>
<p>No employer is withholding taxes from your checks. The IRS expects quarterly payments: April 15, June 15, September 15, January 15.</p>
<p>Miss one? Penalty. Underpay? Penalty. Pay the right amount but a day late? Believe it or not, penalty.</p>
<p>I set aside 30% of every payment into a separate savings account labeled &quot;TAXES DO NOT TOUCH.&quot; It&#39;s not elegant but I&#39;ve never been surprised at tax time.</p>
<h3>Health Insurance Is Expensive</h3>
<p>Employer-sponsored health insurance costs you maybe $200-400/month (they pay the rest). Individual health insurance: $500-1,200/month depending on your state, age, and plan.</p>
<p>In Florida, my options were $680/month for a decent PPO or $420/month for a high-deductible plan with a $7,000 deductible. I went with the HDHP and opened an HSA (triple tax advantage — deductible contributions, tax-free growth, tax-free medical withdrawals).</p>
<h3>Contracts Are Your Only Protection</h3>
<p>When you&#39;re W-2, employment law protects you. When you&#39;re 1099/LLC, the contract IS the law.</p>
<p>My contract template includes:</p>
<ul>
<li><strong>Scope of work</strong> (exactly what I&#39;m building, not &quot;whatever you need&quot;)</li>
<li><strong>Payment terms</strong> (50% upfront, 50% on delivery. Non-negotiable.)</li>
<li><strong>Revision limits</strong> (2 rounds of revisions included, additional at hourly rate)</li>
<li><strong>IP assignment</strong> (client owns the code upon final payment)</li>
<li><strong>Kill clause</strong> (either party can terminate with 14 days notice, pro-rated payment for work completed)</li>
<li><strong>Liability cap</strong> (my liability is limited to the total contract value)</li>
</ul>
<p>I learned about the kill clause the hard way — a client ghosted midway through a project. Without the clause, I had no way to formally end the engagement and free myself up for other work.</p>
<h3>The Feast-or-Famine Cycle</h3>
<p>Month 1: Three clients want projects. You&#39;re overbooked.
Month 3: All three projects finish. Your pipeline is empty.
Month 4: You&#39;re scrambling for new clients while burning runway.</p>
<p>My fix: always have 6 months of expenses in the business account. This lets me say no to bad projects during feast times and survive without panic during famine times.</p>
<h2>Why I Still Do It</h2>
<p>Despite the taxes, insurance, contracts, and uncertainty — I wouldn&#39;t go back to full-time employment (at least not without the right opportunity).</p>
<p>The reasons:</p>
<ul>
<li><strong>I choose what I build.</strong> No sprint planning for features I disagree with.</li>
<li><strong>I choose who I work with.</strong> Toxic client? End the contract.</li>
<li><strong>I build equity in my own brand.</strong> Every project I complete adds to Sage Ideas&#39; portfolio, not some company&#39;s internal tools.</li>
<li><strong>The income ceiling is higher.</strong> A senior engineer tops out at $250-350K in salary. A consultant billing $150/hr at 30 hours/week makes $234K — with more flexibility.</li>
</ul>
<h2>The Advice I&#39;d Give Past Me</h2>
<ol>
<li><strong>Get an accountant before you need one.</strong> Don&#39;t figure out S-Corp election and quarterly taxes on your own.</li>
<li><strong>Say no to your first client offer.</strong> Not literally — but negotiate. The first offer is never the best offer.</li>
<li><strong>Build your personal brand before you need clients.</strong> My portfolio site generates inbound inquiries now. That took a year to build.</li>
<li><strong>Keep your W-2 job until your LLC has 3 months of runway.</strong> Don&#39;t jump without a net.</li>
</ol>
<p>The LLC isn&#39;t the hard part. The discipline — saving for taxes, maintaining health insurance, managing feast-and-famine — that&#39;s the real work.</p>
]]></content:encoded>
      <link>https://www.sageideas.dev/blog/running-an-llc-as-an-engineer-what-nobody-tells-you</link>
      <guid isPermaLink="true">https://www.sageideas.dev/blog/running-an-llc-as-an-engineer-what-nobody-tells-you</guid>
      <pubDate>Mon, 22 Sep 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[Career]]></category>
      <author>sage@sageideas.dev (Jason Teixeira)</author>
    </item>
    <item>
      <title><![CDATA[The Technical Interview From Both Sides of the Table]]></title>
      <description><![CDATA[I've been the candidate sweating through system design questions and the interviewer evaluating them. The gap between what interviewers look for and what candidates prepare is enormous.]]></description>
      <content:encoded><![CDATA[<h1>The Technical Interview From Both Sides of the Table</h1>
<p>I&#39;ve sat on both sides. I&#39;ve whiteboarded system designs while an interviewer nodded silently. I&#39;ve also been the one nodding, watching a candidate design a notification system on a whiteboard.</p>
<p>The gap between what candidates prepare and what interviewers actually evaluate is staggering.</p>
<h2>What Candidates Prepare For</h2>
<ul>
<li>LeetCode hard problems</li>
<li>Obscure algorithm trivia</li>
<li>&quot;Tell me about a time when...&quot;</li>
<li>Memorized system design answers</li>
</ul>
<h2>What Interviewers Actually Evaluate</h2>
<ul>
<li><p><strong>How you handle ambiguity.</strong> The first thing I do when given a system design problem is ask clarifying questions. &quot;How many users? What&#39;s the latency requirement? What&#39;s the budget?&quot; Candidates who start drawing boxes before asking questions are a red flag. They build without understanding requirements — and they&#39;ll do the same on the job.</p>
</li>
<li><p><strong>Trade-off awareness.</strong> There&#39;s no perfect architecture. Every choice has a cost. When a candidate says &quot;we should use Kafka for the message queue,&quot; I ask &quot;why not SQS?&quot; If they can articulate the trade-off (Kafka: higher throughput, more operational overhead, better replay; SQS: simpler, managed, good enough for most cases), they understand engineering. If they say &quot;Kafka is industry standard,&quot; they&#39;re cargo culting.</p>
</li>
<li><p><strong>Failure mode thinking.</strong> &quot;What happens when this service goes down?&quot; If the answer is &quot;it won&#39;t go down,&quot; I know they&#39;ve never operated a system in production. Everything goes down. The question is whether you&#39;ve designed for it.</p>
</li>
<li><p><strong>Communication clarity.</strong> Can you explain your design to a non-technical person in the room? Senior roles involve communicating with product managers, designers, and executives. If you can only explain your system to other engineers, you&#39;ve hit your ceiling.</p>
</li>
</ul>
<h2>The Questions I Ask (and What I&#39;m Really Testing)</h2>
<p><strong>&quot;Walk me through a recent project you&#39;re proud of.&quot;</strong></p>
<p>I&#39;m testing: Can you tell a coherent story? Do you mention constraints, not just technology? Do you credit your team or take all the credit? Do you mention what you&#39;d do differently?</p>
<p><strong>&quot;You&#39;re getting 500 errors in production. Walk me through your debugging process.&quot;</strong></p>
<p>I&#39;m testing: Do you have a systematic approach, or do you guess? Do you check logs and metrics first, or do you start changing code? Do you think about blast radius?</p>
<p><strong>&quot;Design a system for [X]. You have 45 minutes.&quot;</strong></p>
<p>I&#39;m testing: Do you ask questions first? Do you start with requirements or with technology? Do you mention monitoring, error handling, and scaling — or just the happy path?</p>
<h2>What Changed When I Started Interviewing</h2>
<p>As a candidate, I thought the interviewer wanted the &quot;right answer.&quot; As an interviewer, I learned there is no right answer. I&#39;m evaluating your thought process.</p>
<p>The candidate who designs a simple system, acknowledges its limitations, and explains when they&#39;d add complexity is stronger than the candidate who designs a complex system they can&#39;t explain.</p>
<h2>My Advice (From Both Sides)</h2>
<p><strong>For candidates:</strong></p>
<ol>
<li>Ask 3-5 clarifying questions before designing anything</li>
<li>Start simple and add complexity when asked</li>
<li>Mention failure modes unprompted (&quot;if this service goes down, here&#39;s what happens&quot;)</li>
<li>Explain trade-offs for every major decision</li>
<li>Be honest about what you don&#39;t know — &quot;I haven&#39;t used Kafka at scale, but I understand the throughput benefits. For this use case, I&#39;d start with SQS and migrate if we need replay&quot;</li>
</ol>
<p><strong>For interviewers:</strong></p>
<ol>
<li>Don&#39;t test for specific technology knowledge — test for engineering judgment</li>
<li>Ask &quot;what would you do differently?&quot; — the best engineers have strong opinions about their own work</li>
<li>Give candidates room to recover from mistakes — how they handle being wrong tells you more than getting it right</li>
</ol>
<p>The best interviews feel like working sessions. The worst feel like interrogations. Design for the former.</p>
]]></content:encoded>
      <link>https://www.sageideas.dev/blog/the-technical-interview-from-both-sides-of-the-table</link>
      <guid isPermaLink="true">https://www.sageideas.dev/blog/the-technical-interview-from-both-sides-of-the-table</guid>
      <pubDate>Mon, 15 Sep 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[Career]]></category>
      <author>sage@sageideas.dev (Jason Teixeira)</author>
    </item>
    <item>
      <title><![CDATA[Everything I Shipped This Year (And What I'd Cut in Hindsight)]]></title>
      <description><![CDATA[A year-end retrospective: 7 systems, 185 tables, 51 blog posts, a book, and a trading career. What was worth it, what wasn't, and what I'm building next.]]></description>
      <content:encoded><![CDATA[<h1>Everything I Shipped This Year (And What I&#39;d Cut in Hindsight)</h1>
<p>A year ago, I founded Sage Ideas LLC with a vague plan: build trading tools, offer consulting, and see what happens. Here&#39;s the honest retrospective.</p>
<h2>What I Shipped</h2>
<p><strong>The Nexural Ecosystem</strong> — 7 interconnected systems:</p>
<ol>
<li>Trading Dashboard (185 tables, 69 APIs, Stripe billing)</li>
<li>Discord AI Engine (30+ commands, GPT-4o, 12 phases)</li>
<li>Research Engine (71+ metrics, strategy analysis)</li>
<li>Alert System (.NET 8, NinjaTrader integration)</li>
<li>Newsletter Studio (automated content pipeline)</li>
<li>Strategy Tracker (performance analytics)</li>
<li>Automation Suite (61 test suites)</li>
</ol>
<p><strong>AlphaStream</strong> — ML trading signals (200+ indicators, 5 models)</p>
<p><strong>RiskRadar</strong> — Portfolio risk platform (Ledoit-Wolf, CVaR, optimization)</p>
<p><strong>This Portfolio</strong> — The site you&#39;re reading. SLOs, incident drills, live dashboard, 27 artifacts, 51 blog posts.</p>
<p><strong>The Book</strong> — 120,000 words on trading. 24 chapters. In editorial phase.</p>
<p><strong>Active Trading</strong> — 8 symbols on NinjaTrader. ES, NQ, CL, GC, and more.</p>
<h2>What Was Worth Every Hour</h2>
<p><strong>The Nexural Platform.</strong> It&#39;s the centerpiece of my portfolio. Every interview and client conversation starts with &quot;you built a platform with 185 tables?&quot; The depth of this project opens doors that a dozen smaller projects never would.</p>
<p><strong>The Blog.</strong> 51 posts is a body of work that signals &quot;this person thinks deeply.&quot; Every post is a shareable artifact. When I apply for a job, I include a link to a relevant post. It&#39;s more convincing than a bullet point on a resume.</p>
<p><strong>The Platform Engineering Page.</strong> SLOs, incident drills, security receipts — this page alone has changed interview conversations from &quot;can you code?&quot; to &quot;tell me about your operational experience.&quot; That shift is the difference between mid-level and senior offers.</p>
<h2>What I&#39;d Cut</h2>
<p><strong>Nexural Newsletter Studio.</strong> Built it, barely used it. The trading community wanted Discord alerts, not email newsletters. I should have validated demand before building.</p>
<p><strong>Multiple API Testing Frameworks.</strong> I have 3 repos that do similar things: API-Test-Automation-Wireframe, API-Testing-Framework, and the API test suite in E-Commerce-Test-Suite. I should have built one excellent framework instead of three mediocre ones.</p>
<p><strong>The visual regression testing suite.</strong> Percy integration is cool, but the repo has 1 commit and tests 1 page. If I&#39;d spent those hours improving the E-Commerce-Test-Suite, my best QA repo would be even stronger.</p>
<h2>What I Learned About Building</h2>
<p><strong>Ship the first version ugly.</strong> The Nexural dashboard&#39;s first deploy was embarrassing. No styling, broken mobile layout, placeholder data. But it was live, I got feedback, and version 2 was 10x better because of it.</p>
<p><strong>Document as you build, not after.</strong> Every system I documented upfront was easier to maintain. Every system I said &quot;I&#39;ll document later&quot; became a mystery box within 3 months.</p>
<p><strong>Your portfolio IS the job.</strong> I spent more time on sageideas.dev than on most client projects. The ROI has been enormous — inbound interest, interview conversations that start at a higher level, and proof of operational maturity that no resume bullet point can match.</p>
<h2>What I&#39;m Building Next</h2>
<p>I have three things on my roadmap:</p>
<ol>
<li><p><strong>Improve existing projects.</strong> The 11 public repos on my portfolio need stronger READMEs, more commits, better CI, and real screenshots. Quality over quantity.</p>
</li>
<li><p><strong>A Terraform module library.</strong> Reusable AWS modules for the patterns I&#39;ve built multiple times. This fills the infrastructure gap in my portfolio.</p>
</li>
<li><p><strong>Open-source contributions.</strong> Even small PRs to established projects add credibility. I want 5-10 meaningful contributions to projects I actually use (Next.js, Supabase, Playwright).</p>
</li>
</ol>
<h2>The Honest Numbers</h2>
<table>
<thead>
<tr>
<th>Metric</th>
<th>Value</th>
</tr>
</thead>
<tbody><tr>
<td>Systems shipped</td>
<td>7</td>
</tr>
<tr>
<td>Database tables designed</td>
<td>185</td>
</tr>
<tr>
<td>API endpoints built</td>
<td>69</td>
</tr>
<tr>
<td>Blog posts written</td>
<td>50</td>
</tr>
<tr>
<td>Book words written</td>
<td>120,000</td>
</tr>
<tr>
<td>Certifications earned</td>
<td>9</td>
</tr>
<tr>
<td>Test suites running</td>
<td>61</td>
</tr>
<tr>
<td>GitHub commits</td>
<td>500+</td>
</tr>
<tr>
<td>Revenue generated</td>
<td>Private, but enough to fund the building</td>
</tr>
<tr>
<td>Hours worked</td>
<td>Too many to count</td>
</tr>
</tbody></table>
<h2>The Bottom Line</h2>
<p>Building in public for a year taught me that the work itself is the portfolio. Not a list of bullet points — the actual running systems, the honest blog posts, the documentation that outlasts you.</p>
<p>If you&#39;re starting your own engineering brand, my advice is simple: build real things, document obsessively, be honest about failures, and ship before you&#39;re ready.</p>
<p>The perfect portfolio doesn&#39;t exist. The shipped one does.</p>
]]></content:encoded>
      <link>https://www.sageideas.dev/blog/everything-i-shipped-this-year-and-what-i</link>
      <guid isPermaLink="true">https://www.sageideas.dev/blog/everything-i-shipped-this-year-and-what-i</guid>
      <pubDate>Sun, 10 Aug 2025 00:00:00 GMT</pubDate>
      <category><![CDATA[Career]]></category>
      <author>sage@sageideas.dev (Jason Teixeira)</author>
    </item>
  </channel>
</rss>