[{"data":1,"prerenderedAt":834},["ShallowReactive",2],{"navigation":3,"\u002Fblog\u002Fsoftware-engineering-and-itil-best-practices":204,"\u002Fblog\u002Fsoftware-engineering-and-itil-best-practices-surround":829},[4,8,12,16,20,24,28,32,36,40,44,48,52,56,60,64,68,72,76,80,84,88,92,96,100,104,108,112,116,120,124,128,132,136,140,144,148,152,156,160,164,168,172,176,180,184,188,192,196,200],{"title":5,"path":6,"stem":7},"You do not have time to not have tests","\u002Fblog\u002Fyou-do-not-have-time-to-not-have-tests","2.blog\u002F20211217.you-do-not-have-time-to-not-have-tests",{"title":9,"path":10,"stem":11},"Migrate Vue 2 with Vuetify and Jest to Vite and Vitest","\u002Fblog\u002Fmigrate-vue-2-with-vuetify-and-jest-to-vite-and-vitest","2.blog\u002F20220109.migrate-vue-2-with-vuetify-and-jest-to-vite-and-vitest",{"title":13,"path":14,"stem":15},"I am a Dark Matter Developer","\u002Fblog\u002Fi-am-a-dark-matter-developer","2.blog\u002F20220626.i-am-a-dark-matter-developer",{"title":17,"path":18,"stem":19},"Why using Conventional commits is useful","\u002Fblog\u002Fusing-conventional-commits","2.blog\u002F20240623.using-conventional-commits",{"title":21,"path":22,"stem":23},"Why you should make a toolbox repository","\u002Fblog\u002Fwhy-you-should-make-a-toolbox-repository","2.blog\u002F20240630.Why-you-should-make-a-toolbox-repository",{"title":25,"path":26,"stem":27},"Apache Airflow Part 1 - Why and Goals for a near Serverless ELT","\u002Fblog\u002Fapache-airflow-part-1-why-and-goals","2.blog\u002F20240710.apache-airflow-part-1-why-and-goals",{"title":29,"path":30,"stem":31},"Oh My Zsh on your server","\u002Fblog\u002Foh-my-zsh-on-your-server","2.blog\u002F20240711.oh-my-zsh-on-your-server",{"title":33,"path":34,"stem":35},"Fire tablet and YouTube Kids","\u002Fblog\u002Ffire-tablet-and-youtube-kids","2.blog\u002F20240714.fire-tablet-and-youtube-kids",{"title":37,"path":38,"stem":39},"Using Ollama and Continue as a GitHub Copilot Alternative","\u002Fblog\u002Fusing-ollama-and-continue-as-github-copilot-alternative","2.blog\u002F20240723.using-ollama-and-continue-as-github-copilot-alternative",{"title":41,"path":42,"stem":43},"Debugging Local Packages Made Easy with pnpm","\u002Fblog\u002Fdebugging-local-packages-with-pnpm-link","2.blog\u002F20250422.debugging local-packages-with-pnpm-link",{"title":45,"path":46,"stem":47},"Two Weeks with Cloudflare AI and Tools","\u002Fblog\u002Ftwo-weeks-with-cloudflare-ai-and-tools","2.blog\u002F20250509.two-weeks-with-cloudflare-aI-and-tools",{"title":49,"path":50,"stem":51},"Adding Prompts to VS Code - How I Learned to Stop Worrying and Love AI Context","\u002Fblog\u002Fadding-prompts-to-vscode","2.blog\u002F20250528.adding-prompts-to-vscode",{"title":53,"path":54,"stem":55},"My Best Practices","\u002Fblog\u002Fmy-best-practicies","2.blog\u002F20250607.my-best-practicies",{"title":57,"path":58,"stem":59},"Creating my own CLI Tool - Towles Tool","\u002Fblog\u002Ftowles-tool","2.blog\u002F20250607.towles-tool",{"title":61,"path":62,"stem":63},"Software Development Best Practices & ITIL","\u002Fblog\u002Fsoftware-engineering-and-itil-best-practices","2.blog\u002F20250612.software-engineering-and-itil-best-practices",{"title":65,"path":66,"stem":67},"Voice to Text","\u002Fblog\u002Fvoice-to-text","2.blog\u002F20250622.voice-to-text",{"title":69,"path":70,"stem":71},"Setting Up ComfyUI - A Better Alternative to Fooocus","\u002Fblog\u002Fcomfy-ui-setup","2.blog\u002F20250628.comfy-ui-setup",{"title":73,"path":74,"stem":75},"Voice to System","\u002Fblog\u002Fvoice-to-system","2.blog\u002F20250705.voice-to-system",{"title":77,"path":78,"stem":79},"Tips for Claude Code","\u002Fblog\u002Ftips-for-claude-code","2.blog\u002F20250713.tips-for-claude-code",{"title":81,"path":82,"stem":83},"Review That AI Code: Why I Read Every Line Generated Code","\u002Fblog\u002Freview-that-ai-code","2.blog\u002F20250720.review-that-ai-code",{"title":85,"path":86,"stem":87},"My Context Engineering Journey: From Dev Scripts to AI Collaboration","\u002Fblog\u002F20250803-1.my-context-engineering-journey","2.blog\u002F20250803-1.my-context-engineering-journey",{"title":89,"path":90,"stem":91},"Context Engineering at Scale: Enterprise Lessons and the Future of Development","\u002Fblog\u002F20250803-2.context-engineering-at-scale","2.blog\u002F20250803-2.context-engineering-at-scale",{"title":93,"path":94,"stem":95},"Check That Your Tools and Linters Do Not Burn Tokens","\u002Fblog\u002Fcheck-that-your-tools-and-linters-do-not-burn-tokens","2.blog\u002F20250806.check-that-your-tools-and-linters-do-not-burn-tokens",{"title":97,"path":98,"stem":99},"Markdown + AI: The Communication Protocol That Changes Everything","\u002Fblog\u002Fmarkdown-plus-ai-the-communication-protocol-that-changes-everything","2.blog\u002F20250814.markdown-plus-ai-the-communication-protocol-that-changes-everything",{"title":101,"path":102,"stem":103},"Finally: Type-Safe AI in Production (And Why I'm Here For It)","\u002Fblog\u002Ffinally-type-safe-ai-in-production-and-why-im-here-for-it","2.blog\u002F20250819.finally-type-safe-ai-in-production-and-why-im-here-for-it",{"title":105,"path":106,"stem":107},"Dotfiles: Masterpiece or Late Stage Picasso?","\u002Fblog\u002Fdotfiles-masterpiece-or-late-stage-picasso","2.blog\u002F20250822.dotfiles-masterpiece-or-late-stage-picasso",{"title":109,"path":110,"stem":111},"Beyond API Wrappers: Building State-Driven MCP Servers for Long-Horizon Agent Orchestration","\u002Fblog\u002Fbeyond-api-wrappers-mcp-servers","2.blog\u002F20250907.beyond-api-wrappers-mcp-servers",{"title":113,"path":114,"stem":115},"Why Vertical Integration Wins: A Software Engineer's Case for Owning Your Stack","\u002Fblog\u002Fwhy-i-bought-tesla-model-3-vertical-integration","2.blog\u002F20250928.why-i-bought-tesla-model-3-vertical-integration",{"title":117,"path":118,"stem":119},"The Min-Maxer's Trifecta: Building Tools for the Game You Actually Play","\u002Fblog\u002Fmin-maxer-trifecta","2.blog\u002F20251004.min-maxer-trifecta",{"title":121,"path":122,"stem":123},"Read The Source: Learning by Cutting Out The Middleman and RTFM","\u002Fblog\u002Fread-the-source","2.blog\u002F20251010.read-the-source",{"title":125,"path":126,"stem":127},"The Exponential Shift: Why AI Progress Feels Different Now","\u002Fblog\u002Fthe-exponential-shift","2.blog\u002F20251015.the-exponential-shift",{"title":129,"path":130,"stem":131},"Plan Mode for Your Problems, Edit Mode for Claude's","\u002Fblog\u002Fplan-mode-problems-edit-mode-solutions","2.blog\u002F20251019.plan-mode-problems-edit-mode-solutions",{"title":133,"path":134,"stem":135},"AWS Aurora DSQL Looked Perfect Until I Needed the Connection String","\u002Fblog\u002Faws-aurora-dsql-postgres-serverless-authentication","2.blog\u002F20251028.aws-aurora-dsql-postgres-serverless-authentication",{"title":137,"path":138,"stem":139},"Switchback: Browser History for Your Thoughts","\u002Fblog\u002Fswitchback-second-order-reasoning","2.blog\u002F20251205.switchback-second-order-reasoning",{"title":141,"path":142,"stem":143},"AI Pairing: Notes to Self","\u002Fblog\u002Fai-pairing-notes-to-self","2.blog\u002F20251216.ai-pairing-notes-to-self",{"title":145,"path":146,"stem":147},"I've Been Sleeping on Zellij","\u002Fblog\u002Fsleeping-on-zellij","2.blog\u002F20251229.sleeping-on-zellij",{"title":149,"path":150,"stem":151},"Implementing a Ralph Wiggum Loop: The Secret is Session Markers","\u002Fblog\u002Fimplementing-ralph-wiggum-loop-for-autonomous-ai-coding","2.blog\u002F20260114.implementing-ralph-wiggum-loop-for-autonomous-ai-coding",{"title":153,"path":154,"stem":155},"Goodhart's Law Ate My Context Window","\u002Fblog\u002Fgoodharts-law-ate-my-context-window","2.blog\u002F20260119.goodharts-law-ate-my-context-window",{"title":157,"path":158,"stem":159},"Claude Code's Hidden Multi-Agent System Is Real","\u002Fblog\u002Fclaude-code-hidden-multi-agent-system","2.blog\u002F20260124.claude-code-hidden-multi-agent-system",{"title":161,"path":162,"stem":163},"Free Printable Math Sheets for Kids — Number Chart, Skip Counting, Multiplication, and More","\u002Fblog\u002Ffree-printable-number-chart-and-coin-sheets","2.blog\u002F20260214.free-printable-number-chart-and-coin-sheets",{"title":165,"path":166,"stem":167},"We Are Near the End of the Exponential","\u002Fblog\u002Fnear-the-end-of-the-exponential","2.blog\u002F20260214.near-the-end-of-the-exponential",{"title":169,"path":170,"stem":171},"Free Printable Language Arts Sheets for Kids — Sight Words, Parts of Speech, Homophones, and More","\u002Fblog\u002Ffree-printable-sight-words-and-grammar-sheets","2.blog\u002F20260215.free-printable-sight-words-and-grammar-sheets",{"title":173,"path":174,"stem":175},"Interactive Code Execution with Artifacts","\u002Fblog\u002Finteractive-code-execution-with-artifacts","2.blog\u002F20260215.interactive-code-execution-with-artifacts",{"title":177,"path":178,"stem":179},"Free Printable Telling Time Worksheet for Kids — Clock Reference & Practice Sheet","\u002Fblog\u002Ffree-printable-telling-time-worksheet","2.blog\u002F20260216.free-printable-telling-time-worksheet",{"title":181,"path":182,"stem":183},"Claude Code Skills: Teaching AI Your Playbook","\u002Fblog\u002Fclaude-code-skills-guide","2.blog\u002F20260221.claude-code-skills-guide",{"title":185,"path":186,"stem":187},"Building a Multi-Agent Loan Approval System with Human-in-the-Loop","\u002Fblog\u002Fmulti-agent-loan-approval-human-in-the-loop","2.blog\u002F20260225.multi-agent-loan-approval-human-in-the-loop",{"title":189,"path":190,"stem":191},"The Inception of AI Infrastructure: Bottlenecks All the Way Down","\u002Fblog\u002Fbiggest-bottleneck-scaling-ai-compute","2.blog\u002F20260313.biggest-bottleneck-scaling-ai-compute",{"title":193,"path":194,"stem":195},"What I Tell Teams About Claude Code","\u002Fblog\u002Fwhat-i-tell-teams-about-claude-code","2.blog\u002F20260314.what-i-tell-teams-about-claude-code",{"title":197,"path":198,"stem":199},"The Hardest Part of AI Isn't the AI","\u002Fblog\u002Fthe-hardest-part-of-ai-isnt-the-ai","2.blog\u002F20260327.the-hardest-part-of-ai-isnt-the-ai",{"title":201,"path":202,"stem":203},"Claude Code Hooks: The Capability I Left on the Table","\u002Fblog\u002Fclaude-code-hooks-capability-left-on-the-table","2.blog\u002F20260401.claude-code-hooks-capability-left-on-the-table",{"id":205,"title":61,"authors":206,"badge":212,"body":214,"date":818,"description":819,"extension":820,"image":821,"meta":824,"navigation":825,"path":62,"seo":826,"status":827,"stem":63,"__hash__":828},"posts\u002F2.blog\u002F20250612.software-engineering-and-itil-best-practices.md",[207],{"name":208,"to":209,"avatar":210},"Chris Towles","https:\u002F\u002Ftwitter.com\u002FChris_Towles",{"src":211},"\u002Fimages\u002Fctowles-profile-512x512.png",{"label":213},"AI Tools",{"type":215,"value":216,"toc":788},"minimark",[217,222,226,230,239,267,274,300,307,333,337,341,346,361,366,378,383,395,400,412,416,428,433,445,450,462,467,479,483,487,499,504,516,521,533,537,549,553,565,570,582,587,599,603,607,618,622,636,640,654,658,663,671,676,684,689,697,701,705,717,721,732,736,747,751,754,780,783],[218,219,221],"h2",{"id":220},"why-this-matters-to-you","Why This Matters to YOU",[223,224,225],"p",{},"Following software development best practices and ITIL patterns isn't just about pleasing managers or checking a box. These practices are designed to make your work life significantly better, reduce stress, and help you deliver faster while increasing quality.",[218,227,229],{"id":228},"the-personal-benefits","The Personal Benefits",[231,232,234,235],"h3",{"id":233},"go-faster-not-harder","🚀 ",[236,237,238],"strong",{},"Go Faster, Not Harder",[240,241,242,249,255,261],"ul",{},[243,244,245,248],"li",{},[236,246,247],{},"Automated Testing",": Catch bugs early instead of spending weekends debugging production issues",[243,250,251,254],{},[236,252,253],{},"CI\u002FCD Pipelines",": Deploy confidently without manual, error-prone processes",[243,256,257,260],{},[236,258,259],{},"Infrastructure as Code",": Recreate environments in minutes, not hours",[243,262,263,266],{},[236,264,265],{},"Version Control",": Never lose work again or struggle to understand what changed",[231,268,270,271],{"id":269},"reduce-stress-improve-sleep","😌 ",[236,272,273],{},"Reduce Stress & Improve Sleep",[240,275,276,282,288,294],{},[243,277,278,281],{},[236,279,280],{},"Monitoring & Alerting",": Know about problems before users complain",[243,283,284,287],{},[236,285,286],{},"Documentation",": Stop being the single point of failure for critical knowledge",[243,289,290,293],{},[236,291,292],{},"Standardized Processes",": Reduce decision fatigue with clear procedures",[243,295,296,299],{},[236,297,298],{},"Incident Management",": Handle emergencies systematically instead of chaotically",[231,301,303,304],{"id":302},"better-work-life-balance","🏠 ",[236,305,306],{},"Better Work-Life Balance",[240,308,309,315,321,327],{},[243,310,311,314],{},[236,312,313],{},"Proper Change Management",": Fewer emergency deployments during personal time",[243,316,317,320],{},[236,318,319],{},"Service Level Management",": Set realistic expectations and stick to them",[243,322,323,326],{},[236,324,325],{},"Capacity Planning",": Avoid burnout from constant firefighting",[243,328,329,332],{},[236,330,331],{},"Knowledge Management",": Take vacations without worrying about critical systems",[218,334,336],{"id":335},"key-practices-that-transform-your-daily-experience","Key Practices That Transform Your Daily Experience",[231,338,340],{"id":339},"development-practices","Development Practices",[223,342,343],{},[236,344,345],{},"Code Reviews",[240,347,348,355],{},[243,349,350,354],{},[351,352,353],"em",{},"What it is",": Peer review of code changes before merging",[243,356,357,360],{},[351,358,359],{},"Personal benefit",": Learn continuously, share knowledge burden, catch issues before they become your problem",[223,362,363],{},[236,364,365],{},"Test-Driven Development (TDD)",[240,367,368,373],{},[243,369,370,372],{},[351,371,353],{},": Write tests before writing code",[243,374,375,377],{},[351,376,359],{},": Higher confidence in changes, fewer late-night bug fixes, clearer requirements",[223,379,380],{},[236,381,382],{},"Continuous Integration",[240,384,385,390],{},[243,386,387,389],{},[351,388,353],{},": Automatic building and testing of code changes",[243,391,392,394],{},[351,393,359],{},": Immediate feedback, no more \"it works on my machine\" scenarios",[223,396,397],{},[236,398,399],{},"Continuous Deployment",[240,401,402,407],{},[243,403,404,406],{},[351,405,353],{},": Automated deployment of tested code changes to production",[243,408,409,411],{},[351,410,359],{},": Reduce deployment stress, faster feedback from users, smaller change sets mean easier rollbacks",[223,413,414],{},[236,415,259],{},[240,417,418,423],{},[243,419,420,422],{},[351,421,353],{},": Managing infrastructure through code and version control",[243,424,425,427],{},[351,426,359],{},": Reproducible environments, no more \"snowflake\" servers, easier disaster recovery",[223,429,430],{},[236,431,432],{},"Continuous Learning & Training",[240,434,435,440],{},[243,436,437,439],{},[351,438,353],{},": Regular skill development and knowledge sharing sessions",[243,441,442,444],{},[351,443,359],{},": Stay current with technology, reduce imposter syndrome, career advancement opportunities",[223,446,447],{},[236,448,449],{},"Pair Programming",[240,451,452,457],{},[243,453,454,456],{},[351,455,353],{},": Two developers working together on the same code",[243,458,459,461],{},[351,460,359],{},": Faster learning, fewer bugs, shared knowledge, less isolation",[223,463,464],{},[236,465,466],{},"Documentation as Code",[240,468,469,474],{},[243,470,471,473],{},[351,472,353],{},": Treating documentation with the same rigor as code (version control, reviews, automation)",[243,475,476,478],{},[351,477,359],{},": Always up-to-date docs, no more outdated wikis, searchable knowledge base",[231,480,482],{"id":481},"itil-service-management","ITIL Service Management",[223,484,485],{},[236,486,298],{},[240,488,489,494],{},[243,490,491,493],{},[351,492,353],{},": Structured approach to handling service disruptions",[243,495,496,498],{},[351,497,359],{},": Clear escalation paths, defined roles, no more guessing who should fix what",[223,500,501],{},[236,502,503],{},"Change Management",[240,505,506,511],{},[243,507,508,510],{},[351,509,353],{},": Controlled process for making changes to systems",[243,512,513,515],{},[351,514,359],{},": Reduced risk of breaking things, proper planning prevents poor performance",[223,517,518],{},[236,519,520],{},"Problem Management",[240,522,523,528],{},[243,524,525,527],{},[351,526,353],{},": Root cause analysis to prevent recurring issues",[243,529,530,532],{},[351,531,359],{},": Fix things once instead of repeatedly patching symptoms",[223,534,535],{},[236,536,319],{},[240,538,539,544],{},[243,540,541,543],{},[351,542,353],{},": Defining and measuring service quality commitments",[243,545,546,548],{},[351,547,359],{},": Realistic expectations, objective success criteria, protection from unreasonable demands",[223,550,551],{},[236,552,331],{},[240,554,555,560],{},[243,556,557,559],{},[351,558,353],{},": Systematic capture, organization, and sharing of organizational knowledge",[243,561,562,564],{},[351,563,359],{},": No more being the only person who knows how something works, easier onboarding, vacation without guilt",[223,566,567],{},[236,568,569],{},"Service Desk",[240,571,572,577],{},[243,573,574,576],{},[351,575,353],{},": Single point of contact for user issues and requests",[243,578,579,581],{},[351,580,359],{},": Structured support process, proper issue tracking, less interruption from random requests",[223,583,584],{},[236,585,586],{},"Capacity Management",[240,588,589,594],{},[243,590,591,593],{},[351,592,353],{},": Ensuring adequate resources to meet service demands",[243,595,596,598],{},[351,597,359],{},": Prevents overcommitment, realistic planning, sustainable workload",[218,600,602],{"id":601},"the-compound-effect-how-small-changes-create-big-results","The Compound Effect: How Small Changes Create Big Results",[231,604,606],{"id":605},"week-1-2-initial-setup-investment","Week 1-2: Initial Setup Investment",[240,608,609,612,615],{},[243,610,611],{},"Setting up automated tests and CI\u002FCD",[243,613,614],{},"Creating documentation templates",[243,616,617],{},"Establishing code review processes",[231,619,621],{"id":620},"month-1-3-early-returns","Month 1-3: Early Returns",[240,623,624,627,630,633],{},[243,625,626],{},"Fewer production bugs",[243,628,629],{},"Faster deployment cycles",[243,631,632],{},"More confident releases",[243,634,635],{},"Better team communication",[231,637,639],{"id":638},"month-6-transformation","Month 6+: Transformation",[240,641,642,645,648,651],{},[243,643,644],{},"Predictable delivery schedules",[243,646,647],{},"Proactive problem prevention",[243,649,650],{},"Knowledge sharing becomes natural",[243,652,653],{},"Emergency work becomes rare",[218,655,657],{"id":656},"common-objections-and-why-theyre-wrong","Common Objections (And Why They're Wrong)",[223,659,660],{},[236,661,662],{},"\"This slows us down initially\"",[240,664,665,668],{},[243,666,667],{},"Truth: 2 weeks of setup saves months of firefighting",[243,669,670],{},"Better to be slow and steady than constantly starting over",[223,672,673],{},[236,674,675],{},"\"We don't have time for documentation\"",[240,677,678,681],{},[243,679,680],{},"Truth: You don't have time NOT to document",[243,682,683],{},"Every hour spent documenting saves 10 hours of future confusion",[223,685,686],{},[236,687,688],{},"\"Our situation is unique\"",[240,690,691,694],{},[243,692,693],{},"Truth: Every team thinks they're special",[243,695,696],{},"These practices exist because they work across industries and contexts",[218,698,700],{"id":699},"getting-started-your-first-steps","Getting Started: Your First Steps",[231,702,704],{"id":703},"this-week","This Week",[706,707,708,711,714],"ol",{},[243,709,710],{},"Start doing code reviews for all changes",[243,712,713],{},"Write one test for your next feature",[243,715,716],{},"Document one process that only you know",[231,718,720],{"id":719},"this-month","This Month",[706,722,723,726,729],{},[243,724,725],{},"Set up basic CI\u002FCD pipeline",[243,727,728],{},"Implement incident response template",[243,730,731],{},"Create service level agreements for your key services",[231,733,735],{"id":734},"this-quarter","This Quarter",[706,737,738,741,744],{},[243,739,740],{},"Establish regular retrospectives",[243,742,743],{},"Implement proper change management",[243,745,746],{},"Set up monitoring and alerting",[218,748,750],{"id":749},"the-bottom-line","The Bottom Line",[223,752,753],{},"Software development best practices and ITIL aren't bureaucracy—they're your ticket to:",[240,755,756,762,768,774],{},[243,757,758,761],{},[236,759,760],{},"Leaving work at work"," instead of constant fire-fighting",[243,763,764,767],{},[236,765,766],{},"Building confidence"," in your systems and processes",[243,769,770,773],{},[236,771,772],{},"Growing your skills"," through structured learning and knowledge sharing",[243,775,776,779],{},[236,777,778],{},"Delivering value"," consistently without burning out",[223,781,782],{},"Remember: These practices were created by developers and IT professionals who got tired of working nights and weekends. They're not theoretical concepts—they're battle-tested solutions to the problems you and I face every day.",[223,784,785],{},[351,786,787],{},"Start small and be consistent",{"title":789,"searchDepth":790,"depth":790,"links":791},"",2,[792,793,802,806,811,812,817],{"id":220,"depth":790,"text":221},{"id":228,"depth":790,"text":229,"children":794},[795,798,800],{"id":233,"depth":796,"text":797},3,"🚀 Go Faster, Not Harder",{"id":269,"depth":796,"text":799},"😌 Reduce Stress & Improve Sleep",{"id":302,"depth":796,"text":801},"🏠 Better Work-Life Balance",{"id":335,"depth":790,"text":336,"children":803},[804,805],{"id":339,"depth":796,"text":340},{"id":481,"depth":796,"text":482},{"id":601,"depth":790,"text":602,"children":807},[808,809,810],{"id":605,"depth":796,"text":606},{"id":620,"depth":796,"text":621},{"id":638,"depth":796,"text":639},{"id":656,"depth":790,"text":657},{"id":699,"depth":790,"text":700,"children":813},[814,815,816],{"id":703,"depth":796,"text":704},{"id":719,"depth":796,"text":720},{"id":734,"depth":796,"text":735},{"id":749,"depth":790,"text":750},"2025-06-12","Your Path to Better Work-Life Balance","md",{"src":822,"alt":823},"\u002Fimages\u002Fblog\u002Fsoftware-engineering-best-practices.png","software engineering best practices and ITIL for a better work-life balance",{},true,{"title":61,"description":819},"published","6-u8G4rybspgtXeyzDoVdygEpFgUakHrXWyI4Qo_aw8",[830,832],{"title":57,"path":58,"stem":59,"description":831,"status":827,"children":-1},"Info about creating my own CLI tool and best practices",{"title":65,"path":66,"stem":67,"description":833,"status":827,"children":-1},"Exploring voice-to-text development workflows with VS Code Speech extension",1776221196452]