{"version":1,"generatedAt":"2026-11-04T09:11:01.054Z","totals":{"jobs":812,"jobsTw":28,"articles":687,"articlesTagged":456,"skills":157,"sources":20},"sources":[{"id":"taiwanjobs","kind":"jobs","name":"台灣就業通","home":"https://www.taiwanjobs.gov.tw/","note":"勞動部開放資料（資訊、研發類職缺），每日累積","region":"tw","fetched":30,"ok":true,"stale":false,"count":28},{"id":"ptt-hiring","kind":"jobs","name":"PTT Soft_Job 徵才","home":"https://www.ptt.cc/bbs/Soft_Job/index.html","note":"台灣軟體工程師板的徵才文","region":"tw","fetched":0,"ok":false,"stale":false,"error":"www.ptt.cc: HTTP 403","count":0},{"id":"hn-hiring","kind":"jobs","name":"HN Who is hiring","home":"https://news.ycombinator.com/submitted?id=whoishiring","note":"Hacker News 每月徵才串，以新創與科技公司為主","fetched":436,"ok":true,"stale":false,"count":331},{"id":"jobicy","kind":"jobs","name":"Jobicy","home":"https://jobicy.com/","note":"遠端職缺","fetched":200,"ok":true,"stale":false,"count":168},{"id":"remoteok","kind":"jobs","name":"Remote OK","home":"https://remoteok.com/","note":"遠端職缺","fetched":99,"ok":true,"stale":false,"count":33},{"id":"arbeitnow","kind":"jobs","name":"Arbeitnow","home":"https://www.arbeitnow.com/","note":"歐洲（德國為主）職缺","fetched":900,"ok":true,"stale":false,"count":245},{"id":"remotive","kind":"jobs","name":"Remotive","home":"https://remotive.com/","note":"遠端職缺（公開 API 僅提供少量樣本）","fetched":11,"ok":true,"stale":false,"count":7},{"id":"ptt","kind":"tech","name":"PTT Soft_Job","home":"https://www.ptt.cc/bbs/Soft_Job/index.html","note":"台灣軟體工程師的討論","region":"tw","fetched":0,"ok":false,"stale":true,"error":"www.ptt.cc: HTTP 403","count":22},{"id":"hn","kind":"tech","name":"Hacker News","home":"https://news.ycombinator.com/","note":"首頁與本週高分文章","fetched":168,"ok":true,"stale":false,"count":168},{"id":"devto","kind":"tech","name":"DEV Community","home":"https://dev.to/","note":"本週熱門文章","fetched":120,"ok":true,"stale":false,"count":120},{"id":"lobsters","kind":"tech","name":"Lobsters","home":"https://lobste.rs/","note":"熱門文章","fetched":75,"ok":true,"stale":false,"count":75},{"id":"github","kind":"tech","name":"GitHub 新星專案","home":"https://github.com/trending","note":"近 30 天建立、星數最高的專案","fetched":91,"ok":true,"stale":false,"count":87},{"id":"ithome","kind":"tech","name":"iThome","home":"https://www.ithome.com.tw/","note":"台灣 IT 新聞","fetched":30,"ok":true,"stale":false,"count":30},{"id":"technews","kind":"tech","name":"科技新報","home":"https://technews.tw/","note":"台灣科技新聞","fetched":40,"ok":true,"stale":false,"count":40},{"id":"infoq","kind":"tech","name":"InfoQ","home":"https://www.infoq.com/","note":"軟體架構與工程實務","fetched":15,"ok":true,"stale":false,"count":15},{"id":"thenewstack","kind":"tech","name":"The New Stack","home":"https://thenewstack.io/","note":"雲原生與 DevOps","fetched":26,"ok":true,"stale":false,"count":26},{"id":"stackoverflow","kind":"tech","name":"Stack Overflow Blog","home":"https://stackoverflow.blog/","note":"開發者社群觀點","fetched":40,"ok":true,"stale":false,"count":40},{"id":"githubblog","kind":"tech","name":"GitHub Blog","home":"https://github.blog/","note":"開發工具與開源動態","fetched":10,"ok":true,"stale":false,"count":10},{"id":"cloudflare","kind":"tech","name":"Cloudflare Blog","home":"https://blog.cloudflare.com/","note":"網路與邊緣運算","fetched":20,"ok":true,"stale":false,"count":20},{"id":"infoworld","kind":"tech","name":"InfoWorld","home":"https://www.infoworld.com/","note":"企業開發技術","fetched":20,"ok":true,"stale":false,"count":20},{"id":"martinfowler","kind":"tech","name":"Martin Fowler","home":"https://martinfowler.com/","note":"軟體設計與架構","fetched":30,"ok":true,"stale":false,"count":14}],"categories":[{"id":"lang","name":"程式語言"},{"id":"frontend","name":"前端"},{"id":"backend","name":"後端框架"},{"id":"mobile","name":"行動開發"},{"id":"database","name":"資料庫"},{"id":"cloud","name":"雲端平台"},{"id":"devops","name":"DevOps 與維運"},{"id":"data","name":"資料工程"},{"id":"ai","name":"AI 與機器學習"},{"id":"arch","name":"架構與 API"},{"id":"practice","name":"工程實務"},{"id":"security","name":"資訊安全"},{"id":"domain","name":"專業領域"}],"trendMonths":["2025-11","2025-12","2026-01","2026-02","2026-03","2026-04","2026-05","2026-06","2026-07","2026-08","2026-09","2026-10","2026-11"],"trendTotals":[320,302,207,342,269,283,260,246,212,190,204,199,132],"skills":[{"id":"javascript","name":"JavaScript","cat":"lang","desc":"Web 的原生語言，前後端通吃，幾乎是所有前端職缺的基本要求。","docs":"https://developer.mozilla.org/zh-TW/docs/Web/JavaScript","roadmap":"javascript","q":"JavaScript","jobs":60,"demandPct":7.4,"demandRank":27,"klass":"steady","co":[["react",53],["typescript",50],["python",48],["llm",37],["testing",28],["nodejs",27],["postgresql",25],["aws",25],["go",23],["ai-coding",23],["rust",23],["cicd",23]],"bySource":{"arbeitnow":15,"hn-hiring":19,"jobicy":11,"remotive":3,"remoteok":11,"taiwanjobs":1},"tw":{"jobs":1,"demandPct":3.6,"demandRank":16,"klass":"niche","co":[],"bySource":{"taiwanjobs":1}},"buzzCount":27,"buzz":15.5,"buzzRank":7,"momentum":"flat","trend":[6.3,6,6.3,4.4,5.9,6.4,6.5,4.5,5.2,4.2,6.9,5.5,6.1],"trendDelta":0,"trendFrom":5.6,"trendTo":5.7},{"id":"typescript","name":"TypeScript","cat":"lang","desc":"替 JavaScript 加上靜態型別，已成為中大型前端與 Node.js 專案的預設選擇。","docs":"https://www.typescriptlang.org/docs/","roadmap":"typescript","q":"TypeScript","jobs":158,"demandPct":19.5,"demandRank":5,"klass":"core","co":[["react",61],["python",50],["postgresql",39],["llm",33],["ai-agents",32],["aws",30],["ai-coding",27],["nodejs",23],["kubernetes",22],["nextjs",20],["go",20],["javascript",19]],"bySource":{"arbeitnow":36,"jobicy":21,"hn-hiring":91,"remotive":3,"remoteok":7},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":16,"buzz":9.7,"buzzRank":11,"momentum":"flat","trend":[31.3,30.1,30,33.3,29.4,27.6,26.5,28.5,29.2,29.5,24.5,28.6,25.8],"trendDelta":-4.2,"trendFrom":31.3,"trendTo":27.2},{"id":"python","name":"Python","cat":"lang","desc":"語法簡潔、生態系龐大，是後端、資料工程與 AI 領域的共通語言。","docs":"https://docs.python.org/zh-tw/3/tutorial/","roadmap":"python","q":"Python","jobs":286,"demandPct":35.2,"demandRank":1,"klass":"core","co":[["machine-learning",31],["llm",31],["typescript",28],["ai-agents",27],["aws",25],["kubernetes",23],["sql",23],["react",21],["go",20],["postgresql",20],["linux",20],["etl",20]],"bySource":{"arbeitnow":101,"jobicy":69,"hn-hiring":98,"remoteok":14,"taiwanjobs":2,"remotive":2},"tw":{"jobs":2,"demandPct":7.1,"demandRank":11,"klass":"steady","co":[],"bySource":{"taiwanjobs":2}},"buzzCount":34,"buzz":19.7,"buzzRank":5,"momentum":"flat","trend":[29.1,30.5,29,28.7,27.9,32.2,32.7,34.1,26.9,33.2,32.8,30.7,28],"trendDelta":2.2,"trendFrom":29.3,"trendTo":31.4},{"id":"java","name":"Java","cat":"lang","desc":"企業級後端的長青語言，金融、電信、電商的大型系統大量採用。","docs":"https://dev.java/learn/","roadmap":"java","q":"Java","jobs":84,"demandPct":10.3,"demandRank":17,"klass":"core","co":[["python",50],["kubernetes",35],["spring",33],["distributed-systems",32],["typescript",27],["postgresql",27],["react",27],["go",27],["aws",25],["system-design",24],["testing",24],["sql",24]],"bySource":{"arbeitnow":40,"jobicy":13,"hn-hiring":20,"taiwanjobs":4,"remotive":2,"remoteok":5},"tw":{"jobs":4,"demandPct":14.3,"demandRank":5,"klass":"core","co":[],"bySource":{"taiwanjobs":4}},"buzzCount":11,"buzz":5.4,"buzzRank":15,"momentum":"flat","trend":[4.7,4.6,3.9,4.4,3.3,5.3,4.6,4.9,4.2,5.3,4.4,6,6.1],"trendDelta":0.9,"trendFrom":4.4,"trendTo":5.4},{"id":"csharp","name":"C#","cat":"lang","desc":"微軟生態系的主力語言，用於 .NET 後端、桌面應用與 Unity 遊戲開發。","docs":"https://learn.microsoft.com/zh-tw/dotnet/csharp/","roadmap":null,"q":"C#","jobs":27,"demandPct":3.3,"demandRank":52,"klass":"steady","co":[["dotnet",59],["python",52],["react",52],["typescript",37],["llm",33],["javascript",30],["java",30],["cpp",30],["ai-agents",30],["machine-learning",30],["postgresql",26],["go",26]],"bySource":{"arbeitnow":10,"hn-hiring":11,"jobicy":2,"remotive":1,"remoteok":3},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[3.1,4,1.4,1.2,1.5,2.5,2.3,0.8,4.2,0.5,3.4,3.5,3],"trendDelta":0.1,"trendFrom":2.5,"trendTo":2.6},{"id":"cpp","name":"C++","cat":"lang","desc":"效能導向的系統語言，常見於遊戲引擎、交易系統、嵌入式與 AI 推論引擎。","docs":"https://en.cppreference.com/","roadmap":"cpp","q":"C++","jobs":67,"demandPct":8.3,"demandRank":22,"klass":"rising","co":[["python",67],["rust",36],["machine-learning",36],["linux",34],["go",30],["c",28],["distributed-systems",27],["java",25],["kubernetes",22],["embedded",21],["typescript",19],["mlops",18]],"bySource":{"arbeitnow":30,"jobicy":11,"hn-hiring":21,"remotive":2,"remoteok":3},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"rising","co":[],"bySource":{}},"buzzCount":9,"buzz":4.5,"buzzRank":22,"momentum":"up","trend":[2.8,4,6.3,4.4,5.6,4.9,5,4.9,6.1,6.8,5.9,6,6.8],"trendDelta":2.2,"trendFrom":4.2,"trendTo":6.3},{"id":"c","name":"C","cat":"lang","desc":"作業系統、韌體與驅動程式的基礎語言，理解它就理解電腦怎麼運作。","docs":"https://en.cppreference.com/w/c","roadmap":null,"q":"C programming","jobs":23,"demandPct":2.8,"demandRank":62,"klass":"rising","co":[["cpp",83],["python",65],["linux",57],["embedded",48],["rust",39],["go",35],["kubernetes",30],["distributed-systems",22],["testing",22],["docker",22],["rest",22],["machine-learning",17]],"bySource":{"arbeitnow":6,"jobicy":5,"hn-hiring":8,"remotive":1,"remoteok":3},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"rising","co":[],"bySource":{}},"buzzCount":8,"buzz":5.2,"buzzRank":19,"momentum":"up","trend":[0.3,0.7,1.4,0.6,1.1,1.1,1.5,2,2.4,2.6,2.5,2.5,2.3],"trendDelta":1.8,"trendFrom":0.7,"trendTo":2.5},{"id":"go","name":"Go","cat":"lang","desc":"Google 設計的語言，以簡潔與併發能力見長，是雲原生基礎設施（Docker、Kubernetes）的實作語言。","docs":"https://go.dev/learn/","roadmap":"golang","q":"Golang","jobs":105,"demandPct":12.9,"demandRank":12,"klass":"core","co":[["python",55],["kubernetes",49],["distributed-systems",39],["typescript",30],["aws",28],["linux",27],["ai-agents",25],["machine-learning",24],["postgresql",23],["rust",22],["java",22],["terraform",21]],"bySource":{"arbeitnow":33,"jobicy":30,"hn-hiring":22,"remoteok":18,"remotive":2},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":6,"buzz":3,"buzzRank":34,"momentum":"flat","trend":[10.6,8.6,7.7,9.1,8.9,8.5,8.8,11.4,5.7,8.4,7.4,7.5,5.3],"trendDelta":-1.8,"trendFrom":9.1,"trendTo":7.3},{"id":"rust","name":"Rust","cat":"lang","desc":"兼顧記憶體安全與效能的系統語言，正逐步進入作業系統核心、瀏覽器與基礎設施。","docs":"https://doc.rust-lang.org/book/","roadmap":"rust","q":"Rust programming","jobs":65,"demandPct":8,"demandRank":23,"klass":"steady","co":[["python",54],["typescript",45],["cpp",37],["go",35],["kubernetes",29],["aws",25],["distributed-systems",25],["machine-learning",23],["ai-agents",23],["react",23],["javascript",22],["linux",22]],"bySource":{"arbeitnow":11,"jobicy":9,"hn-hiring":40,"remotive":2,"remoteok":3},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":26,"buzz":15.1,"buzzRank":8,"momentum":"flat","trend":[7.5,10.3,10.1,11.4,9.3,10.6,10.8,10.6,13.2,8.4,10.3,11.6,12.9],"trendDelta":0.8,"trendFrom":9.8,"trendTo":10.6},{"id":"kotlin","name":"Kotlin","cat":"lang","desc":"Android 官方首選語言，也能寫後端與跨平台應用。","docs":"https://kotlinlang.org/docs/getting-started.html","roadmap":"kotlin","q":"Kotlin","jobs":26,"demandPct":3.2,"demandRank":55,"klass":"steady","co":[["react",50],["swift",46],["kubernetes",42],["postgresql",42],["java",38],["python",35],["android",35],["typescript",35],["go",31],["machine-learning",31],["ios",31],["llm",31]],"bySource":{"arbeitnow":17,"jobicy":3,"hn-hiring":6},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":4,"buzz":2.4,"buzzRank":41,"momentum":"flat","trend":[2.5,2.6,1.4,2,2.2,1.8,1.5,3.3,2.4,1.1,1.5,2,1.5],"trendDelta":-0.7,"trendFrom":2.2,"trendTo":1.5},{"id":"swift","name":"Swift","cat":"lang","desc":"Apple 平台（iOS、macOS）的主要開發語言。","docs":"https://www.swift.org/documentation/","roadmap":null,"q":"Swift programming","jobs":22,"demandPct":2.7,"demandRank":68,"klass":"steady","co":[["ios",77],["typescript",59],["react",59],["kotlin",55],["android",45],["aws",41],["go",41],["kubernetes",41],["llm",41],["ai-coding",41],["swiftui",41],["python",41]],"bySource":{"arbeitnow":7,"jobicy":3,"hn-hiring":9,"remotive":1,"remoteok":2},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":7,"buzz":3.7,"buzzRank":25,"momentum":"flat","trend":[1.9,2,1,2.3,1.5,1.1,1.2,1.6,2.4,1.1,1.5,3,2.3],"trendDelta":0.1,"trendFrom":1.9,"trendTo":1.9},{"id":"php","name":"PHP","cat":"lang","desc":"驅動大量網站與 CMS 的後端語言，搭配 Laravel 仍有穩定的市場。","docs":"https://www.php.net/manual/en/","roadmap":"php","q":"PHP","jobs":14,"demandPct":1.7,"demandRank":92,"klass":"niche","co":[["python",64],["react",64],["javascript",64],["cicd",50],["ai-coding",50],["testing",43],["csharp",43],["typescript",36],["java",36],["ai-agents",36],["vue",36],["laravel",36]],"bySource":{"arbeitnow":6,"hn-hiring":4,"remoteok":3,"remotive":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":6,"buzz":3.4,"buzzRank":28,"momentum":"flat","trend":[1.3,1.7,2.4,0.9,1.5,1.4,1.9,1.6,1.4,0.5,1,1,1.5],"trendDelta":-0.5,"trendFrom":1.5,"trendTo":1},{"id":"ruby","name":"Ruby","cat":"lang","desc":"以開發者體驗著稱的動態語言，多半與 Rails 一起出現在新創公司的技術棧。","docs":"https://www.ruby-lang.org/en/documentation/","roadmap":"ruby","q":"Ruby","jobs":30,"demandPct":3.7,"demandRank":46,"klass":"steady","co":[["rails",53],["go",47],["python",43],["react",40],["ai-coding",37],["postgresql",33],["llm",33],["ai-agents",33],["kubernetes",33],["machine-learning",30],["cicd",30],["typescript",30]],"bySource":{"arbeitnow":9,"jobicy":7,"hn-hiring":8,"remoteok":4,"remotive":2},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":1,"buzz":0.5,"buzzRank":76,"momentum":"flat","trend":[2.8,4.3,2.4,4.1,5.2,3.2,3.8,3.7,5.7,4.2,3.4,2.5,2.3],"trendDelta":-0.3,"trendFrom":3.5,"trendTo":3.2},{"id":"scala","name":"Scala","cat":"lang","desc":"跑在 JVM 上、融合物件導向與函數式的語言，常見於大數據（Spark）與串流處理。","docs":"https://docs.scala-lang.org/","roadmap":null,"q":"Scala","jobs":14,"demandPct":1.7,"demandRank":93,"klass":"niche","co":[["python",71],["java",71],["etl",64],["aws",57],["machine-learning",57],["rust",50],["kubernetes",50],["kafka",43],["distributed-systems",43],["typescript",43],["go",43],["event-driven",36]],"bySource":{"arbeitnow":6,"hn-hiring":4,"jobicy":1,"remotive":1,"remoteok":2},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[1.6,1.3,1,0.6,1.9,1.4,2.3,2,1.4,1.6,1,1.5,0.8],"trendDelta":0.1,"trendFrom":1.1,"trendTo":1.2},{"id":"elixir","name":"Elixir / Erlang","cat":"lang","desc":"建立在 Erlang VM 上的函數式語言，擅長高併發、高可用的即時系統。","docs":"https://elixir-lang.org/learning.html","roadmap":null,"q":"Elixir","jobs":6,"demandPct":0.7,"demandRank":126,"klass":"niche","co":[["react",100],["python",83],["llm",67],["rust",50],["kotlin",50],["react-native",50],["graphql",50],["javascript",33],["csharp",33],["php",33],["ruby",33],["rails",33]],"bySource":{"hn-hiring":6},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[0.9,1,0,1.2,1.5,0.7,2.3,0.8,2.4,1.6,1,1.5,2.3],"trendDelta":0.7,"trendFrom":0.9,"trendTo":1.5},{"id":"dart","name":"Dart","cat":"lang","desc":"Flutter 使用的語言，一套程式碼編譯到 iOS、Android、Web 與桌面。","docs":"https://dart.dev/language","roadmap":null,"q":"Dart programming","jobs":1,"demandPct":0.1,"demandRank":148,"klass":"niche","co":[],"bySource":{"arbeitnow":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":1,"buzz":0.7,"buzzRank":62,"momentum":"flat","trend":[0.3,0.3,0.5,0.6,0.4,0,0.4,0.4,0.5,0,0,0,0],"trendDelta":-0.4,"trendFrom":0.4,"trendTo":0},{"id":"r","name":"R","cat":"lang","desc":"統計分析與資料視覺化的專用語言，學術界與資料分析師常用。","docs":"https://www.r-project.org/other-docs.html","roadmap":null,"q":"R programming","jobs":5,"demandPct":0.6,"demandRank":132,"klass":"niche","co":[["python",100],["sql",100],["dbt",40],["bi",40],["bigquery",40],["etl",40],["machine-learning",40],["llm",20],["ai-coding",20],["web3",20],["airflow",20],["git",20]],"bySource":{"jobicy":4,"remoteok":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[0,0,0,0.3,0,0.4,0,0,0,0,0,0,0],"trendDelta":-0.1,"trendFrom":0.1,"trendTo":0},{"id":"sql","name":"SQL","cat":"lang","desc":"查詢關聯式資料庫的標準語言，後端、資料、分析職缺幾乎都會要求。","docs":"https://sqlbolt.com/","roadmap":"sql","q":"SQL","jobs":106,"demandPct":13.1,"demandRank":11,"klass":"core","co":[["python",62],["llm",34],["etl",33],["machine-learning",27],["postgresql",25],["kubernetes",24],["aws",22],["cicd",22],["ai-agents",22],["java",19],["dbt",19],["git",18]],"bySource":{"arbeitnow":35,"jobicy":40,"hn-hiring":22,"taiwanjobs":4,"remoteok":5},"tw":{"jobs":4,"demandPct":14.3,"demandRank":6,"klass":"core","co":[],"bySource":{"taiwanjobs":4}},"buzzCount":1,"buzz":0.5,"buzzRank":98,"momentum":"flat","trend":[4.7,4,5.8,5,3.7,5.7,2.7,4.5,5.2,6.3,4.9,8,4.5],"trendDelta":1.3,"trendFrom":4.8,"trendTo":6.1},{"id":"bash","name":"Bash / Shell","cat":"lang","desc":"自動化日常維運工作的腳本語言，是使用 Linux 與 CI/CD 的基本功。","docs":"https://www.gnu.org/software/bash/manual/bash.html","roadmap":"shell-bash","q":"Bash scripting","jobs":28,"demandPct":3.4,"demandRank":50,"klass":"rising","co":[["python",71],["linux",57],["kubernetes",46],["terraform",36],["cicd",36],["azure",32],["security",29],["git",29],["embedded",25],["docker",25],["sql",25],["aws",21]],"bySource":{"arbeitnow":18,"jobicy":2,"hn-hiring":4,"remoteok":3,"taiwanjobs":1},"tw":{"jobs":1,"demandPct":3.6,"demandRank":17,"klass":"rising","co":[],"bySource":{"taiwanjobs":1}},"buzzCount":4,"buzz":2.2,"buzzRank":43,"momentum":"up","trend":[0.3,0.3,0.5,0,0.4,0,0.8,0,1.4,1.6,1.5,1,1.5],"trendDelta":1.1,"trendFrom":0.3,"trendTo":1.4},{"id":"zig","name":"Zig","cat":"lang","desc":"以簡單、可預測為目標的新興系統語言，被視為 C 的現代替代方案。","docs":"https://ziglang.org/learn/","roadmap":null,"q":"Zig programming","jobs":1,"demandPct":0.1,"demandRank":149,"klass":"niche","co":[],"bySource":{"hn-hiring":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":1,"buzz":0.6,"buzzRank":69,"momentum":"flat","trend":[0.3,0,0,0,0.4,0,0.4,0,0,0,0,0,0.8],"trendDelta":0.1,"trendFrom":0.1,"trendTo":0.1},{"id":"haskell","name":"Haskell","cat":"lang","desc":"純函數式語言，學它主要是為了拓展對型別系統與抽象的理解。","docs":"https://www.haskell.org/documentation/","roadmap":null,"q":"Haskell","jobs":1,"demandPct":0.1,"demandRank":150,"klass":"niche","co":[],"bySource":{"hn-hiring":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":1,"buzz":0.6,"buzzRank":68,"momentum":"flat","trend":[0,0,0,0.3,0,0,0.4,0,0,0,0.5,0.5,0],"trendDelta":0.2,"trendFrom":0.1,"trendTo":0.3},{"id":"react","name":"React","cat":"frontend","desc":"目前市佔最高的前端 UI 函式庫，以元件與宣告式渲染為核心。","docs":"https://zh-hant.react.dev/learn","roadmap":"react","q":"React","jobs":145,"demandPct":17.9,"demandRank":6,"klass":"core","co":[["typescript",67],["postgresql",42],["python",41],["llm",37],["aws",28],["ai-agents",28],["kubernetes",24],["ai-coding",23],["nextjs",23],["javascript",22],["nodejs",20],["machine-learning",19]],"bySource":{"arbeitnow":29,"jobicy":18,"hn-hiring":88,"remotive":3,"remoteok":7},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":4,"buzz":2.5,"buzzRank":39,"momentum":"down","trend":[30,30.8,32.9,29.5,29.4,27.9,26.2,30.5,30.2,25.8,24.5,28.6,23.5],"trendDelta":-4.8,"trendFrom":30.6,"trendTo":25.8},{"id":"vue","name":"Vue.js","cat":"frontend","desc":"上手門檻低的漸進式前端框架，在亞洲市場特別普及。","docs":"https://vuejs.org/guide/introduction.html","roadmap":"vue","q":"Vue.js","jobs":13,"demandPct":1.6,"demandRank":101,"klass":"niche","co":[["react",77],["javascript",77],["java",54],["spring",54],["llm",54],["angular",46],["nuxt",46],["git",38],["typescript",38],["php",38],["nodejs",38],["machine-learning",38]],"bySource":{"arbeitnow":6,"jobicy":1,"remoteok":3,"taiwanjobs":2,"remotive":1},"tw":{"jobs":2,"demandPct":7.1,"demandRank":12,"klass":"steady","co":[],"bySource":{"taiwanjobs":2}},"buzzCount":2,"buzz":1.3,"buzzRank":49,"momentum":"flat","trend":[2.8,3.3,2.4,1.8,2.6,2.1,1.2,1.2,0.9,1.6,2.9,0,0],"trendDelta":-1.3,"trendFrom":2.6,"trendTo":1.2},{"id":"angular","name":"Angular","cat":"frontend","desc":"Google 維護的完整前端框架，常見於大型企業內部系統。","docs":"https://angular.dev/overview","roadmap":"angular","q":"Angular","jobs":24,"demandPct":3,"demandRank":59,"klass":"steady","co":[["java",63],["spring",50],["kubernetes",42],["python",33],["react",33],["sql",33],["postgresql",29],["docker",29],["typescript",25],["llm",25],["vue",25],["aws",25]],"bySource":{"arbeitnow":14,"hn-hiring":6,"remotive":1,"remoteok":3},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":2,"buzz":1.2,"buzzRank":51,"momentum":"flat","trend":[0.6,1.3,0.5,0.9,1.1,0.7,0,0.4,0.5,1.1,2,2,1.5],"trendDelta":0.8,"trendFrom":0.9,"trendTo":1.7},{"id":"svelte","name":"Svelte","cat":"frontend","desc":"把框架工作移到編譯期的前端框架，產出的程式碼精簡、執行期負擔小。","docs":"https://svelte.dev/docs","roadmap":null,"q":"Svelte","jobs":7,"demandPct":0.9,"demandRank":123,"klass":"niche","co":[["typescript",71],["go",57],["ai-agents",57],["python",57],["rust",57],["nodejs",57],["ai-coding",57],["embedded",57],["aws",43],["kubernetes",43],["javascript",43],["java",43]],"bySource":{"arbeitnow":1,"hn-hiring":3,"remotive":1,"remoteok":2},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[2.2,1,0.5,0.9,1.1,0.7,1.2,1.2,0,2.1,1,1,0.8],"trendDelta":0,"trendFrom":1.2,"trendTo":1.2},{"id":"nextjs","name":"Next.js","cat":"frontend","desc":"以 React 為基礎的全端框架，內建 SSR、路由與 Server Components。","docs":"https://nextjs.org/docs","roadmap":"nextjs","q":"Next.js","jobs":36,"demandPct":4.4,"demandRank":39,"klass":"steady","co":[["react",92],["typescript",89],["llm",39],["javascript",36],["nodejs",36],["ai-agents",33],["ai-coding",31],["postgresql",31],["python",31],["testing",25],["aws",25],["react-native",25]],"bySource":{"arbeitnow":6,"hn-hiring":22,"jobicy":3,"remotive":2,"remoteok":3},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":1,"buzz":0.6,"buzzRank":71,"momentum":"flat","trend":[7.8,8.9,10.1,8.2,9.3,8.1,7.7,9.8,7.5,7.4,5.4,7,6.1],"trendDelta":-2.1,"trendFrom":8.6,"trendTo":6.5},{"id":"nuxt","name":"Nuxt","cat":"frontend","desc":"Vue 生態的全端框架，定位相當於 Vue 版的 Next.js。","docs":"https://nuxt.com/docs/getting-started/introduction","roadmap":null,"q":"Nuxt","jobs":6,"demandPct":0.7,"demandRank":127,"klass":"niche","co":[["javascript",100],["vue",100],["react",83],["typescript",67],["java",67],["nodejs",67],["spring",67],["testing",67],["aws",50],["kubernetes",50],["python",50],["csharp",50]],"bySource":{"jobicy":1,"arbeitnow":2,"remotive":1,"remoteok":2},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[0.3,0,0,0.3,0.4,0.4,0,0,0,0.5,0.5,0,0],"trendDelta":0.1,"trendFrom":0.2,"trendTo":0.3},{"id":"astro","name":"Astro","cat":"frontend","desc":"主打內容型網站的框架，預設輸出零 JavaScript 的靜態頁面。","docs":"https://docs.astro.build/en/getting-started/","roadmap":null,"q":"Astro","jobs":3,"demandPct":0.4,"demandRank":137,"klass":"niche","co":[],"bySource":{"arbeitnow":1,"hn-hiring":2},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[0.3,0,0,0.3,0,0.4,0,0,0,0,0.5,1,0],"trendDelta":0.2,"trendFrom":0.2,"trendTo":0.4},{"id":"html","name":"HTML","cat":"frontend","desc":"網頁的結構語言，語意化標記是無障礙與 SEO 的基礎。","docs":"https://developer.mozilla.org/zh-TW/docs/Web/HTML","roadmap":"html","q":"HTML","jobs":10,"demandPct":1.2,"demandRank":108,"klass":"niche","co":[["css",90],["javascript",70],["react",70],["typescript",40],["git",40],["llm",40],["docker",30],["ai-coding",30],["angular",20],["vue",20],["php",20],["mysql",20]],"bySource":{"arbeitnow":4,"remoteok":2,"remotive":1,"hn-hiring":3},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":3,"buzz":1.5,"buzzRank":46,"momentum":"flat","trend":[1.9,0.7,0,0.3,0.7,0.7,0,0.4,0,0.5,0.5,1.5,0],"trendDelta":-0.1,"trendFrom":0.8,"trendTo":0.7},{"id":"css","name":"CSS","cat":"frontend","desc":"控制網頁版面與外觀的樣式語言，Grid、Flexbox 與容器查詢是現代排版的核心。","docs":"https://developer.mozilla.org/zh-TW/docs/Web/CSS","roadmap":"css","q":"CSS","jobs":17,"demandPct":2.1,"demandRank":79,"klass":"niche","co":[["react",59],["html",53],["javascript",53],["typescript",47],["postgresql",35],["llm",35],["docker",29],["git",29],["aws",24],["kubernetes",24],["cicd",24],["ai-coding",24]],"bySource":{"arbeitnow":4,"hn-hiring":8,"jobicy":2,"remoteok":2,"remotive":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[1.9,2,0.5,1.2,1.1,2.1,0.8,0.8,0.9,0.5,1,2.5,2.3],"trendDelta":0.1,"trendFrom":1.5,"trendTo":1.5},{"id":"tailwind","name":"Tailwind CSS","cat":"frontend","desc":"Utility-first 的 CSS 框架，直接在標記上組合樣式，是新專案最常見的選擇之一。","docs":"https://tailwindcss.com/docs","roadmap":null,"q":"Tailwind CSS","jobs":11,"demandPct":1.4,"demandRank":104,"klass":"niche","co":[["react",91],["typescript",82],["nextjs",55],["postgresql",55],["orm",36],["llm",36],["javascript",27],["gcp",27],["docker",27],["rust",27],["ai-agents",27],["ai-coding",27]],"bySource":{"arbeitnow":1,"jobicy":1,"hn-hiring":8,"remotive":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[2.5,1.7,2.4,2.6,4.1,1.1,2.7,2,1.4,3.2,0.5,3,1.5],"trendDelta":-0.2,"trendFrom":2.3,"trendTo":2.1},{"id":"state","name":"前端狀態管理","cat":"frontend","desc":"Redux、Zustand、TanStack Query 等工具，處理跨元件的狀態與伺服器資料快取。","docs":"https://redux.js.org/tutorials/essentials/part-1-overview-concepts","roadmap":null,"q":"frontend state management","jobs":3,"demandPct":0.4,"demandRank":138,"klass":"niche","co":[],"bySource":{"arbeitnow":1,"jobicy":1,"hn-hiring":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[0.9,1,0.5,0.3,0.4,1.4,1.2,0.8,0.9,0.5,0.5,0.5,0],"trendDelta":-0.3,"trendFrom":0.7,"trendTo":0.4},{"id":"build-tools","name":"前端建置工具","cat":"frontend","desc":"Vite、Webpack、esbuild 等打包與開發伺服器工具。","docs":"https://vite.dev/guide/","roadmap":null,"q":"Vite","jobs":6,"demandPct":0.7,"demandRank":128,"klass":"niche","co":[["react",67],["typescript",50],["ai-coding",50],["javascript",50],["css",50],["html",33],["docker",33],["cicd",33],["linux",33],["testing",33],["e2e",33],["vue",33]],"bySource":{"hn-hiring":2,"arbeitnow":1,"jobicy":2,"remoteok":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":2,"buzz":1,"buzzRank":55,"momentum":"flat","trend":[0.6,0.7,0.5,0.3,0.4,1.1,0.8,0.4,0.5,0,0,0,1.5],"trendDelta":-0.2,"trendFrom":0.5,"trendTo":0.3},{"id":"webassembly","name":"WebAssembly","cat":"frontend","desc":"讓 C++、Rust 等語言以接近原生的速度跑在瀏覽器與邊緣環境的二進位格式。","docs":"https://developer.mozilla.org/en-US/docs/WebAssembly","roadmap":null,"q":"WebAssembly","jobs":3,"demandPct":0.4,"demandRank":139,"klass":"niche","co":[],"bySource":{"hn-hiring":3},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":2,"buzz":1.5,"buzzRank":48,"momentum":"flat","trend":[0.9,1,1.9,1.8,0.7,1.8,1.2,1.6,0.9,0.5,0.5,1.5,0],"trendDelta":-0.7,"trendFrom":1.4,"trendTo":0.7},{"id":"htmx","name":"htmx","cat":"frontend","desc":"用 HTML 屬性完成 AJAX 互動的小型函式庫，代表「回歸伺服器渲染」的路線。","docs":"https://htmx.org/docs/","roadmap":null,"q":"htmx","jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":1,"buzz":0.5,"buzzRank":79,"momentum":"flat","trend":[0,0.7,0.5,0.3,0.4,0,0,0,0,0.5,0,0,0],"trendDelta":-0.2,"trendFrom":0.3,"trendTo":0.1},{"id":"a11y","name":"網頁無障礙 (a11y)","cat":"frontend","desc":"讓所有人都能使用網站的設計與實作方法，歐美法規已使其成為硬性要求。","docs":"https://developer.mozilla.org/zh-TW/docs/Web/Accessibility","roadmap":null,"q":"web accessibility","jobs":2,"demandPct":0.2,"demandRank":142,"klass":"niche","co":[],"bySource":{"arbeitnow":1,"remoteok":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":1,"buzz":0.6,"buzzRank":72,"momentum":"flat","trend":[0.6,0.7,0.5,0.6,0.4,0.4,0.4,0,0.5,0,0,0,0],"trendDelta":-0.6,"trendFrom":0.6,"trendTo":0},{"id":"design-system","name":"設計系統 / 元件庫","cat":"frontend","desc":"用共用元件與設計規範維持產品一致性，通常搭配 Storybook 開發與文件化。","docs":"https://storybook.js.org/docs","roadmap":"design-system","q":"design system","jobs":16,"demandPct":2,"demandRank":81,"klass":"niche","co":[["react",50],["typescript",44],["ai-coding",25],["testing",25],["postgresql",25],["ai-agents",19],["system-design",19],["javascript",19],["python",19],["cicd",19],["llm",19],["agile",19]],"bySource":{"arbeitnow":10,"hn-hiring":3,"jobicy":3},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":1,"buzz":0.6,"buzzRank":70,"momentum":"flat","trend":[1.3,1,1.4,1.2,0.7,2.5,0.8,0.8,0.5,2.1,1,1,0.8],"trendDelta":0,"trendFrom":1.2,"trendTo":1.2},{"id":"web-graphics","name":"WebGL / WebGPU","cat":"frontend","desc":"瀏覽器中的 GPU 繪圖與運算 API，用於 3D 視覺化、遊戲與本機 AI 推論。","docs":"https://webgpufundamentals.org/","roadmap":null,"q":"WebGPU","jobs":2,"demandPct":0.2,"demandRank":143,"klass":"niche","co":[],"bySource":{"hn-hiring":2},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":4,"buzz":2.4,"buzzRank":42,"momentum":"flat","trend":[0.9,0.7,1.4,2,1.1,1.4,1.2,1.2,0,0,0.5,0.5,0.8],"trendDelta":-0.9,"trendFrom":1.3,"trendTo":0.4},{"id":"nodejs","name":"Node.js","cat":"backend","desc":"讓 JavaScript 跑在伺服器端的執行環境，前後端共用語言是它最大的優勢。","docs":"https://nodejs.org/en/learn/getting-started/introduction-to-nodejs","roadmap":"nodejs","q":"Node.js","jobs":45,"demandPct":5.5,"demandRank":32,"klass":"steady","co":[["typescript",80],["react",64],["python",47],["aws",42],["postgresql",42],["llm",40],["javascript",36],["nextjs",29],["kubernetes",29],["ai-agents",29],["go",27],["ai-coding",24]],"bySource":{"arbeitnow":9,"hn-hiring":23,"jobicy":6,"remotive":1,"remoteok":6},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":5,"buzz":3,"buzzRank":33,"momentum":"flat","trend":[12.5,10.6,11.1,11.1,10.8,9.5,9.2,8.1,9.9,13.2,9.8,7.5,6.1],"trendDelta":-2,"trendFrom":11.4,"trendTo":9.4},{"id":"express","name":"Express","cat":"backend","desc":"Node.js 上最經典的極簡 Web 框架。","docs":"https://expressjs.com/en/starter/installing.html","roadmap":null,"q":"Express","jobs":2,"demandPct":0.2,"demandRank":144,"klass":"niche","co":[],"bySource":{"hn-hiring":2},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[0,0.3,0.5,0,0.7,0.7,0.8,0.8,0.5,0.5,0,1,0],"trendDelta":0.2,"trendFrom":0.2,"trendTo":0.4},{"id":"nestjs","name":"NestJS","cat":"backend","desc":"借鏡 Angular 與 Spring 的結構化 Node.js 框架，適合大型 TypeScript 後端。","docs":"https://docs.nestjs.com/","roadmap":null,"q":"NestJS","jobs":9,"demandPct":1.1,"demandRank":113,"klass":"niche","co":[["typescript",89],["postgresql",89],["nodejs",56],["gcp",56],["react",56],["redis",33],["kubernetes",33],["distributed-systems",33],["llm",33],["orm",33],["go",22],["kotlin",22]],"bySource":{"arbeitnow":4,"jobicy":1,"hn-hiring":4},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[1.6,1.3,1,1.8,1.1,1.4,1.5,2,0.5,1.1,0.5,2,0],"trendDelta":-0.5,"trendFrom":1.5,"trendTo":1},{"id":"bun","name":"Bun","cat":"backend","desc":"主打速度的新一代 JavaScript 執行環境，內建打包器、測試器與套件管理。","docs":"https://bun.sh/docs","roadmap":null,"q":"Bun","jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[0,0.3,0,0.3,0.4,0.7,1.2,0.4,0.5,0,0,0,0],"trendDelta":-0.2,"trendFrom":0.2,"trendTo":0},{"id":"deno","name":"Deno","cat":"backend","desc":"Node.js 原作者打造的執行環境，預設安全沙箱並原生支援 TypeScript。","docs":"https://docs.deno.com/runtime/","roadmap":null,"q":"Deno","jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":1,"buzz":0.5,"buzzRank":100,"momentum":"flat","trend":[0,0.3,0.5,0,0,0,0.4,0.4,0,0,0,0,0],"trendDelta":-0.2,"trendFrom":0.2,"trendTo":0},{"id":"django","name":"Django","cat":"backend","desc":"Python 的全功能 Web 框架，內建 ORM、後台管理與認證。","docs":"https://docs.djangoproject.com/en/stable/intro/","roadmap":null,"q":"Django","jobs":10,"demandPct":1.2,"demandRank":109,"klass":"niche","co":[["python",80],["postgresql",80],["react",60],["typescript",50],["ai-coding",50],["testing",50],["llm",50],["ai-agents",40],["rest",40],["gcp",30],["cicd",30],["docker",30]],"bySource":{"arbeitnow":3,"hn-hiring":5,"jobicy":1,"remoteok":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":2,"buzz":1.1,"buzzRank":54,"momentum":"flat","trend":[2.8,3.3,2.9,2.6,4.8,4.2,2.7,4.5,2.8,1.1,2.5,1.5,1.5],"trendDelta":-1.2,"trendFrom":2.9,"trendTo":1.7},{"id":"flask","name":"Flask","cat":"backend","desc":"Python 的輕量 Web 框架，適合小型服務與原型。","docs":"https://flask.palletsprojects.com/","roadmap":null,"q":"Flask","jobs":4,"demandPct":0.5,"demandRank":134,"klass":"niche","co":[],"bySource":{"arbeitnow":1,"jobicy":2,"hn-hiring":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[0,0.3,0.5,0.6,0.4,0.7,0.4,0.8,0,0,1.5,0.5,0],"trendDelta":0.2,"trendFrom":0.3,"trendTo":0.6},{"id":"fastapi","name":"FastAPI","cat":"backend","desc":"以型別提示與非同步為核心的 Python API 框架，是 AI 服務後端的常見選擇。","docs":"https://fastapi.tiangolo.com/tutorial/","roadmap":null,"q":"FastAPI","jobs":19,"demandPct":2.3,"demandRank":76,"klass":"steady","co":[["python",100],["postgresql",89],["typescript",74],["kubernetes",58],["ai-agents",53],["react",53],["aws",47],["machine-learning",47],["llm",47],["docker",42],["cicd",32],["go",32]],"bySource":{"arbeitnow":4,"hn-hiring":11,"jobicy":4},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":1,"buzz":0.5,"buzzRank":80,"momentum":"flat","trend":[3.1,5.6,3.9,3.2,2.6,4.9,1.9,1.6,2.4,3.2,3.4,4,2.3],"trendDelta":-0.6,"trendFrom":3.9,"trendTo":3.3},{"id":"spring","name":"Spring Boot","cat":"backend","desc":"Java 後端的事實標準框架，企業級微服務的主流選擇。","docs":"https://docs.spring.io/spring-boot/index.html","roadmap":"spring-boot","q":"Spring Boot","jobs":28,"demandPct":3.4,"demandRank":51,"klass":"rising","co":[["java",100],["angular",43],["sql",43],["react",39],["testing",39],["kubernetes",39],["kafka",36],["llm",32],["aws",32],["typescript",29],["docker",29],["postgresql",25]],"bySource":{"arbeitnow":14,"hn-hiring":6,"jobicy":3,"taiwanjobs":2,"remotive":1,"remoteok":2},"tw":{"jobs":2,"demandPct":7.1,"demandRank":13,"klass":"rising","co":[],"bySource":{"taiwanjobs":2}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"up","trend":[0.6,0.7,0,0.3,0.4,0.7,0,0.4,0,1.1,1,1.5,2.3],"trendDelta":1,"trendFrom":0.4,"trendTo":1.4},{"id":"dotnet","name":".NET / ASP.NET Core","cat":"backend","desc":"微軟的跨平台開發平台，ASP.NET Core 是高效能的企業級 Web 框架。","docs":"https://learn.microsoft.com/zh-tw/dotnet/","roadmap":"aspnet-core","q":"ASP.NET Core","jobs":23,"demandPct":2.8,"demandRank":63,"klass":"steady","co":[["csharp",70],["react",57],["java",48],["typescript",48],["python",39],["kubernetes",35],["llm",35],["postgresql",30],["ai-agents",30],["javascript",26],["sql",26],["azure",26]],"bySource":{"arbeitnow":8,"hn-hiring":8,"jobicy":2,"remotive":1,"remoteok":3,"taiwanjobs":1},"tw":{"jobs":1,"demandPct":3.6,"demandRank":18,"klass":"niche","co":[],"bySource":{"taiwanjobs":1}},"buzzCount":2,"buzz":1,"buzzRank":57,"momentum":"flat","trend":[1.3,1.7,1,1.5,0.4,1.4,0.8,0.4,3.3,0.5,2.5,2,3],"trendDelta":0.6,"trendFrom":1.4,"trendTo":1.9},{"id":"laravel","name":"Laravel","cat":"backend","desc":"PHP 生態最受歡迎的全功能框架。","docs":"https://laravel.com/docs","roadmap":"laravel","q":"Laravel","jobs":5,"demandPct":0.6,"demandRank":133,"klass":"niche","co":[["php",100],["javascript",80],["typescript",80],["python",80],["react",80],["vue",80],["nextjs",80],["nodejs",80],["llm",80],["angular",80],["ai-agents",80],["ai-coding",80]],"bySource":{"arbeitnow":1,"remotive":1,"remoteok":2,"hn-hiring":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[0.3,1,1.4,0.6,1.5,1.1,0.8,1.6,0.9,0,0.5,0.5,0],"trendDelta":-0.5,"trendFrom":0.8,"trendTo":0.3},{"id":"symfony","name":"Symfony","cat":"backend","desc":"歐洲企業常用的 PHP 框架，Laravel 的許多底層元件來自它。","docs":"https://symfony.com/doc/current/index.html","roadmap":null,"q":"Symfony","jobs":4,"demandPct":0.5,"demandRank":135,"klass":"niche","co":[],"bySource":{"arbeitnow":1,"remotive":1,"remoteok":2},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[0,0,0,0.3,0.4,0,0.4,0,0,0,0,0,0],"trendDelta":-0.1,"trendFrom":0.1,"trendTo":0},{"id":"rails","name":"Ruby on Rails","cat":"backend","desc":"「約定優於設定」的全端框架，讓小團隊能快速做出產品。","docs":"https://guides.rubyonrails.org/getting_started.html","roadmap":null,"q":"Ruby on Rails","jobs":20,"demandPct":2.5,"demandRank":73,"klass":"steady","co":[["ruby",80],["postgresql",40],["cicd",35],["react",35],["llm",30],["ai-coding",30],["typescript",30],["python",25],["ai-agents",25],["go",25],["docker",25],["observability",20]],"bySource":{"jobicy":3,"arbeitnow":6,"hn-hiring":10,"remotive":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":1,"buzz":0.5,"buzzRank":77,"momentum":"flat","trend":[3.1,4,3.4,3.8,4.8,2.8,3.5,2.4,6.1,5.8,4.4,2.5,3.8],"trendDelta":0.6,"trendFrom":3.6,"trendTo":4.1},{"id":"orm","name":"ORM 資料存取","cat":"backend","desc":"Prisma、Hibernate、SQLAlchemy 等工具，把資料表對映成程式中的物件。","docs":"https://www.prisma.io/docs","roadmap":null,"q":"ORM","jobs":16,"demandPct":2,"demandRank":82,"klass":"niche","co":[["postgresql",63],["typescript",50],["kubernetes",44],["java",44],["react",44],["agile",31],["sql",31],["nextjs",31],["tailwind",25],["oracle",19],["cicd",19],["kotlin",19]],"bySource":{"arbeitnow":5,"hn-hiring":9,"jobicy":1,"taiwanjobs":1},"tw":{"jobs":1,"demandPct":3.6,"demandRank":19,"klass":"niche","co":[],"bySource":{"taiwanjobs":1}},"buzzCount":1,"buzz":0.5,"buzzRank":81,"momentum":"flat","trend":[2.5,3.6,2.4,2,0.7,2.1,1.2,2.4,0.9,1.1,2,2.5,3],"trendDelta":-0.6,"trendFrom":2.6,"trendTo":2.1},{"id":"ios","name":"iOS 開發","cat":"mobile","desc":"以 Swift 與 Apple 框架開發 iPhone、iPad 應用程式。","docs":"https://developer.apple.com/documentation/","roadmap":"ios","q":"iOS development","jobs":34,"demandPct":4.2,"demandRank":42,"klass":"steady","co":[["android",71],["swift",50],["typescript",44],["python",38],["aws",32],["go",29],["testing",26],["kubernetes",26],["swiftui",26],["kotlin",24],["react",24],["nodejs",24]],"bySource":{"arbeitnow":11,"hn-hiring":17,"jobicy":2,"remotive":1,"remoteok":3},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":12,"buzz":6.2,"buzzRank":14,"momentum":"flat","trend":[3.4,3.6,5.3,5.8,3.7,4.9,4.2,5.3,3.3,2.1,1.5,5,5.3],"trendDelta":-1.2,"trendFrom":4.5,"trendTo":3.3},{"id":"android","name":"Android 開發","cat":"mobile","desc":"以 Kotlin 與 Jetpack 開發 Android 應用程式。","docs":"https://developer.android.com/courses","roadmap":"android","q":"Android development","jobs":30,"demandPct":3.7,"demandRank":47,"klass":"steady","co":[["ios",80],["typescript",37],["swift",33],["python",33],["go",33],["kotlin",30],["ai-agents",30],["java",27],["cpp",27],["distributed-systems",27],["machine-learning",27],["aws",27]],"bySource":{"arbeitnow":13,"hn-hiring":12,"jobicy":1,"remotive":1,"remoteok":3},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":23,"buzz":12.6,"buzzRank":9,"momentum":"flat","trend":[3.1,3.3,6.3,4.4,3.3,3.5,1.9,4.1,2.8,2.1,2,4,3],"trendDelta":-1.3,"trendFrom":4.1,"trendTo":2.8},{"id":"react-native","name":"React Native","cat":"mobile","desc":"用 React 寫原生行動 App，前端工程師跨入行動開發的最短路徑。","docs":"https://reactnative.dev/docs/getting-started","roadmap":"react-native","q":"React Native","jobs":23,"demandPct":2.8,"demandRank":64,"klass":"steady","co":[["react",100],["typescript",61],["python",61],["aws",39],["nextjs",39],["llm",39],["testing",35],["postgresql",35],["nodejs",35],["ai-agents",30],["machine-learning",26],["ai-coding",26]],"bySource":{"arbeitnow":4,"hn-hiring":15,"remotive":1,"remoteok":3},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":1,"buzz":0.5,"buzzRank":78,"momentum":"flat","trend":[3.4,3.6,2.4,2.9,3,2.5,4.6,4.5,7.1,4.7,3.9,4.5,4.5],"trendDelta":1.3,"trendFrom":3.2,"trendTo":4.4},{"id":"flutter","name":"Flutter","cat":"mobile","desc":"Google 的跨平台 UI 框架，一套 Dart 程式碼產出多平台應用。","docs":"https://docs.flutter.dev/","roadmap":"flutter","q":"Flutter","jobs":9,"demandPct":1.1,"demandRank":114,"klass":"niche","co":[["react",67],["python",67],["go",56],["react-native",56],["typescript",44],["ruby",44],["ai-agents",44],["ai-coding",44],["javascript",44],["swift",44],["angular",44],["nodejs",44]],"bySource":{"jobicy":1,"arbeitnow":1,"remotive":1,"remoteok":5,"hn-hiring":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":1,"buzz":0.7,"buzzRank":63,"momentum":"flat","trend":[0.3,0.7,1.4,1.5,1.5,0.7,2.3,0.8,0.9,0,0,0.5,0],"trendDelta":-0.8,"trendFrom":0.9,"trendTo":0.1},{"id":"swiftui","name":"SwiftUI","cat":"mobile","desc":"Apple 的宣告式 UI 框架，是新 iOS 專案的預設選擇。","docs":"https://developer.apple.com/tutorials/swiftui","roadmap":"swift-ui","q":"SwiftUI","jobs":10,"demandPct":1.2,"demandRank":110,"klass":"niche","co":[["swift",90],["ios",90],["typescript",40],["react",40],["kotlin",30],["python",30],["cpp",30],["aws",30],["android",30],["llm",20],["ai-coding",20],["ddd",20]],"bySource":{"arbeitnow":2,"hn-hiring":8},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":1,"buzz":0.5,"buzzRank":97,"momentum":"flat","trend":[1.3,1,0.5,1.2,0.4,0.7,0.8,1.6,0.5,0.5,0.5,2.5,2.3],"trendDelta":0.4,"trendFrom":1,"trendTo":1.4},{"id":"kmp","name":"Kotlin Multiplatform","cat":"mobile","desc":"在 iOS 與 Android 之間共用 Kotlin 商業邏輯的跨平台方案。","docs":"https://kotlinlang.org/docs/multiplatform.html","roadmap":null,"q":"Kotlin Multiplatform","jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":1,"buzz":0.5,"buzzRank":75,"momentum":"flat","trend":[0,0.3,0,0.6,0.4,0,0,0,0,0,0,0,0],"trendDelta":-0.3,"trendFrom":0.3,"trendTo":0},{"id":"postgresql","name":"PostgreSQL","cat":"database","desc":"功能最完整的開源關聯式資料庫，已成為新專案的預設選項。","docs":"https://www.postgresql.org/docs/current/tutorial.html","roadmap":"postgresql-dba","q":"PostgreSQL","jobs":121,"demandPct":14.9,"demandRank":9,"klass":"core","co":[["typescript",50],["react",50],["python",48],["kubernetes",40],["aws",38],["llm",33],["ai-agents",27],["docker",26],["terraform",21],["sql",21],["redis",21],["go",20]],"bySource":{"arbeitnow":26,"jobicy":19,"hn-hiring":71,"remoteok":2,"taiwanjobs":2,"remotive":1},"tw":{"jobs":2,"demandPct":7.1,"demandRank":14,"klass":"steady","co":[],"bySource":{"taiwanjobs":2}},"buzzCount":6,"buzz":3.6,"buzzRank":27,"momentum":"flat","trend":[20.3,24.2,21.3,24.6,24.5,20.8,21.9,23.6,21.2,27.4,20.1,23.6,18.2],"trendDelta":-0.1,"trendFrom":22.7,"trendTo":22.6},{"id":"mysql","name":"MySQL","cat":"database","desc":"使用最廣的開源關聯式資料庫之一，大量既有系統仍以它為主。","docs":"https://dev.mysql.com/doc/refman/8.4/en/tutorial.html","roadmap":null,"q":"MySQL","jobs":15,"demandPct":1.8,"demandRank":88,"klass":"niche","co":[["postgresql",60],["kubernetes",53],["docker",47],["python",40],["redis",40],["elasticsearch",33],["linux",33],["distributed-systems",33],["aws",27],["java",27],["git",27],["javascript",27]],"bySource":{"jobicy":3,"arbeitnow":5,"hn-hiring":6,"remotive":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":2,"buzz":1.1,"buzzRank":52,"momentum":"flat","trend":[2.5,2,2.4,1.8,2.2,3.2,1.5,1.2,1.4,1.6,1,1.5,2.3],"trendDelta":-0.6,"trendFrom":2.1,"trendTo":1.5},{"id":"sqlserver","name":"SQL Server","cat":"database","desc":"微軟的企業級關聯式資料庫，常與 .NET 技術棧搭配。","docs":"https://learn.microsoft.com/zh-tw/sql/sql-server/","roadmap":null,"q":"SQL Server","jobs":10,"demandPct":1.2,"demandRank":111,"klass":"niche","co":[["sql",90],["azure",70],["kubernetes",50],["python",40],["postgresql",40],["cicd",40],["aws",30],["terraform",30],["linux",30],["windows-server",30],["agile",30],["rest",30]],"bySource":{"arbeitnow":6,"hn-hiring":2,"remoteok":1,"taiwanjobs":1},"tw":{"jobs":1,"demandPct":3.6,"demandRank":20,"klass":"niche","co":[],"bySource":{"taiwanjobs":1}},"buzzCount":1,"buzz":0.7,"buzzRank":65,"momentum":"flat","trend":[0.3,0.3,1,0.9,0,0.4,0,0,0.9,0,1,0.5,0.8],"trendDelta":0,"trendFrom":0.6,"trendTo":0.6},{"id":"oracle","name":"Oracle Database","cat":"database","desc":"金融與大型企業核心系統常用的商用資料庫。","docs":"https://docs.oracle.com/en/database/","roadmap":null,"q":"Oracle Database","jobs":11,"demandPct":1.4,"demandRank":105,"klass":"niche","co":[["sql",45],["postgresql",45],["kubernetes",45],["java",45],["python",36],["machine-learning",36],["aws",27],["orm",27],["sqlserver",27],["cicd",27],["agile",27],["llm",27]],"bySource":{"jobicy":3,"arbeitnow":3,"hn-hiring":2,"remoteok":2,"taiwanjobs":1},"tw":{"jobs":1,"demandPct":3.6,"demandRank":21,"klass":"niche","co":[],"bySource":{"taiwanjobs":1}},"buzzCount":1,"buzz":0.5,"buzzRank":82,"momentum":"flat","trend":[0,0.3,0,0.3,0,0.4,0.4,0,0,1.1,0,0,1.5],"trendDelta":0.4,"trendFrom":0.2,"trendTo":0.6},{"id":"mongodb","name":"MongoDB","cat":"database","desc":"最普及的文件型 NoSQL 資料庫，以彈性的 JSON 結構儲存資料。","docs":"https://www.mongodb.com/docs/manual/","roadmap":"mongodb","q":"MongoDB","jobs":14,"demandPct":1.7,"demandRank":94,"klass":"niche","co":[["python",71],["postgresql",50],["kubernetes",50],["typescript",50],["aws",43],["javascript",43],["react",43],["testing",43],["elasticsearch",36],["rust",36],["cicd",36],["llm",36]],"bySource":{"jobicy":5,"arbeitnow":1,"hn-hiring":8},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[1.9,2.3,2.4,3.2,1.9,2.5,4.2,1.6,3.8,3.2,2,3,1.5],"trendDelta":0,"trendFrom":2.5,"trendTo":2.5},{"id":"redis","name":"Redis","cat":"database","desc":"記憶體內的鍵值儲存，用於快取、Session、排行榜與訊息佇列。","docs":"https://redis.io/docs/latest/","roadmap":"redis","q":"Redis","jobs":27,"demandPct":3.3,"demandRank":53,"klass":"steady","co":[["postgresql",93],["kubernetes",70],["python",56],["go",56],["typescript",52],["react",44],["distributed-systems",41],["kafka",37],["machine-learning",37],["elasticsearch",33],["aws",33],["llm",33]],"bySource":{"jobicy":12,"arbeitnow":5,"hn-hiring":9,"remotive":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":1,"buzz":0.4,"buzzRank":102,"momentum":"flat","trend":[2.8,4.3,4.3,6.1,5.9,5.3,5.4,2.8,3.8,6.3,4.9,2.5,3],"trendDelta":-0.2,"trendFrom":4.4,"trendTo":4.3},{"id":"elasticsearch","name":"Elasticsearch / OpenSearch","cat":"database","desc":"分散式全文搜尋與分析引擎，也是日誌系統的常見後端。","docs":"https://www.elastic.co/docs/get-started","roadmap":null,"q":"Elasticsearch","jobs":23,"demandPct":2.8,"demandRank":65,"klass":"steady","co":[["postgresql",70],["kubernetes",70],["docker",57],["python",57],["aws",48],["go",48],["kafka",43],["llm",39],["ai-agents",39],["redis",39],["react",35],["cicd",35]],"bySource":{"arbeitnow":9,"jobicy":7,"hn-hiring":5,"remoteok":1,"remotive":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":1,"buzz":0.5,"buzzRank":83,"momentum":"flat","trend":[0.9,1.7,1.4,2,1.9,2.5,2.7,1.6,0.9,1.6,2,1,2.3],"trendDelta":0.1,"trendFrom":1.5,"trendTo":1.7},{"id":"dynamodb","name":"DynamoDB","cat":"database","desc":"AWS 的全託管鍵值 / 文件資料庫，主打無上限的水平擴充。","docs":"https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.html","roadmap":null,"q":"DynamoDB","jobs":9,"demandPct":1.1,"demandRank":115,"klass":"niche","co":[["aws",100],["python",78],["ai-agents",67],["postgresql",67],["docker",67],["react",67],["typescript",56],["llm",56],["machine-learning",44],["rest",44],["redis",44],["kubernetes",44]],"bySource":{"jobicy":5,"hn-hiring":3,"remotive":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[0.9,1,0,0.9,0.4,0.4,0.4,0.4,0.5,0,0,1,0.8],"trendDelta":-0.4,"trendFrom":0.8,"trendTo":0.4},{"id":"cassandra","name":"Cassandra / ScyllaDB","cat":"database","desc":"寬欄位分散式資料庫，適合寫入量極大的時序與事件資料。","docs":"https://cassandra.apache.org/doc/latest/","roadmap":null,"q":"Cassandra","jobs":4,"demandPct":0.5,"demandRank":136,"klass":"niche","co":[],"bySource":{"jobicy":4},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[0.3,0.3,0.5,0.6,0.7,0.7,0,0,0,0,0,0,0],"trendDelta":-0.4,"trendFrom":0.4,"trendTo":0},{"id":"sqlite","name":"SQLite","cat":"database","desc":"嵌入式關聯式資料庫，近年因邊緣運算與 local-first 架構重新受到重視。","docs":"https://www.sqlite.org/docs.html","roadmap":null,"q":"SQLite","jobs":2,"demandPct":0.2,"demandRank":145,"klass":"niche","co":[],"bySource":{"hn-hiring":2},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":1,"buzz":0.5,"buzzRank":101,"momentum":"flat","trend":[0.6,0.3,1,0.3,0,0.4,0,0.4,0.5,1.6,1,0.5,0.8],"trendDelta":0.5,"trendFrom":0.5,"trendTo":1},{"id":"clickhouse","name":"ClickHouse","cat":"database","desc":"欄式 OLAP 資料庫，能即時查詢數十億筆事件資料。","docs":"https://clickhouse.com/docs","roadmap":null,"q":"ClickHouse","jobs":8,"demandPct":1,"demandRank":120,"klass":"niche","co":[["python",50],["airflow",50],["sql",38],["etl",38],["machine-learning",38],["llm",38],["typescript",38],["ai-agents",38],["go",25],["kubernetes",25],["testing",25],["dsa",25]],"bySource":{"arbeitnow":3,"jobicy":1,"hn-hiring":4},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[1.6,1,1.4,1.5,2.2,2.1,1.9,2.4,1.4,0.5,1,1.5,0.8],"trendDelta":-0.4,"trendFrom":1.4,"trendTo":1},{"id":"duckdb","name":"DuckDB","cat":"database","desc":"「分析界的 SQLite」，在單機上直接對 Parquet、CSV 做高速分析查詢。","docs":"https://duckdb.org/docs/stable/","roadmap":null,"q":"DuckDB","jobs":1,"demandPct":0.1,"demandRank":151,"klass":"niche","co":[],"bySource":{"arbeitnow":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":1,"buzz":0.5,"buzzRank":74,"momentum":"down","trend":[1.6,0.7,1.4,1.5,0.7,0.4,1.2,0.8,0.5,0,0.5,0,0],"trendDelta":-1.1,"trendFrom":1.3,"trendTo":0.1},{"id":"supabase","name":"Supabase","cat":"database","desc":"以 PostgreSQL 為核心的開源後端即服務，提供認證、儲存與即時訂閱。","docs":"https://supabase.com/docs","roadmap":null,"q":"Supabase","jobs":6,"demandPct":0.7,"demandRank":129,"klass":"niche","co":[["postgresql",83],["typescript",67],["react",67],["llm",67],["sql",33],["aws",33],["machine-learning",33],["rag",33],["vector-db",33],["ai-coding",33],["nextjs",33],["nodejs",33]],"bySource":{"arbeitnow":1,"hn-hiring":5},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":1,"buzz":0.5,"buzzRank":99,"momentum":"flat","trend":[0.9,1.3,2.4,1.5,2.6,1.4,0.8,2.4,0,0,0.5,1.5,1.5],"trendDelta":-0.6,"trendFrom":1.5,"trendTo":0.8},{"id":"firebase","name":"Firebase","cat":"database","desc":"Google 的後端即服務，行動 App 與原型開發常用。","docs":"https://firebase.google.com/docs","roadmap":null,"q":"Firebase","jobs":8,"demandPct":1,"demandRank":121,"klass":"niche","co":[["testing",75],["llm",63],["ai-coding",63],["javascript",63],["nodejs",63],["typescript",63],["react",63],["nextjs",63],["react-native",63],["gamedev",50],["swift",50],["ios",50]],"bySource":{"arbeitnow":2,"jobicy":1,"remotive":1,"remoteok":2,"hn-hiring":2},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":1,"buzz":0.4,"buzzRank":103,"momentum":"flat","trend":[0.3,0.3,0,0.6,0,0.4,0.8,1.2,0.9,0.5,0,1,0],"trendDelta":0.1,"trendFrom":0.3,"trendTo":0.4},{"id":"aws","name":"AWS","cat":"cloud","desc":"市佔第一的公有雲，是雲端職缺最常指定的平台。","docs":"https://aws.amazon.com/getting-started/","roadmap":"aws","q":"AWS","jobs":134,"demandPct":16.5,"demandRank":7,"klass":"core","co":[["python",54],["kubernetes",37],["typescript",36],["postgresql",34],["react",31],["ai-agents",30],["llm",29],["machine-learning",27],["terraform",27],["cicd",25],["azure",25],["gcp",24]],"bySource":{"arbeitnow":36,"jobicy":30,"hn-hiring":57,"remoteok":7,"remotive":1,"taiwanjobs":3},"tw":{"jobs":3,"demandPct":10.7,"demandRank":9,"klass":"core","co":[],"bySource":{"taiwanjobs":3}},"buzzCount":10,"buzz":5.3,"buzzRank":16,"momentum":"flat","trend":[20.3,17.9,19.3,22.2,20.1,20.8,21.9,17.9,17.5,20.5,16.7,16.1,18.9],"trendDelta":-2.1,"trendFrom":20.1,"trendTo":17.9},{"id":"azure","name":"Microsoft Azure","cat":"cloud","desc":"微軟的公有雲，在企業與政府市場特別強勢。","docs":"https://learn.microsoft.com/zh-tw/azure/","roadmap":null,"q":"Microsoft Azure","jobs":65,"demandPct":8,"demandRank":24,"klass":"steady","co":[["python",54],["aws",51],["cicd",42],["gcp",35],["llm",32],["kubernetes",31],["etl",28],["ai-agents",26],["terraform",26],["sql",26],["machine-learning",25],["observability",25]],"bySource":{"arbeitnow":44,"jobicy":5,"hn-hiring":9,"remoteok":5,"remotive":1,"taiwanjobs":1},"tw":{"jobs":1,"demandPct":3.6,"demandRank":22,"klass":"niche","co":[],"bySource":{"taiwanjobs":1}},"buzzCount":3,"buzz":1.7,"buzzRank":45,"momentum":"flat","trend":[3.4,3.6,1.9,4.1,2.2,2.5,3.8,3.3,4.7,3.7,3.4,3,2.3],"trendDelta":-0.2,"trendFrom":3.4,"trendTo":3.2},{"id":"gcp","name":"Google Cloud","cat":"cloud","desc":"Google 的公有雲，資料分析與 AI 服務是其強項。","docs":"https://cloud.google.com/docs","roadmap":null,"q":"Google Cloud","jobs":58,"demandPct":7.1,"demandRank":29,"klass":"steady","co":[["python",57],["aws",55],["azure",40],["kubernetes",40],["machine-learning",38],["postgresql",38],["typescript",34],["go",33],["llm",31],["react",31],["ai-agents",29],["etl",24]],"bySource":{"arbeitnow":22,"jobicy":12,"hn-hiring":17,"remoteok":6,"taiwanjobs":1},"tw":{"jobs":1,"demandPct":3.6,"demandRank":23,"klass":"niche","co":[],"bySource":{"taiwanjobs":1}},"buzzCount":6,"buzz":3.1,"buzzRank":32,"momentum":"flat","trend":[8.8,6.6,6.8,9.6,6.7,5.7,6.9,4.5,7.5,6.3,6.4,4.5,6.1],"trendDelta":-2.3,"trendFrom":8.1,"trendTo":5.8},{"id":"cloudflare","name":"Cloudflare","cat":"cloud","desc":"從 CDN 起家的邊緣運算平台，Workers 讓程式碼跑在離使用者最近的節點。","docs":"https://developers.cloudflare.com/","roadmap":"cloudflare","q":"Cloudflare","jobs":7,"demandPct":0.9,"demandRank":124,"klass":"niche","co":[["llm",71],["ai-agents",57],["gcp",43],["typescript",43],["react",43],["aws",29],["kubernetes",29],["machine-learning",29],["inference",29],["postgresql",29],["networking",29],["cryptography",29]],"bySource":{"arbeitnow":1,"hn-hiring":4,"jobicy":2},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":4,"buzz":2,"buzzRank":44,"momentum":"flat","trend":[2.5,2.3,2.4,2,1.1,1.4,2.3,1.2,1.4,1.1,2,1.5,0.8],"trendDelta":-0.9,"trendFrom":2.3,"trendTo":1.4},{"id":"vercel","name":"Vercel","cat":"cloud","desc":"前端導向的部署平台，與 Next.js 深度整合。","docs":"https://vercel.com/docs","roadmap":null,"q":"Vercel","jobs":6,"demandPct":0.7,"demandRank":130,"klass":"niche","co":[["react",67],["ai-agents",67],["llm",50],["typescript",50],["nextjs",50],["ai-coding",50],["astro",33],["tailwind",33],["orm",33],["postgresql",33],["python",33],["vue",17]],"bySource":{"arbeitnow":1,"hn-hiring":5},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[1.6,1.7,1.4,2.6,3,2.1,0.8,2.4,0.9,1.6,1.5,1.5,1.5],"trendDelta":-0.4,"trendFrom":1.9,"trendTo":1.5},{"id":"serverless","name":"Serverless","cat":"cloud","desc":"不必管理伺服器、依用量計費的運算模式，以 AWS Lambda 為代表。","docs":"https://docs.aws.amazon.com/lambda/latest/dg/welcome.html","roadmap":null,"q":"serverless","jobs":15,"demandPct":1.8,"demandRank":89,"klass":"niche","co":[["aws",73],["typescript",53],["llm",47],["machine-learning",40],["python",40],["react",40],["postgresql",40],["ai-agents",33],["docker",27],["terraform",27],["go",20],["kubernetes",20]],"bySource":{"arbeitnow":1,"jobicy":2,"hn-hiring":10,"remoteok":1,"remotive":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[2.5,2.6,1.9,2.6,1.1,2.5,2.3,2.4,1.4,1.1,1.5,3.5,2.3],"trendDelta":-0.4,"trendFrom":2.5,"trendTo":2.1},{"id":"docker","name":"Docker","cat":"devops","desc":"把應用程式與相依環境封裝成容器，是現代部署流程的起點。","docs":"https://docs.docker.com/get-started/","roadmap":"docker","q":"Docker","jobs":77,"demandPct":9.5,"demandRank":18,"klass":"core","co":[["python",53],["kubernetes",51],["postgresql",42],["cicd",39],["aws",34],["terraform",31],["llm",29],["linux",27],["react",27],["rest",25],["typescript",25],["go",25]],"bySource":{"arbeitnow":34,"jobicy":18,"hn-hiring":18,"remoteok":4,"remotive":3},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":2,"buzz":1,"buzzRank":60,"momentum":"flat","trend":[7.8,7,6.8,7.9,10.4,8.1,5.8,6.9,4.7,10.5,9.8,4.5,6.8],"trendDelta":0.6,"trendFrom":7.4,"trendTo":8},{"id":"kubernetes","name":"Kubernetes","cat":"devops","desc":"容器編排的事實標準，負責部署、擴充與自我修復。","docs":"https://kubernetes.io/docs/tutorials/kubernetes-basics/","roadmap":"kubernetes","q":"Kubernetes","jobs":128,"demandPct":15.8,"demandRank":8,"klass":"core","co":[["python",52],["go",40],["aws",38],["postgresql",38],["distributed-systems",33],["terraform",32],["docker",30],["typescript",27],["react",27],["cicd",27],["machine-learning",26],["linux",26]],"bySource":{"arbeitnow":45,"jobicy":32,"hn-hiring":41,"remoteok":7,"remotive":2,"taiwanjobs":1},"tw":{"jobs":1,"demandPct":3.6,"demandRank":24,"klass":"niche","co":[],"bySource":{"taiwanjobs":1}},"buzzCount":3,"buzz":1.5,"buzzRank":47,"momentum":"flat","trend":[10,11.3,12.1,14,12.3,11.3,8.5,11.8,8.5,14.7,12.3,13.6,10.6],"trendDelta":1.1,"trendFrom":11.9,"trendTo":13},{"id":"terraform","name":"Terraform / IaC","cat":"devops","desc":"用程式碼定義雲端基礎設施，讓環境可以版本控管與重複建立。","docs":"https://developer.hashicorp.com/terraform/tutorials","roadmap":"terraform","q":"Terraform","jobs":71,"demandPct":8.7,"demandRank":20,"klass":"core","co":[["python",61],["kubernetes",58],["aws",51],["cicd",49],["postgresql",37],["docker",34],["go",31],["typescript",30],["azure",24],["observability",24],["security",23],["ai-agents",21]],"bySource":{"arbeitnow":23,"hn-hiring":29,"jobicy":14,"remoteok":5},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[9.1,10.6,8.2,11.4,8.6,7.8,8.1,9.8,5.7,10,10.3,8.5,9.1],"trendDelta":-0.5,"trendFrom":10,"trendTo":9.5},{"id":"nix","name":"Nix / NixOS","cat":"devops","desc":"用宣告式設定打造可重現的開發環境與系統，同一份設定在任何機器上都建出完全相同的結果。","docs":"https://nixos.org/learn/","roadmap":null,"q":"NixOS","jobs":3,"demandPct":0.4,"demandRank":140,"klass":"niche","co":[],"bySource":{"hn-hiring":3},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":1,"buzz":0.7,"buzzRank":64,"momentum":"flat","trend":[0.6,0.7,0.5,0.6,1.1,0.4,0.4,0.4,1.4,1.6,1.5,1,0.8],"trendDelta":0.6,"trendFrom":0.6,"trendTo":1.2},{"id":"ansible","name":"Ansible","cat":"devops","desc":"無代理程式的組態管理與自動化工具。","docs":"https://docs.ansible.com/","roadmap":null,"q":"Ansible","jobs":16,"demandPct":2,"demandRank":83,"klass":"niche","co":[["terraform",81],["kubernetes",75],["python",69],["docker",69],["cicd",56],["aws",56],["go",50],["linux",50],["distributed-systems",44],["postgresql",44],["elasticsearch",44],["azure",38]],"bySource":{"arbeitnow":7,"jobicy":4,"hn-hiring":2,"remoteok":3},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[0.9,0.7,0.5,1.2,0.7,0.7,1.5,0.4,1.4,2.1,1,0,1.5],"trendDelta":0.2,"trendFrom":0.9,"trendTo":1.1},{"id":"helm","name":"Helm","cat":"devops","desc":"Kubernetes 的套件管理工具，用 Chart 封裝與發佈應用。","docs":"https://helm.sh/docs/","roadmap":null,"q":"Helm","jobs":11,"demandPct":1.4,"demandRank":106,"klass":"niche","co":[["kubernetes",100],["python",55],["terraform",55],["cicd",55],["go",45],["docker",45],["java",36],["postgresql",36],["kafka",36],["typescript",36],["distributed-systems",27],["react",27]],"bySource":{"arbeitnow":5,"hn-hiring":3,"jobicy":2,"remoteok":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[0.6,0.7,1,0.9,1.9,1.4,0.4,0.8,0.5,0.5,0.5,1,0.8],"trendDelta":-0.1,"trendFrom":0.8,"trendTo":0.7},{"id":"cicd","name":"CI/CD","cat":"devops","desc":"自動化建置、測試與部署的流程，是團隊能頻繁且安全上線的關鍵。","docs":"https://about.gitlab.com/topics/ci-cd/","roadmap":null,"q":"CI/CD","jobs":99,"demandPct":12.2,"demandRank":13,"klass":"core","co":[["python",55],["terraform",35],["aws",34],["kubernetes",34],["llm",32],["docker",30],["ai-agents",30],["testing",28],["azure",27],["observability",26],["postgresql",24],["sql",23]],"bySource":{"arbeitnow":57,"jobicy":19,"hn-hiring":18,"remoteok":4,"taiwanjobs":1},"tw":{"jobs":1,"demandPct":3.6,"demandRank":25,"klass":"niche","co":[],"bySource":{"taiwanjobs":1}},"buzzCount":1,"buzz":0.5,"buzzRank":84,"momentum":"flat","trend":[5.6,5.6,4.3,7.6,6.3,7.4,7.3,4.1,5.7,7.4,8.3,5.5,5.3],"trendDelta":0.8,"trendFrom":6,"trendTo":6.8},{"id":"github-actions","name":"GitHub Actions","cat":"devops","desc":"GitHub 內建的 CI/CD 與自動化工作流程服務。","docs":"https://docs.github.com/en/actions","roadmap":null,"q":"GitHub Actions","jobs":25,"demandPct":3.1,"demandRank":57,"klass":"steady","co":[["cicd",48],["postgresql",44],["terraform",40],["typescript",36],["kubernetes",36],["aws",36],["python",32],["grafana",32],["docker",32],["testing",32],["go",28],["javascript",24]],"bySource":{"arbeitnow":12,"hn-hiring":9,"jobicy":1,"remoteok":2,"taiwanjobs":1},"tw":{"jobs":1,"demandPct":3.6,"demandRank":26,"klass":"niche","co":[],"bySource":{"taiwanjobs":1}},"buzzCount":1,"buzz":0.5,"buzzRank":85,"momentum":"flat","trend":[1.3,2.3,1,2,0.7,0.7,0.8,2.4,1.4,1.6,1,3.5,1.5],"trendDelta":0.2,"trendFrom":1.7,"trendTo":1.9},{"id":"jenkins","name":"Jenkins","cat":"devops","desc":"歷史悠久的開源 CI 伺服器，許多企業內部仍在使用。","docs":"https://www.jenkins.io/doc/","roadmap":null,"q":"Jenkins","jobs":16,"demandPct":2,"demandRank":84,"klass":"niche","co":[["java",63],["kubernetes",63],["python",50],["cicd",44],["git",44],["sql",38],["docker",38],["linux",38],["argocd",38],["github-actions",31],["bash",31],["angular",25]],"bySource":{"arbeitnow":9,"jobicy":3,"hn-hiring":3,"taiwanjobs":1},"tw":{"jobs":1,"demandPct":3.6,"demandRank":27,"klass":"niche","co":[],"bySource":{"taiwanjobs":1}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[0.3,0.7,0.5,0.3,0.4,0.7,0.8,0.4,0.9,1.1,0.5,0.5,1.5],"trendDelta":0.4,"trendFrom":0.4,"trendTo":0.8},{"id":"gitlab","name":"GitLab CI","cat":"devops","desc":"GitLab 內建的 CI/CD，常見於自架程式碼平台的公司。","docs":"https://docs.gitlab.com/ci/","roadmap":null,"q":"GitLab CI","jobs":21,"demandPct":2.6,"demandRank":70,"klass":"steady","co":[["python",67],["cicd",57],["kubernetes",52],["aws",43],["kafka",43],["docker",43],["go",38],["sql",38],["terraform",38],["postgresql",38],["linux",29],["observability",29]],"bySource":{"arbeitnow":10,"jobicy":6,"hn-hiring":4,"remoteok":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":1,"buzz":0.5,"buzzRank":96,"momentum":"flat","trend":[1.6,1,0.5,0.9,0.7,0.7,0.4,0,0.5,0.5,1,1.5,0.8],"trendDelta":-0.1,"trendFrom":1,"trendTo":1},{"id":"argocd","name":"Argo CD / GitOps","cat":"devops","desc":"以 Git 為唯一事實來源、自動同步 Kubernetes 狀態的部署方式。","docs":"https://argo-cd.readthedocs.io/en/stable/","roadmap":null,"q":"Argo CD","jobs":21,"demandPct":2.6,"demandRank":71,"klass":"steady","co":[["kubernetes",90],["python",43],["aws",38],["linux",38],["go",38],["distributed-systems",38],["postgresql",38],["grafana",38],["terraform",33],["cicd",33],["typescript",33],["bash",29]],"bySource":{"arbeitnow":10,"hn-hiring":5,"jobicy":4,"remoteok":1,"taiwanjobs":1},"tw":{"jobs":1,"demandPct":3.6,"demandRank":28,"klass":"niche","co":[],"bySource":{"taiwanjobs":1}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[1.3,1,0.5,2,1.5,0.7,0,0.8,0,0,1,1,2.3],"trendDelta":-0.3,"trendFrom":1.3,"trendTo":1},{"id":"linux","name":"Linux","cat":"devops","desc":"伺服器與容器的主流作業系統，熟悉命令列與系統管理是後端與維運的基本功。","docs":"https://linuxcommand.org/tlcl.php","roadmap":"linux","q":"Linux","jobs":91,"demandPct":11.2,"demandRank":15,"klass":"core","co":[["python",63],["kubernetes",36],["go",31],["distributed-systems",30],["cpp",25],["docker",23],["embedded",21],["cicd",19],["bash",18],["machine-learning",18],["typescript",18],["security",15]],"bySource":{"arbeitnow":27,"jobicy":29,"hn-hiring":25,"taiwanjobs":5,"remotive":2,"remoteok":3},"tw":{"jobs":5,"demandPct":17.9,"demandRank":3,"klass":"core","co":[["aws",40],["network-admin",40],["python",20],["bash",20],["kubernetes",20],["cicd",20],["github-actions",20],["jenkins",20],["argocd",20],["grafana",20],["opentelemetry",20],["sql",20]],"bySource":{"taiwanjobs":5}},"buzzCount":29,"buzz":17.6,"buzzRank":6,"momentum":"flat","trend":[4.7,6.6,5.3,4.1,5.9,4.9,6.5,6.1,3.8,6.8,6.9,6,9.8],"trendDelta":2,"trendFrom":5.1,"trendTo":7.2},{"id":"nginx","name":"Nginx","cat":"devops","desc":"高效能的 Web 伺服器與反向代理。","docs":"https://nginx.org/en/docs/beginners_guide.html","roadmap":null,"q":"Nginx","jobs":2,"demandPct":0.2,"demandRank":146,"klass":"niche","co":[],"bySource":{"jobicy":1,"arbeitnow":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[0,0,0,0.3,0,0,0.4,0,0,0,0,0,0],"trendDelta":-0.1,"trendFrom":0.1,"trendTo":0},{"id":"prometheus","name":"Prometheus","cat":"devops","desc":"雲原生監控的標準：時序資料庫加上拉取式指標蒐集與告警。","docs":"https://prometheus.io/docs/introduction/overview/","roadmap":null,"q":"Prometheus","jobs":14,"demandPct":1.7,"demandRank":95,"klass":"niche","co":[["grafana",93],["kubernetes",79],["observability",71],["python",64],["terraform",64],["cicd",64],["opentelemetry",50],["aws",50],["argocd",43],["linux",43],["distributed-systems",43],["bash",36]],"bySource":{"arbeitnow":8,"jobicy":2,"hn-hiring":2,"remoteok":2},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[0.3,1.3,1,1.8,0.7,1.4,1.2,0.4,0.9,1.1,1.5,0.5,0.8],"trendDelta":-0.1,"trendFrom":1.1,"trendTo":1},{"id":"grafana","name":"Grafana","cat":"devops","desc":"把指標、日誌與追蹤資料做成儀表板的視覺化平台。","docs":"https://grafana.com/docs/grafana/latest/","roadmap":null,"q":"Grafana","jobs":18,"demandPct":2.2,"demandRank":78,"klass":"niche","co":[["kubernetes",72],["prometheus",72],["python",56],["terraform",56],["observability",56],["cicd",56],["aws",56],["opentelemetry",50],["github-actions",44],["argocd",44],["linux",39],["bash",33]],"bySource":{"arbeitnow":9,"jobicy":2,"hn-hiring":4,"remoteok":2,"taiwanjobs":1},"tw":{"jobs":1,"demandPct":3.6,"demandRank":29,"klass":"niche","co":[],"bySource":{"taiwanjobs":1}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[0.6,1,0.5,2.3,1.1,1.1,1.5,2,1.4,2.1,2.5,1,1.5],"trendDelta":0.6,"trendFrom":1.2,"trendTo":1.8},{"id":"datadog","name":"Datadog","cat":"devops","desc":"商用的全方位監控與可觀測性 SaaS。","docs":"https://docs.datadoghq.com/getting_started/","roadmap":null,"q":"Datadog","jobs":15,"demandPct":1.8,"demandRank":90,"klass":"niche","co":[["kubernetes",67],["aws",67],["typescript",60],["react",60],["python",60],["docker",47],["postgresql",40],["observability",40],["kafka",33],["terraform",33],["go",33],["testing",27]],"bySource":{"arbeitnow":3,"jobicy":7,"hn-hiring":3,"remotive":1,"remoteok":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":1,"buzz":0.5,"buzzRank":86,"momentum":"flat","trend":[1.3,1.7,2.4,1.8,1.1,1.1,1.9,0.4,0.9,3.2,1.5,0.5,1.5],"trendDelta":-0.1,"trendFrom":1.7,"trendTo":1.7},{"id":"opentelemetry","name":"OpenTelemetry","cat":"devops","desc":"蒐集追蹤、指標與日誌的開放標準，避免被單一監控廠商綁定。","docs":"https://opentelemetry.io/docs/","roadmap":null,"q":"OpenTelemetry","jobs":13,"demandPct":1.6,"demandRank":102,"klass":"niche","co":[["grafana",69],["terraform",62],["cicd",62],["observability",62],["kubernetes",62],["prometheus",54],["python",46],["argocd",46],["aws",46],["github-actions",38],["go",31],["rust",31]],"bySource":{"arbeitnow":6,"hn-hiring":5,"remoteok":1,"taiwanjobs":1},"tw":{"jobs":1,"demandPct":3.6,"demandRank":30,"klass":"niche","co":[],"bySource":{"taiwanjobs":1}},"buzzCount":1,"buzz":0.5,"buzzRank":87,"momentum":"flat","trend":[0.9,1.7,1.4,0.9,1.5,0.7,0,0,0,0,0.5,2,0.8],"trendDelta":-0.4,"trendFrom":1.2,"trendTo":0.8},{"id":"observability","name":"可觀測性","cat":"devops","desc":"透過指標、日誌與追蹤理解系統內部狀態，是排查線上問題的基礎能力。","docs":"https://opentelemetry.io/docs/concepts/observability-primer/","roadmap":null,"q":"observability","jobs":71,"demandPct":8.7,"demandRank":21,"klass":"steady","co":[["python",58],["ai-agents",52],["llm",45],["kubernetes",42],["cicd",37],["aws",35],["machine-learning",32],["go",28],["distributed-systems",28],["ai-coding",25],["etl",24],["terraform",24]],"bySource":{"arbeitnow":38,"jobicy":17,"hn-hiring":11,"remoteok":4,"remotive":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":5,"buzz":2.5,"buzzRank":37,"momentum":"flat","trend":[4.7,4.6,4.3,5.6,5.6,4.9,7.7,9.8,4.7,7.9,5.4,4,2.3],"trendDelta":0.2,"trendFrom":4.9,"trendTo":5.1},{"id":"sre","name":"SRE / 可靠性工程","cat":"devops","desc":"用軟體工程方法經營維運：SLO、錯誤預算、事故應變與事後檢討。","docs":"https://sre.google/sre-book/table-of-contents/","roadmap":null,"q":"site reliability engineering","jobs":35,"demandPct":4.3,"demandRank":41,"klass":"steady","co":[["python",66],["kubernetes",51],["go",46],["aws",37],["machine-learning",37],["terraform",34],["llm",31],["mlops",31],["linux",31],["security",31],["gcp",26],["inference",26]],"bySource":{"arbeitnow":15,"jobicy":6,"hn-hiring":10,"remotive":1,"remoteok":3},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[4.4,4,2.9,5,4.8,3.5,4.2,5.3,4.2,2.6,2.9,2,4.5],"trendDelta":-1.3,"trendFrom":4.2,"trendTo":2.9},{"id":"ebpf","name":"eBPF","cat":"devops","desc":"在 Linux 核心中安全執行自訂程式的技術，推動新一代網路、觀測與資安工具。","docs":"https://ebpf.io/what-is-ebpf/","roadmap":null,"q":"eBPF","jobs":2,"demandPct":0.2,"demandRank":147,"klass":"niche","co":[],"bySource":{"hn-hiring":2},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":1,"buzz":0.5,"buzzRank":88,"momentum":"flat","trend":[0,0.3,0,0,0,0.4,1.5,0.8,0.9,0,0.5,1,0],"trendDelta":0.3,"trendFrom":0.1,"trendTo":0.4},{"id":"networking","name":"網路基礎","cat":"devops","desc":"TCP/IP、DNS、HTTP、TLS 等協定的運作原理，除錯分散式系統時不可或缺。","docs":"https://developer.mozilla.org/zh-TW/docs/Web/HTTP","roadmap":null,"q":"computer networking","jobs":16,"demandPct":2,"demandRank":85,"klass":"rising","co":[["security",44],["cryptography",44],["network-admin",38],["windows-server",38],["linux",38],["python",31],["go",31],["kubernetes",31],["aws",25],["rust",25],["terraform",25],["postgresql",25]],"bySource":{"arbeitnow":7,"hn-hiring":7,"jobicy":1,"remoteok":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"rising","co":[],"bySource":{}},"buzzCount":8,"buzz":4.5,"buzzRank":23,"momentum":"up","trend":[0,0.3,1.4,0.6,1.1,0.7,0.8,1.2,1.4,1.6,2,2,2.3],"trendDelta":1.4,"trendFrom":0.5,"trendTo":1.9},{"id":"network-admin","name":"網路管理 (CCNA)","cat":"devops","desc":"規劃與維護企業網路：交換器、路由器、防火牆與 VPN 設定，台灣 MIS／網管職缺的核心技能。","docs":"https://www.netacad.com/","roadmap":null,"q":"CCNA networking","jobs":22,"demandPct":2.7,"demandRank":69,"klass":"steady","co":[["windows-server",68],["security",32],["networking",27],["azure",18],["linux",14],["python",9],["terraform",9],["ansible",9],["cryptography",9],["aws",9],["erp",9],["bash",5]],"bySource":{"arbeitnow":4,"hn-hiring":2,"jobicy":1,"remoteok":1,"taiwanjobs":13,"remotive":1},"tw":{"jobs":13,"demandPct":46.4,"demandRank":1,"klass":"core","co":[["windows-server",77],["erp",15],["security",15],["linux",15],["system-analysis",8],["embedded",8],["aws",8],["azure",8]],"bySource":{"taiwanjobs":13}},"buzzCount":5,"buzz":2.8,"buzzRank":35,"momentum":"flat","trend":[0.9,0.3,1,0.3,0.4,0.4,1.2,0.8,1.4,0.5,0.5,0.5,0.8],"trendDelta":0,"trendFrom":0.6,"trendTo":0.6},{"id":"windows-server","name":"Windows Server / MIS 維運","cat":"devops","desc":"企業內部的伺服器、帳號（AD）與虛擬化環境管理，台灣 MIS 職缺最常見的要求。","docs":"https://learn.microsoft.com/zh-tw/windows-server/","roadmap":null,"q":"Windows Server administration","jobs":26,"demandPct":3.2,"demandRank":56,"klass":"steady","co":[["network-admin",58],["security",31],["bash",23],["azure",23],["networking",23],["python",19],["aws",19],["linux",19],["kubernetes",15],["terraform",15],["cryptography",15],["sqlserver",12]],"bySource":{"arbeitnow":9,"hn-hiring":3,"taiwanjobs":12,"remoteok":1,"remotive":1},"tw":{"jobs":12,"demandPct":42.9,"demandRank":2,"klass":"core","co":[["network-admin",83],["erp",25],["security",17],["sql",8],["embedded",8],["linux",8]],"bySource":{"taiwanjobs":12}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[0,0.3,0,0,0,0.4,0,0.4,0,0.5,0.5,0.5,1.5],"trendDelta":0.6,"trendFrom":0.1,"trendTo":0.7},{"id":"spark","name":"Apache Spark","cat":"data","desc":"大規模資料批次與串流處理引擎，資料工程職缺最常見的要求之一。","docs":"https://spark.apache.org/docs/latest/","roadmap":null,"q":"Apache Spark","jobs":14,"demandPct":1.7,"demandRank":96,"klass":"niche","co":[["python",86],["etl",79],["kafka",57],["aws",50],["cicd",50],["databricks",50],["distributed-systems",43],["sql",43],["kubernetes",36],["machine-learning",36],["mlops",36],["azure",29]],"bySource":{"arbeitnow":11,"jobicy":3},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[1.9,0.3,0.5,1.2,0.7,0.7,1.2,0.8,0,1.1,1.5,0,0],"trendDelta":-0.3,"trendFrom":1,"trendTo":0.7},{"id":"kafka","name":"Apache Kafka","cat":"data","desc":"分散式事件串流平台，是服務之間非同步傳遞資料的骨幹。","docs":"https://kafka.apache.org/documentation/","roadmap":null,"q":"Apache Kafka","jobs":41,"demandPct":5,"demandRank":34,"klass":"steady","co":[["kubernetes",68],["postgresql",51],["python",49],["aws",49],["distributed-systems",46],["java",44],["event-driven",41],["go",39],["cicd",39],["system-design",34],["react",32],["docker",32]],"bySource":{"arbeitnow":24,"jobicy":11,"hn-hiring":5,"remoteok":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":1,"buzz":0.5,"buzzRank":89,"momentum":"flat","trend":[2.2,1.7,0.5,1.2,2.2,1.4,1.5,2,0.9,2.1,4.4,2,0.8],"trendDelta":1,"trendFrom":1.5,"trendTo":2.5},{"id":"airflow","name":"Airflow / 工作流編排","cat":"data","desc":"排程並監控資料管線的工具，以 DAG 描述任務相依關係。","docs":"https://airflow.apache.org/docs/","roadmap":null,"q":"Apache Airflow","jobs":15,"demandPct":1.8,"demandRank":91,"klass":"niche","co":[["python",87],["sql",60],["etl",60],["aws",40],["dbt",40],["postgresql",40],["kafka",33],["machine-learning",33],["llm",33],["go",27],["clickhouse",27],["kubernetes",27]],"bySource":{"arbeitnow":5,"jobicy":6,"hn-hiring":4},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[2.2,2,1.9,2,2.2,0.7,0.8,2.4,1.4,2.1,2,1.5,0.8],"trendDelta":-0.4,"trendFrom":2,"trendTo":1.7},{"id":"dbt","name":"dbt","cat":"data","desc":"用 SQL 加上軟體工程實務（版本控管、測試）來管理資料轉換。","docs":"https://docs.getdbt.com/","roadmap":null,"q":"dbt","jobs":21,"demandPct":2.6,"demandRank":72,"klass":"steady","co":[["sql",95],["python",81],["etl",67],["bi",52],["llm",48],["bigquery",43],["machine-learning",43],["snowflake",38],["ai-agents",38],["aws",33],["airflow",29],["git",29]],"bySource":{"arbeitnow":5,"jobicy":15,"hn-hiring":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[0.6,0.7,0,1.2,0.4,0,2.7,3.7,0.9,0.5,0.5,0.5,0],"trendDelta":-0.3,"trendFrom":0.7,"trendTo":0.4},{"id":"snowflake","name":"Snowflake","cat":"data","desc":"儲存與運算分離的雲端資料倉儲。","docs":"https://docs.snowflake.com/","roadmap":null,"q":"Snowflake","jobs":23,"demandPct":2.8,"demandRank":66,"klass":"steady","co":[["sql",65],["python",61],["etl",52],["llm",39],["dbt",35],["aws",35],["machine-learning",35],["postgresql",30],["ai-agents",26],["databricks",26],["gcp",22],["kubernetes",22]],"bySource":{"arbeitnow":7,"hn-hiring":7,"jobicy":9},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":2,"buzz":1,"buzzRank":58,"momentum":"flat","trend":[1.9,2.3,1.4,1.8,0.7,2.1,2.3,3.3,0.9,3.7,4.4,1,3.8],"trendDelta":1.3,"trendFrom":1.9,"trendTo":3.2},{"id":"databricks","name":"Databricks","cat":"data","desc":"以 Spark 為核心的 Lakehouse 平台，整合資料工程與機器學習。","docs":"https://docs.databricks.com/","roadmap":null,"q":"Databricks","jobs":23,"demandPct":2.8,"demandRank":67,"klass":"steady","co":[["python",74],["etl",70],["aws",52],["cicd",48],["machine-learning",43],["sql",35],["java",30],["spark",30],["azure",30],["gamedev",30],["kafka",26],["llm",26]],"bySource":{"arbeitnow":12,"jobicy":7,"hn-hiring":2,"remotive":1,"remoteok":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[1.6,0.7,0.5,0.9,1.1,1.1,0.8,1.6,0.9,0,1,0,1.5],"trendDelta":-0.4,"trendFrom":0.9,"trendTo":0.6},{"id":"bigquery","name":"BigQuery / Redshift","cat":"data","desc":"Google 與 AWS 的全託管雲端資料倉儲。","docs":"https://cloud.google.com/bigquery/docs","roadmap":null,"q":"BigQuery","jobs":13,"demandPct":1.6,"demandRank":103,"klass":"niche","co":[["sql",92],["etl",77],["python",69],["dbt",69],["machine-learning",54],["bi",38],["cicd",31],["llm",31],["airflow",31],["snowflake",31],["gcp",23],["mlops",23]],"bySource":{"arbeitnow":4,"jobicy":7,"remoteok":1,"hn-hiring":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[1.3,0.7,1.4,1.5,1.1,0.4,1.2,1.6,1.4,1.6,0.5,0.5,0],"trendDelta":-0.5,"trendFrom":1.2,"trendTo":0.7},{"id":"etl","name":"ETL / 資料管線","cat":"data","desc":"把資料從來源系統擷取、轉換並載入分析環境的整體流程設計。","docs":"https://github.com/DataTalksClub/data-engineering-zoomcamp","roadmap":"data-engineer","q":"data engineering","jobs":86,"demandPct":10.6,"demandRank":16,"klass":"core","co":[["python",66],["machine-learning",41],["sql",41],["llm",40],["aws",31],["ai-agents",29],["ai-coding",22],["cicd",22],["distributed-systems",21],["azure",21],["observability",20],["typescript",20]],"bySource":{"arbeitnow":40,"jobicy":22,"hn-hiring":16,"remotive":1,"remoteok":7},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"down","trend":[8.1,9.3,10.6,9.4,9.7,7.8,11.2,14.2,7.1,7.9,5.9,4,6.1],"trendDelta":-3.3,"trendFrom":9.2,"trendTo":5.9},{"id":"flink","name":"Apache Flink","cat":"data","desc":"低延遲的有狀態串流處理引擎。","docs":"https://nightlies.apache.org/flink/flink-docs-stable/","roadmap":null,"q":"Apache Flink","jobs":3,"demandPct":0.4,"demandRank":141,"klass":"niche","co":[],"bySource":{"arbeitnow":1,"jobicy":2},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[0.6,0,0,0.3,0.4,0,0,0,0,0,0,0,0],"trendDelta":-0.3,"trendFrom":0.3,"trendTo":0},{"id":"pandas","name":"pandas / NumPy / Polars","cat":"data","desc":"Python 資料分析的基本工具：表格運算、數值計算與高速 DataFrame。","docs":"https://pandas.pydata.org/docs/getting_started/index.html","roadmap":null,"q":"pandas","jobs":6,"demandPct":0.7,"demandRank":131,"klass":"niche","co":[["python",100],["machine-learning",83],["mlops",67],["llm",50],["pytorch",50],["sql",50],["ai-agents",33],["rag",33],["fine-tuning",33],["vector-db",33],["cpp",33],["scikit-learn",33]],"bySource":{"arbeitnow":1,"hn-hiring":3,"jobicy":2},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[0,1,1,1.2,0.7,0.7,2.3,1.2,0.5,1.1,2.5,1,0.8],"trendDelta":0.6,"trendFrom":0.8,"trendTo":1.4},{"id":"bi","name":"BI 與資料視覺化","cat":"data","desc":"Tableau、Power BI、Looker 等把資料變成報表與儀表板的工具。","docs":"https://learn.microsoft.com/zh-tw/power-bi/","roadmap":null,"q":"Power BI","jobs":24,"demandPct":3,"demandRank":60,"klass":"steady","co":[["python",79],["sql",75],["dbt",46],["etl",46],["git",29],["ai-agents",29],["machine-learning",25],["bigquery",21],["llm",21],["snowflake",17],["ai-coding",17],["aws",17]],"bySource":{"jobicy":13,"arbeitnow":9,"hn-hiring":1,"taiwanjobs":1},"tw":{"jobs":1,"demandPct":3.6,"demandRank":31,"klass":"niche","co":[],"bySource":{"taiwanjobs":1}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[0.6,0.3,1,0.6,0,0.7,1.5,0,0.5,1.1,0,0.5,0],"trendDelta":-0.2,"trendFrom":0.6,"trendTo":0.4},{"id":"machine-learning","name":"機器學習","cat":"ai","desc":"讓模型從資料中學習規律的方法，是所有 AI 應用的理論基礎。","docs":"https://developers.google.com/machine-learning/crash-course","roadmap":"machine-learning","q":"machine learning","jobs":163,"demandPct":20.1,"demandRank":4,"klass":"core","co":[["python",55],["llm",44],["ai-agents",31],["mlops",25],["aws",22],["etl",21],["kubernetes",20],["inference",18],["sql",18],["typescript",17],["react",17],["pytorch",15]],"bySource":{"arbeitnow":57,"jobicy":33,"hn-hiring":57,"remoteok":9,"taiwanjobs":4,"remotive":3},"tw":{"jobs":4,"demandPct":14.3,"demandRank":7,"klass":"core","co":[],"bySource":{"taiwanjobs":4}},"buzzCount":18,"buzz":9.8,"buzzRank":10,"momentum":"flat","trend":[20.3,20.2,21.3,17,16.7,17.7,19.2,18.3,13.2,20,18.1,17.6,16.7],"trendDelta":-1.3,"trendFrom":19.5,"trendTo":18.2},{"id":"llm","name":"LLM / 生成式 AI","cat":"ai","desc":"以大型語言模型為核心開發應用：呼叫模型 API、設計提示、處理輸出與成本。","docs":"https://huggingface.co/learn/llm-course/chapter1/1","roadmap":"ai-engineer","q":"LLM","jobs":250,"demandPct":30.8,"demandRank":2,"klass":"core","co":[["ai-agents",40],["python",35],["machine-learning",29],["ai-coding",24],["react",21],["typescript",21],["postgresql",16],["aws",16],["sql",14],["etl",14],["cicd",13],["observability",13]],"bySource":{"arbeitnow":69,"jobicy":87,"hn-hiring":79,"remotive":3,"remoteok":8,"taiwanjobs":4},"tw":{"jobs":4,"demandPct":14.3,"demandRank":8,"klass":"core","co":[],"bySource":{"taiwanjobs":4}},"buzzCount":180,"buzz":100,"buzzRank":1,"momentum":"flat","trend":[25,18.9,26.6,23.7,22.3,24.7,26.2,28.5,25.5,30.5,26.5,25.6,21.2],"trendDelta":3,"trendFrom":23.3,"trendTo":26.3},{"id":"ai-agents","name":"AI Agent","cat":"ai","desc":"讓 LLM 自主規劃、呼叫工具並完成多步驟任務的系統，是目前成長最快的應用型態。","docs":"https://huggingface.co/learn/agents-course/unit0/introduction","roadmap":"ai-agents","q":"AI agents","jobs":182,"demandPct":22.4,"demandRank":3,"klass":"core","co":[["llm",55],["python",42],["ai-coding",34],["typescript",28],["machine-learning",27],["aws",22],["react",22],["observability",20],["postgresql",18],["cicd",16],["go",14],["mcp",14]],"bySource":{"arbeitnow":58,"jobicy":34,"hn-hiring":80,"remoteok":8,"remotive":1,"taiwanjobs":1},"tw":{"jobs":1,"demandPct":3.6,"demandRank":32,"klass":"rising","co":[],"bySource":{"taiwanjobs":1}},"buzzCount":71,"buzz":37.7,"buzzRank":2,"momentum":"up","trend":[18.1,14.9,18.4,14,17.5,20.1,20.8,22.4,19.8,22.1,23.5,25.6,22],"trendDelta":7.3,"trendFrom":16.1,"trendTo":23.4},{"id":"rag","name":"RAG 檢索增強生成","cat":"ai","desc":"先檢索相關文件、再交給 LLM 作答，讓模型能使用私有與即時資料。","docs":"https://aws.amazon.com/what-is/retrieval-augmented-generation/","roadmap":null,"q":"RAG","jobs":39,"demandPct":4.8,"demandRank":36,"klass":"steady","co":[["llm",77],["python",64],["ai-agents",56],["machine-learning",49],["prompt-engineering",31],["vector-db",28],["sql",28],["observability",28],["azure",26],["cicd",26],["aws",23],["langchain",23]],"bySource":{"arbeitnow":16,"jobicy":7,"hn-hiring":13,"remoteok":2,"taiwanjobs":1},"tw":{"jobs":1,"demandPct":3.6,"demandRank":33,"klass":"niche","co":[],"bySource":{"taiwanjobs":1}},"buzzCount":2,"buzz":1.1,"buzzRank":53,"momentum":"flat","trend":[1.6,2.3,4.8,2.9,1.9,3.2,3.8,2.8,3.8,2.6,2.9,5.5,1.5],"trendDelta":0.6,"trendFrom":2.7,"trendTo":3.3},{"id":"mcp","name":"MCP 模型上下文協定","cat":"ai","desc":"讓 AI 應用以統一方式連接外部工具與資料來源的開放協定。","docs":"https://modelcontextprotocol.io/docs/getting-started/intro","roadmap":null,"q":"Model Context Protocol","jobs":37,"demandPct":4.6,"demandRank":38,"klass":"rising","co":[["ai-agents",70],["llm",62],["python",59],["typescript",41],["ai-coding",38],["rag",24],["postgresql",24],["observability",22],["machine-learning",22],["kubernetes",22],["testing",19],["cicd",16]],"bySource":{"arbeitnow":9,"hn-hiring":20,"jobicy":7,"remoteok":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"rising","co":[],"bySource":{}},"buzzCount":9,"buzz":4.9,"buzzRank":20,"momentum":"up","trend":[0.3,0,0,1.5,0,1.4,3.1,1.6,2.4,2.6,4.4,6,6.1],"trendDelta":4.2,"trendFrom":0.5,"trendTo":4.7},{"id":"agent-skills","name":"Agent Skills","cat":"ai","desc":"讓 AI Agent 依需要載入專業知識的開放格式：一個資料夾放 SKILL.md 說明與腳本，多種 AI 開發工具都支援。","docs":"https://agentskills.io/","roadmap":null,"q":"Agent Skills SKILL.md","jobs":1,"demandPct":0.1,"demandRank":152,"klass":"niche","co":[],"bySource":{"hn-hiring":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":10,"buzz":5.3,"buzzRank":17,"momentum":"flat","trend":[0,0,0,0.6,0,0,0,0,0,0,0,0.5,0],"trendDelta":0,"trendFrom":0.2,"trendTo":0.1},{"id":"decision-models","name":"決策模型 (Jev)","cat":"ai","desc":"不逐字生成文字，而是直接回傳是非、分類或分數（附信心機率）的新型 AI 模型，代表是 TypeSafe 的 Jev，主打比 LLM 更快、更便宜，讓程式能直接做判斷。","docs":"https://docs.typesafe.ai/","roadmap":null,"q":"Jev decision model","jobs":1,"demandPct":0.1,"demandRank":153,"klass":"niche","co":[],"bySource":{"hn-hiring":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[0,0,0,0,0,0,0,0,0,0,0,0.5,0],"trendDelta":0.1,"trendFrom":0,"trendTo":0.1},{"id":"n8n","name":"n8n 工作流自動化","cat":"ai","desc":"用視覺化節點串接 API、資料庫與 AI 模型的開源工作流自動化工具，常用來快速搭建 AI Agent 流程。","docs":"https://docs.n8n.io/","roadmap":null,"q":"n8n workflow automation","jobs":10,"demandPct":1.2,"demandRank":112,"klass":"niche","co":[["python",60],["rest",40],["erp",40],["llm",40],["react",40],["javascript",30],["typescript",30],["nextjs",30],["rag",30],["sql",20],["react-native",20],["ai-agents",20]],"bySource":{"arbeitnow":6,"hn-hiring":3,"remotive":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":1,"buzz":0.6,"buzzRank":73,"momentum":"flat","trend":[0.6,0.3,1.4,0.3,0.7,1.1,1.2,0,0.5,0.5,0,1,0.8],"trendDelta":0,"trendFrom":0.6,"trendTo":0.6},{"id":"prompt-engineering","name":"Prompt / Context Engineering","cat":"ai","desc":"設計提示與上下文，讓模型穩定產出想要的結果。","docs":"https://www.promptingguide.ai/zh","roadmap":"prompt-engineering","q":"prompt engineering","jobs":31,"demandPct":3.8,"demandRank":44,"klass":"steady","co":[["llm",71],["ai-agents",58],["python",52],["rag",39],["machine-learning",32],["observability",26],["aws",23],["fine-tuning",23],["typescript",23],["system-design",23],["sql",23],["rest",19]],"bySource":{"arbeitnow":16,"hn-hiring":6,"jobicy":6,"remoteok":3},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":6,"buzz":3.2,"buzzRank":31,"momentum":"flat","trend":[0.9,0.7,1,1.2,1.5,1.1,1.2,0.8,1.9,0,1,2.5,0.8],"trendDelta":0.2,"trendFrom":0.9,"trendTo":1.1},{"id":"fine-tuning","name":"模型微調","cat":"ai","desc":"用自有資料調整預訓練模型，使其更符合特定任務或領域。","docs":"https://huggingface.co/docs/transformers/training","roadmap":null,"q":"LLM fine-tuning","jobs":14,"demandPct":1.7,"demandRank":97,"klass":"niche","co":[["machine-learning",86],["llm",86],["python",79],["ai-agents",71],["rag",57],["prompt-engineering",50],["mlops",50],["vector-db",36],["observability",36],["aws",29],["azure",29],["langchain",29]],"bySource":{"arbeitnow":8,"jobicy":3,"remotive":1,"hn-hiring":2},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[2.2,0.7,1,1.2,0.7,1.8,1.9,2,0.9,1.6,1,1,0],"trendDelta":-0.3,"trendFrom":1.3,"trendTo":1},{"id":"vector-db","name":"向量資料庫","cat":"ai","desc":"儲存向量嵌入並做相似度搜尋的資料庫，是 RAG 與語意搜尋的核心元件。","docs":"https://www.pinecone.io/learn/vector-database/","roadmap":null,"q":"vector database","jobs":17,"demandPct":2.1,"demandRank":80,"klass":"niche","co":[["llm",76],["machine-learning",71],["ai-agents",71],["rag",65],["python",59],["mlops",41],["azure",35],["observability",35],["aws",29],["gcp",29],["cicd",29],["fine-tuning",29]],"bySource":{"arbeitnow":8,"jobicy":4,"hn-hiring":5},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[2.2,2.3,1.4,1.2,2.6,1.4,0.8,0.4,1.4,1.6,2.5,2,0.8],"trendDelta":0,"trendFrom":1.8,"trendTo":1.8},{"id":"langchain","name":"LLM 應用框架","cat":"ai","desc":"LangChain、LangGraph、LlamaIndex 等串接模型、工具與資料的開發框架。","docs":"https://docs.langchain.com/","roadmap":null,"q":"LangChain","jobs":16,"demandPct":2,"demandRank":86,"klass":"niche","co":[["llm",100],["python",88],["ai-agents",81],["rag",56],["machine-learning",50],["observability",50],["aws",44],["prompt-engineering",38],["mcp",31],["gcp",25],["fine-tuning",25],["sql",25]],"bySource":{"arbeitnow":5,"jobicy":5,"hn-hiring":4,"remoteok":1,"remotive":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[1.6,0.7,1.4,2.3,1.5,2.5,0.4,1.2,1.4,3.2,2.9,1,1.5],"trendDelta":0.7,"trendFrom":1.5,"trendTo":2.2},{"id":"ai-coding","name":"AI 輔助開發","cat":"ai","desc":"把 Copilot、Claude Code、Cursor 等 AI 工具融入日常開發流程的工作方法。","docs":"https://docs.github.com/en/copilot","roadmap":null,"q":"AI coding assistant","jobs":107,"demandPct":13.2,"demandRank":10,"klass":"core","co":[["ai-agents",58],["llm",56],["typescript",40],["python",35],["react",32],["testing",22],["aws",21],["machine-learning",20],["postgresql",20],["etl",18],["observability",17],["cicd",16]],"bySource":{"arbeitnow":38,"hn-hiring":43,"jobicy":18,"remoteok":6,"remotive":2},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"rising","co":[],"bySource":{}},"buzzCount":55,"buzz":29.4,"buzzRank":4,"momentum":"up","trend":[5.9,3,5.3,5.8,8.2,8.8,7.3,9.8,12.7,7.9,10.3,12.6,13.6],"trendDelta":5.9,"trendFrom":5,"trendTo":10.9},{"id":"pytorch","name":"PyTorch","cat":"ai","desc":"研究與產業界最主流的深度學習框架。","docs":"https://docs.pytorch.org/tutorials/","roadmap":null,"q":"PyTorch","jobs":27,"demandPct":3.3,"demandRank":54,"klass":"steady","co":[["machine-learning",93],["python",78],["inference",37],["mlops",37],["llm",33],["tensorflow",30],["scikit-learn",26],["cpp",22],["computer-vision",22],["ai-agents",19],["etl",19],["aws",19]],"bySource":{"arbeitnow":10,"jobicy":4,"hn-hiring":12,"remoteok":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":2,"buzz":1,"buzzRank":56,"momentum":"flat","trend":[2.8,3,2.4,2.3,3,2.1,3.5,1.6,1.4,4.2,2.5,3,4.5],"trendDelta":0.8,"trendFrom":2.6,"trendTo":3.4},{"id":"tensorflow","name":"TensorFlow / Keras","cat":"ai","desc":"Google 的深度學習框架，在行動與邊緣裝置部署上仍有優勢。","docs":"https://www.tensorflow.org/learn","roadmap":null,"q":"TensorFlow","jobs":11,"demandPct":1.4,"demandRank":107,"klass":"niche","co":[["machine-learning",82],["pytorch",73],["python",64],["inference",55],["ai-agents",36],["mlops",36],["kubernetes",27],["linux",27],["distributed-systems",27],["testing",27],["computer-vision",27],["etl",27]],"bySource":{"arbeitnow":4,"hn-hiring":4,"jobicy":3},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":1,"buzz":0.5,"buzzRank":90,"momentum":"flat","trend":[0.3,0.3,0.5,0.6,1.9,0.7,1.5,0.4,0.9,2.1,0.5,0.5,2.3],"trendDelta":0.8,"trendFrom":0.4,"trendTo":1.2},{"id":"huggingface","name":"Hugging Face","cat":"ai","desc":"開源模型的集散地，Transformers 函式庫是使用預訓練模型的標準工具。","docs":"https://huggingface.co/learn","roadmap":null,"q":"Hugging Face","jobs":7,"demandPct":0.9,"demandRank":125,"klass":"niche","co":[["machine-learning",86],["llm",86],["python",43],["aws",43],["azure",43],["gcp",43],["etl",43],["databricks",43],["nlp",29],["react",29],["ai-agents",29],["langchain",29]],"bySource":{"arbeitnow":2,"jobicy":2,"remotive":1,"hn-hiring":2},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":1,"buzz":0.5,"buzzRank":91,"momentum":"flat","trend":[0.6,1.3,1,1.2,1.5,1.8,2.3,0.8,1.9,1.6,1,1,0],"trendDelta":-0.1,"trendFrom":1,"trendTo":1},{"id":"scikit-learn","name":"scikit-learn","cat":"ai","desc":"傳統機器學習（分類、迴歸、分群）的標準 Python 函式庫。","docs":"https://scikit-learn.org/stable/getting_started.html","roadmap":null,"q":"scikit-learn","jobs":9,"demandPct":1.1,"demandRank":116,"klass":"niche","co":[["python",100],["machine-learning",100],["pytorch",78],["llm",56],["sql",44],["ai-agents",33],["etl",33],["snowflake",33],["tensorflow",22],["aws",22],["mlops",22],["elixir",22]],"bySource":{"arbeitnow":3,"hn-hiring":4,"jobicy":2},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[0,0.3,0.5,0,0.7,0.4,1.5,0.8,0,0.5,1,1.5,0.8],"trendDelta":0.8,"trendFrom":0.2,"trendTo":1},{"id":"mlops","name":"MLOps / LLMOps","cat":"ai","desc":"把模型的訓練、部署、監控與迭代流程工程化。","docs":"https://ml-ops.org/","roadmap":"mlops","q":"MLOps","jobs":43,"demandPct":5.3,"demandRank":33,"klass":"steady","co":[["machine-learning",93],["python",65],["llm",53],["inference",42],["kubernetes",40],["aws",35],["ai-agents",35],["go",30],["cpp",28],["etl",28],["cicd",26],["distributed-systems",26]],"bySource":{"arbeitnow":21,"jobicy":9,"hn-hiring":10,"remotive":1,"remoteok":2},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":1,"buzz":0.5,"buzzRank":92,"momentum":"flat","trend":[2.8,3,2.4,2.6,3,2.8,3.1,2.4,2.4,5.3,5.4,3.5,2.3],"trendDelta":1.5,"trendFrom":2.7,"trendTo":4.3},{"id":"inference","name":"模型推論與 GPU 運算","cat":"ai","desc":"讓模型在 GPU 或本機上跑得快又省：量化、批次處理與推論伺服器。","docs":"https://docs.vllm.ai/en/latest/","roadmap":null,"q":"LLM inference","jobs":36,"demandPct":4.4,"demandRank":40,"klass":"steady","co":[["machine-learning",83],["python",56],["mlops",50],["llm",44],["kubernetes",36],["cpp",33],["ai-agents",31],["go",31],["distributed-systems",31],["pytorch",28],["observability",28],["sre",25]],"bySource":{"arbeitnow":23,"jobicy":6,"hn-hiring":6,"remotive":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":6,"buzz":3.4,"buzzRank":29,"momentum":"flat","trend":[1.9,1,1.9,0.9,3.3,1.8,2.3,2.4,2.8,1.6,1.5,1.5,2.3],"trendDelta":0.3,"trendFrom":1.4,"trendTo":1.7},{"id":"computer-vision","name":"電腦視覺","cat":"ai","desc":"讓電腦理解影像與影片的技術，應用於製造檢測、自駕與醫療影像。","docs":"https://docs.opencv.org/4.x/d9/df8/tutorial_root.html","roadmap":null,"q":"computer vision","jobs":20,"demandPct":2.5,"demandRank":74,"klass":"steady","co":[["machine-learning",75],["python",70],["inference",40],["cpp",30],["pytorch",30],["llm",15],["etl",15],["aws",15],["linux",15],["tensorflow",15],["typescript",15],["react",15]],"bySource":{"arbeitnow":7,"hn-hiring":10,"remoteok":1,"jobicy":2},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":1,"buzz":0.7,"buzzRank":67,"momentum":"flat","trend":[3.1,2.3,3.4,2.3,2.6,1.8,3.1,4.1,2.8,1.6,2,3,3],"trendDelta":-0.4,"trendFrom":2.7,"trendTo":2.3},{"id":"nlp","name":"自然語言處理","cat":"ai","desc":"處理與理解人類語言的技術，LLM 之前的基礎知識。","docs":"https://web.stanford.edu/~jurafsky/slp3/","roadmap":null,"q":"NLP","jobs":9,"demandPct":1.1,"demandRank":117,"klass":"niche","co":[["machine-learning",100],["llm",78],["python",44],["etl",44],["azure",33],["mlops",33],["ai-coding",33],["gcp",22],["cicd",22],["huggingface",22],["system-analysis",22],["git",22]],"bySource":{"arbeitnow":5,"jobicy":2,"remotive":1,"hn-hiring":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[1.6,0.7,2.4,0.9,1.1,0.4,0.8,0.8,0,1.1,0.5,0.5,0],"trendDelta":-0.7,"trendFrom":1.3,"trendTo":0.6},{"id":"microservices","name":"微服務架構","cat":"arch","desc":"把系統拆成可獨立部署的小型服務，換取團隊自主性與擴充彈性。","docs":"https://microservices.io/patterns/index.html","roadmap":null,"q":"microservices","jobs":24,"demandPct":3,"demandRank":61,"klass":"steady","co":[["kubernetes",67],["distributed-systems",50],["java",46],["aws",42],["kafka",42],["event-driven",42],["python",38],["go",38],["postgresql",38],["sql",29],["machine-learning",29],["llm",29]],"bySource":{"arbeitnow":10,"jobicy":7,"hn-hiring":5,"remotive":1,"remoteok":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":2,"buzz":1,"buzzRank":59,"momentum":"flat","trend":[0.9,0.3,0,1.8,0.4,2.1,2.3,1.2,0.5,0.5,0.5,2,0.8],"trendDelta":0.1,"trendFrom":0.9,"trendTo":1},{"id":"rest","name":"REST API 設計","cat":"arch","desc":"以資源為中心的 HTTP API 設計風格，是服務之間溝通的通用語言。","docs":"https://learn.microsoft.com/zh-tw/azure/architecture/best-practices/api-design","roadmap":"api-design","q":"REST API","jobs":59,"demandPct":7.3,"demandRank":28,"klass":"steady","co":[["python",59],["llm",36],["cicd",34],["docker",32],["kubernetes",32],["aws",31],["postgresql",31],["typescript",31],["react",31],["distributed-systems",27],["testing",27],["ai-agents",25]],"bySource":{"arbeitnow":26,"jobicy":17,"hn-hiring":11,"taiwanjobs":1,"remoteok":4},"tw":{"jobs":1,"demandPct":3.6,"demandRank":34,"klass":"niche","co":[],"bySource":{"taiwanjobs":1}},"buzzCount":5,"buzz":2.7,"buzzRank":36,"momentum":"flat","trend":[0.9,1.3,2.9,3.5,1.1,3.5,1.5,2.4,2.8,2.1,2.5,3,3.8],"trendDelta":0.6,"trendFrom":2.1,"trendTo":2.8},{"id":"graphql","name":"GraphQL","cat":"arch","desc":"由用戶端決定要拿哪些欄位的 API 查詢語言。","docs":"https://graphql.org/learn/","roadmap":"graphql","q":"GraphQL","jobs":20,"demandPct":2.5,"demandRank":75,"klass":"steady","co":[["react",80],["typescript",75],["llm",50],["python",45],["postgresql",45],["rest",35],["ai-agents",30],["nodejs",30],["ai-coding",30],["nextjs",30],["testing",25],["go",25]],"bySource":{"jobicy":8,"arbeitnow":2,"hn-hiring":9,"remoteok":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[4.1,3.6,3.4,4.4,4.5,4.9,2.3,3.7,4.2,5.3,5.4,2,3.8],"trendDelta":0.2,"trendFrom":3.9,"trendTo":4.1},{"id":"grpc","name":"gRPC / Protobuf","cat":"arch","desc":"以 HTTP/2 與 Protocol Buffers 為基礎的高效能 RPC 框架，常用於服務間通訊。","docs":"https://grpc.io/docs/what-is-grpc/introduction/","roadmap":null,"q":"gRPC","jobs":14,"demandPct":1.7,"demandRank":98,"klass":"niche","co":[["rest",57],["python",50],["typescript",50],["go",43],["rust",43],["react",43],["distributed-systems",43],["kubernetes",36],["cpp",21],["java",21],["aws",21],["kafka",21]],"bySource":{"arbeitnow":6,"hn-hiring":5,"jobicy":3},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":1,"buzz":0.5,"buzzRank":93,"momentum":"flat","trend":[0.3,0,0,0.6,0,0.4,0,1.2,0.5,0,0.5,2,0.8],"trendDelta":0.6,"trendFrom":0.3,"trendTo":0.8},{"id":"websocket","name":"WebSocket / 即時系統","cat":"arch","desc":"瀏覽器與伺服器之間的雙向即時通訊，用於聊天、協作與即時儀表板。","docs":"https://developer.mozilla.org/zh-TW/docs/Web/API/WebSockets_API","roadmap":null,"q":"WebSocket","jobs":9,"demandPct":1.1,"demandRank":118,"klass":"niche","co":[["typescript",78],["react",67],["rest",33],["swift",22],["ios",22],["cicd",22],["machine-learning",22],["testing",22],["rust",22],["nextjs",22],["css",22],["python",22]],"bySource":{"arbeitnow":3,"hn-hiring":5,"remoteok":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[0.9,1,1.4,1.5,1.1,1.8,1.2,2,1.4,2.6,2,2,0.8],"trendDelta":0.7,"trendFrom":1.2,"trendTo":1.9},{"id":"event-driven","name":"事件驅動 / 訊息佇列","cat":"arch","desc":"服務透過事件與訊息佇列非同步溝通，降低耦合並吸收流量尖峰。","docs":"https://learn.microsoft.com/zh-tw/azure/architecture/guide/architecture-styles/event-driven","roadmap":null,"q":"event-driven architecture","jobs":30,"demandPct":3.7,"demandRank":48,"klass":"steady","co":[["distributed-systems",60],["kubernetes",60],["kafka",57],["aws",50],["java",47],["go",47],["python",37],["cicd",37],["system-design",37],["microservices",33],["react",30],["docker",27]],"bySource":{"arbeitnow":15,"jobicy":8,"remoteok":2,"hn-hiring":5},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":1,"buzz":0.7,"buzzRank":66,"momentum":"flat","trend":[1.6,2.3,2.4,1.8,2.6,1.8,1.9,3.3,0.9,0.5,1,2.5,0],"trendDelta":-0.9,"trendFrom":2,"trendTo":1.1},{"id":"distributed-systems","name":"分散式系統","cat":"arch","desc":"多台機器協同運作時的一致性、容錯與擴充問題，是資深後端職缺的核心能力。","docs":"https://pdos.csail.mit.edu/6.824/","roadmap":null,"q":"distributed systems","jobs":94,"demandPct":11.6,"demandRank":14,"klass":"core","co":[["kubernetes",45],["go",44],["python",44],["linux",29],["java",29],["system-design",28],["aws",27],["machine-learning",22],["typescript",22],["observability",21],["kafka",20],["cpp",19]],"bySource":{"arbeitnow":39,"jobicy":25,"hn-hiring":25,"remotive":2,"remoteok":3},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":5,"buzz":2.4,"buzzRank":40,"momentum":"flat","trend":[8.8,8.9,6.8,8.8,9.3,7.4,11.2,9.8,6.6,6.3,7.4,8.5,6.1],"trendDelta":-1.3,"trendFrom":8.5,"trendTo":7.2},{"id":"system-design","name":"系統設計","cat":"arch","desc":"在需求、流量與成本之間做取捨，設計出可擴充、可維護的系統。","docs":"https://github.com/donnemartin/system-design-primer","roadmap":"system-design","q":"system design","jobs":65,"demandPct":8,"demandRank":25,"klass":"steady","co":[["python",43],["distributed-systems",40],["java",31],["react",28],["llm",28],["kubernetes",28],["go",26],["machine-learning",26],["ai-agents",25],["aws",23],["typescript",22],["postgresql",22]],"bySource":{"arbeitnow":36,"jobicy":18,"remotive":1,"taiwanjobs":1,"remoteok":3,"hn-hiring":6},"tw":{"jobs":1,"demandPct":3.6,"demandRank":35,"klass":"niche","co":[],"bySource":{"taiwanjobs":1}},"buzzCount":12,"buzz":6.3,"buzzRank":13,"momentum":"down","trend":[5.3,6.3,3.4,5.3,3,6.4,3.1,3.7,2.8,2.1,2,3,0],"trendDelta":-3.3,"trendFrom":5.2,"trendTo":1.9},{"id":"ddd","name":"DDD / 整潔架構","cat":"arch","desc":"以業務領域為中心劃分模組邊界的設計方法。","docs":"https://martinfowler.com/bliki/DomainDrivenDesign.html","roadmap":"software-design-architecture","q":"domain-driven design","jobs":9,"demandPct":1.1,"demandRank":119,"klass":"niche","co":[["postgresql",33],["kubernetes",33],["testing",33],["ios",33],["system-design",22],["agile",22],["rest",22],["java",22],["docker",22],["github-actions",22],["kafka",22],["microservices",22]],"bySource":{"arbeitnow":7,"hn-hiring":2},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[0.3,0.7,0.5,0,0,0.4,0,0.8,0.9,0,0.5,1,0],"trendDelta":0.1,"trendFrom":0.3,"trendTo":0.4},{"id":"git","name":"Git 版本控制","cat":"practice","desc":"所有軟體團隊協作的基礎工具：分支、合併、Pull Request 與程式碼審查。","docs":"https://git-scm.com/book/zh-tw/v2","roadmap":"git-github","q":"Git","jobs":48,"demandPct":5.9,"demandRank":30,"klass":"steady","co":[["python",63],["cicd",42],["sql",40],["docker",29],["llm",27],["java",25],["postgresql",25],["javascript",25],["linux",25],["testing",23],["kubernetes",21],["ai-agents",19]],"bySource":{"arbeitnow":24,"jobicy":9,"hn-hiring":10,"remoteok":4,"remotive":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":15,"buzz":8.1,"buzzRank":12,"momentum":"flat","trend":[2.2,2.3,2.9,2.3,3.3,2.8,1.5,2.4,2.4,3.7,2.5,3,3],"trendDelta":0.6,"trendFrom":2.4,"trendTo":3},{"id":"testing","name":"自動化測試","cat":"practice","desc":"用單元、整合與端對端測試保護程式碼，是能放心重構與持續部署的前提。","docs":"https://martinfowler.com/articles/practical-test-pyramid.html","roadmap":"qa","q":"software testing","jobs":77,"demandPct":9.5,"demandRank":19,"klass":"core","co":[["python",49],["cicd",36],["llm",35],["typescript",34],["ai-coding",31],["kubernetes",29],["ai-agents",29],["react",29],["go",26],["aws",26],["java",26],["postgresql",25]],"bySource":{"arbeitnow":34,"hn-hiring":12,"jobicy":19,"remoteok":10,"remotive":2},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":6,"buzz":3.3,"buzzRank":30,"momentum":"flat","trend":[3.8,2.6,2.4,5,3.7,5.7,3.5,2.4,3.8,4.7,2.9,4,3],"trendDelta":0.1,"trendFrom":3.6,"trendTo":3.7},{"id":"e2e","name":"E2E 測試工具","cat":"practice","desc":"Playwright、Cypress、Selenium 等模擬真實使用者操作瀏覽器的測試工具。","docs":"https://playwright.dev/docs/intro","roadmap":null,"q":"Playwright","jobs":16,"demandPct":2,"demandRank":87,"klass":"niche","co":[["typescript",69],["testing",63],["postgresql",44],["kubernetes",38],["llm",38],["react",38],["python",31],["javascript",31],["aws",25],["ai-coding",25],["java",25],["docker",25]],"bySource":{"arbeitnow":7,"jobicy":3,"hn-hiring":6},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":2,"buzz":0.9,"buzzRank":61,"momentum":"flat","trend":[1.9,1,1.4,1.5,0.4,1.4,0.4,2,1.9,2.1,1,3,0],"trendDelta":0.2,"trendFrom":1.5,"trendTo":1.7},{"id":"system-analysis","name":"系統分析 (UML / 需求)","cat":"practice","desc":"把模糊的業務需求整理成規格、流程圖與 UML，台灣「系統分析師」職缺的核心能力。","docs":"https://www.uml.org/","roadmap":null,"q":"UML system analysis","jobs":38,"demandPct":4.7,"demandRank":37,"klass":"steady","co":[["python",47],["llm",39],["machine-learning",32],["ai-agents",24],["etl",18],["typescript",18],["aws",16],["ai-coding",16],["agile",13],["erp",13],["distributed-systems",11],["prompt-engineering",11]],"bySource":{"arbeitnow":19,"hn-hiring":9,"jobicy":6,"remoteok":1,"taiwanjobs":3},"tw":{"jobs":3,"demandPct":10.7,"demandRank":10,"klass":"core","co":[],"bySource":{"taiwanjobs":3}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[1.3,2,1.9,0.9,1.1,2.1,1.2,2,2.8,2.1,1.5,2,3.8],"trendDelta":0.8,"trendFrom":1.5,"trendTo":2.2},{"id":"agile","name":"Agile / Scrum","cat":"practice","desc":"以短週期迭代交付的開發流程，多數團隊的日常工作方式。","docs":"https://scrumguides.org/scrum-guide.html","roadmap":null,"q":"Scrum","jobs":47,"demandPct":5.8,"demandRank":31,"klass":"steady","co":[["python",32],["kubernetes",26],["java",26],["sql",26],["cicd",26],["azure",23],["distributed-systems",23],["aws",19],["system-design",19],["git",19],["linux",15],["ai-coding",15]],"bySource":{"arbeitnow":39,"jobicy":7,"hn-hiring":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"flat","trend":[0.9,0.7,0.5,0.6,0.7,1.1,0.8,0.8,0.9,1.1,2,0.5,0],"trendDelta":0.3,"trendFrom":0.7,"trendTo":1},{"id":"dsa","name":"資料結構與演算法","cat":"practice","desc":"技術面試的必考科目，也是寫出高效能程式的理論基礎。","docs":"https://neetcode.io/roadmap","roadmap":"datastructures-and-algorithms","q":"data structures and algorithms","jobs":19,"demandPct":2.3,"demandRank":77,"klass":"steady","co":[["python",47],["go",37],["sql",37],["typescript",32],["nodejs",32],["system-design",32],["kubernetes",26],["llm",26],["distributed-systems",26],["javascript",26],["react",26],["postgresql",26]],"bySource":{"arbeitnow":7,"jobicy":4,"hn-hiring":6,"remoteok":2},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":4,"buzz":2.5,"buzzRank":38,"momentum":"flat","trend":[0.9,1.7,1.4,0.9,1.1,1.4,0.8,0.8,0.5,0,0.5,2,1.5],"trendDelta":-0.2,"trendFrom":1.2,"trendTo":1},{"id":"security","name":"應用程式安全","cat":"security","desc":"在開發流程中預防常見弱點（注入、XSS、權限繞過），並建立安全審查習慣。","docs":"https://owasp.org/www-project-top-ten/","roadmap":"cyber-security","q":"web application security","jobs":65,"demandPct":8,"demandRank":26,"klass":"rising","co":[["python",51],["kubernetes",31],["terraform",25],["go",25],["cicd",25],["aws",23],["llm",22],["linux",22],["ai-agents",22],["observability",20],["docker",18],["typescript",18]],"bySource":{"arbeitnow":22,"jobicy":12,"hn-hiring":20,"remoteok":8,"remotive":1,"taiwanjobs":2},"tw":{"jobs":2,"demandPct":7.1,"demandRank":15,"klass":"rising","co":[],"bySource":{"taiwanjobs":2}},"buzzCount":66,"buzz":34.7,"buzzRank":3,"momentum":"up","trend":[4.7,3.3,3.9,2.9,3,4.2,2.7,6.5,3.8,5.8,6.4,5,7.6],"trendDelta":2.4,"trendFrom":3.7,"trendTo":6.1},{"id":"auth","name":"身分驗證與授權","cat":"security","desc":"OAuth 2.0、OpenID Connect、JWT 與 Passkey 等登入與權限機制。","docs":"https://oauth.net/2/","roadmap":null,"q":"OAuth 2.0","jobs":25,"demandPct":3.1,"demandRank":58,"klass":"steady","co":[["python",56],["cicd",44],["java",40],["kubernetes",40],["go",36],["rest",36],["security",32],["docker",32],["llm",32],["terraform",28],["typescript",28],["react",24]],"bySource":{"arbeitnow":14,"jobicy":4,"hn-hiring":6,"remoteok":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":2,"buzz":1.2,"buzzRank":50,"momentum":"flat","trend":[0.6,2,1.4,1.5,1.1,1.4,1.2,2.8,1.9,0.5,0.5,2.5,0.8],"trendDelta":-0.3,"trendFrom":1.4,"trendTo":1.1},{"id":"cryptography","name":"密碼學與加密","cat":"security","desc":"加密、雜湊、數位簽章與 TLS 的原理，資安與區塊鏈的共同基礎。","docs":"https://cryptopals.com/","roadmap":null,"q":"cryptography","jobs":30,"demandPct":3.7,"demandRank":49,"klass":"steady","co":[["python",53],["kubernetes",37],["security",37],["sql",30],["aws",30],["cicd",30],["distributed-systems",30],["go",30],["terraform",27],["postgresql",27],["linux",27],["networking",23]],"bySource":{"arbeitnow":8,"jobicy":9,"hn-hiring":9,"remoteok":3,"remotive":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":11,"buzz":5.3,"buzzRank":18,"momentum":"flat","trend":[1.3,1.7,2.4,1.2,0.7,2.5,2.3,2.8,2.8,2.6,1.5,3,2.3],"trendDelta":0.8,"trendFrom":1.5,"trendTo":2.3},{"id":"web3","name":"區塊鏈 / Web3","cat":"domain","desc":"智慧合約與去中心化應用的開發。","docs":"https://ethereum.org/en/developers/docs/","roadmap":"blockchain","q":"blockchain development","jobs":14,"demandPct":1.7,"demandRank":99,"klass":"niche","co":[["distributed-systems",50],["rust",50],["python",43],["llm",43],["go",43],["cpp",43],["cryptography",36],["sql",29],["etl",29],["ai-coding",29],["java",29],["spring",29]],"bySource":{"jobicy":8,"remotive":1,"remoteok":3,"hn-hiring":2},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":0,"buzz":0,"buzzRank":null,"momentum":"down","trend":[2.8,2.3,2.4,2.3,2.2,2.1,1.2,2,1.9,0.5,1.5,1,0],"trendDelta":-1.6,"trendFrom":2.5,"trendTo":0.8},{"id":"embedded","name":"嵌入式 / 韌體","cat":"domain","desc":"在資源受限的硬體上開發軟體，台灣硬體產業的大宗需求。","docs":"https://docs.zephyrproject.org/latest/","roadmap":null,"q":"embedded systems","jobs":40,"demandPct":4.9,"demandRank":35,"klass":"rising","co":[["linux",48],["python",40],["cpp",35],["c",28],["rust",28],["testing",23],["robotics",23],["go",20],["machine-learning",20],["kubernetes",18],["bash",18],["typescript",18]],"bySource":{"jobicy":6,"hn-hiring":13,"arbeitnow":16,"remoteok":3,"remotive":1,"taiwanjobs":1},"tw":{"jobs":1,"demandPct":3.6,"demandRank":36,"klass":"rising","co":[],"bySource":{"taiwanjobs":1}},"buzzCount":8,"buzz":4.7,"buzzRank":21,"momentum":"up","trend":[1.9,1.3,3.9,1.2,1.9,1.4,2.3,2.4,3.3,5.3,2.9,3.5,4.5],"trendDelta":2.1,"trendFrom":1.9,"trendTo":4},{"id":"gamedev","name":"遊戲開發","cat":"domain","desc":"以 Unity、Unreal、Godot 等引擎開發遊戲與即時 3D 應用。","docs":"https://learn.unity.com/","roadmap":"game-developer","q":"game development","jobs":14,"demandPct":1.7,"demandRank":100,"klass":"niche","co":[["python",71],["etl",57],["databricks",50],["testing",50],["java",43],["azure",43],["aws",43],["machine-learning",43],["scala",36],["sql",36],["ai-agents",36],["cicd",29]],"bySource":{"arbeitnow":7,"hn-hiring":1,"jobicy":2,"remotive":1,"remoteok":3},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":6,"buzz":3.7,"buzzRank":26,"momentum":"flat","trend":[0,0.3,1.9,0.3,1.1,0.4,0.4,0.8,0.5,0.5,0.5,0,0.8],"trendDelta":-0.1,"trendFrom":0.5,"trendTo":0.4},{"id":"erp","name":"ERP 系統 (SAP / 鼎新)","cat":"domain","desc":"企業資源規劃系統的導入、客製與維護，台灣製造業與零售業的大宗需求。","docs":"https://learning.sap.com/","roadmap":null,"q":"SAP ERP","jobs":31,"demandPct":3.8,"demandRank":45,"klass":"steady","co":[["python",48],["llm",42],["typescript",32],["rest",26],["sql",26],["machine-learning",23],["ai-agents",23],["react",23],["javascript",19],["ai-coding",19],["cicd",16],["system-analysis",16]],"bySource":{"arbeitnow":13,"jobicy":5,"hn-hiring":7,"taiwanjobs":5,"remoteok":1},"tw":{"jobs":5,"demandPct":17.9,"demandRank":4,"klass":"core","co":[["windows-server",60],["network-admin",40],["java",20],["sql",20],["vue",20],["spring",20],["machine-learning",20],["llm",20]],"bySource":{"taiwanjobs":5}},"buzzCount":1,"buzz":0.5,"buzzRank":94,"momentum":"flat","trend":[1.9,1.3,1.4,1.2,1.1,0.4,1.5,0.8,2.4,3.2,2.5,1,3.8],"trendDelta":1,"trendFrom":1.5,"trendTo":2.5},{"id":"robotics","name":"機器人 / 自駕","cat":"domain","desc":"結合感測、控制與 AI 的實體系統軟體，以 ROS 為常見開發框架。","docs":"https://docs.ros.org/","roadmap":null,"q":"ROS robotics","jobs":32,"demandPct":3.9,"demandRank":43,"klass":"steady","co":[["python",38],["cpp",34],["embedded",28],["linux",19],["machine-learning",16],["llm",16],["react",13],["docker",9],["testing",9],["system-design",9],["c",9],["ai-agents",9]],"bySource":{"arbeitnow":9,"hn-hiring":19,"jobicy":2,"remotive":1,"remoteok":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":1,"buzz":0.5,"buzzRank":95,"momentum":"flat","trend":[3.1,4.3,4.8,4.4,3.7,6.4,4.2,5.7,6.6,4.7,5.9,6.5,4.5],"trendDelta":1.4,"trendFrom":4.1,"trendTo":5.5},{"id":"compilers","name":"編譯器 / 程式語言實作","cat":"domain","desc":"直譯器、編譯器與型別系統的實作，理解語言如何變成機器碼。","docs":"https://craftinginterpreters.com/contents.html","roadmap":null,"q":"compilers","jobs":8,"demandPct":1,"demandRank":122,"klass":"niche","co":[["cpp",75],["linux",63],["rust",63],["python",50],["git",50],["machine-learning",38],["typescript",38],["distributed-systems",38],["c",38],["inference",25],["llm",25],["javascript",25]],"bySource":{"arbeitnow":1,"jobicy":2,"hn-hiring":3,"remotive":1,"remoteok":1},"tw":{"jobs":0,"demandPct":0,"demandRank":null,"klass":"niche","co":[],"bySource":{}},"buzzCount":7,"buzz":4,"buzzRank":24,"momentum":"flat","trend":[1.9,1.7,1,1.8,1.5,1.1,2.3,2.4,0.9,2.1,1,1,0.8],"trendDelta":-0.4,"trendFrom":1.6,"trendTo":1.2}],"candidates":[{"term":"dsh-plugin","key":"dshplugin","count":5,"kind":"tag","sources":["github"]},{"term":"deepseek-harness","key":"deepseekharness","count":4,"kind":"tag","sources":["github"]},{"term":"metal","key":"metal","count":4,"kind":"tag","sources":["github"]},{"term":"chinese","key":"chinese","count":4,"kind":"tag","sources":["github"]},{"term":"hacktoberfest","key":"hacktoberfest","count":3,"kind":"tag","sources":["devto"]},{"term":"halloween","key":"halloween","count":3,"kind":"tag","sources":["devto"]},{"term":"devtools","key":"devtools","count":3,"kind":"tag","sources":["devto"]},{"term":"buildinpublic","key":"buildinpublic","count":3,"kind":"tag","sources":["devto"]},{"term":"open-data","key":"opendata","count":3,"kind":"tag","sources":["devto","github"]},{"term":"adb","key":"adb","count":3,"kind":"tag","sources":["github"]},{"term":"debloat","key":"debloat","count":3,"kind":"tag","sources":["github"]},{"term":"deepseek","key":"deepseek","count":3,"kind":"tag","sources":["github"]},{"term":"dsh","key":"dsh","count":3,"kind":"tag","sources":["github"]},{"term":"Apollo","key":"apollo","count":3,"kind":"stack","sources":["hn-hiring"]},{"term":"GA4","key":"ga4","count":3,"kind":"stack","sources":["jobicy","arbeitnow"]}],"roadmaps":[{"id":"beginner","name":"新手入門","summary":"從零開始到能投出第一份履歷。每個階段都有一個要做出來的小專案，做完再往下走。","roadmap":"computer-science","stages":[{"title":"先選一個方向","level":"basic","note":"前端做畫面、後端做服務與資料、資料／AI 做分析與模型、MIS 管理公司內部系統。先看「總覽」的台灣職缺需求，選一個有興趣、職缺也夠多的方向。","skills":[],"project":"花一週瀏覽本站各職能路徑與台灣職缺，寫下你選的方向與理由。","goal":"選定一個方向（之後可以換，但先專心一條）。","resources":[{"title":"roadmap.sh：各職能的完整路線圖","url":"https://roadmap.sh/"},{"title":"CS50x：哈佛大學免費計算機概論","url":"https://cs50.harvard.edu/x/"}]},{"title":"每天都會用到的工具","level":"basic","note":"命令列與 Git 是所有工程師的共同語言，越早熟悉越好。","skills":["git","linux","bash"],"project":"建立 GitHub 帳號，把學習筆記放成一個 repo，每天至少 commit 一次。","goal":"能用命令列操作檔案，會 commit、push、開分支與合併。","resources":[{"title":"Pro Git 中文版","url":"https://git-scm.com/book/zh-tw/v2"},{"title":"MIT：資訊課程缺少的一課（命令列、Git、工具）","url":"https://missing.csail.mit.edu/"},{"title":"GitHub Skills：互動式 Git 練習","url":"https://skills.github.com/"}]},{"title":"第一門程式語言","level":"basic","note":"前端選 JavaScript；後端、資料、AI 選 Python。先把變數、條件、迴圈、函式、資料結構練熟，不要急著學框架。","skills":["python","javascript"],"pick":["python","javascript"],"project":"寫 3 個小工具：記帳程式、猜數字遊戲、整理自己檔案的腳本。","goal":"不看教學也能從零寫出 100 行左右、能正常運作的程式。","resources":[{"title":"Python 官方教學（中文）","url":"https://docs.python.org/zh-tw/3/tutorial/"},{"title":"MDN：網頁開發入門（中文）","url":"https://developer.mozilla.org/zh-TW/docs/Learn_web_development"},{"title":"Exercism：免費的程式練習題與導師回饋","url":"https://exercism.org/"}]},{"title":"網頁與資料的基礎","level":"basic","note":"幾乎所有軟體都是「畫面 + API + 資料庫」的組合，三樣都要摸過。","skills":["html","css","sql","rest"],"project":"做一個個人網站，並串接一個公開 API（例如天氣），把結果顯示在頁面上。","goal":"理解瀏覽器怎麼向伺服器拿資料，會寫基本的 SELECT 與 JOIN。","resources":[{"title":"freeCodeCamp：免費的完整網頁課程","url":"https://www.freecodecamp.org/learn"},{"title":"The Odin Project：從零到全端的免費課程","url":"https://www.theodinproject.com/"},{"title":"SQLBolt：互動式 SQL 練習","url":"https://sqlbolt.com/"}]},{"title":"第一個完整作品","level":"mid","note":"依方向選一個主流框架做出完整的應用並部署上線。這會是履歷上最重要的一項。","skills":["react","vue","fastapi","nodejs","postgresql","docker"],"project":"做一個有登入、資料新增／修改／刪除、部署到雲端、別人能用網址打開的應用（例如記帳本、讀書會報名系統）。","goal":"作品有網址、有 README 說明、程式碼放在 GitHub。","resources":[{"title":"React 官方教學（中文）","url":"https://zh-hant.react.dev/learn"},{"title":"FastAPI 官方教學","url":"https://fastapi.tiangolo.com/tutorial/"},{"title":"iT 邦幫忙鐵人賽：大量中文系列教學","url":"https://ithelp.ithome.com.tw/ironman"}]},{"title":"求職準備","level":"mid","note":"台灣職缺多在 104、Cake、Yourator、LinkedIn。面試常考基礎演算法與「你的作品怎麼做的」，用 AI 工具可以加速練習，但要能解釋每一行。","skills":["testing","dsa","ai-coding"],"project":"替作品補上自動化測試；寫好一頁履歷；刷 30 題 LeetCode 簡單到中等題。","goal":"能在 10 分鐘內講清楚你的作品架構與遇到的問題。","resources":[{"title":"NeetCode：依主題整理的面試題","url":"https://neetcode.io/roadmap"},{"title":"Codewars：每日小題練手感","url":"https://www.codewars.com/"}]}]},{"id":"frontend","name":"前端工程師","summary":"從網頁三本柱到現代框架，再到效能、測試與無障礙。","roadmap":"frontend","stages":[{"title":"網頁基礎","level":"basic","note":"框架只是包裝，底層永遠是這三樣。","skills":["html","css","javascript"],"project":"不用任何框架，做出一個響應式的作品集網站（手機與電腦都好看）。"},{"title":"型別與主力框架","level":"basic","note":"框架擇一深入即可，先看哪個職缺需求高。台灣職缺 React 與 Vue 都很常見。","skills":["typescript","react","vue","angular","svelte"],"pick":["react","vue","angular","svelte"],"project":"用框架重做作品集，加上一個待辦清單或篩選功能。"},{"title":"全端框架與樣式","level":"mid","note":"實務專案的標準配備。","skills":["nextjs","nuxt","tailwind","state","build-tools"],"pick":["nextjs","nuxt"],"project":"用 Next.js 或 Nuxt 做一個部落格，支援 SEO 與深色模式。"},{"title":"品質","level":"mid","note":"讓產品在各種裝置與使用者面前都站得住腳。","skills":["testing","e2e","a11y","design-system"],"project":"替部落格補上單元測試與 Playwright 端對端測試，並通過 Lighthouse 無障礙檢查。"},{"title":"串接後端","level":"mid","note":"理解資料怎麼來，才能設計好前端狀態。","skills":["rest","graphql","websocket","auth"],"project":"做一個有登入與即時通知的聊天室。"},{"title":"進階與新方向","level":"adv","note":"行有餘力再看，挑有興趣的即可。","skills":["webassembly","web-graphics","astro","htmx","ai-coding"],"project":"用 WebGPU 或 Three.js 做一個 3D 資料視覺化。"}]},{"id":"backend","name":"後端工程師","summary":"選一個語言深入，再往資料庫、API、架構與維運擴展。","roadmap":"backend","stages":[{"title":"主力語言（擇一深入）","level":"basic","note":"語言之間的觀念可以轉移，先選職缺多的。台灣企業 Java、C#/.NET 需求穩定，新創偏好 Go、Python、TypeScript。","skills":["python","java","go","typescript","csharp","rust","php","ruby"],"pick":["python","java","go","typescript","csharp","rust","php","ruby"],"project":"寫一個命令列工具，讀取 CSV 並輸出統計結果。"},{"title":"對應的框架","level":"basic","note":"跟著語言選：Java→Spring、C#→.NET、Python→FastAPI/Django、TS→Node.js。","skills":["nodejs","spring","dotnet","fastapi","django","nestjs","laravel","rails"],"pick":["nodejs","spring","dotnet","fastapi","django","nestjs","laravel","rails"],"project":"做一個短網址服務的 REST API，含輸入驗證與錯誤處理。"},{"title":"資料庫與快取","level":"mid","note":"後端的效能問題十之八九出在資料層。","skills":["sql","postgresql","mysql","redis","mongodb","orm","elasticsearch"],"pick":["postgresql","mysql"],"project":"替短網址服務加上 PostgreSQL 與 Redis 快取，比較加快取前後的回應時間。"},{"title":"API 與服務溝通","level":"mid","note":"同步用 REST / gRPC，非同步用訊息佇列。","skills":["rest","graphql","grpc","auth","event-driven","kafka"],"project":"把點擊統計改成透過訊息佇列非同步處理。"},{"title":"部署與維運","level":"mid","note":"「能上線、出事查得到」才算完成。","skills":["docker","kubernetes","cicd","aws","observability","testing"],"project":"用 Docker 打包、GitHub Actions 自動部署，並接上監控與告警。"},{"title":"架構","level":"adv","note":"資深職缺的核心要求。","skills":["system-design","microservices","distributed-systems","ddd","security"],"project":"寫一份設計文件：如果短網址服務要撐每秒一萬次請求，你會怎麼改？"}]},{"id":"mis","name":"MIS／網管工程師","summary":"台灣最常見的資訊入門職缺之一：負責公司內部的電腦、伺服器、網路與資安，之後可往雲端與 DevOps 發展。","roadmap":"linux","stages":[{"title":"作業系統與伺服器","level":"basic","note":"企業內部多是 Windows 與 Linux 混合環境。","skills":["windows-server","linux","bash"],"project":"用舊電腦或虛擬機架一台 Linux 伺服器與一個 Windows AD 網域，加入兩台用戶端。"},{"title":"網路","level":"basic","note":"網管面試必考，建議以 CCNA 的範圍為目標。","skills":["networking","network-admin"],"project":"用 Cisco Packet Tracer 模擬一間公司：兩個部門、VLAN 分隔、防火牆規則。"},{"title":"維運自動化","level":"mid","note":"把重複的工作寫成腳本，是 MIS 最快拉開差距的地方。","skills":["bash","ansible","docker","observability"],"project":"寫腳本每天自動備份並在失敗時發通知；用 Grafana 做機房監控儀表板。"},{"title":"資訊安全","level":"mid","note":"資安法規趨嚴，企業越來越重視。","skills":["security","auth","cryptography"],"project":"對自己的實驗環境做弱點掃描並修補；替所有帳號啟用多因素驗證。"},{"title":"往雲端與 DevOps 發展","level":"adv","note":"地端轉雲端是台灣企業正在發生的事，懂兩邊的人很搶手。","skills":["aws","azure","terraform","kubernetes"],"pick":["aws","azure"],"project":"把一個地端服務搬上雲，並用 Terraform 管理基礎設施。"}]},{"id":"devops","name":"DevOps / 平台工程師","summary":"把部署、基礎設施與監控自動化，讓開發團隊能安全地頻繁上線。","roadmap":"devops","stages":[{"title":"系統基礎","level":"basic","note":"所有工具最終都跑在 Linux 與網路上。","skills":["linux","bash","networking","git","python","go"],"pick":["python","go"],"project":"在雲端主機上手動架好一個網站（Nginx + 應用程式 + HTTPS）。"},{"title":"容器","level":"basic","note":"現代部署的共通單位。","skills":["docker","kubernetes","helm"],"project":"把網站容器化，部署到本機的 Kubernetes（kind 或 minikube）。"},{"title":"基礎設施即程式碼","level":"mid","note":"環境要能版本控管、一鍵重建。","skills":["terraform","ansible","nix"],"project":"用 Terraform 建出整套雲端環境，刪掉後能一鍵重建。"},{"title":"CI/CD","level":"mid","note":"從提交到上線的自動化管線。","skills":["cicd","github-actions","gitlab","jenkins","argocd"],"pick":["github-actions","gitlab","jenkins"],"project":"建立「合併 PR 就自動測試、部署到測試環境」的管線。"},{"title":"雲端平台（擇一深入）","level":"mid","note":"先選公司在用的，觀念可以互通。","skills":["aws","azure","gcp","cloudflare","serverless"],"pick":["aws","azure","gcp"],"project":"考一張雲端助理級證照（如 AWS Solutions Architect Associate）。"},{"title":"可觀測性與可靠性","level":"adv","note":"出事時能快速定位，平時能量化服務品質。","skills":["observability","prometheus","grafana","opentelemetry","datadog","sre"],"project":"替服務定義 SLO，建立告警並寫一份事故演練報告。"},{"title":"安全與進階","level":"adv","note":"平台團隊越來越常被要求負責的範圍。","skills":["security","auth","nginx","ebpf"],"project":"在管線中加入映像檔弱點掃描與機密資訊偵測。"}]},{"id":"ai","name":"AI 應用工程師","summary":"不訓練模型也能做 AI 產品：以 LLM 為核心，把檢索、工具與評估串成可上線的系統。","roadmap":"ai-engineer","stages":[{"title":"基礎","level":"basic","note":"Python 是 AI 生態的通用語言；懂一點機器學習觀念能避免很多誤用。","skills":["python","machine-learning","sql"],"project":"用 scikit-learn 做一個簡單的分類模型，並說明它的準確率代表什麼。"},{"title":"LLM 應用核心","level":"basic","note":"絕大多數 AI 功能都是這四樣的組合。","skills":["llm","prompt-engineering","rag","vector-db"],"project":"做一個能回答「你自己的筆記」的問答機器人（RAG）。"},{"title":"Agent 與工具整合","level":"mid","note":"目前成長最快的方向：讓模型自己規劃並呼叫工具。","skills":["ai-agents","mcp","agent-skills","langchain","n8n"],"project":"寫一個 MCP 伺服器，讓 AI 助理能查詢你的行事曆或資料庫。"},{"title":"做成服務","level":"mid","note":"AI 功能終究是一個要部署、要監控的後端服務。","skills":["fastapi","typescript","docker","aws","mlops"],"pick":["fastapi","typescript"],"project":"把問答機器人做成 API 部署上線，記錄每次呼叫的成本與延遲。"},{"title":"深入模型（選修）","level":"adv","note":"需要自架或客製模型時才必要；決策模型是 2026 年新出現的類別，適合高頻、低延遲的判斷任務。","skills":["decision-models","pytorch","huggingface","fine-tuning","inference","nlp","computer-vision"],"project":"在本機用開源模型跑同一個任務，和雲端 API 比較品質、速度與成本。"},{"title":"把 AI 用在自己的開發流程","level":"basic","note":"最直接的生產力提升，任何階段都可以開始。","skills":["ai-coding"],"project":"用 AI 輔助工具完成一個小功能，並記錄哪些建議你採用、哪些沒有、為什麼。"}]},{"id":"data","name":"資料工程師","summary":"建立可靠的資料管線，把分散的原始資料變成可分析、可供模型使用的資產。","roadmap":"data-engineer","stages":[{"title":"基礎","level":"basic","note":"SQL 與 Python 佔了日常工作的八成。","skills":["sql","python","pandas"],"project":"下載政府開放資料，用 pandas 清理並回答三個你好奇的問題。"},{"title":"資料管線","level":"mid","note":"擷取、轉換、排程。","skills":["etl","airflow","dbt"],"project":"用 Airflow 每天自動抓取資料、清理後存進資料庫。"},{"title":"大規模與串流處理","level":"adv","note":"資料量超過單機時的工具。","skills":["spark","kafka","flink","scala"],"project":"用 Kafka 接收即時資料，Spark 計算每分鐘的統計。"},{"title":"倉儲與分析引擎","level":"mid","note":"擇一熟悉，其餘知道定位即可。","skills":["snowflake","bigquery","databricks","clickhouse","duckdb","postgresql"],"pick":["snowflake","bigquery","databricks","clickhouse","duckdb","postgresql"],"project":"用 DuckDB 分析數 GB 的 Parquet 檔，和 pandas 比較速度。"},{"title":"平台與交付","level":"adv","note":"資料平台同樣需要雲端與自動化。","skills":["aws","docker","terraform","bi"],"project":"把管線部署到雲端，並做一個給主管看的儀表板。"}]},{"id":"mobile","name":"行動開發工程師","summary":"原生或跨平台擇一入門，再補齊後端串接與發佈流程。","roadmap":"android","tracks":[{"id":"ios","name":"iPhone／iPad App","desc":"只做 Apple 裝置。用 Swift 開發，需要一台 Mac。"},{"id":"android","name":"Android App","desc":"只做 Android 手機。用 Kotlin 開發，Windows 電腦就能做。"},{"id":"cross","name":"兩邊一起做（跨平台）","desc":"一套程式碼同時上架兩個平台，新創與接案常用。"}],"stages":[{"title":"iOS 原生","level":"basic","track":"ios","note":"Apple 生態的標準做法。","skills":["swift","swiftui","ios"],"project":"用 SwiftUI 做一個習慣追蹤 App。"},{"title":"Android 原生","level":"basic","track":"android","note":"Google 生態的標準做法。","skills":["kotlin","android"],"project":"用 Jetpack Compose 做同一個習慣追蹤 App。"},{"title":"跨平台","level":"mid","track":"cross","note":"一套程式碼兩個平台，新創與接案常見。","skills":["react-native","flutter","dart","kmp"],"pick":["react-native","flutter","kmp"],"project":"用 Flutter 或 React Native 做一個同時上架兩個平台的 App。"},{"title":"串接後端","level":"mid","note":"App 幾乎都要連 API 與登入。","skills":["rest","graphql","firebase","auth"],"project":"加入帳號登入與雲端同步，支援離線使用。"},{"title":"品質與發佈","level":"adv","note":"自動化測試與上架流程。","skills":["testing","cicd"],"project":"建立自動化測試與上架流程，推送一版到 TestFlight 或內部測試軌道。"}]}],"growth":{"summary":"找到第一份工作只是開始。每個階段要加強的不只是技術，還有影響範圍：從完成任務、負責系統，到帶領方向。","levels":[{"id":"junior","name":"初階工程師","years":"0–2 年","goal":"能獨立完成被指派的功能，品質穩定。","focus":["寫出別人看得懂的程式碼","養成寫測試的習慣","學會讀錯誤訊息與除錯","在 Code Review 中接受回饋並修正"],"skills":["testing","git","sql","rest","docker","ai-coding"],"habits":["每週讀幾篇本站「技術新知」的文章","把解過的問題寫成筆記或部落格","主動問「為什麼這樣設計」"],"next":"能準確估計工作時間、獨立處理線上問題、PR 很少需要大幅修改。"},{"id":"mid","name":"中階工程師","years":"2–5 年","goal":"負責一個模組或服務，從設計到上線。","focus":["系統設計基礎與取捨","效能分析與資料庫調校","部署、監控與事故處理","帶新人與幫別人 Review"],"skills":["system-design","cicd","observability","kubernetes","event-driven","security"],"habits":["寫設計文件後再動手","在團隊內做技術分享","每季用一個 side project 試一項新技術"],"next":"能把模糊的需求拆成可執行的計畫，出事時能帶頭找出根本原因。"},{"id":"senior","name":"資深工程師","years":"5 年以上","goal":"對跨團隊的技術品質與方向負責。","focus":["分散式系統與可靠性","架構演進與技術債管理","成本與資安的整體考量","培養團隊成員"],"skills":["distributed-systems","microservices","ddd","sre","aws","system-design"],"habits":["寫 RFC 推動技術決策","對外分享：研討會、部落格、開源專案","定期評估新興技術對團隊的價值"],"next":"你的決定影響多個團隊，別人遇到難題會先來問你。"},{"id":"lead","name":"技術領導","years":"兩條路","goal":"技術專家路線（Staff／架構師）或管理路線（Tech Lead／工程經理），擇一發展。","focus":["專家路線：跨系統架構、技術策略、解決最難的問題","管理路線：招募、績效、專案規劃、團隊文化","兩者都需要：寫作與溝通、把技術轉成商業價值"],"skills":["system-design","distributed-systems","security","llm"],"habits":["每年訂一個能擴大影響範圍的目標","指導兩到三位工程師","追蹤產業趨勢並轉譯給團隊"],"next":"持續擴大影響範圍：從一個團隊到整個部門、甚至整個產業社群。"}],"methods":[{"title":"用本站追蹤趨勢","text":"每週看「總覽」的新興技術與「技術新知」，每月檢查一次你的技能清單在職缺中的需求變化。","links":[]},{"title":"做 Side Project","text":"每一季挑一項新技術做一個小專案。讀完教學不算學會，做出能用的東西才算。","links":[]},{"title":"參與台灣技術社群","text":"研討會是認識同行、了解業界實際做法最快的方式，也是轉職時很好的人脈來源。","links":[{"title":"COSCUP 開源人年會","url":"https://coscup.org/"},{"title":"PyCon Taiwan","url":"https://tw.pycon.org/"},{"title":"JSDC 台灣 JavaScript 開發者年會","url":"https://jsdc.tw/"},{"title":"MOPCON 南臺灣行動科技年會","url":"https://mopcon.org/"},{"title":"DevOpsDays Taipei","url":"https://devopsdays.tw/"},{"title":"HITCON 台灣駭客年會","url":"https://hitcon.org/"}]},{"title":"寫作與分享","text":"把學到的東西寫出來是最有效的複習，也會成為求職時的作品。","links":[{"title":"iT 邦幫忙鐵人賽：連續 30 天寫一個主題","url":"https://ithelp.ithome.com.tw/ironman"}]}]},"glossary":[{"id":"roles","name":"職稱與角色","intro":"職缺標題上最常看到的稱呼，包含 AI 快速發展後出現的新職稱。同一種工作在不同公司可能叫法不同，看工作內容最準。","usageKind":"jobs","terms":[{"id":"frontend","term":"前端工程師","aka":["Frontend","FE","前端"],"def":"負責使用者在瀏覽器裡看到、點到的部分：版面、按鈕、表單與互動效果。把設計師的設計稿做成真的網頁。","skills":["javascript","react"],"path":"frontend"},{"id":"backend","term":"後端工程師","aka":["Backend","BE","後端"],"def":"負責使用者看不到的伺服器端：處理登入、訂單、金流，存取資料庫，並提供 API 給網頁與 App 使用。","path":"backend"},{"id":"fullstack","term":"全端工程師","aka":["Full-stack","Full Stack","全端"],"def":"前端與後端都能做的工程師。小公司與新創常見，但通常還是有一邊比較強。"},{"id":"mobile","term":"App 工程師","aka":["iOS 工程師","Android 工程師","行動開發工程師","Mobile"],"def":"開發手機 App。iOS 用 Swift、Android 用 Kotlin，也可以用 Flutter、React Native 一次做兩個平台。","path":"mobile"},{"id":"rd","term":"RD","aka":["研發工程師","R&D"],"def":"台灣業界對「研發工程師」的通稱，常泛指寫程式的工程師；在硬體公司則可能是電子或韌體方面的研發人員。","example":"「這個需求要先跟 RD 確認做不做得到。」"},{"id":"pg","term":"PG／程式設計師","aka":["Programmer","程式設計師"],"def":"較傳統的稱呼，指負責寫程式的人，常見於系統整合商與傳統產業資訊部門的職缺。"},{"id":"sa-sd","term":"SA／SD","aka":["系統分析師","系統設計師","System Analyst"],"def":"SA 跟客戶或使用單位訪談、整理需求並寫成規格；SD 依規格設計系統架構與資料表。台灣的系統整合與金融業很常見。","skills":["system-analysis"]},{"id":"qa","term":"QA／測試工程師","aka":["Quality Assurance","QC","Tester","SDET"],"def":"確保軟體品質：設計測試案例、找出 bug、撰寫自動化測試。SDET 是會寫自動化測試程式的測試工程師。","skills":["testing","e2e"]},{"id":"pm","term":"PM","aka":["產品經理","專案經理","Product Manager","Project Manager"],"def":"「產品經理」決定要做什麼功能、為什麼做；「專案經理」負責時程、人力與進度。兩者都簡稱 PM，要看職缺內容才知道是哪一種。"},{"id":"po","term":"PO","aka":["Product Owner","產品負責人"],"def":"Scrum 團隊裡決定需求優先順序的人，負責維護待辦清單（Backlog）。很多公司由產品經理兼任。"},{"id":"designer","term":"UI／UX 設計師","aka":["UI Designer","UX Designer","介面設計師"],"def":"UI 設計畫面長相（顏色、按鈕、版面）；UX 研究使用者怎麼用、流程順不順。工程師通常照著他們在 Figma 上的設計稿實作。"},{"id":"devops","term":"DevOps 工程師","aka":["DevOps","平台工程師","Platform Engineer"],"def":"讓程式能自動、安全地上線：建置部署流程、管理雲端與伺服器、監控服務狀態。","path":"devops"},{"id":"sre","term":"SRE","aka":["網站可靠性工程師","Site Reliability Engineer"],"def":"Google 提出的職位：用寫程式的方式維持服務穩定，包括訂定可用性目標、處理事故、減少重複的人工維運。","skills":["sre","observability"]},{"id":"mis","term":"MIS／網管","aka":["資訊人員","IT","網路管理員","資訊室"],"def":"公司內部的資訊人員：管理電腦、帳號、伺服器、網路與資安，也處理同事的電腦問題。台灣很常見的資訊入門職缺。","path":"mis"},{"id":"dba","term":"DBA","aka":["資料庫管理師","Database Administrator"],"def":"專門管理資料庫的人：備份、效能調校、權限控管。通常大型企業與金融業才有專職。","skills":["sql","postgresql","oracle"]},{"id":"data-engineer","term":"資料工程師","aka":["Data Engineer","DE"],"def":"打造「資料管線」，把散落各處的資料自動收集、清理、整理到資料倉儲，讓分析師與 AI 能使用。","path":"data"},{"id":"data-analyst","term":"資料分析師／資料科學家","aka":["Data Analyst","DA","Data Scientist","DS"],"def":"資料分析師用 SQL、Excel 與 BI 工具做報表、回答商業問題；資料科學家更偏統計與機器學習模型。","skills":["sql","bi","pandas","machine-learning"]},{"id":"ai-engineer","term":"AI 工程師","aka":["AI Engineer","Applied AI Engineer","LLM Engineer","AI 應用工程師","ML Engineer","機器學習工程師"],"def":"把 AI 模型做成產品功能。現在大多數職缺是串接大型語言模型（LLM）做應用：檢索資料、串接工具、評測品質並上線，不一定要自己訓練模型；要訓練模型的通常叫 ML 工程師或研究員。","path":"ai","ai":true,"usage":{"level":"high","text":"近一年最常見的 AI 職稱，新創與大公司都在招，台灣也越來越多。"},"stats":{"pct":7.13,"hits":278,"total":3901,"months":13,"from":6.41,"to":7.21,"momentum":"flat"}},{"id":"prompt-engineer","term":"Prompt 工程師","aka":["Prompt Engineer","提示工程師"],"def":"專門設計給 AI 的指令（prompt），讓模型穩定產出想要的結果。2023 年 ChatGPT 爆紅時，曾是最受矚目的新職稱。","ai":true,"skills":["prompt-engineering"],"usage":{"level":"low","text":"現在已經很少單獨招募：模型越來越聰明，寫 prompt 變成每個 AI 工程師的基本功，工作內容併入 AI 工程師與 Context Engineering。"},"stats":{"pct":0,"hits":0,"total":3901,"months":13,"from":0,"to":0,"momentum":"flat"}},{"id":"agent-engineer","term":"AI Agent 工程師","aka":["Agent Engineer","Agentic AI Engineer","智慧代理工程師"],"def":"設計能自己規劃步驟、呼叫工具完成任務的 AI agent：串接工具與資料（例如 MCP）、處理多步驟流程與錯誤，並用評測確認品質。","ai":true,"skills":["ai-agents","mcp"],"path":"ai","usage":{"level":"mid","text":"2025 年後出現的職稱，常和 AI 工程師混用；單獨用這個職稱的職缺還不多，工作內容多半寫在 AI 工程師的職缺裡。"},"stats":{"pct":0.56,"hits":22,"total":3901,"months":13,"from":0.42,"to":0.98,"momentum":"flat"}},{"id":"fde","term":"Forward Deployed Engineer","aka":["FDE","前線部署工程師","駐點 AI 工程師"],"def":"進駐客戶公司，把 AI 模型客製並導入客戶實際的工作流程。要能寫程式，也要能和客戶溝通需求，像是工程師加顧問。最早來自 Palantir，2025 年起 AI 公司大量招募。","ai":true,"usage":{"level":"mid","text":"國外 AI 公司成長最快的職缺之一；台灣目前少見，多半是外商在台據點。"},"stats":{"pct":3.13,"hits":122,"total":3901,"months":13,"from":2.02,"to":4.04,"momentum":"up"}},{"id":"llmops-engineer","term":"MLOps／LLMOps 工程師","aka":["MLOps Engineer","LLMOps","AI 平台工程師"],"def":"讓 AI 模型穩定上線：部署、監控、版本管理，以及控制成本與回應速度。LLMOps 專門處理大型語言模型應用，例如 prompt 版本、評測與用量費用。","ai":true,"skills":["mlops"],"usage":{"level":"mid","text":"多在 AI 團隊規模較大的公司；小團隊通常由 AI 工程師或 DevOps 兼任。"},"stats":{"pct":0.95,"hits":37,"total":3901,"months":13,"from":0.97,"to":1.64,"momentum":"flat"}},{"id":"ai-pm","term":"AI 產品經理","aka":["AI PM","AI Product Manager"],"def":"決定 AI 功能要解決什麼問題、怎麼衡量品質、成本划不划算。要懂模型做得到與做不到什麼，並和工程師一起設計評測方式。","ai":true,"usage":{"level":"low","text":"產品經理的新分支，目前職缺不多，主要在 AI 產品公司與大公司的 AI 部門；多數公司是由一般 PM 兼管 AI 功能。"},"stats":{"pct":0.1,"hits":4,"total":3901,"months":13,"from":0.07,"to":0.22,"momentum":"flat"}},{"id":"ai-trainer","term":"AI 訓練師／資料標註","aka":["AI Trainer","Data Annotator","資料標註員","RLHF"],"def":"撰寫題目、評分與修改 AI 的回答，讓模型從中學習（RLHF）。有些工作需要特定專業，例如程式、法律或醫學。","ai":true,"usage":{"level":"mid","text":"多為約聘、接案或透過專門平台招募，彈性高但穩定度較低；適合想接觸 AI、但不是工程背景的人。"},"stats":{"pct":0.31,"hits":12,"total":3901,"months":13,"from":0.35,"to":0.22,"momentum":"flat"}},{"id":"ai-red-team","term":"AI 紅隊／AI 安全","aka":["AI Red Teamer","AI Safety","Red Team","AI 資安"],"def":"故意攻擊 AI 系統找出弱點：越獄（jailbreak）、提示注入、資料外洩與有害輸出；也包含研究如何讓模型的行為可靠（alignment）。","ai":true,"skills":["security","llm"],"usage":{"level":"low","text":"職缺不多，集中在 AI 公司與資安公司，通常需要資安或研究背景。"},"stats":{"pct":0.56,"hits":22,"total":3901,"months":13,"from":0.21,"to":0.66,"momentum":"flat"}},{"id":"firmware","term":"韌體工程師","aka":["Firmware Engineer","FW","嵌入式工程師"],"def":"寫跑在硬體裡的程式，例如網通設備、主機板、晶片的控制程式，多用 C 語言。台灣硬體大廠的主力職缺之一。","skills":["embedded","c"]},{"id":"fae","term":"FAE","aka":["應用工程師","Field Application Engineer"],"def":"硬體或 IC 公司的技術支援工程師，協助客戶把產品導入他們的設計，常需要拜訪客戶。"},{"id":"tech-lead","term":"Tech Lead","aka":["技術主管","Team Lead","TL","Engineering Manager"],"def":"帶領團隊做技術決策的人，通常仍會寫程式；Team Lead 或 Engineering Manager 則更偏向管理人與進度。"},{"id":"architect","term":"架構師","aka":["Architect","系統架構師"],"def":"決定整個系統怎麼切分、用什麼技術、如何應付大量使用者，通常由資深工程師擔任。","skills":["system-design","microservices"]},{"id":"cto","term":"CTO","aka":["技術長"],"def":"公司最高的技術負責人。新創的 CTO 常常也要親自寫程式。"}]},{"id":"career","name":"職級與求職","intro":"看職缺、準備面試與談薪水時會遇到的說法。","terms":[{"id":"intern","term":"實習生","aka":["Intern","實習"],"def":"學生在學期間到公司工作，常見暑期實習與學期實習。很多公司的正職是從實習生轉正。"},{"id":"seniority","term":"Junior／Senior","aka":["初階","中階","資深","Mid-level"],"def":"工程師的職級。Junior 約 0–2 年經驗、需要有人帶；Mid 能獨立完成功能；Senior 能負責整個系統並帶新人。"},{"id":"staff","term":"Staff／Principal","aka":["Staff Engineer","Principal Engineer"],"def":"比資深更高的技術職級，影響範圍跨團隊，常見於外商與大型科技公司。"},{"id":"ic","term":"IC 與管理職","aka":["Individual Contributor","技術路線","管理路線"],"def":"IC 是不帶人、專注技術的路線；管理職則負責人與團隊。很多公司兩條路都能升遷。"},{"id":"bootcamp","term":"培訓班","aka":["Bootcamp","資策會","職訓","轉職班"],"def":"幾個月密集學程式的課程，台灣有資策會、勞動部職訓與民間轉職班。重點是結業時要有拿得出手的作品。"},{"id":"portfolio","term":"作品集","aka":["Portfolio"],"def":"證明你會做東西的專案集合，通常放在 GitHub 並附上可以打開的網址。轉職者沒有相關經歷時，作品集最重要。"},{"id":"side-project","term":"Side Project","aka":["個人專案","業餘專案"],"def":"工作或課業之外自己做的專案，用來學新技術或累積作品。"},{"id":"resume","term":"履歷","aka":["CV","Resume"],"def":"工程師履歷的重點是做過什麼、用了哪些技術、帶來什麼成果，一到兩頁就好，並附上 GitHub 連結。"},{"id":"tech-interview","term":"技術面試","aka":["技術面","白板題","Coding Interview"],"def":"考程式能力的面試：現場寫程式、解演算法題，或解釋你做過的專案。外商與大公司常考 LeetCode 類型的題目。","skills":["dsa"]},{"id":"leetcode","term":"LeetCode","aka":["刷題","LC"],"def":"最有名的程式面試題庫網站。「刷題」就是大量練習這類題目來準備面試。","skills":["dsa"]},{"id":"take-home","term":"回家作業","aka":["Take-home","作業題"],"def":"公司給一個小題目，讓你幾天內做完交回，之後再約時間討論你的做法。"},{"id":"offer","term":"Offer","aka":["錄取通知"],"def":"公司正式的錄取通知，寫明職稱、薪資與到職日。拿到後可以談薪，也可以比較不同公司的條件。"},{"id":"annual-salary","term":"年薪幾個月","aka":["年終","保障年薪","14 個月"],"def":"台灣常用「月薪 × 月數」表示年薪，例如「保障 14 個月」表示含年終至少領 14 個月。年終有沒有保障要看合約。"},{"id":"equity","term":"分紅與股票","aka":["RSU","員工認股","員工分紅","Vesting"],"def":"部分公司會發股票或認股權當作報酬，常見於外商、上市櫃公司與新創。通常要待滿一段時間才會拿到（vesting）。"},{"id":"probation","term":"試用期","aka":["Probation"],"def":"到職後的前幾個月，雙方互相確認適不適合，常見是 3 個月。"},{"id":"onboarding","term":"Onboarding","aka":["到職訓練","新人訓練"],"def":"新人剛加入時熟悉公司、團隊與程式碼的過程。好的團隊會指派一位 mentor 帶你。"},{"id":"remote","term":"遠端工作","aka":["Remote","WFH","Hybrid","混合辦公"],"def":"不用進辦公室工作；Hybrid 是部分天數進辦公室。國外的遠端職缺通常要求英文溝通能力。"},{"id":"outsourcing","term":"外包與接案","aka":["外包","接案","Freelance","SI","系統整合商"],"def":"外包公司替客戶開發系統，接案則是自己接專案。SI（系統整合商）是台灣常見的外包型態，常替政府、銀行建置系統。"},{"id":"dispatch","term":"派遣與駐點","aka":["派遣","駐點","駐廠"],"def":"由人力公司或外包商聘用，但到客戶公司上班。要注意實際雇主是誰、福利與合約年限。"},{"id":"startup","term":"新創","aka":["Startup"],"def":"剛成立、快速成長中的公司。能接觸很多面向、成長快，但制度與穩定度通常不如大公司。"},{"id":"foreign-company","term":"外商","aka":["外商公司"],"def":"外國企業在台灣的分公司或研發中心。薪資通常較高，面試常用英文，重視演算法與系統設計。"},{"id":"tw-industry","term":"硬體業與軟體業","aka":["科技業","竹科","半導體"],"def":"台灣科技業以硬體與半導體為大宗（竹科、南科），軟體職缺多是韌體、自動化與內部系統；網路服務、電商、金融科技則偏純軟體。"},{"id":"responsibility-system","term":"責任制","aka":["責任制"],"def":"職缺寫「責任制」常代表工時不固定、可能要加班。法律上的責任制只適用於勞動部核定的特定職務，一般工程師多半不在其中，加班仍應有加班費，面試時可以問清楚。"}]},{"id":"workflow","name":"開發流程與團隊","intro":"進到開發團隊後，每天都會聽到的用語。","terms":[{"id":"agile","term":"Agile 敏捷開發","aka":["敏捷","Agile"],"def":"一種開發方式：把大目標切成小塊，每一兩週交付一點、收集回饋再調整，而不是一次把全部規劃好。","skills":["agile"]},{"id":"scrum","term":"Scrum","aka":[],"def":"最常見的敏捷開發做法，有固定的角色（PO、Scrum Master、開發團隊）與固定的會議節奏。","skills":["agile"]},{"id":"sprint","term":"Sprint","aka":["衝刺"],"def":"Scrum 的一個工作週期，通常兩週。開始時決定這次要做哪些項目，結束時展示成果。","example":"「這個功能排到下一個 Sprint。」"},{"id":"standup","term":"Stand-up","aka":["站立會議","Daily","每日站會"],"def":"每天早上約 15 分鐘的短會，每個人說昨天做了什麼、今天要做什麼、有沒有卡住。"},{"id":"retro","term":"Retro","aka":["回顧會議","Retrospective"],"def":"每個 Sprint 結束時的回顧，討論哪裡做得好、哪裡要改進。"},{"id":"backlog","term":"Backlog","aka":["待辦清單"],"def":"還沒做的需求與工作清單，依優先順序排好。"},{"id":"ticket","term":"Ticket","aka":["工單","Issue","Jira","卡片"],"def":"一項待辦工作的紀錄，寫著要做什麼、誰負責、目前狀態，常用 Jira 或 GitHub Issues 管理。","example":"「開一張 ticket 給我，我排進去。」"},{"id":"spec","term":"Spec","aka":["規格","規格書","PRD","需求文件"],"def":"寫清楚功能要做成什麼樣子的文件，PRD 是產品需求文件。「規格又變了」是工程師最常聽到的話之一。"},{"id":"repo","term":"Repo","aka":["Repository","儲存庫"],"def":"用 Git 管理的一個專案，包含所有程式碼與修改歷史，通常放在 GitHub 或 GitLab。","skills":["git"]},{"id":"commit","term":"Commit","aka":["提交","上 code"],"def":"把一批修改存成 Git 歷史裡的一個版本，並寫一句說明。","skills":["git"]},{"id":"branch","term":"Branch","aka":["分支","開分支"],"def":"從主線分出一條獨立的開發線，在上面改東西不會影響別人，完成後再合併回去。","skills":["git"]},{"id":"pr","term":"PR／MR","aka":["Pull Request","Merge Request","發 PR"],"def":"請團隊審查並合併你的分支。GitHub 叫 PR，GitLab 叫 MR。","example":"「我發了 PR，幫我 review 一下。」","skills":["git"]},{"id":"code-review","term":"Code Review","aka":["CR","審 code","Review"],"def":"同事互相檢查程式碼，找出 bug、改善寫法並分享知識。合併前通常要至少一個人同意（Approve）。"},{"id":"merge","term":"Merge","aka":["合併","合 code","Conflict","衝突"],"def":"把分支的修改合進主線。兩邊改到同一段程式碼時會發生「衝突」，要手動決定保留哪一邊。","skills":["git"]},{"id":"environments","term":"開發／測試／正式環境","aka":["Dev","Staging","Production","Prod","正式機","測試機"],"def":"同一套系統通常有好幾份：開發用的 Dev、上線前驗證的 Staging（測試機），以及真正給使用者用的 Production（正式機）。","example":"「這個在測試機沒問題，上正式機才壞。」"},{"id":"deploy","term":"部署／上線","aka":["Deploy","上版","Release","發版"],"def":"把新版程式放到伺服器上給使用者用。「上版」是台灣常見的說法。","skills":["cicd"]},{"id":"hotfix","term":"Hotfix","aka":["緊急修正"],"def":"正式環境出了嚴重問題，跳過一般流程立刻修補上線。"},{"id":"rollback","term":"Rollback","aka":["回滾","退版"],"def":"新版本出問題時，退回上一個正常的版本。"},{"id":"bug","term":"Bug／Debug","aka":["臭蟲","除錯"],"def":"Bug 是程式的錯誤；Debug 是找出並修正錯誤的過程。"},{"id":"tech-debt","term":"技術債","aka":["Tech Debt"],"def":"為了趕進度先用簡單但不理想的寫法，之後要花更多時間還的「債」。累積太多會讓每個新功能都很難做。"},{"id":"legacy","term":"Legacy","aka":["舊系統","祖傳程式碼"],"def":"很久以前寫的、仍在運作但很難修改的程式。「祖傳程式碼」是工程師之間的玩笑話。"},{"id":"refactor","term":"重構","aka":["Refactor","Refactoring"],"def":"不改變程式的功能，只整理程式碼的結構，讓它更好讀、更好改。"},{"id":"on-call","term":"On-call","aka":["值班","輪值"],"def":"輪流在下班時間負責處理系統警報，服務出問題時要能即時回應。"},{"id":"incident","term":"事故與檢討","aka":["Incident","Postmortem","事後檢討"],"def":"Incident 是影響使用者的服務中斷或錯誤；Postmortem 是事後寫下原因與改善方式，重點是改善流程而不是究責。","skills":["sre"]},{"id":"sla","term":"SLA","aka":["服務等級協議","可用性","幾個 9"],"def":"對服務可用程度的承諾。例如 99.9% 代表一年最多停機約 8.8 小時，「幾個 9」說的就是這個數字。","skills":["sre"]},{"id":"mvp","term":"MVP","aka":["最小可行產品","Minimum Viable Product"],"def":"用最少的功能做出能給真實使用者試用的第一版，先驗證想法有沒有人要。"},{"id":"poc","term":"POC","aka":["概念驗證","Proof of Concept"],"def":"正式開發前先做的小實驗，確認技術上做得到。"},{"id":"okr","term":"KPI／OKR","aka":["KPI","OKR"],"def":"公司訂目標與衡量成果的方式。KPI 是要達成的指標；OKR 是「目標 + 關鍵成果」，科技公司很常用。"}]},{"id":"concepts","name":"技術基本名詞","intro":"看技術文章與職缺要求時最常卡住的詞。","terms":[{"id":"programming-language","term":"程式語言","aka":["Language"],"def":"寫給電腦執行的語言，例如 Python、JavaScript、Java。不同語言擅長的領域不同，但觀念大多可以互通。","skills":["python","javascript","java"]},{"id":"framework","term":"框架","aka":["Framework"],"def":"已經幫你搭好骨架的程式架構，照它的規則填入自己的邏輯即可，例如 React、Spring Boot、Django。"},{"id":"library","term":"函式庫與套件","aka":["Library","Lib","Package","套件","npm","pip"],"def":"別人寫好、可以直接拿來用的程式碼，用 npm（JavaScript）或 pip（Python）安裝。和框架的差別是：函式庫由你呼叫，框架則反過來呼叫你的程式。"},{"id":"api","term":"API","aka":["串 API","介面"],"def":"程式之間溝通的約定。例如網頁向後端的 API 要「會員資料」，後端回傳 JSON。「串 API」就是把兩個系統接起來。","skills":["rest"]},{"id":"sdk","term":"SDK","aka":["開發套件"],"def":"某個平台提供的一整包開發工具與函式庫，例如 LINE、金流服務都會提供 SDK，讓你接進自己的系統。"},{"id":"frontend-backend","term":"前後端分離","aka":[],"def":"前端（畫面）與後端（API）分開開發、各自部署，中間透過 API 溝通。現在大多數網站都這樣做。"},{"id":"server","term":"伺服器","aka":["Server","主機"],"def":"一直開著、等著處理請求的電腦或程式。網站與 App 背後都有伺服器在處理資料。"},{"id":"database","term":"資料庫","aka":["Database","DB","NoSQL","關聯式資料庫"],"def":"有組織地儲存資料的系統，例如會員、訂單。用 SQL 查詢的是關聯式資料庫（MySQL、PostgreSQL），其他的常統稱 NoSQL（MongoDB、Redis）。","skills":["sql","postgresql","mysql","mongodb"]},{"id":"sql","term":"SQL","aka":[],"def":"查詢與操作資料庫的語言，幾乎所有工程師與資料職缺都會要求。","example":"SELECT name FROM users WHERE age >= 18;","skills":["sql"]},{"id":"json","term":"JSON","aka":[],"def":"一種常用的資料格式，長得像 {\"name\": \"小明\", \"age\": 20}。API 之間傳資料幾乎都用它。"},{"id":"http","term":"HTTP／HTTPS","aka":["HTTP","HTTPS","404","500"],"def":"瀏覽器與伺服器溝通的規則，HTTPS 是加密版本。常見的狀態碼：200 成功、404 找不到、500 伺服器錯誤。","skills":["rest","networking"]},{"id":"cloud","term":"雲端","aka":["Cloud","上雲","AWS","GCP","Azure"],"def":"向 Amazon（AWS）、Google（GCP）、微軟（Azure）租用伺服器與服務，按用量付費，不用自己買機器。「上雲」是把公司系統搬到雲端。","skills":["aws","gcp","azure"]},{"id":"on-premise","term":"地端","aka":["On-premise","自建機房"],"def":"相對於雲端，指伺服器放在公司自己的機房。台灣的金融業、製造業仍有很多地端系統。"},{"id":"container","term":"容器","aka":["Container","Docker","Image"],"def":"把程式和它需要的環境一起打包，在哪台電腦上都能用一樣的方式執行，解決「在我電腦上明明可以跑」的問題。","skills":["docker","kubernetes"]},{"id":"vm","term":"虛擬機","aka":["VM","Virtual Machine"],"def":"在一台實體電腦裡模擬出好幾台電腦。比容器更完整，但也更佔資源。"},{"id":"cicd","term":"CI/CD","aka":["持續整合","持續部署"],"def":"自動化流程：每次提交程式就自動測試（CI，持續整合），通過後自動部署上線（CD，持續交付或部署）。","skills":["cicd","github-actions"]},{"id":"open-source","term":"開源","aka":["Open Source","開放原始碼"],"def":"公開程式碼、任何人都能使用與貢獻的軟體，例如 Linux、Python、React。參與開源也是累積經歷的方式。"},{"id":"git-github","term":"Git 與 GitHub","aka":["Git","GitHub","GitLab"],"def":"Git 是記錄程式修改歷史的工具；GitHub 是存放 Git 專案的網站，也是工程師展示作品的地方。兩者不一樣。","skills":["git"]},{"id":"cli","term":"命令列","aka":["CLI","Terminal","終端機","黑畫面"],"def":"用打字輸入指令操作電腦的介面，工程師每天都會用。Windows 有 PowerShell，Mac 與 Linux 有 Terminal。","skills":["linux","bash"]},{"id":"ide","term":"IDE／編輯器","aka":["VS Code","IntelliJ","編輯器"],"def":"寫程式用的軟體，有自動完成、除錯等功能。VS Code 是最多人用的免費編輯器。"},{"id":"localhost","term":"localhost","aka":["本機","127.0.0.1"],"def":"指「自己這台電腦」。開發時在本機啟動網站，用 http://localhost 打開來測試，別人連不到。"},{"id":"env-var","term":"環境變數","aka":["Environment Variable",".env","API Key","金鑰"],"def":"在程式外面設定的參數，例如資料庫密碼、API 金鑰。放在環境變數而不是寫死在程式碼裡，才不會不小心公開到網路上。"},{"id":"cache","term":"快取","aka":["Cache"],"def":"把常用的資料暫存在讀取更快的地方，下次直接拿，不用重新計算或查資料庫。","skills":["redis"]},{"id":"monolith","term":"單體與微服務","aka":["Monolith","Microservices","微服務"],"def":"單體是整個系統一個程式；微服務是拆成很多小服務各自部署。微服務適合大團隊但也複雜很多，新專案通常從單體開始。","skills":["microservices"]},{"id":"load-balancer","term":"負載平衡","aka":["Load Balancer","LB"],"def":"把大量請求平均分給多台伺服器，其中一台壞了也不會讓整個服務停擺。","skills":["nginx"]},{"id":"cdn","term":"CDN","aka":["內容傳遞網路"],"def":"在世界各地放內容的副本，讓使用者從最近的地方下載圖片、影片與網頁，速度更快。","skills":["cloudflare"]},{"id":"rwd","term":"響應式設計","aka":["RWD","Responsive"],"def":"同一個網頁在手機、平板、電腦上都會自動調整版面。台灣職缺常寫「熟悉 RWD」。","skills":["css"]},{"id":"seo","term":"SEO","aka":["搜尋引擎最佳化"],"def":"讓網站在 Google 搜尋結果排得更前面的做法，前端工程師常需要配合。","skills":["nextjs"]},{"id":"llm","term":"LLM／生成式 AI","aka":["大型語言模型","ChatGPT","Claude","Gemini","GenAI"],"def":"讀過大量文字、能理解與產生文字的 AI 模型，ChatGPT、Claude、Gemini 都是。","skills":["llm"],"ai":true},{"id":"prompt","term":"Prompt","aka":["提示詞","Context"],"def":"給 AI 的指令與資料。寫得清楚、給足背景資料，回答就會好很多。","skills":["prompt-engineering"],"ai":true},{"id":"token","term":"Token","aka":[],"def":"AI 模型計算文字的單位，依模型不同，一個中文字大約是一到兩個 token。API 依 token 數計費，一次能處理的量也有上限。","skills":["llm"],"ai":true},{"id":"rag","term":"RAG","aka":["檢索增強生成"],"def":"讓 AI 先從你的文件或資料庫找出相關內容再回答，減少亂編。企業的「文件問答機器人」多半這樣做。","skills":["rag","vector-db"],"ai":true},{"id":"hallucination","term":"幻覺","aka":["Hallucination","AI 幻覺","一本正經地胡說八道"],"def":"AI 很有自信地講出錯誤或捏造的內容，例如不存在的函式、套件或論文。給它正確資料（RAG）、要求附上來源、建立評測，都是降低幻覺的方法。","skills":["llm","rag"],"ai":true},{"id":"prompt-injection","term":"提示注入","aka":["Prompt Injection","Jailbreak","越獄"],"def":"在 AI 會讀到的內容裡（網頁、文件、使用者輸入）藏指令，讓它做出原本不該做的事，例如洩漏資料或執行危險操作。是 AI 應用最重要的資安問題之一。","skills":["security","llm"],"ai":true},{"id":"ai-agent","term":"AI Agent","aka":["代理","智慧代理"],"def":"能自己規劃步驟、呼叫工具（搜尋、寫程式、操作系統）來完成任務的 AI，而不只是一問一答。","skills":["ai-agents","mcp"],"ai":true},{"id":"mcp","term":"MCP","aka":["Model Context Protocol","模型上下文協定"],"def":"讓 AI 連接外部工具與資料的開放標準：工具只要做一次 MCP 介面，就能給各種 AI 應用使用，像是 AI 世界的 USB 接頭。","skills":["mcp"],"ai":true,"stats":{"pct":1.56,"hits":61,"total":3901,"months":13,"from":0.42,"to":3.71,"momentum":"up"}},{"id":"low-code","term":"Low-code／No-code","aka":["低程式碼","無程式碼","Zapier"],"def":"用拖拉介面做出應用或自動化流程，寫很少或完全不寫程式，例如 n8n、Zapier。","skills":["n8n"]}]},{"id":"methods","name":"開發方法論","intro":"TDD、BDD、DDD 這類「某某驅動」的開發方法，以及 AI 開始寫程式之後出現的新做法。每個都附上學習必要性與實用程度。注意：職缺很少寫出開發方法，提及率低不代表沒人在用。","terms":[{"id":"tdd","term":"TDD 測試驅動開發","aka":["Test-Driven Development","測試驅動","Red-Green-Refactor"],"def":"先寫一個會失敗的測試，再寫剛好讓它通過的程式，最後整理程式碼（紅燈 → 綠燈 → 重構），一小步一小步重複。Kent Beck 在 1990 年代末的極限編程（XP）中推廣，不是 AI 時代才出現的。","skills":["testing"],"need":{"level":"good","text":"不一定每天照做，但「先想清楚怎麼驗證，再寫程式」是必備觀念，面試也常問。AI 時代反而更有用：先寫測試再讓 AI 實作，測試就是給 AI 的規格與驗收標準。"},"usage":{"level":"mid","text":"嚴格照「先寫測試」做的團隊是少數，職缺也很少把它寫成要求；但寫自動化測試本身幾乎是所有職缺的基本要求。"},"stats":{"pct":0.23,"hits":9,"total":3901,"months":13,"from":0.14,"to":0.22,"momentum":"flat"}},{"id":"bdd","term":"BDD 行為驅動開發","aka":["Behavior-Driven Development","Given-When-Then","Cucumber","Gherkin"],"def":"從 TDD 延伸出來的做法（Dan North 在 2006 年提出）：不說「測試」，改用「使用者會看到什麼行為」來描述，用「假設（Given）、當（When）、那麼（Then）」的句型，讓 PM、QA 與工程師用同一種語言寫驗收條件。","example":"Given 購物車裡有 2 件商品，When 使用者按下結帳，Then 畫面顯示總金額。","skills":["testing"],"need":{"level":"aware","text":"學會 Given／When／Then 的寫法就夠了，拿來寫測試名稱與需求的驗收條件；不必學 Cucumber 整套工具。"},"usage":{"level":"low","text":"BDD 並不是被 TDD 取代（它比 TDD 晚出現），真正變少的是 Cucumber、Gherkin 這類工具：維護成本高，業務人員也很少真的參與撰寫。觀念則保留了下來：Jest、RSpec 的 describe／it 就是 BDD 風格，寫給 AI 的規格也常用 Given／When／Then。"},"stats":{"pct":0.03,"hits":1,"total":3901,"months":13,"from":0,"to":0.11,"momentum":"flat"}},{"id":"ddd","term":"DDD 領域驅動設計","aka":["Domain-Driven Design","領域驅動","Bounded Context","限界上下文"],"def":"依照業務領域來切分程式：先和業務人員建立共同的用語（統一語言），再把系統切成邊界清楚的區塊（限界上下文），例如「訂單」「庫存」「會員」各自獨立。來自 Eric Evans 2003 年的同名著作。","skills":["ddd"],"need":{"level":"later","text":"新手先不用學。等做過中大型專案、開始煩惱「程式要怎麼切才不會越改越亂」時再學；資深後端面試常問。"},"usage":{"level":"mid","text":"業務複雜的系統（金融、電商、ERP）常用其中的觀念，特別是拆微服務的時候；完整照書實踐的團隊不多。"},"stats":{"pct":0.21,"hits":8,"total":3901,"months":13,"from":0.28,"to":0.11,"momentum":"flat"}},{"id":"clean-architecture","term":"整潔架構","aka":["Clean Architecture","六角架構","Hexagonal Architecture","洋蔥架構"],"def":"把程式分成幾層，核心的業務邏輯不依賴資料庫、框架或畫面，外層換掉也不影響核心，方便測試與修改。常和 DDD 一起出現。","skills":["ddd"],"need":{"level":"later","text":"寫過幾個專案、開始覺得程式難改之後再學；小專案硬套反而會變複雜。"},"usage":{"level":"mid","text":"後端與 App 開發常見，特別是 Java、C#、Android 團隊；面試常被問到為什麼要這樣分層。"},"stats":{"pct":0.1,"hits":4,"total":3901,"months":13,"from":0,"to":0.22,"momentum":"flat"}},{"id":"solid","term":"SOLID 原則","aka":["SOLID","單一職責","依賴反轉"],"def":"物件導向設計的五個原則：單一職責、開放封閉、里氏替換、介面隔離、依賴反轉，目標是讓程式好改、好測試。","need":{"level":"good","text":"台灣面試很常考，尤其 Java、C# 職缺；先理解「單一職責」與「依賴反轉」最實用。"},"usage":{"level":"high","text":"當作觀念，幾乎所有物件導向的團隊都在用，但很少寫在職缺要求裡。"},"stats":{"pct":0,"hits":0,"total":3901,"months":13,"from":0,"to":0,"momentum":"flat"}},{"id":"sdd","term":"SDD 規格驅動開發","aka":["Spec-Driven Development","規格驅動","Spec Kit","Kiro"],"def":"AI 時代的新做法：先把需求、驗收條件與設計寫成清楚的規格文件，再讓 AI agent 依規格產生程式與測試，規格變成最主要的產出。2025 年起 GitHub 的 Spec Kit、AWS 的 Kiro 等工具開始推廣。","ai":true,"skills":["ai-coding"],"need":{"level":"good","text":"想用 AI agent 開發中大型功能時很實用。本質是把「寫清楚需求」這件老功夫做好，跟 BDD 的 Given／When／Then 很接近。"},"usage":{"level":"low","text":"才出現一年左右，做法還在演變，多數團隊仍在嘗試階段。"},"stats":{"pct":0.05,"hits":2,"total":3901,"months":13,"from":0,"to":0,"momentum":"flat"}},{"id":"vibe-coding","term":"Vibe Coding","aka":["氛圍編程","憑感覺寫程式","Vibe Coder"],"def":"只用自然語言描述想要什麼，幾乎不看程式碼就接受 AI 產生的結果，有錯就再請 AI 修。2025 年初由 Andrej Karpathy 提出後迅速流行。","ai":true,"skills":["ai-coding"],"need":{"level":"aware","text":"適合做原型、個人小工具與驗證想法；正式產品不適合，上線的程式要有人看得懂、測得過、維護得了。"},"usage":{"level":"mid","text":"個人專案與黑客松很普遍；公司裡多半只用在原型，正式程式碼仍要審查與測試。"},"stats":{"pct":0.15,"hits":6,"total":3901,"months":13,"from":0,"to":0.22,"momentum":"flat"}},{"id":"agentic-coding","term":"Agentic Coding","aka":["AI Coding Agent","AI 結對程式設計","Claude Code","Cursor","Copilot"],"def":"讓 AI agent 自己讀專案、改多個檔案、執行測試並修正錯誤，工程師負責下指令、審查與把關。和 Vibe Coding 的差別是：工程師仍然看懂並對每一行負責。","ai":true,"skills":["ai-coding"],"need":{"level":"must","text":"多數團隊已經在用，會用 AI 工具是基本功；關鍵能力變成拆解任務、寫清楚需求、審查 AI 寫的程式。"},"usage":{"level":"high","text":"越來越多公司在職缺與面試中直接問你怎麼用 AI 寫程式。"},"stats":{"pct":5.46,"hits":213,"total":3901,"months":13,"from":3.34,"to":7.53,"momentum":"up"}},{"id":"evals","term":"Evals 評測驅動開發","aka":["Evals","Eval-Driven Development","LLM 評測","Evaluation"],"def":"替 AI 功能準備一組測試題與評分方式（人工、規則，或讓另一個模型評分），每次改 prompt、換模型都跑一次，確認品質沒有退步。可以想成 AI 版的自動化測試：AI 每次的輸出都可能不同，所以不能只靠傳統測試。","ai":true,"skills":["llm","mlops"],"path":"ai","need":{"level":"must","text":"走 AI 應用方向就是必學：沒有評測，就無法證明 AI 功能是變好了還是變壞了。"},"usage":{"level":"mid","text":"AI 團隊的標準做法；一般軟體團隊還很少接觸。"},"stats":{"pct":2.64,"hits":103,"total":3901,"months":13,"from":1.32,"to":4.04,"momentum":"up"}},{"id":"context-engineering","term":"Context Engineering","aka":["上下文工程","情境工程"],"def":"2025 年起取代「Prompt Engineering」的說法：重點從「怎麼問」變成「給模型哪些資料、工具、記憶與範例」，讓它有足夠的背景把事情做對。","ai":true,"skills":["prompt-engineering","rag"],"need":{"level":"good","text":"走 AI 應用方向值得學；一般工程師用 AI 工具時，懂得給足背景（專案說明、規格、範例）也會大幅提升效果。"},"usage":{"level":"mid","text":"在 AI 團隊已是日常工作的一部分，但多半不會單獨寫在職缺上。"},"stats":{"pct":0.21,"hits":8,"total":3901,"months":13,"from":0.07,"to":0.22,"momentum":"flat"}},{"id":"pair-programming","term":"結對程式設計","aka":["Pair Programming","Pairing","Mob Programming"],"def":"兩個人一起寫同一段程式：一人打字、一人看方向與找問題，定時交換。現在也常指和 AI 一起寫程式。","need":{"level":"aware","text":"知道是什麼就好；有些公司的技術面試就是「和面試官結對寫程式」，可以先練習邊寫邊說出想法。"},"usage":{"level":"mid","text":"部分新創與外商常用，也常出現在面試流程；台灣傳統企業較少。"},"stats":{"pct":0.28,"hits":11,"total":3901,"months":13,"from":0.21,"to":0.44,"momentum":"flat"}}]},{"id":"slang","name":"工程師口語","intro":"台灣工程師日常對話裡的說法，第一次聽到可能一頭霧水。","terms":[{"id":"slicing","term":"切版","aka":["切圖","刻畫面","刻版"],"def":"把設計師的設計稿做成網頁的 HTML 與 CSS。「刻」是指一點一點手寫出畫面。","skills":["html","css"]},{"id":"integration","term":"串接","aka":["串","對接","串金流"],"def":"把兩個系統接起來，例如「串金流」是把網站接上付款服務。","skills":["rest"]},{"id":"query-data","term":"撈資料","aka":["撈 log","下 SQL"],"def":"從資料庫或紀錄檔裡查出需要的資料。","skills":["sql"]},{"id":"log","term":"Log","aka":["日誌","紀錄檔","看 log"],"def":"程式執行時留下的紀錄。出問題時第一件事通常就是「看 log」。","skills":["observability"]},{"id":"down","term":"掛了／爆了","aka":["掛掉","當機","炸了","Down"],"def":"服務壞掉、使用者連不上。「流量爆了」是指一下湧入太多人，系統撐不住。"},{"id":"load-test","term":"壓測","aka":["壓力測試","Load Test"],"def":"模擬大量使用者同時使用，看系統能撐多少人、哪裡會先出問題。搶票、大型促銷之前一定會做。"},{"id":"pitfall","term":"踩坑","aka":["踩雷","坑"],"def":"遇到難處理、事先沒想到的問題。「這個套件很多坑」意思是用起來問題很多。"},{"id":"reinvent","term":"造輪子","aka":["重造輪子"],"def":"自己重寫一個已經有人做好的東西。工作上通常不鼓勵，但學習時自己造一次，反而能理解原理。"},{"id":"spaghetti","term":"義大利麵程式碼","aka":["Spaghetti code","屎山"],"def":"結構混亂、牽一髮動全身的程式碼。「屎山」是更直白的網路說法。"},{"id":"dont-touch","term":"能跑就不要動","aka":[],"def":"工程師的自嘲：舊程式雖然很亂，但一動可能就壞，所以沒人敢改。這也是技術債的來源之一。"},{"id":"env-setup","term":"建環境","aka":["裝環境","環境設定"],"def":"在電腦上安裝開發需要的工具與設定，讓專案能跑起來。新手最容易卡在這一步，卡住很正常，不要灰心。"},{"id":"demo","term":"Demo","aka":["展示"],"def":"把做好的功能展示給主管、客戶或團隊看。"},{"id":"requirement-change","term":"需求變更","aka":["改需求","加需求"],"def":"開發到一半需求改了。這是常態，所以敏捷開發才強調小步快跑。"},{"id":"copy-paste","term":"複製貼上工程師","aka":["CV 工程師","Stack Overflow 工程師"],"def":"自嘲只會從網路複製程式碼。查資料本身沒問題，重點是要懂自己貼了什麼，用 AI 產生的程式碼也一樣。","skills":["ai-coding"]},{"id":"manong","term":"碼農","aka":["攻城獅","工程獅"],"def":"工程師的自嘲稱呼，「攻城獅」是「工程師」的諧音。"}]}],"languages":{"uses":[{"id":"web-front","name":"網頁畫面","hint":"使用者在瀏覽器裡看到、點到的部分"},{"id":"web-back","name":"網站後端與 API","hint":"登入、訂單、金流這類在伺服器上跑的功能"},{"id":"mobile","name":"手機 App","hint":"iPhone 與 Android App"},{"id":"data-ai","name":"資料分析與 AI","hint":"報表、統計、機器學習與大型語言模型應用"},{"id":"enterprise","name":"企業與金融系統","hint":"銀行、保險、ERP 這類大型內部系統"},{"id":"systems","name":"系統與高效能","hint":"作業系統、資料庫、瀏覽器、雲端基礎設施"},{"id":"embedded","name":"嵌入式與韌體","hint":"跑在硬體裡的程式，台灣硬體業的大宗"},{"id":"game","name":"遊戲","hint":"遊戲引擎與遊戲邏輯"},{"id":"automation","name":"自動化與維運","hint":"腳本、排程、部署流程"},{"id":"desktop","name":"桌面應用","hint":"Windows、Mac 上安裝的應用程式"}],"difficulty":["","很容易入門","容易","中等","偏難","很難"],"list":[{"id":"python","since":1991,"difficulty":1,"why":"語法接近英文、不用宣告型別，也不用自己管理記憶體，是公認最適合第一次學的語言。要學好的難處在後面：龐大的套件生態與效能調校。","traits":"直譯執行、動態型別、自動管理記憶體","tagline":"最好入門的萬用語言，也是資料分析與 AI 的共通語言。","intro":"用很少的程式碼就能完成事情，從自動整理檔案、爬網頁，到資料分析、訓練 AI 模型、寫網站後端都做得到。大學程式課與各種線上課程最常拿它當第一個語言。","uses":["data-ai","web-back","automation"],"fits":["資料分析、報表自動化","AI 與機器學習：訓練模型、串接大型語言模型（LLM）做應用","網站後端與 API（Django、FastAPI）","網路爬蟲與日常自動化腳本","科學計算與學術研究"],"notFor":"手機 App、網頁畫面，以及需要極致速度的程式（遊戲引擎、高頻交易）。","examples":"Instagram 與 Dropbox 的後端、YouTube 早期的網站，以及絕大多數 AI 研究與模型訓練程式。","taiwan":"資料分析、AI、後端與自動化職缺都常見，製造業也常用它寫產線資料分析與自動化工具。","pros":["語法簡潔好讀，學習曲線最平緩","套件多到幾乎什麼都找得到現成的","AI 與資料領域的標準語言"],"cons":["執行速度比 Java、Go 慢不少","動態型別，大型專案要靠型別註記與測試維持品質","套件版本與虛擬環境管理一開始容易搞混"],"firstProject":"寫一個記帳小程式：輸入每天的花費，自動算出每月總額與各類別比例。","related":["django","fastapi","pandas","pytorch"],"path":"ai","code":"scores = [85, 42, 77, 90, 58]\npassed = [s for s in scores if s >= 60]\navg = sum(passed) / len(passed)\nprint(f\"及格 {len(passed)} 人，平均 {avg:.1f} 分\")"},{"id":"javascript","since":1995,"difficulty":2,"why":"寫第一行很容易，打開瀏覽器就能跑；但非同步、this、自動型別轉換等規則有不少陷阱，要寫得穩需要時間。","traits":"直譯執行（瀏覽器內建）、動態型別","tagline":"網頁的原生語言，做畫面一定要會。","intro":"每個瀏覽器都內建 JavaScript，網頁上的按鈕、表單、動畫都靠它。透過 Node.js 也能寫伺服器，所以一個語言就能做前端與後端。","uses":["web-front","web-back","desktop"],"fits":["網頁互動與畫面（搭配 React、Vue）","網站後端與 API（Node.js）","桌面應用（Electron）","瀏覽器擴充功能"],"notFor":"大量數值運算、AI 模型訓練與系統底層程式。","examples":"幾乎所有網站的互動功能；Discord、Slack 的桌面版用 Electron 做成。","taiwan":"前端職缺的基本要求，接案與新創的全端職缺也常見。","pros":["不用安裝任何東西，瀏覽器就能練習","前後端都能寫，生態系最龐大","學習資源與中文教學非常多"],"cons":["語言本身有不少歷史包袱與怪規則","工具與框架更新很快，容易學不完","大型專案通常會改用 TypeScript"],"firstProject":"做一個待辦清單網頁：可以新增、刪除、打勾，重新整理後資料還在。","related":["react","vue","nodejs","html","css"],"path":"frontend","code":"const scores = [85, 42, 77, 90, 58];\nconst passed = scores.filter((s) => s >= 60);\nconst avg = passed.reduce((a, b) => a + b, 0) / passed.length;\nconsole.log(\"及格 \" + passed.length + \" 人，平均 \" + avg.toFixed(1) + \" 分\");"},{"id":"typescript","since":2012,"difficulty":3,"why":"要先會 JavaScript，再學型別系統。基本的型別標註不難，泛型與進階型別則要花時間。","traits":"編譯成 JavaScript 執行、靜態型別","tagline":"加上型別的 JavaScript，中大型專案的預設選擇。","intro":"微軟開發，在 JavaScript 上加了「型別」：先說好每個變數裝的是什麼，打錯字或傳錯資料在執行前就會被編輯器抓出來。最後會轉成一般的 JavaScript 執行。","uses":["web-front","web-back"],"fits":["中大型前端專案（React、Angular、Vue）","Node.js 後端與 API（NestJS）","多人協作、需要長期維護的網頁系統"],"notFor":"只寫幾十行的小腳本（直接用 JavaScript 比較快）。","examples":"VS Code 編輯器、Angular 框架本身；新的 React、Next.js 專案大多預設使用它。","taiwan":"中大型前端與 Node.js 團隊多半已改用它，職缺常寫「熟悉 TypeScript 尤佳」。","pros":["錯誤在寫程式時就被發現，重構更安心","編輯器的自動完成更準確","和 JavaScript 完全相容，可以逐步導入"],"cons":["多了編譯步驟與設定","進階型別寫起來很燒腦","型別寫錯也會拖慢開發"],"firstProject":"把 JavaScript 寫的待辦清單改成 TypeScript，替每筆資料定義型別。","related":["react","angular","nextjs","nestjs","nodejs"],"path":"frontend","code":"const scores: number[] = [85, 42, 77, 90, 58];\nconst passed: number[] = scores.filter((s) => s >= 60);\nconst avg: number = passed.reduce((a, b) => a + b, 0) / passed.length;\nconsole.log(\"及格 \" + passed.length + \" 人，平均 \" + avg.toFixed(1) + \" 分\");\n// 如果把文字放進 scores，存檔時編輯器就會畫紅線"},{"id":"java","since":1995,"difficulty":3,"why":"語法比 Python 囉嗦，一開始就要接觸類別、物件等觀念；但規則一致、錯誤訊息清楚，工具也成熟。","traits":"編譯成位元組碼、在 JVM 上執行、靜態型別、自動管理記憶體","tagline":"企業與金融系統的長青語言，穩定、工作機會多。","intro":"「寫一次，到處都能跑」：程式在 Java 虛擬機（JVM）上執行，不挑作業系統。三十年來大量用在銀行、電信、電商這類大型、要穩定運作很多年的系統。","uses":["enterprise","web-back","mobile"],"fits":["銀行、保險、證券的核心與周邊系統","大型電商、電信的後端服務（Spring Boot）","政府與企業的內部系統","大數據工具（Hadoop、Kafka、Elasticsearch 都跑在 JVM 上）","Android App（舊專案為主，新專案多用 Kotlin）"],"notFor":"小型腳本、資料分析與網頁畫面。","examples":"Minecraft Java 版、Elasticsearch、許多銀行的網路銀行與核心系統。","taiwan":"金融業、電信、大型企業與系統整合商（SI）的主力語言，搭配 Spring Boot 的職缺很多。","pros":["工作機會多，尤其是大公司與金融業","效能好、生態系成熟、向下相容","觀念嚴謹，學會之後轉其他語言很快"],"cons":["程式碼比較冗長","框架（Spring）的設定與觀念多，入門門檻較高","新創公司較少選用"],"firstProject":"寫一個圖書借閱系統的 REST API：可以查書、借書、還書，資料存在資料庫。","related":["spring","sql","kafka","android"],"path":"backend","code":"import java.util.List;\n\npublic class Main {\n    public static void main(String[] args) {\n        List<Integer> scores = List.of(85, 42, 77, 90, 58);\n        List<Integer> passed = scores.stream().filter(s -> s >= 60).toList();\n        double avg = passed.stream().mapToInt(Integer::intValue).average().orElse(0);\n        System.out.printf(\"及格 %d 人，平均 %.1f 分%n\", passed.size(), avg);\n    }\n}"},{"id":"csharp","since":2000,"difficulty":3,"why":"和 Java 很像，要先理解物件導向；Visual Studio 等工具很友善，降低了不少入門門檻。","traits":"編譯後在 .NET 上執行、靜態型別、自動管理記憶體","tagline":"微軟生態的主力語言，企業系統與 Unity 遊戲都用它。","intro":"微軟設計的語言，用在 .NET 平台：網站後端、Windows 桌面程式、企業內部系統，也是 Unity 遊戲引擎的開發語言。現在的 .NET 已經能跨平台，在 Linux 上執行。","uses":["enterprise","web-back","game","desktop"],"fits":["企業內部系統、ERP 與製造業的 MES","網站後端與 API（ASP.NET Core）","Unity 遊戲（手機遊戲、VR）","Windows 桌面應用程式"],"notFor":"資料科學與 AI 研究（工具不如 Python 多）。","examples":"Stack Overflow 網站、大量用 Unity 做的手機遊戲。","taiwan":"製造業、傳產與企業資訊部門常用 .NET 開發內部系統；遊戲公司的 Unity 職缺也要求 C#。","pros":["語言設計現代、功能完整","Visual Studio 等開發工具非常好用","同一個語言能做後端、桌面與遊戲"],"cons":["和微軟生態綁得較緊","新創公司比較少用","舊系統常停在舊版 .NET Framework，維護成本高"],"firstProject":"用 ASP.NET Core 做一個公司內部的請假系統：員工送出申請、主管審核。","related":["dotnet","sqlserver","gamedev"],"path":"backend","code":"var scores = new[] { 85, 42, 77, 90, 58 };\nvar passed = scores.Where(s => s >= 60).ToList();\nConsole.WriteLine($\"及格 {passed.Count} 人，平均 {passed.Average():F1} 分\");"},{"id":"c","since":1972,"difficulty":4,"why":"語法不多，但記憶體要自己配置與釋放，還要理解指標（直接操作記憶體位址）。一不小心程式就會當掉或出現安全漏洞。","traits":"編譯成機器碼、靜態型別、手動管理記憶體","tagline":"作業系統與韌體的基礎語言，學它就懂電腦怎麼運作。","intro":"五十多年前誕生，到現在仍是作業系統、驅動程式與各種硬體韌體的主要語言。它很接近硬體，執行快、佔用資源少，但很多保護機制要靠工程師自己做。","uses":["embedded","systems"],"fits":["韌體與嵌入式系統：網通設備、主機板、家電、車用電子","作業系統核心與驅動程式","對速度與記憶體極度要求的程式","理解電腦原理的學習用途（資工系必修）"],"notFor":"網站、App 與一般商業系統（開發速度太慢、容易出錯）。","examples":"Linux 核心、Git、SQLite、Redis，以及 Python 的官方直譯器（CPython）。","taiwan":"台灣硬體與半導體產業的核心語言：韌體工程師、嵌入式工程師、IC 設計公司的職缺大量要求。","pros":["執行速度快、資源佔用極少","幾乎所有硬體平台都支援","學會之後對記憶體與效能的理解會大幅提升"],"cons":["記憶體錯誤很難除錯，也容易造成資安漏洞","沒有現代語言的便利功能","開發速度慢"],"firstProject":"在 Arduino 或樹莓派 Pico 上寫程式，讓 LED 依照按鈕或溫度感測器的數值變化。","related":["embedded","linux","cpp"],"code":"#include <stdio.h>\n\nint main(void) {\n    int scores[] = {85, 42, 77, 90, 58};\n    int n = sizeof(scores) / sizeof(scores[0]);\n    int count = 0, sum = 0;\n    for (int i = 0; i < n; i++) {\n        if (scores[i] >= 60) { count++; sum += scores[i]; }\n    }\n    printf(\"及格 %d 人，平均 %.1f 分\\n\", count, (double)sum / count);\n    return 0;\n}"},{"id":"cpp","since":1985,"difficulty":5,"why":"在 C 的基礎上加了大量功能（物件導向、樣板、各種新標準），規則多又有歷史包袱，記憶體管理和編譯錯誤訊息都很難懂，公認最難精通的語言之一。","traits":"編譯成機器碼、靜態型別、手動管理記憶體（有智慧指標輔助）","tagline":"效能優先的系統語言：遊戲引擎、瀏覽器、AI 推論引擎都靠它。","intro":"從 C 延伸出來，保留了接近硬體的速度，又加入物件導向等功能，適合寫很大又要求極高效能的軟體。","uses":["systems","game","embedded","desktop"],"fits":["遊戲引擎與 3A 遊戲","瀏覽器、資料庫等大型基礎軟體","高頻交易系統","AI 框架與推論引擎的底層","半導體設備控制、影像處理、自駕車"],"notFor":"一般網站、App 與小型商業系統。","examples":"Chrome 瀏覽器、Unreal Engine、MySQL、PyTorch 與 TensorFlow 的核心。","taiwan":"半導體、設備商、IC 設計（EDA 工具）、影像處理與遊戲引擎相關職缺常要求。","pros":["速度頂尖，可以精準控制記憶體與硬體","能寫非常大型、複雜的系統","學會之後幾乎沒有看不懂的語言"],"cons":["學習曲線非常陡","容易寫出記憶體錯誤與安全漏洞","編譯時間長、錯誤訊息難懂"],"firstProject":"用 C++ 寫一個終端機版的貪食蛇，練習類別、陣列與遊戲迴圈。","related":["gamedev","inference","embedded","c"],"code":"#include <iostream>\n#include <numeric>\n#include <vector>\n\nint main() {\n    std::vector<int> scores{85, 42, 77, 90, 58};\n    std::vector<int> passed;\n    for (int s : scores) if (s >= 60) passed.push_back(s);\n    double avg = std::accumulate(passed.begin(), passed.end(), 0.0) / passed.size();\n    std::cout << \"及格 \" << passed.size() << \" 人，平均 \" << avg << \" 分\\n\";\n}"},{"id":"go","since":2009,"difficulty":2,"why":"Google 刻意把語言設計得很小，關鍵字少、寫法統一，幾天就能讀懂別人的程式。要花時間的是併發（同時處理很多工作）的觀念。","traits":"編譯成單一執行檔、靜態型別、自動管理記憶體","tagline":"簡單又快的後端語言，雲端基礎設施的實作語言。","intro":"Google 為了解決大型後端系統的問題而設計：編譯快、執行快、部署只要一個檔案，內建好用的併發功能，很適合寫要同時處理大量連線的服務。","uses":["web-back","systems","automation"],"fits":["高流量的後端服務與 API","微服務","雲端與 DevOps 工具（容器、監控、命令列工具）","即時系統：聊天、直播、遊戲後端"],"notFor":"網頁畫面、資料分析與 AI 模型訓練。","examples":"Docker、Kubernetes、Terraform、Prometheus 都是用 Go 寫的。","taiwan":"網路服務、新創、遊戲後端與雲端基礎設施團隊常用。","pros":["語法少、好學好讀，團隊風格一致","效能好、部署簡單","併發處理是內建功能"],"cons":["語言功能刻意精簡，有些寫法比較囉嗦（例如錯誤處理）","資料科學與 GUI 的生態較弱","職缺多半要求已有後端經驗"],"firstProject":"寫一個短網址服務：輸入長網址、回傳短網址，並統計點擊次數。","related":["docker","kubernetes","microservices","grpc"],"path":"backend","code":"package main\n\nimport \"fmt\"\n\nfunc main() {\n    scores := []int{85, 42, 77, 90, 58}\n    count, sum := 0, 0\n    for _, s := range scores {\n        if s >= 60 {\n            count++\n            sum += s\n        }\n    }\n    fmt.Printf(\"及格 %d 人，平均 %.1f 分\\n\", count, float64(sum)/float64(count))\n}"},{"id":"rust","since":2015,"difficulty":5,"why":"為了在不用垃圾回收的情況下保證記憶體安全，設計了「所有權」與「借用檢查」規則，編譯器非常嚴格。很多人形容前幾週都在和編譯器吵架。","traits":"編譯成機器碼、靜態型別、靠所有權規則在編譯時保證記憶體安全","tagline":"和 C++ 一樣快，但由編譯器擋下記憶體錯誤的系統語言。","intro":"速度接近 C／C++，但許多記憶體與多執行緒的錯誤在編譯時就會被擋下來，不會在上線後才爆炸。越來越多基礎軟體用它重寫。","uses":["systems","web-back","embedded"],"fits":["作業系統、瀏覽器引擎等基礎軟體","高效能的網路服務與代理伺服器","命令列工具","區塊鏈","WebAssembly（在瀏覽器裡跑高效能程式）"],"notFor":"快速做原型、一般商業網站（開發速度不如 Go、Python）。","examples":"Linux 核心已接受 Rust 撰寫的模組；Cloudflare 的 Pingora 代理伺服器、搜尋工具 ripgrep、Python 套件管理工具 uv。","taiwan":"職缺還不多，集中在區塊鏈、基礎設施與外商；多半要求已有其他語言的經驗。","pros":["同時擁有速度與記憶體安全","編譯器的錯誤訊息清楚，會告訴你怎麼改","套件管理工具（Cargo）非常好用"],"cons":["學習曲線很陡，不適合當第一個語言","編譯時間較長","工作機會比 Go、Java 少"],"firstProject":"用 Rust 寫一個命令列工具：在資料夾裡搜尋包含特定文字的檔案。","related":["webassembly","web3","embedded"],"code":"fn main() {\n    let scores = vec![85, 42, 77, 90, 58];\n    let passed: Vec<i32> = scores.into_iter().filter(|&s| s >= 60).collect();\n    let avg = passed.iter().sum::<i32>() as f64 / passed.len() as f64;\n    println!(\"及格 {} 人，平均 {:.1} 分\", passed.len(), avg);\n}"},{"id":"kotlin","since":2011,"difficulty":3,"why":"語法比 Java 精簡、好寫，但要做出 App 還得學 Android 的整套架構與元件，難度主要在平台而不是語言本身。","traits":"在 JVM 上執行（也能編譯成原生程式）、靜態型別","tagline":"Android App 的官方首選語言。","intro":"JetBrains 公司開發，和 Java 完全相容但寫起來更簡潔、更安全（例如避免空值錯誤）。Google 在 2019 年宣布 Android 開發以 Kotlin 優先。","uses":["mobile","web-back"],"fits":["Android App","後端服務（Spring Boot 也支援 Kotlin）","跨平台 App 的共用邏輯（Kotlin Multiplatform）"],"notFor":"iPhone 介面（用 Swift）、資料分析與 AI。","examples":"新的 Android App 大多用 Kotlin 開發；Android 官方範例與文件也以 Kotlin 為主。","taiwan":"Android 工程師職缺的基本要求，也有少數後端團隊使用。","pros":["比 Java 簡潔，內建空值安全","可以直接使用所有 Java 套件","Android 官方支援最完整"],"cons":["Android 以外的工作機會較少","編譯速度比 Java 慢一些","要學 Android 平台本身的大量知識"],"firstProject":"用 Jetpack Compose 做一個習慣打卡 App，資料存在手機裡。","related":["android","kmp","spring"],"path":"mobile","code":"fun main() {\n    val scores = listOf(85, 42, 77, 90, 58)\n    val passed = scores.filter { it >= 60 }\n    val count = passed.size\n    val avg = \"%.1f\".format(passed.average())\n    println(\"及格 $count 人，平均 $avg 分\")\n}"},{"id":"swift","since":2014,"difficulty":3,"why":"語法現代、易讀，但要做 App 得同時學 Apple 的開發工具與介面框架，而且需要一台 Mac。","traits":"編譯成機器碼、靜態型別、自動管理記憶體（參照計數）","tagline":"iPhone、iPad、Mac App 的主要開發語言。","intro":"Apple 在 2014 年推出，用來取代老舊的 Objective-C。搭配 SwiftUI 介面框架，可以做出 iPhone、iPad、Apple Watch 與 Mac 的 App。","uses":["mobile","desktop"],"fits":["iPhone、iPad App","Mac 與 Apple Watch App","需要用到相機、健康資料等手機功能的 App"],"notFor":"Android App、網站後端（可以做但很少見）、資料分析。","examples":"App Store 上大多數新的 App；Apple 自家 App 也大量使用。","taiwan":"iOS 工程師職缺的基本要求，常見於電商、金融與媒體公司的 App 團隊。","pros":["語法清楚、安全","Apple 官方工具與文件完整","iPhone 使用者消費力高，App 商機好"],"cons":["幾乎只能用在 Apple 平台","一定要有 Mac 才能開發與上架","每年隨 iOS 改版，要持續跟上"],"firstProject":"用 SwiftUI 做一個天氣 App：串接公開的天氣 API，顯示目前位置的天氣。","related":["swiftui","ios"],"path":"mobile","code":"import Foundation\n\nlet scores = [85, 42, 77, 90, 58]\nlet passed = scores.filter { $0 >= 60 }\nlet avg = Double(passed.reduce(0, +)) / Double(passed.count)\nprint(\"及格 \\(passed.count) 人，平均 \\(String(format: \"%.1f\", avg)) 分\")"},{"id":"php","since":1995,"difficulty":2,"why":"入門非常快，租一個主機就能讓網頁跑起來；但網路上舊寫法與新寫法混雜，要分辨好壞需要經驗。","traits":"直譯執行、動態型別（可加型別宣告）","tagline":"撐起大量網站的後端語言，WordPress 與 Laravel 都用它。","intro":"專為網站而生，很多架站工具與購物網站系統都用 PHP 寫成。現代的 PHP 8 加上 Laravel 框架，已經和當年的「義大利麵程式碼」很不一樣。","uses":["web-back"],"fits":["形象網站、部落格與內容管理系統（WordPress）","電商網站與購物車","中小企業的網站後台","接案專案"],"notFor":"手機 App、資料分析、需要長時間連線的即時系統。","examples":"WordPress（全球約四成網站使用）、維基百科的 MediaWiki；Facebook 早期也是用 PHP 寫的。","taiwan":"中小型網站、接案公司、電商與 WordPress 網站維護的職缺常見。","pros":["架設與部署非常容易，主機便宜","中文資源與接案機會多","Laravel 框架開發效率很高"],"cons":["網路上的舊教學寫法多，容易學到不好的習慣","新創與大型新系統較少選用","品牌形象常被低估"],"firstProject":"用 Laravel 做一個留言板：會員註冊、登入、發文與管理員刪文。","related":["laravel","mysql"],"path":"backend","code":"<?php\n$scores = [85, 42, 77, 90, 58];\n$passed = array_filter($scores, fn($s) => $s >= 60);\n$avg = array_sum($passed) / count($passed);\nprintf(\"及格 %d 人，平均 %.1f 分\\n\", count($passed), $avg);"},{"id":"ruby","since":1995,"difficulty":2,"why":"語法讀起來像英文句子，很好上手；但框架（Rails）有很多「約定好的魔法」，不知道背後在做什麼時很難除錯。","traits":"直譯執行、動態型別","tagline":"重視開發者開心程度的語言，Rails 讓新創能很快做出產品。","intro":"日本工程師松本行弘設計，目標是讓寫程式變得愉快。Ruby on Rails 框架讓一個小團隊能在很短時間內做出完整的網站，許多知名新創都從它起家。","uses":["web-back","automation"],"fits":["新創的網站與 SaaS 產品","快速做出可上線的原型（MVP）","內部管理後台"],"notFor":"手機 App、高效能運算、資料分析與 AI。","examples":"GitHub、Shopify 用 Rails 打造；Airbnb 早期也是 Rails。","taiwan":"職缺不多，集中在部分新創與台灣 Ruby 社群活躍的公司。","pros":["語法優雅、寫起來很快","Rails 的開發效率極高","社群重視測試與程式品質"],"cons":["台灣職缺少","執行速度不快","框架的「魔法」多，新手難理解背後發生什麼事"],"firstProject":"用 Rails 做一個讀書會報名網站：活動列表、報名、名額上限。","related":["rails","postgresql"],"path":"backend","code":"scores = [85, 42, 77, 90, 58]\npassed = scores.select { |s| s >= 60 }\navg = passed.sum.to_f / passed.size\nputs \"及格 #{passed.size} 人，平均 #{avg.round(1)} 分\""},{"id":"dart","since":2011,"difficulty":2,"why":"語法和 Java、JavaScript 很像，會其中一個就能很快上手；真正要學的是 Flutter 框架。","traits":"可編譯成原生程式或 JavaScript、靜態型別","tagline":"Flutter 的語言：一套程式碼同時做 iOS 與 Android App。","intro":"Google 開發的語言，現在幾乎都是為了 Flutter 而學。用 Flutter 寫一次，就能同時上架 iPhone 與 Android，也能做網頁與桌面版。","uses":["mobile","desktop","web-front"],"fits":["同時上架 iOS 與 Android 的 App","新創與接案的 App 專案","需要漂亮客製化介面的 App"],"notFor":"網站後端（可以但很少見）、資料分析、系統程式。","examples":"Google Pay、My BMW 等 App 用 Flutter 打造。","taiwan":"接案公司與新創的 App 職缺常見 Flutter；大型公司多半仍分 iOS、Android 兩組原生團隊。","pros":["一套程式碼兩個平台，省人力","熱重載：改完程式立刻看到畫面","語言本身好學"],"cons":["離開 Flutter 幾乎用不到","用到手機特殊功能時仍需寫原生程式","App 檔案比原生大"],"firstProject":"用 Flutter 做一個記帳 App，同時在 Android 模擬器與 iPhone 模擬器上執行。","related":["flutter","firebase"],"path":"mobile","code":"void main() {\n  final scores = [85, 42, 77, 90, 58];\n  final passed = scores.where((s) => s >= 60).toList();\n  final count = passed.length;\n  final avg = (passed.reduce((a, b) => a + b) / count).toStringAsFixed(1);\n  print('及格 $count 人，平均 $avg 分');\n}"},{"id":"sql","since":1974,"difficulty":1,"why":"基本的查詢（SELECT、WHERE、JOIN）幾天就能學會；難的是資料表設計與查詢效能調校。","traits":"宣告式查詢語言：描述「要什麼資料」，由資料庫決定怎麼找","tagline":"和資料庫溝通的語言，幾乎每個工程與資料職缺都會用到。","intro":"不是用來寫應用程式，而是用來向資料庫查詢與修改資料。不論用哪個程式語言開發，只要碰到資料庫（MySQL、PostgreSQL、SQL Server、Oracle），幾乎都要寫 SQL。","uses":["data-ai","web-back","enterprise"],"fits":["查詢與整理資料庫裡的資料","商業報表與資料分析","後端系統的資料存取","資料倉儲與資料管線"],"notFor":"寫完整的應用程式（要搭配其他語言）。","examples":"所有關聯式資料庫都支援；銀行、電商、醫院系統每天執行大量 SQL。","taiwan":"後端、資料分析、MIS 與 DBA 職缺幾乎都會要求，非工程職的分析與營運人員也越來越常用。","pros":["入門非常快，投資報酬率最高的技能之一","幾十年來觀念幾乎不變，學了不會過時","工程師與非工程職都用得到"],"cons":["各家資料庫的語法有些微差異","寫出「能跑」的查詢容易，寫出「快」的查詢很難","只能處理資料，不能單獨做出應用"],"firstProject":"下載政府開放資料（例如各縣市人口），匯入 SQLite，用 SQL 回答三個你好奇的問題。","related":["postgresql","mysql","sqlserver","bi"],"path":"data","code":"-- 假設有一張 scores 資料表，欄位是 name、score\nSELECT COUNT(*)              AS passed_count,\n       ROUND(AVG(score), 1)  AS avg_score\nFROM scores\nWHERE score >= 60;"},{"id":"r","since":1993,"difficulty":2,"why":"做統計與畫圖很直覺，幾行就有結果；但當成一般程式語言來寫時，規則和其他語言差很多，有不少怪異之處。","traits":"直譯執行、動態型別、以向量運算為核心","tagline":"統計學家的語言，學術研究與生醫統計常用。","intro":"專為統計分析與資料視覺化設計，內建大量統計方法，畫出的圖表品質很高。學術界、生醫與公共衛生領域的研究常用 R。","uses":["data-ai"],"fits":["統計分析與學術研究","生物統計、臨床試驗資料分析","高品質的統計圖表（ggplot2）","互動式分析儀表板（Shiny）"],"notFor":"網站、App 與一般軟體開發；業界的機器學習與 AI 多半改用 Python。","examples":"ggplot2 圖表套件、大量學術論文與藥廠的統計分析。","taiwan":"研究機構、醫院、生醫與市場研究的分析職缺會用到，一般軟體職缺很少要求。","pros":["統計方法最齊全","畫圖又快又漂亮","RStudio 開發環境對分析很友善"],"cons":["離開統計領域用途有限","業界職缺多被 Python 取代","大資料量時效能較差"],"firstProject":"用 R 分析一份公開的問卷資料，畫出三張圖表並做一個簡單的統計檢定。","related":["bi","machine-learning"],"code":"scores <- c(85, 42, 77, 90, 58)\npassed <- scores[scores >= 60]\ncat(\"及格\", length(passed), \"人，平均\", round(mean(passed), 1), \"分\\n\")"},{"id":"scala","since":2004,"difficulty":4,"why":"同時有物件導向與函數式兩種風格，型別系統很強大也很複雜；同一件事有很多種寫法，團隊風格不易統一。","traits":"在 JVM 上執行、靜態型別、函數式與物件導向混合","tagline":"大數據處理的語言，Apache Spark 就是用它寫的。","intro":"跑在 Java 虛擬機上，可以使用所有 Java 套件，但寫法更精簡、更偏向函數式。在大數據與串流處理領域有一席之地。","uses":["data-ai","web-back"],"fits":["大數據處理（Spark）","串流資料處理","需要高併發的後端服務"],"notFor":"入門學習、網頁畫面、手機 App。","examples":"Apache Spark 與 Kafka 最早都是用 Scala 寫的；Twitter（現 X）早期大量使用。","taiwan":"職缺很少，主要在大數據團隊；多數資料團隊改用 Python（PySpark）。","pros":["表達能力強，程式碼精簡","可以使用整個 Java 生態","型別系統能擋下很多錯誤"],"cons":["學習曲線陡","編譯慢","職缺少，且多數資料工作改用 Python"],"firstProject":"用 Spark（Scala API）計算一份大型日誌檔裡，每小時的錯誤次數。","related":["spark","kafka","java"],"path":"data","code":"@main def run(): Unit =\n  val scores = List(85, 42, 77, 90, 58)\n  val passed = scores.filter(_ >= 60)\n  val count = passed.size\n  val avg = passed.sum.toDouble / count\n  println(f\"及格 $count 人，平均 $avg%.1f 分\")"},{"id":"bash","since":1989,"difficulty":2,"why":"單行指令很好學，每天用就會；但寫成較長的腳本時，引號、空白與錯誤處理的規則很容易出錯。","traits":"命令列直譯、幾乎沒有型別（全部當文字處理）","tagline":"命令列的語言，把重複的電腦工作自動化。","intro":"Linux 與 Mac 終端機裡的預設語言。把平常打的指令寫成腳本，就能自動備份、部署程式、整理檔案。Windows 上對應的是 PowerShell。","uses":["automation"],"fits":["伺服器維運與排程工作（備份、清理紀錄檔）","CI/CD 部署流程裡的指令","把多個命令列工具串起來","開發環境的安裝腳本"],"notFor":"超過幾百行的程式邏輯（改用 Python 比較好維護）、任何有畫面的應用。","examples":"幾乎所有 Linux 伺服器、Docker 映像檔的建置指令與 CI/CD 流程都會用到。","taiwan":"MIS、DevOps、後端維運職缺常要求「熟悉 Linux 與 Shell Script」。","pros":["每台 Linux 與 Mac 都內建","串接各種命令列工具最方便","學一點就能大幅節省時間"],"cons":["語法陷阱多（空白、引號）","不適合寫複雜邏輯","只能做整數運算"],"firstProject":"寫一個腳本：每天自動把指定資料夾壓縮備份，並刪除七天前的舊備份。","related":["linux","cicd","docker"],"path":"devops","code":"count=0; sum=0\nfor s in 85 42 77 90 58; do\n  if (( s >= 60 )); then\n    count=$((count + 1)); sum=$((sum + s))\n  fi\ndone\necho \"及格 $count 人，平均 $((sum / count)) 分（Bash 只能算整數）\""},{"id":"elixir","since":2012,"difficulty":4,"why":"函數式寫法、資料不可變，以及「大量輕量程序互相傳訊息」的併發模型，和多數語言的思考方式很不一樣。","traits":"在 Erlang 虛擬機（BEAM）上執行、動態型別、函數式","tagline":"擅長「同時服務大量使用者、而且不能停」的即時系統。","intro":"建立在 Erlang 的虛擬機上；Erlang 原本是電信公司為了讓電話交換機不停機而設計的。Elixir 讓這套技術更好寫，常用在聊天、通訊與即時系統。","uses":["web-back","systems"],"fits":["即時聊天與通訊系統","需要極高可用性的服務","大量同時連線的後端（Phoenix 框架）"],"notFor":"入門學習、資料分析、手機 App。","examples":"Discord 的即時訊息基礎設施用 Elixir；WhatsApp 的後端以 Erlang 打造。","taiwan":"台灣幾乎沒有職缺，適合想拓展思維的人當第二、第三個語言。","pros":["處理大量同時連線的能力很強","單一元件出錯不會拖垮整個系統","Phoenix 框架開發效率高"],"cons":["職缺很少","函數式思考需要重新適應","生態系比主流語言小"],"firstProject":"用 Phoenix LiveView 做一個多人即時投票頁面。","related":["websocket","distributed-systems"],"code":"scores = [85, 42, 77, 90, 58]\npassed = Enum.filter(scores, fn s -> s >= 60 end)\navg = Enum.sum(passed) / length(passed)\nIO.puts(\"及格 #{length(passed)} 人，平均 #{Float.round(avg, 1)} 分\")"},{"id":"zig","since":2016,"difficulty":4,"why":"和 C 一樣要手動管理記憶體，語言還在 1.0 之前、每個版本都可能改語法，文件與教學也少。","traits":"編譯成機器碼、靜態型別、手動管理記憶體","tagline":"想成為「現代版 C」的新興系統語言。","intro":"目標是比 C 更安全、更好除錯，同時保持簡單、沒有隱藏的行為。它也能直接編譯 C 程式，常被拿來當跨平台的 C 編譯工具。","uses":["systems","embedded"],"fits":["高效能的系統工具","取代部分 C 程式","遊戲與嵌入式的實驗性專案"],"notFor":"入門學習與一般商業開發；正式產品要考慮語言仍在變動。","examples":"JavaScript 執行環境 Bun、金融資料庫 TigerBeetle、終端機程式 Ghostty。","taiwan":"幾乎沒有職缺，適合對系統程式有興趣、想追新技術的人。","pros":["語言規則簡單、行為可預測","編譯期執行功能強大","能直接和 C 程式互通"],"cons":["尚未發布 1.0，語法還會變","教學資源少","職缺極少"],"firstProject":"用 Zig 重寫一個你用 C 寫過的小工具，比較兩者的差異。","related":["c","compilers"],"code":"const std = @import(\"std\");\n\npub fn main() void {\n    const scores = [_]i32{ 85, 42, 77, 90, 58 };\n    var count: i32 = 0;\n    var sum: i32 = 0;\n    for (scores) |s| {\n        if (s >= 60) {\n            count += 1;\n            sum += s;\n        }\n    }\n    const avg = @as(f64, @floatFromInt(sum)) / @as(f64, @floatFromInt(count));\n    std.debug.print(\"及格 {d} 人，平均 {d:.1} 分\\n\", .{ count, avg });\n}"},{"id":"haskell","since":1990,"difficulty":5,"why":"純函數式語言：沒有迴圈與可變變數，要用遞迴、型別與單子（monad）等抽象觀念思考，和其他語言的差異最大。","traits":"編譯執行、靜態型別、純函數式、惰性求值","tagline":"學了會改變你寫程式方式的純函數式語言。","intro":"學術界發展出來的語言，所有函式都沒有副作用、型別系統非常強大。實際工作用得少，但學過的人寫其他語言時，通常更懂得把程式寫得簡單、好測試。","uses":["systems"],"fits":["編譯器與程式語言研究","金融與需要高度正確性的系統","拓展程式設計思維"],"notFor":"入門學習、大部分的業界工作。","examples":"文件轉檔工具 Pandoc；Meta 用來過濾垃圾訊息的 Sigma 系統。","taiwan":"幾乎沒有職缺，多是個人興趣或研究用途。","pros":["型別系統極強，能在編譯時擋下大量錯誤","學到的觀念能用在任何語言","程式碼精簡、容易推理"],"cons":["學習曲線最陡的語言之一","職缺極少","抽象觀念多，除錯與效能分析不直覺"],"firstProject":"跟著《Learn You a Haskell》做完前幾章，再用 Haskell 解 10 題 Advent of Code。","related":["compilers"],"code":"import Text.Printf (printf)\n\nmain :: IO ()\nmain = do\n  let scores = [85, 42, 77, 90, 58] :: [Double]\n      passed = filter (>= 60) scores\n  printf \"及格 %d 人，平均 %.1f 分\\n\" (length passed) (sum passed / fromIntegral (length passed))"}]},"concepts":[{"id":"ds","name":"資料結構","intro":"資料要怎麼擺，才能又快又好找。選對資料結構，程式常常就快上好幾倍；技術面試也一定會考。","order":"陣列 → 雜湊表 → 堆疊與佇列 → 鏈結串列 → 樹 → 圖 → 堆積 → 字典樹","skills":["dsa"],"resources":[{"title":"Hello 演算法：圖解資料結構與演算法（繁體中文）","url":"https://www.hello-algo.com/zh-hant/"},{"title":"VisuAlgo：用動畫看資料結構怎麼運作","url":"https://visualgo.net/"}],"concepts":[{"id":"array","name":"陣列","aka":["Array","List","串列","動態陣列"],"def":"把資料一個接一個排在連續的位置上，每一格都有編號（索引，從 0 開始）。Python 的 list、JavaScript 的 Array 都是它。","analogy":"一排編了號的置物櫃：知道號碼就能直接打開那一格；但要在中間插進一格，後面的櫃子全部都得往後挪。","when":"資料有順序、常常「用位置拿資料」或從頭到尾走一遍時，例如商品列表、每天的氣溫。最常用的資料結構，沒有之一。","complexity":"用索引讀取 O(1)；加在尾端平均 O(1)；在中間插入或刪除 O(n)；搜尋特定的值 O(n)","code":{"lang":"Python","src":"fruits = [\"蘋果\", \"香蕉\", \"芭樂\"]\nprint(fruits[0])          # 蘋果：用編號直接拿，很快\nfruits.append(\"芒果\")      # 加在最後面，很快\nfruits.insert(0, \"鳳梨\")   # 插在最前面：後面全部往後挪，資料多時很慢"},"level":"basic","interview":"high","related":["hash-table","big-o","two-pointers"]},{"id":"linked-list","name":"鏈結串列","aka":["Linked List","串列"],"def":"每筆資料（節點）除了內容，還記著「下一筆在哪裡」，靠這些連結串成一條鏈，資料不必放在連續的位置。","analogy":"尋寶遊戲：每張紙條寫著下一張藏在哪。要多加一站，只要改一張紙條；但想直接跳到第 5 站，就得從第 1 張開始一路找。","when":"需要在已知位置頻繁插入或刪除時。工作上很少自己實作，但它是理解佇列、LRU 快取的基礎，面試也常考（例如反轉鏈結串列）。","complexity":"在已知節點旁插入或刪除 O(1)；找第 k 個 O(n)","pitfall":"不要因為「插入比陣列快」就到處使用：電腦讀取連續的記憶體特別快，大多數情況下陣列反而比較快。","cases":[{"title":"反轉鏈結串列（LeetCode 206）","text":"最常見的入門面試題：一邊往後走，一邊把每個節點的「下一個」改成指向前一個。只要前一個、目前、下一個三個變數，O(n) 時間，不用額外的記憶體。"},{"title":"判斷有沒有繞成一圈（LeetCode 141）","text":"「龜兔賽跑」解法：慢指標一次走一步、快指標一次走兩步。串列如果繞成一圈，快的一定會從後面追上慢的；快的走到盡頭，就代表沒有圈。"},{"title":"LRU 快取（LeetCode 146）","text":"經典的設計題：用雜湊表直接找到資料，再用雙向鏈結串列記住使用的先後，用到的移到最前面、滿了就刪最後面，查詢與更新都是 O(1)。也是理解快取淘汰策略的好起點。"}],"level":"basic","interview":"high","related":["array","queue"]},{"id":"stack","name":"堆疊","aka":["Stack","LIFO","後進先出","Call Stack"],"def":"只能從同一端放入與取出：最後放進去的最先拿出來（後進先出）。","analogy":"一疊盤子：新洗好的疊在最上面，要用的時候也從最上面拿。","when":"瀏覽器的「上一頁」、編輯器的復原（Ctrl+Z）、檢查括號有沒有成對、程式執行時的函式呼叫。錯誤訊息裡的 stack trace，就是當下函式呼叫堆疊的內容。","complexity":"放入（push）、取出（pop）、查看最上面（peek）都是 O(1)","code":{"lang":"Python","src":"history = []\nhistory.append(\"首頁\")      # 放入\nhistory.append(\"商品頁\")\nhistory.append(\"結帳頁\")\nprint(history.pop())       # 結帳頁：最後放進去的最先拿出來\nprint(history[-1])         # 商品頁：按「上一頁」回到這裡"},"level":"basic","interview":"high","related":["queue","recursion","bfs-dfs"]},{"id":"queue","name":"佇列","aka":["Queue","FIFO","先進先出","Deque"],"def":"從一端放入、從另一端取出：先來的先處理（先進先出）。","analogy":"排隊買手搖飲：先排的先買到，新來的排到最後面。","when":"印表機排程、客服排隊、背景工作（寄信、轉檔）的待辦清單。系統之間的「訊息佇列」是同一個觀念放大到整個系統；廣度優先搜尋（BFS）也靠它。","complexity":"放入與取出 O(1)（要用對實作：Python 用 collections.deque；用 list.pop(0) 會變成 O(n)）","code":{"lang":"Python","src":"from collections import deque\n\nline = deque()\nline.append(\"小明\")      # 排進隊伍最後面\nline.append(\"小華\")\nprint(line.popleft())    # 小明：先來的先服務"},"level":"basic","interview":"high","related":["stack","bfs-dfs","event-driven","mq-basics"]},{"id":"hash-table","name":"雜湊表","aka":["Hash Table","Hash Map","Dictionary","字典","Map","HashMap"],"def":"用「鍵」直接找到「值」：把鍵丟進雜湊函式算出存放位置，所以不論有多少資料，查詢幾乎一樣快。Python 的 dict、JavaScript 的 Map 與物件都是它。","analogy":"如果圖書館有一個公式，輸入書名就能算出在第幾排第幾格，就不用一排一排找。","when":"用帳號找會員資料、計算每個字出現幾次、檢查有沒有重複、快取。實務上和陣列並列最常用；很多面試題的最佳解就是「多用一個雜湊表」。","complexity":"查詢、新增、刪除平均 O(1)；最差（大量碰撞）O(n)","pitfall":"雜湊表不會依大小排序。需要「排好序」或「找某個範圍內的值」時，改用排序過的陣列或樹。","code":{"lang":"Python","src":"stock = {\"珍奶\": 12, \"紅茶\": 30}\nstock[\"綠茶\"] = 8          # 新增\nprint(stock[\"珍奶\"])        # 12：直接用名稱查，不用從頭找\nprint(\"咖啡\" in stock)      # False：檢查有沒有也很快"},"cases":[{"title":"兩數之和（LeetCode 1）","text":"LeetCode 的第 1 題：在陣列裡找兩個加起來等於目標的數。兩層迴圈是 O(n²)；一邊走一邊把看過的數字存進雜湊表，查「目標減掉自己」出現過沒有，就降到 O(n)。"},{"title":"雜湊洪水攻擊（2011）","text":"研究者在 2011 年底公開示範：故意送出大量雜湊值相同的參數，讓 PHP、Java、Python 等語言的雜湊表全擠進同一格，查詢從 O(1) 退化成 O(n)，少量請求就能把伺服器的 CPU 吃滿。之後各語言陸續替雜湊函式加上隨機性，例如 Python 3.3 起預設開啟。"}],"level":"basic","interview":"high","related":["array","caching","consistent-hashing","password-hashing"]},{"id":"tree","name":"樹與二元搜尋樹","aka":["Tree","Binary Tree","BST","二元樹","B-Tree"],"def":"有上下層級關係的結構：最上面一個根節點，每個節點底下可以有幾個子節點。二元搜尋樹規定「左邊都比自己小、右邊都比自己大」，找資料時每走一步就能排除一半。","analogy":"公司組織圖或家族族譜。二元搜尋樹則像猜數字遊戲，每次都問「比這個大還是小？」。","when":"資料夾與檔案、網頁的 DOM、留言的回覆串都是樹。資料庫的索引用的是 B-Tree（一種多分支的平衡樹），所以加了索引，查詢才會變快。","complexity":"平衡的搜尋樹：查詢、新增、刪除 O(log n)；不平衡時（例如資料依序插入）會退化成 O(n)","level":"mid","interview":"high","terms":["database"],"related":["binary-search","recursion","bfs-dfs","sql-indexing"]},{"id":"heap","name":"堆積與優先佇列","aka":["Heap","Priority Queue","優先佇列","最小堆積"],"def":"能隨時快速拿出「最小（或最大）」那一筆的結構。它不會把全部資料排好序，只保證最上面那一個是最小的。","analogy":"急診室的檢傷分類：不是先到先看，而是最緊急的先看；新病人進來，只要比較幾次就知道排在哪。","when":"工作排程（優先度高的先做）、找出前 K 名（例如最熱門的 10 篇文章）、最短路徑演算法。","complexity":"加入與取出最小值 O(log n)；查看最小值 O(1)","code":{"lang":"Python","src":"import heapq\n\ntasks = []\nheapq.heappush(tasks, (2, \"回信\"))\nheapq.heappush(tasks, (1, \"修正線上錯誤\"))\nheapq.heappush(tasks, (3, \"整理文件\"))\nprint(heapq.heappop(tasks))   # (1, '修正線上錯誤')：數字小的優先"},"cases":[{"title":"前 K 個高頻元素（LeetCode 347）","text":"先用雜湊表數出每個元素出現幾次，再維持一個只放 k 筆的最小堆積：新的比堆頂多才換進來。不用把全部資料排序（O(n log n)），只要 O(n log k)。"},{"title":"資料流的中位數（LeetCode 295）","text":"資料一筆一筆進來，隨時要回答中位數：用兩個堆積，一個放比較小的一半（最大堆積）、一個放比較大的一半（最小堆積），中位數就在兩個堆頂，每加一筆只要 O(log n)。"}],"level":"mid","interview":"mid","related":["shortest-path","tree"]},{"id":"graph","name":"圖","aka":["Graph","節點","邊","有向圖"],"def":"由「點」和連接它們的「線（邊）」組成，用來表示任何「誰和誰有關係」的資料。線可以有方向，也可以有權重（例如距離）。","analogy":"捷運路線圖：車站是點、軌道是線。社群網站的好友關係也是一張圖。","when":"地圖導航、社群的「你可能認識的人」、推薦系統、套件的相依關係、網路拓撲。","complexity":"常用「相鄰串列」儲存，空間 O(點數 + 邊數)；走訪整張圖 O(點數 + 邊數)","cases":[{"title":"柯尼斯堡七橋問題（1736）","text":"有人問：能不能每座橋剛好走一次，就逛完柯尼斯堡的七座橋？數學家歐拉把陸地當成點、橋當成線，證明這做不到。這被視為圖論的起點。"},{"title":"六度分隔與 Facebook（2016）","text":"「任兩個人之間只隔大約六個人」的說法。Facebook 在 2016 年用全站的好友關係計算，使用者之間平均只隔約 3.57 個人。"},{"title":"PageRank（1998）","text":"Google 創辦人把網頁當成點、超連結當成有方向的線：被越多重要網頁連到的網頁就越重要。這是 Google 早期搜尋排名的核心想法。"}],"level":"mid","interview":"high","related":["bfs-dfs","shortest-path","topological-sort","graph-db"]},{"id":"trie","name":"字典樹","aka":["Trie","Prefix Tree","前綴樹"],"def":"依照字母（或字）一層一層分支的樹，開頭相同的字會共用同一條路徑。","analogy":"手機輸入法：打了「台」，就能沿著樹馬上列出「台灣」「台北」「台中」。","when":"搜尋框的自動完成、拼字檢查、網路路由表的前綴比對。","complexity":"查詢或新增一個長度 m 的字 O(m)，和總共存了多少字無關","cases":[{"title":"實作字典樹（LeetCode 208）","text":"常考的實作題：寫出 insert、search 與 startsWith（有沒有字是這樣開頭）三個操作，寫完就懂搜尋框自動完成背後的原理。"},{"title":"單字搜尋 II（LeetCode 212）","text":"在字母方格裡一次找出清單上的所有單字：先把單字都放進字典樹，再用回溯法走方格，走到字典樹裡沒有的開頭就提早放棄，比一個單字一個單字找快很多。"},{"title":"Linux 的路由表","text":"路由器要替每個封包找出「最長符合的網段」。Linux 核心的 IPv4 路由表用的就是一種壓縮過的字典樹（LC-trie）。"}],"level":"adv","interview":"mid","related":["tree","hash-table"]}]},{"id":"algo","name":"演算法","intro":"解決問題的步驟。先學會用 Big O 判斷快慢，再照著建議的順序練習，就涵蓋了大部分的面試題型。","order":"Big O → 排序與二分搜尋 → 雙指標 → 遞迴 → BFS／DFS → 貪婪 → 動態規劃與回溯","skills":["dsa"],"resources":[{"title":"NeetCode：依主題整理的面試題與解說影片","url":"https://neetcode.io/roadmap"},{"title":"LeetCode：最多人使用的程式面試題庫","url":"https://leetcode.com/problemset/"},{"title":"Hello 演算法：圖解演算法（繁體中文）","url":"https://www.hello-algo.com/zh-hant/"}],"concepts":[{"id":"big-o","name":"時間複雜度（Big O）","aka":["Big O","時間複雜度","空間複雜度","O(n)"],"def":"描述「資料量變大時，程式要多花多少時間（或記憶體）」。O(1) 不管資料多少都一樣快；O(n) 資料變兩倍、時間也變兩倍；O(n²) 資料變兩倍、時間變四倍。","analogy":"在 1,000 人裡找一個人：一個一個問是 O(n)；用照姓名排好的名冊翻找是 O(log n)；有座號直接叫是 O(1)。","when":"每次選資料結構與演算法時都在用。技術面試幾乎每一題都會問：「你的解法複雜度是多少？」","complexity":"由快到慢：O(1) < O(log n) < O(n) < O(n log n) < O(n²) < O(2ⁿ)。100 萬筆資料時，O(n²) 約要做一兆次運算，O(n log n) 只要約 2,000 萬次","cases":[{"title":"GTA Online 載入要 6 分鐘（2021）","text":"一位玩家逆向分析發現，遊戲讀取一個約 10 MB 的 JSON 時，每讀一個值都從頭計算一次整段文字的長度，檢查重複時又一筆一筆比對，兩個 O(n²) 疊在一起。他的修正讓載入時間少了約 7 成，Rockstar 後來正式修好，還發給他 1 萬美元獎金。"},{"title":"在迴圈裡用 list 檢查重複","text":"最常見的效能地雷：if x in seen 的 seen 是 list 時，每次都要從頭找起。10 萬筆資料約要比對 50 億次；改成 set 之後只要 10 萬次左右，差了約 5 萬倍。"}],"level":"basic","interview":"high","related":["array","sorting","binary-search"]},{"id":"sorting","name":"排序","aka":["Sorting","快速排序","合併排序","Quick Sort","Merge Sort"],"def":"把資料依大小排好。快速排序、合併排序平均是 O(n log n)；氣泡排序、插入排序是 O(n²)，只適合教學或很少量的資料。","analogy":"整理一大疊考卷：合併排序像是把考卷分給幾個人各自排好，再兩疊兩疊合併成一疊。","when":"工作上幾乎都直接用語言內建的排序（例如 Python 的 sorted()，已經高度最佳化）。懂原理是為了判斷效能，以及應付面試。","complexity":"快速排序平均 O(n log n)、最差 O(n²)；合併排序固定 O(n log n)，但需要額外的記憶體","pitfall":"不要在工作中自己手寫排序。要記得的是「排序本身就要 O(n log n)」，在迴圈裡重複排序會非常慢。","cases":[{"title":"Python 與 Java 都在用的 Timsort","text":"Tim Peters 在 2002 年替 Python 設計的排序：結合合併排序與插入排序，遇到「本來就部分排好」的真實資料特別快。Java 7 起也用它排序物件陣列。2015 年研究者用形式化驗證工具檢查它，還找出一個超大陣列才會遇到的 bug。"}],"level":"basic","interview":"high","related":["big-o","binary-search","recursion"]},{"id":"binary-search","name":"二分搜尋","aka":["Binary Search","二分法","git bisect"],"def":"在排好序的資料裡找東西：每次看中間那一個，比目標大就往左半邊找、比較小就往右半邊找，每一步都排除一半。","analogy":"猜 1 到 100 的數字，每次猜中間值，對方回答「太大」或「太小」，最多 7 次就能猜中。","when":"在排好序的清單裡查找、找「第一個符合條件的位置」。Git 的 git bisect 就是用二分法，找出是哪一次 commit 讓程式壞掉。","complexity":"O(log n)：100 萬筆資料最多比較約 20 次","pitfall":"資料一定要先排好序。邊界條件（<= 還是 <、要不要 +1）是最常寫錯的地方。","code":{"lang":"Python","src":"def binary_search(items, target):\n    lo, hi = 0, len(items) - 1\n    while lo <= hi:\n        mid = (lo + hi) // 2\n        if items[mid] == target:\n            return mid\n        if items[mid] < target:\n            lo = mid + 1      # 目標在右半邊\n        else:\n            hi = mid - 1      # 目標在左半邊\n    return -1                 # 找不到"},"cases":[{"title":"藏了 9 年的 Java bug（2006）","text":"Joshua Bloch 發現，Java 標準函式庫的二分搜尋用 (low + high) / 2 算中間位置，陣列大到約 10 億筆時，加總會超過整數上限變成負數而出錯，這個 bug 藏了約 9 年。改成 low + (high − low) / 2 就不會溢位；Python 的整數沒有上限，所以上面的範例不受影響。"}],"level":"basic","interview":"high","related":["sorting","tree","big-o","sql-indexing"]},{"id":"two-pointers","name":"雙指標與滑動視窗","aka":["Two Pointers","Sliding Window","滑動視窗"],"def":"用兩個位置標記在資料上移動，取代兩層迴圈。雙指標常從兩端往中間走；滑動視窗則維持一段區間，右邊加入新資料、左邊移出舊資料。","analogy":"計算「最近 7 天的營業額」：每過一天，只要加上新的一天、扣掉最舊的一天，不用每次重算 7 天。","when":"在排序好的陣列裡找加總為某個值的兩個數、最長不重複的子字串、移動平均。刷題最常見的技巧之一。","complexity":"通常能把 O(n²) 的暴力解降到 O(n)","level":"mid","interview":"high","related":["array","big-o","window-functions"]},{"id":"recursion","name":"遞迴","aka":["Recursion","遞迴函式","Divide and Conquer","分治法"],"def":"函式呼叫自己，把大問題拆成同樣形式的小問題，直到小到可以直接回答（終止條件）為止。","analogy":"俄羅斯娃娃：打開一個，裡面還有一個，直到最小那個打不開為止。","when":"走訪樹狀結構（資料夾、組織圖、留言串）、分治法（例如合併排序）、回溯法。","pitfall":"忘了寫終止條件，函式會無限呼叫自己，直到「堆疊溢位」（Stack Overflow，那個知名問答網站的名字就是從這裡來的）。","code":{"lang":"Python（示意）","src":"def folder_size(folder):\n    total = sum(f.size for f in folder.files)\n    for sub in folder.subfolders:\n        total += folder_size(sub)   # 子資料夾用同樣的方法算\n    return total                    # 沒有子資料夾時就直接回傳，這就是終止條件"},"level":"basic","interview":"high","related":["stack","tree","backtracking","dynamic-programming"]},{"id":"bfs-dfs","name":"廣度與深度優先搜尋","aka":["BFS","DFS","Breadth-First Search","Depth-First Search","走訪"],"def":"走遍一張圖或一棵樹的兩種方法。廣度優先（BFS）從起點一圈一圈往外擴散；深度優先（DFS）沿著一條路走到底，走不通再退回來換一條。","analogy":"找走失的小孩：BFS 是先找身邊一公尺，再擴大到兩公尺；DFS 是挑一條路一直走到盡頭，再回頭換路。","when":"BFS 能找出「步數最少」的路徑（例如社群的「幾度分隔」）；DFS 適合找出所有可能、檢查有沒有循環、走迷宮。","complexity":"兩者都是 O(點數 + 邊數)","code":{"lang":"Python","src":"from collections import deque\n\ndef bfs(graph, start):\n    seen, queue = {start}, deque([start])\n    while queue:\n        node = queue.popleft()        # 先進先出：離起點近的先處理\n        print(node)\n        for nxt in graph[node]:\n            if nxt not in seen:\n                seen.add(nxt)\n                queue.append(nxt)"},"level":"mid","interview":"high","related":["graph","queue","stack","tree"]},{"id":"greedy","name":"貪婪演算法","aka":["Greedy","貪心法"],"def":"每一步都選「眼前看起來最好」的選項，而且不回頭。簡單又快，但只有在特定問題上能保證得到最佳解。","analogy":"找零錢時先給最大面額：找 68 元就給 50 + 10 + 5 + 1 + 1 + 1。","when":"安排最多場不重疊的會議、霍夫曼壓縮編碼、最小生成樹。","pitfall":"不一定正確：如果硬幣只有 1、3、4 元，要湊 6 元時，貪婪法會給 4 + 1 + 1（3 枚），但最佳解是 3 + 3（2 枚）。這種情況要改用動態規劃。","cases":[{"title":"霍夫曼編碼（1952）","text":"大衛・霍夫曼在 MIT 念研究所時，為了一份可以取代期末考的報告想出這個方法：每次把出現次數最少的兩個符號合併，讓常出現的字用短編碼、少出現的用長編碼。ZIP、PNG、JPEG 到今天都還在用。"},{"title":"安排最多場會議（LeetCode 435）","text":"一間會議室要排進最多場不重疊的會議：每次挑「最早結束」的那一場，再從不衝突的裡面挑下一個最早結束的。這是少數能證明貪婪一定得到最佳解的經典題；LeetCode 435 問的是反過來「最少要取消幾場」。"}],"level":"mid","interview":"mid","related":["dynamic-programming","sorting"]},{"id":"dynamic-programming","name":"動態規劃","aka":["Dynamic Programming","DP","Memoization","記憶化"],"def":"把大問題拆成會重複出現的小問題，每個小問題只算一次並把答案記下來，之後直接查表、不再重算。","analogy":"爬樓梯每次走 1 階或 2 階，爬到第 10 階有幾種走法？到第 10 階的走法 = 到第 9 階的走法 + 到第 8 階的走法。從小的開始算、算過就記下來。","when":"最佳化問題：最便宜的組合、兩段文字最長的共同部分（文字比對、DNA 序列）、背包問題。公認面試中最難的一類題目。","pitfall":"難的不是寫程式，而是找出「狀態」以及「怎麼從小問題推到大問題」。先寫出暴力遞迴，再加上記憶，是比較好入門的方法。","code":{"lang":"Python","src":"def climb(n):\n    ways = [1, 1]                  # 第 0 階、第 1 階各 1 種走法\n    for i in range(2, n + 1):\n        ways.append(ways[i - 1] + ways[i - 2])\n    return ways[n]\n\nprint(climb(10))   # 89"},"level":"adv","interview":"high","related":["recursion","greedy"]},{"id":"backtracking","name":"回溯法","aka":["Backtracking"],"def":"一步一步嘗試所有可能，發現走不下去就退回上一步、換另一個選擇。本質是有系統的暴力搜尋，再加上「提早放棄不可能的路」。","analogy":"走迷宮遇到死路，就回到上一個岔路口換一條。","when":"數獨、列出所有排列組合、八皇后問題。","complexity":"通常是指數時間，靠剪枝（提早排除不可能的選擇）讓它在實際資料上跑得完","cases":[{"title":"八皇后問題（LeetCode 51）","text":"在西洋棋盤放 8 個互相吃不到的皇后，一共有 92 種放法。從 64 格裡任選 8 格有約 44 億種組合；回溯法一列放一個、發現衝突就退回上一列，只需要試其中很小的一部分。"},{"title":"解數獨（LeetCode 37）","text":"找一個空格從 1 試到 9，違反規則就換下一個數字，9 個都不行就退回上一格重填。再加上「先填可能性最少的格子」這種剪枝，一般的題目很快就能解完。"},{"title":"全排列與子集合（LeetCode 46、78）","text":"回溯法的基本題型：選一個還沒用過的元素、遞迴下去、回來後再把它拿掉。「選擇、遞迴、撤銷」這三步，幾乎是所有回溯題的樣板。"}],"level":"adv","interview":"mid","related":["recursion","bfs-dfs"]},{"id":"shortest-path","name":"最短路徑","aka":["Dijkstra","Shortest Path","A*"],"def":"在有距離（權重）的圖中，找出兩點之間總距離最短的路。Dijkstra 演算法每次從「目前已知最近」的點往外擴展，適用於沒有負數距離的情況。","analogy":"導航 App 規劃路線：每條路的行車時間不同，要找出總時間最短的走法。","when":"地圖導航、網路封包的路由、遊戲角色的尋路（常用 A*：額外估計「離終點還有多遠」，找得更快）。","complexity":"Dijkstra 搭配堆積：O((點數 + 邊數) × log 點數)","cases":[{"title":"20 分鐘想出來的演算法（1956）","text":"Dijkstra 回憶，他是某天早上和未婚妻在阿姆斯特丹逛街、坐在咖啡廳露台休息時，沒用紙筆、大約 20 分鐘就想出這個演算法。當時是為了展示新電腦的能力，題目是找出荷蘭兩座城市之間的最短路線。"},{"title":"網際網路的路由（OSPF）","text":"企業與電信業者常用的 OSPF 路由協定，讓每台路由器都知道整張網路的連線狀況，再各自用 Dijkstra 算出到每個網段最近的走法；線路斷掉時重新計算，自動改走別條路。"}],"level":"adv","interview":"mid","related":["graph","heap","bfs-dfs"]},{"id":"topological-sort","name":"拓撲排序","aka":["Topological Sort","相依順序"],"def":"在「A 必須在 B 之前」這種有先後關係的圖裡，排出一個不違反任何先後關係的順序。圖裡如果有循環（A 要在 B 前、B 又要在 A 前），就排不出來。","analogy":"排修課順序：先修「程式設計」才能修「資料結構」，再來才能修「演算法」。","when":"套件管理工具決定安裝順序、建置工具決定編譯順序、工作流程工具（Airflow）決定任務的執行順序、試算表重新計算公式。","complexity":"O(點數 + 邊數)","cases":[{"title":"課程表（LeetCode 207、210）","text":"給你每門課的先修條件，問能不能修完所有的課、要照什麼順序修。這是拓撲排序最經典的面試題；排不出順序，就代表先修條件繞成了一個圈。"},{"title":"試算表的循環參照","text":"試算表依照公式之間的相依關係決定重新計算的順序。A1 用到 B1、B1 又用到 A1 時就排不出順序，Excel 會跳出「循環參照」的警告。"}],"level":"adv","interview":"mid","skills":["airflow"],"related":["graph","bfs-dfs"]}]},{"id":"patterns","name":"設計模式","intro":"前人整理出的「常見問題的好解法」。1994 年的《Design Patterns》（作者有四位，常被稱為四人幫、GoF）整理了 23 種，不用全部背，先懂下面這些最常遇到的。很多模式已經內建在現代語言與框架裡，你可能早就在用了。","order":"先懂物件導向與 SOLID → 策略、觀察者、工廠、轉接器 → 依賴注入與儲存庫 → 其餘遇到再學","skills":["system-design","java","csharp"],"resources":[{"title":"Refactoring.Guru：圖解設計模式（簡體中文版）","url":"https://refactoringguru.cn/design-patterns"}],"concepts":[{"id":"strategy","name":"策略模式","aka":["Strategy"],"def":"把「可以互相替換的做法」各自包成獨立的物件或函式，執行時再決定用哪一個，不用寫一大串 if／else。","analogy":"導航 App 的路線選項：「最快」「不走高速公路」「最省油」。目的地一樣，計算方式可以換。","when":"運費計算（宅配、超商取貨、海外）、折扣規則、排序方式、不同的壓縮或加密方法。","code":{"lang":"TypeScript","src":"type Shipping = (weightKg: number) => number;\n\nconst homeDelivery: Shipping = (w) => 100 + w * 20;   // 宅配\nconst storePickup: Shipping = () => 60;               // 超商取貨\n\nfunction checkout(weightKg: number, shipping: Shipping) {\n  return shipping(weightKg);\n}\n\ncheckout(2, storePickup); // 60：新增運送方式時，不用改 checkout"},"cases":[{"title":"排序時傳入比較方式","text":"Python 的 sorted(items, key=…)、Java 的 Comparator：排序演算法不變，「怎麼比大小」由呼叫的人傳進去。要依價格、評分或上架時間排序，只要換一個函式。"},{"title":"Passport.js 的登入策略","text":"Node.js 常用的登入套件 Passport，把每種登入方式（帳號密碼、Google、GitHub）都做成一個 Strategy。網站要多支援一種登入方式，只要再裝一個策略、註冊進去。"}],"level":"basic","interview":"mid","related":["factory","state"]},{"id":"observer","name":"觀察者模式","aka":["Observer","Pub/Sub","發布／訂閱","Event Listener","事件監聽"],"def":"一個物件的狀態改變時，自動通知所有「訂閱」它的物件，雙方不需要知道彼此的細節。","analogy":"訂閱 YouTube 頻道：頻道一上傳新影片，所有訂閱者都會收到通知；頻道不需要知道訂閱者是誰。","when":"網頁的 addEventListener、前端框架的狀態更新、訂單成立後同時寄信、扣庫存、加點數。放大到整個系統，就是事件驅動架構。","code":{"lang":"TypeScript","src":"type Listener = (order: string) => void;\nconst listeners: Listener[] = [];\nconst onOrderPlaced = (fn: Listener) => listeners.push(fn);\n\nonOrderPlaced((o) => console.log(\"寄確認信：\" + o));\nonOrderPlaced((o) => console.log(\"扣庫存：\" + o));\n\nlisteners.forEach((fn) => fn(\"訂單 #1024\")); // 下單時通知所有訂閱者"},"cases":[{"title":"Node.js 的 EventEmitter","text":"Node.js 的伺服器、檔案串流都會發出事件（例如 \"data\"、\"end\"），程式用 on() 訂閱，事件發生時自動被呼叫。整個 Node.js 的非同步設計都建立在這上面。"},{"title":"RxJS 與 Angular","text":"RxJS 把點擊、輸入、HTTP 回應都變成可以訂閱的資料流（Observable），還能過濾、合併、延遲。Angular 大量使用它，是觀察者模式最完整的實作之一。"}],"level":"basic","interview":"mid","related":["event-driven","command","pubsub-model"]},{"id":"factory","name":"工廠模式","aka":["Factory","Factory Method","簡單工廠"],"def":"把「建立物件」的工作交給專門的函式或類別：使用的人只說要什麼，不用知道怎麼做出來、用的是哪個類別。","analogy":"在餐廳點「招牌套餐」，不用知道廚房怎麼備料、由哪位廚師做。","when":"依設定或使用者的選擇建立不同的物件，例如依付款方式建立信用卡、LINE Pay 或超商代碼的付款處理器。","code":{"lang":"TypeScript","src":"interface Payment { pay(amount: number): void }\nclass CreditCard implements Payment { pay(a: number) { console.log(\"刷卡 \" + a + \" 元\"); } }\nclass LinePay implements Payment { pay(a: number) { console.log(\"LINE Pay 付 \" + a + \" 元\"); } }\n\nfunction createPayment(method: \"card\" | \"linepay\"): Payment {\n  return method === \"card\" ? new CreditCard() : new LinePay();\n}\n\ncreatePayment(\"linepay\").pay(120);"},"cases":[{"title":"document.createElement","text":"瀏覽器的 document.createElement(\"button\")：只給名稱，就回傳對應種類的元素物件，呼叫的人不用知道背後是哪個類別。"},{"title":"Java 的 Calendar.getInstance()","text":"依照電腦的地區設定回傳不同的曆法：多數地區拿到的是西曆，泰國的地區設定會拿到佛曆。呼叫的人只寫 getInstance()，不用自己判斷。"}],"level":"basic","interview":"mid","related":["strategy","builder","dependency-injection"]},{"id":"adapter","name":"轉接器模式","aka":["Adapter","Wrapper","轉接層"],"def":"在兩個介面不相容的元件之間加一層轉換，讓它們能一起運作，兩邊的程式都不用改。","analogy":"出國用的萬用轉接頭：台灣的插頭不變、國外的插座也不變，中間加一個轉接頭就好。","when":"串接第三方 API 或舊系統：例如把三家物流公司格式不同的回應，轉成自己系統統一的格式；換供應商時，只要換掉轉接器。","cases":[{"title":"資料庫驅動程式（JDBC）","text":"Java 程式透過統一的 JDBC 介面操作資料庫，每家資料庫各自提供驅動程式，把這些呼叫轉成自己的通訊方式。所以同一套程式碼，換個驅動程式就能連 MySQL 或 PostgreSQL。"},{"title":"Java 的 InputStreamReader","text":"把「一個一個位元組」的輸入串流，轉成「一個一個字元」的讀取器，順便處理 UTF-8 這類編碼。是 Java 標準函式庫裡最常被拿來舉例的轉接器。"}],"level":"basic","interview":"mid","terms":["integration"],"related":["facade","hexagonal"]},{"id":"singleton","name":"單例模式","aka":["Singleton"],"def":"確保某個類別在整個程式中只有一個實例，大家共用它。","analogy":"一間公司只有一個總機：不論誰打電話進來，接的都是同一個總機。","when":"設定檔、日誌（log）、資料庫連線池這類「整個程式共用一份」的東西。","pitfall":"最常被濫用的模式：它本質上就是全域變數，會讓程式難以測試、彼此偷偷相依。現代做法多半交給依賴注入（DI）容器來管理「只建立一份」。","code":{"lang":"TypeScript","src":"class Config {\n  private static instance: Config | null = null;\n  private constructor(public readonly apiUrl: string) {}\n\n  static get(): Config {\n    if (!Config.instance) Config.instance = new Config(\"https://api.example.com\");\n    return Config.instance;\n  }\n}\n\nConfig.get() === Config.get(); // true：永遠拿到同一個"},"cases":[{"title":"Python 的模組就是單例","text":"一個模組在程式裡只會載入一次，之後不管在哪裡 import，拿到的都是同一個物件。所以 Python 很少寫 getInstance()，直接用模組裡的變數就好。"},{"title":"Spring 的 Bean 預設只建立一份","text":"Spring 容器裡的物件預設是 singleton 範圍：整個程式共用一份，但由容器建立、再注入給需要的類別。這樣既只有一份，測試時又能換成假的。"}],"level":"basic","interview":"mid","related":["dependency-injection"]},{"id":"decorator","name":"裝飾者模式","aka":["Decorator","Middleware","中介層"],"def":"不修改原本的程式，一層一層包上新功能。每一層對外的用法都和原本一樣，所以可以自由組合。","analogy":"點咖啡加料：美式咖啡 → 加牛奶 → 再加焦糖，每加一樣就多一點東西（和價錢），但它仍然是一杯咖啡。","when":"替函式加上記錄、計時、快取、權限檢查。Python 的 @decorator、Express 與 ASP.NET Core 的 middleware 都是同一個概念。","code":{"lang":"Python","src":"import time\n\ndef timer(func):\n    def wrapper(*args):\n        start = time.time()\n        result = func(*args)\n        print(func.__name__, \"花了\", round(time.time() - start, 2), \"秒\")\n        return result\n    return wrapper\n\n@timer              # 不改 report 的內容，就替它加上計時功能\ndef report():\n    time.sleep(1)"},"cases":[{"title":"Python 的 @lru_cache","text":"在函式上加一行 @functools.lru_cache，就自動把算過的結果記起來，同樣的參數第二次呼叫直接回傳答案，函式本身一行都不用改。"},{"title":"Java 的 I/O 串流","text":"new BufferedReader(new InputStreamReader(new FileInputStream(\"a.txt\")))：一層一層包起來，每一層多一種功能（讀檔、轉換編碼、加上緩衝），是教科書最常引用的裝飾者例子。"}],"level":"mid","interview":"mid","related":["proxy","adapter"]},{"id":"facade","name":"外觀模式","aka":["Facade"],"def":"替一個複雜的子系統提供一個簡單的入口：使用者只呼叫一個方法，背後的多個步驟由它處理。","analogy":"飯店櫃台：訂餐廳、叫計程車、寄放行李都找櫃台就好，不用自己聯絡每個部門。","when":"「下單」背後要檢查庫存、扣款、建立出貨單、寄通知信，對外只提供一個 placeOrder()。","cases":[{"title":"jQuery","text":"早期各家瀏覽器操作網頁元素與送出 AJAX 的寫法都不一樣，jQuery 用 $(\".btn\").hide()、$.ajax() 這種簡單的介面包起來，背後處理各瀏覽器的差異，曾經幾乎是網站必備。"},{"title":"SLF4J：名字就叫「門面」","text":"Java 常用的日誌套件 SLF4J，全名是 Simple Logging Facade for Java。程式只呼叫 SLF4J，背後實際寫日誌的可以換成 Logback 或 Log4j，程式碼不用改。"}],"level":"basic","interview":"low","related":["adapter","api-gateway"]},{"id":"proxy","name":"代理模式","aka":["Proxy","反向代理"],"def":"用一個「替身」擋在真正的物件前面，用法完全一樣，但可以在呼叫前後加上控制：延遲載入、快取、權限檢查、記錄。","analogy":"明星的經紀人：要找明星得先經過經紀人，由經紀人決定接不接、什麼時候接。","when":"圖片等捲到畫面上才載入、ORM 的延遲載入、替 API 呼叫加上快取。網路上的「代理伺服器」與 Nginx 這類反向代理，也是同樣的概念。","cases":[{"title":"Spring 的 @Transactional","text":"Spring 在你的類別外面包一層代理：呼叫方法前開啟交易，結束後提交或回滾。也因為這樣，同一個類別裡的方法互相呼叫時不會經過代理，@Transactional 就不會生效，是很常見的踩雷點。"},{"title":"Vue 3 的響應式資料","text":"Vue 3 用 JavaScript 內建的 Proxy 包住你的資料物件，每次讀取或修改都會先經過代理，Vue 因此知道哪些畫面要重新繪製。"}],"level":"mid","interview":"low","skills":["nginx"],"related":["decorator","caching","reverse-proxy-cdn"]},{"id":"builder","name":"建造者模式","aka":["Builder","鏈式呼叫"],"def":"物件的設定項目很多時，改成一步一步設定、最後再「建造」出來，而不是一次塞十幾個參數。","analogy":"在潛艇堡店點餐：先選麵包，再選肉、起司、醬料，最後才幫你做好。","when":"組 SQL 查詢、建立 HTTP 請求、產生測試資料。很多函式庫的鏈式寫法就是它，例如 query.where(...).orderBy(...).limit(10)。","cases":[{"title":"OkHttp 的 Request.Builder","text":"Android 與 Java 常用的 HTTP 函式庫：new Request.Builder().url(…).header(…).post(…).build()，參數一項一項設，最後才建出請求物件。"},{"title":"Lombok 的 @Builder","text":"Java 專案在類別上加一個 @Builder 標註，Lombok 就自動產生建造者的程式碼，不用自己寫一大堆 setter 與建構子。"}],"level":"mid","interview":"low","related":["factory"]},{"id":"command","name":"命令模式","aka":["Command","Undo／Redo","復原與重做"],"def":"把「一個操作」包成一個物件，裡面記著要做什麼、對誰做。操作因此可以排隊、記錄、延後執行或復原。","analogy":"餐廳的點菜單：服務生把點單交給廚房，點單可以排隊、可以取消，也會留下紀錄。","when":"編輯器的復原與重做、背景工作佇列、遊戲的操作重播、巨集錄製。","cases":[{"title":"Redux 的 action 與時光旅行","text":"Redux 的每個操作都是一個描述「要做什麼」的物件，例如 { type: \"cart/add\", id: 3 }。因為操作都記錄下來了，Redux DevTools 可以倒轉、重播，找出是哪一步把狀態改壞。"},{"title":"VS Code 的命令選擇區","text":"VS Code 的每個功能都註冊成一個命令，所以同一個功能可以從選單、快捷鍵或 Ctrl+Shift+P 叫出來，擴充套件也能新增自己的命令。"}],"level":"mid","interview":"low","related":["stack","queue","event-sourcing"]},{"id":"state","name":"狀態模式","aka":["State","State Machine","狀態機","有限狀態機"],"def":"物件在不同狀態下有不同行為時，把每個狀態分開處理，並明確定義「從哪個狀態可以到哪個狀態」，而不是在每個方法裡寫一堆 if。","analogy":"自動販賣機：沒投錢時按按鈕沒反應，投了錢才會出貨，缺貨時會退錢。","when":"訂單流程（待付款 → 已付款 → 出貨中 → 已送達，或已取消）、簽核流程、遊戲角色狀態、網路連線狀態。","pitfall":"狀態之間的轉換規則一定要明確，否則很容易出現「已取消的訂單又被出貨」這種錯誤。","cases":[{"title":"TCP 連線的 11 種狀態","text":"TCP 規格定義了 LISTEN、SYN-SENT、ESTABLISHED、TIME-WAIT 等 11 種狀態，同一個封包在不同狀態下要做不同的事。伺服器上出現大量 TIME_WAIT 或 CLOSE_WAIT 時，就是對照這張狀態圖查原因。"},{"title":"用狀態機管理表單與付款流程","text":"前端用 XState 這類狀態機函式庫，先畫出「填寫中 → 送出中 → 成功／失敗」的狀態圖，就不會出現「送出中又能再按一次送出」這種不該存在的狀態。"}],"level":"mid","interview":"mid","related":["strategy"]},{"id":"template-method","name":"樣板方法","aka":["Template Method"],"def":"父類別訂好整個流程的步驟與順序，其中幾個步驟留給子類別自己實作。","analogy":"泡飲料的固定流程：燒水 → 沖泡 → 倒進杯子 → 加料。泡茶和泡咖啡只差在「沖泡」和「加料」兩步。","when":"匯出報表（讀資料 → 整理 → 輸出，輸出成 Excel 或 PDF 不同）、框架的生命週期（例如測試框架的 setUp 與 tearDown）。","cases":[{"title":"好萊塢原則：「別打給我們，我們會打給你」","text":"框架決定流程，在適當的時機呼叫你的程式：React 的 class 元件只要寫好 render() 與 componentDidMount()，什麼時候呼叫由 React 決定。這就是樣板方法的精神。"},{"title":"Java 的 AbstractList","text":"要自己做一個串列，只要繼承 AbstractList、寫出 get() 和 size() 兩個方法，contains、indexOf、迭代這些功能就自動都有了，因為父類別已經用這兩步寫好流程。"}],"level":"mid","interview":"low","related":["strategy"]},{"id":"iterator","name":"迭代器","aka":["Iterator","Generator","產生器","yield"],"def":"用統一的方式一個一個取出集合裡的元素，不需要知道集合內部怎麼儲存。","analogy":"電視遙控器的「下一台」：不用知道頻道怎麼編排，按就對了。","when":"現代語言幾乎都內建：JavaScript 的 for...of、Python 的 for 迴圈與產生器（yield）都是它。處理大檔案時一次讀一行，不必整個載入記憶體。","cases":[{"title":"Python 的 range()","text":"range(10**9) 不會先產生 10 億個數字，而是每次要下一個才算出來，所以幾乎不占記憶體。Python 3 的 map、zip 與檔案物件也都是這樣一個一個給。"},{"title":"API 的游標分頁","text":"Stripe、Slack 的 API 一次只回傳一頁，並附上「下一頁從哪裡開始」的游標。呼叫的人一頁一頁往下拿，不用知道資料總共有多少、怎麼存的。"}],"level":"basic","interview":"low","related":["array"]},{"id":"dependency-injection","name":"依賴注入","aka":["Dependency Injection","DI","IoC","控制反轉"],"def":"物件需要用到的東西（例如資料庫、寄信服務）不是自己建立，而是由外部「傳進來」。這樣測試時可以換成假的版本，要換實作也不用改程式。","analogy":"員工不用自己帶電腦上班，公司依職務配發；換了一台電腦，員工的工作方式也不用改。","when":"Spring、ASP.NET Core、NestJS、Angular 都內建 DI 容器；寫單元測試時，把真正的資料庫或寄信服務換成假的（mock）。","code":{"lang":"TypeScript","src":"interface Mailer { send(to: string, text: string): void }\n\nclass SignupService {\n  constructor(private mailer: Mailer) {}   // 寄信服務由外面傳進來\n  signup(email: string) {\n    this.mailer.send(email, \"歡迎加入！\");\n  }\n}\n\n// 測試時傳一個假的寄信服務，不會真的寄信\nconst fakeMailer: Mailer = { send: (to) => console.log(\"假裝寄給 \" + to) };\nnew SignupService(fakeMailer).signup(\"a@example.com\");"},"cases":[{"title":"FastAPI 的 Depends","text":"在路由函式的參數寫 db = Depends(get_db)，FastAPI 每次收到請求時，自動準備好資料庫連線再傳進來；寫測試時可以整個換成假的。"},{"title":"pytest 的 fixture","text":"測試函式的參數寫上 db，pytest 就會找到同名的 fixture，自動建立好再傳進來。測試只描述「需要什麼」，不用自己準備。"}],"level":"mid","interview":"high","skills":["spring","dotnet","nestjs","testing"],"terms":["solid"],"related":["singleton","repository","hexagonal"]},{"id":"repository","name":"儲存庫模式","aka":["Repository","DAO","Data Access Object"],"def":"把「怎麼存取資料」集中在一個類別裡。商業邏輯只呼叫 findById()、save() 這類方法，不直接寫 SQL，也不用知道資料存在哪裡。","analogy":"圖書館員：你只要說要哪本書，館員知道去哪個書庫拿，你不用懂書是怎麼編目的。","when":"後端專案常見的分層：Controller → Service → Repository。換資料庫或寫測試時，只要換掉 Repository。Spring Data、Entity Framework 都以它為核心。","cases":[{"title":"Spring Data JPA","text":"只要宣告 interface UserRepository extends JpaRepository<User, Long>，再寫一個名叫 findByEmail 的方法，框架就依方法名稱自動產生查詢，連實作都不用寫。"},{"title":"兩本經典的整理","text":"Martin Fowler 在 2002 年的《企業應用架構模式》整理了儲存庫模式，Eric Evans 2003 年的《領域驅動設計》也把它列為核心元素，所以 DDD 的專案幾乎都看得到它。"}],"level":"mid","interview":"mid","skills":["orm","spring"],"related":["layered","dependency-injection","n-plus-one"]},{"id":"mvc","name":"MVC 與 MVVM","aka":["MVC","MVVM","Model-View-Controller"],"def":"把程式分成三種角色：Model（資料與規則）、View（畫面）、Controller（接收操作、協調兩者）。MVVM 把 Controller 換成 ViewModel，畫面會自動跟著資料更新。","analogy":"餐廳：廚房（Model）負責做菜，餐桌上的菜（View）是客人看到的，服務生（Controller）接單並把菜端上桌。","when":"後端框架（Rails、Laravel、Spring MVC、ASP.NET MVC）多採用 MVC；前端框架與 App 開發（Vue、SwiftUI、Android）常見 MVVM 的觀念。","cases":[{"title":"MVC 的起點：Smalltalk（1979）","text":"MVC 是 Trygve Reenskaug 1979 年在全錄帕羅奧圖研究中心（Xerox PARC）為 Smalltalk 提出的，原本用來設計桌面程式的圖形介面，後來才被網站框架廣泛採用。"},{"title":"Ruby on Rails（2004）","text":"Rails 把 MVC 帶進網站開發並大受歡迎：照著「約定優於設定」，一張資料表配一組 Controller 和 View 就能很快做出網站，之後很多框架都採用類似的結構。"}],"level":"basic","interview":"mid","skills":["rails","laravel","spring","vue"],"related":["layered","observer"]}]},{"id":"network","name":"網路與 HTTP","intro":"每一次打開網頁、呼叫 API，背後都是一連串的網路協定在合作：DNS 找到伺服器、TCP 建立連線、TLS 加密、HTTP 傳送請求與回應。懂這些，才看得懂瀏覽器開發者工具裡的訊息，也才知道網站慢、連不上、被擋下來時要從哪裡查起。","order":"輸入網址之後發生什麼事 → IP 與埠號 → TCP 與 UDP → DNS → HTTP 請求與回應 → 狀態碼 → HTTPS 與 TLS → Cookie 與 HTTP 快取 → CORS → 反向代理與 CDN → 即時通訊 → HTTP/2 與 HTTP/3","skills":["networking","rest","nginx","cloudflare","websocket"],"resources":[{"title":"MDN：HTTP 文件（繁體中文）","url":"https://developer.mozilla.org/zh-TW/docs/Web/HTTP"},{"title":"MDN：HTTP 回應狀態碼一覽（繁體中文）","url":"https://developer.mozilla.org/zh-TW/docs/Web/HTTP/Reference/Status"},{"title":"《High Performance Browser Networking》：TCP、TLS、HTTP/2 的免費線上書（英文）","url":"https://hpbn.co/"}],"concepts":[{"id":"what-happens-url","name":"輸入網址之後發生了什麼事","aka":["What happens when you type a URL","瀏覽器運作原理","Request Lifecycle"],"def":"在瀏覽器輸入網址按下 Enter，大致會經過：DNS 把網域名稱查成 IP 位址 → 和伺服器建立 TCP 連線 → TLS 交握建立加密通道 → 送出 HTTP 請求 → 伺服器處理後回應 HTML → 瀏覽器解析 HTML，再下載 CSS、JavaScript、圖片並畫出畫面。","analogy":"網購寄貨：先查到賣家的地址（DNS）、和物流公司確認可以收件（TCP）、把包裹封箱上鎖（TLS）、送出訂單（HTTP 請求），賣家寄回商品（回應），你拆箱組裝（瀏覽器畫出畫面）。","when":"經典的面試題，可以一路講到你熟悉的深度。也是網站變慢時的排查地圖：瀏覽器開發者工具的 Network 分頁，可以看到每一段各花了多少時間。","pitfall":"不必背下每個細節，但要說得出每一步在做什麼、哪一步可能出問題：DNS 查不到、連線逾時、憑證過期、伺服器回 500。","cases":[{"title":"開源整理：what-happens-when","text":"GitHub 上有一份很有名的開源文件，專門回答「在瀏覽器輸入 google.com 按下 Enter 之後發生了什麼」，從鍵盤送出的電子訊號一路寫到畫面繪製，可以看出這題能講得多深。"},{"title":"預先連線：preconnect","text":"網站在 HTML 加上 <link rel=\"preconnect\" href=\"…\">，瀏覽器就會提早完成 DNS 查詢、TCP 與 TLS 交握，等真的要下載字型或圖片時，可以省下好幾次來回的時間。"}],"level":"basic","interview":"high","skills":["networking"],"terms":["http","server","frontend-backend"],"related":["dns","tcp-udp","tls-https","http-basics"]},{"id":"tcp-ip","name":"IP 位址、埠號與網路分層","aka":["IP Address","Port","TCP/IP","OSI Model","Private IP","IPv6","埠號"],"def":"IP 位址是網路上每台機器的地址；埠號（port）是同一台機器上不同程式的「分機號碼」，例如 HTTPS 用 443、SSH 用 22、PostgreSQL 用 5432。網路通訊分成好幾層、各管各的：網路層（IP）把封包送到正確的機器，傳輸層（TCP、UDP）送到正確的程式，應用層（HTTP、DNS）定義內容的格式。","analogy":"IP 位址像大樓地址、埠號像大樓裡的房間號碼：郵差（IP）只負責送到大樓，大樓管理員（TCP）再送到正確的房間。","when":"設定防火牆與安全群組（開放哪些埠）、設定伺服器要監聽的位址、排查「連不上」的問題。192.168.x.x、10.x.x.x 這類私有 IP 只在內部網路有效，要連到外面得透過 NAT。","pitfall":"localhost（127.0.0.1）永遠代表「這台機器自己」：在容器裡或另一台機器上連 localhost，連到的是它自己，不是你以為的那台。IPv4 位址已經不夠用，IPv6 位址長得像 2001:db8::1，也要看得懂。","cases":[{"title":"IPv4 位址分完了（2011）","text":"IPv4 只有約 43 億個位址。負責分配的 IANA 在 2011 年 2 月把最後一批位址區塊分給各大洲的分配機構。這就是為什麼家裡的設備要靠 NAT 共用一個對外 IP，以及為什麼要推 IPv6。"},{"title":"容器裡的服務外面連不到","text":"程式只監聽 127.0.0.1 時，只有同一台機器（或同一個容器）連得到。服務放進 Docker 後「容器裡測試正常、外面連不上」，常常就是這個原因，要改成監聽 0.0.0.0。"}],"level":"basic","interview":"mid","skills":["networking","linux"],"terms":["localhost","server"],"related":["tcp-udp","vpc","container-data-network"]},{"id":"tcp-udp","name":"TCP 與 UDP","aka":["TCP","UDP","Three-way Handshake","三向交握","Packet Loss","可靠傳輸"],"def":"TCP 是可靠的傳輸：先用三向交握建立連線，保證資料完整、依序送達，掉了會重送；UDP 不建立連線、直接送出，不保證送達與順序，但延遲低、負擔小。","analogy":"TCP 像掛號信：要簽收，寄丟了會補寄。UDP 像發傳單：發出去就不管了，但快很多。","when":"TCP：網頁、API、資料庫連線、檔案傳輸，絕大多數的應用。UDP：視訊通話、線上遊戲、直播這類「晚到不如不要」的即時資料，以及 DNS 查詢。HTTP/3 底下的 QUIC 也是建立在 UDP 上，再自己做可靠傳輸。","pitfall":"UDP 不是「不可靠所以比較差」：視訊通話掉了一個畫面，就算重送回來也已經過時了，直接跳過反而比較順。面試常問三向交握為什麼是三次：雙方都要確認「我送得到對方，也收得到對方」。","cases":[{"title":"SYN 洪水攻擊（1996）","text":"攻擊者大量送出建立連線的 SYN 封包，卻故意不完成三向交握，把伺服器「等待中的連線」塞滿。1996 年紐約的網路業者 Panix 被這種攻擊癱瘓了好幾天，之後才發展出 SYN cookies 等防護方法。"},{"title":"視訊通話優先走 UDP","text":"WebRTC（瀏覽器裡視訊通話用的技術，例如 Google Meet）傳影音時優先使用 UDP：封包掉了就跳過，畫面頂多短暫模糊；網路環境擋住 UDP 時才退回 TCP。"}],"level":"basic","interview":"high","skills":["networking"],"related":["tcp-ip","http-versions","websocket-realtime"]},{"id":"dns","name":"DNS 網域名稱系統","aka":["DNS","Domain Name System","A Record","CNAME","Nameserver","網域","DNS 記錄"],"def":"DNS 把人看得懂的網域名稱（example.com）轉換成電腦用的 IP 位址。查詢會一層一層問：先看本機與網路業者的快取，沒有的話再依序問根伺服器、.com 的伺服器，最後問這個網域自己的名稱伺服器。","analogy":"手機通訊錄：你只記得「媽媽」，通訊錄幫你轉成電話號碼；通訊錄裡沒有，就打去查號台問。","when":"架網站時設定網域：A 記錄指向 IPv4 位址、AAAA 指向 IPv6、CNAME 指向另一個網域名稱（例如 CDN 或雲端服務）、MX 設定收信的郵件伺服器、TXT 常用來驗證網域的所有權。可以用 nslookup 或 dig 查詢。","pitfall":"改了 DNS 記錄不會馬上全世界生效：各地的快取要等 TTL 到期才會更新，所以搬家前要先把 TTL 調短。「網站連不上」有不少其實是 DNS 的問題。","cases":[{"title":"Facebook 全球斷線 6 小時（2021）","text":"2021 年 10 月 4 日，一道骨幹網路的維護指令讓 Facebook 的資料中心斷線，自家的 DNS 伺服器也跟著從網路上「消失」，全世界都查不到 facebook.com 的 IP，Facebook、Instagram、WhatsApp 停擺約 6 小時。"},{"title":"Dyn 被 DDoS 攻擊（2016）","text":"2016 年 10 月，由大量被入侵的網路攝影機、路由器組成的 Mirai 殭屍網路攻擊 DNS 服務商 Dyn。Twitter、GitHub、Netflix 等網站的網域都交給 Dyn 解析，因此在部分地區連不上。"}],"level":"basic","interview":"mid","skills":["networking","cloudflare"],"related":["what-happens-url","tcp-ip","reverse-proxy-cdn"]},{"id":"http-basics","name":"HTTP 請求與回應","aka":["HTTP","HTTP Method","GET","POST","Header","Body","Stateless","請求方法"],"def":"HTTP 是瀏覽器與伺服器之間「一問一答」的格式。請求包含方法（GET 讀取、POST 新增、PUT／PATCH 修改、DELETE 刪除）、網址、標頭（headers）與內容（body）；回應包含狀態碼、標頭與內容。HTTP 本身是無狀態的：伺服器不會記得你的上一個請求，要靠 Cookie 或 Token 告訴它你是誰。","analogy":"點餐單：寫著要做什麼（方法）、哪一道菜（網址）、備註（標頭：少冰、內用）和詳細內容（body）；店家回一張出餐單，上面寫著結果（完成、賣完了）。","when":"設計與串接 REST API、用瀏覽器開發者工具或 curl 除錯。GET 要能安全地重複呼叫、不改變資料；PUT 和 DELETE 應該設計成冪等。","pitfall":"用 GET 做會改變資料的操作（例如 GET /delete?id=3）：瀏覽器預先載入、搜尋引擎爬蟲、重新整理都可能不小心觸發。敏感資料也不要放在網址的查詢參數裡，網址會留在瀏覽器紀錄與伺服器日誌中。","code":{"lang":"Bash（curl）","src":"# 送出一個 POST 請求；-i 會一起顯示回應的狀態碼與標頭\ncurl -i -X POST https://api.example.com/orders \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer <你的 token>\" \\\n  -d '{\"product_id\": 7, \"quantity\": 2}'"},"cases":[{"title":"Google Web Accelerator（2005）","text":"Google 推出的網頁加速工具會預先「點開」頁面上的連結。一些網站把「刪除」做成一般連結（GET），結果資料被預先載入功能一筆一筆刪掉，成為「GET 不能改資料」最有名的教訓。"},{"title":"REST 的由來（2000）","text":"REST 出自 Roy Fielding 2000 年的博士論文，他也是 HTTP/1.1 規格的主要作者之一。今天說的 RESTful API，就是把資料當成「資源」，用 GET、POST、PUT、DELETE 來操作。"}],"level":"basic","interview":"high","skills":["rest","networking"],"terms":["http","api","json"],"related":["http-status","idempotency","client-server","cookie-http-cache"]},{"id":"http-status","name":"HTTP 狀態碼","aka":["Status Code","200","404","500","401","403","429","502","狀態碼"],"def":"伺服器用三位數字告訴你請求的結果：2xx 成功、3xx 轉址、4xx 是請求端的問題、5xx 是伺服器端的問題。","analogy":"便利商店店員的回答：「好的，這是您的商品」（200）、「這家店搬到隔壁了」（301）、「我們沒有賣這個」（404）、「請先出示會員卡」（401）、「這區只限員工進入」（403）、「店裡的系統當機了」（500）。","when":"設計 API 時回傳正確的狀態碼，前端與監控系統才知道該怎麼處理。常見的有：200 成功、201 已建立、204 成功但沒有內容、301／302 轉址、304 沒有變更（用快取）、400 請求格式錯誤、401 未登入、403 沒有權限、404 找不到、409 衝突、422 資料驗證失敗、429 請求太頻繁、500 伺服器錯誤、502／504 閘道錯誤或逾時（通常是反向代理後面的服務掛了或太慢）、503 暫停服務。","pitfall":"不管成功或失敗都回 200，再在內容裡寫 {\"success\": false}：監控與重試機制會以為一切正常。401 和 403 常被搞混：401 是「我不知道你是誰」，403 是「我知道你是誰，但你不能做這件事」。","cases":[{"title":"418 我是茶壺","text":"1998 年愚人節發表的 RFC 2324「超文字咖啡壺控制協定」，定義了 418 I'm a teapot。2017 年有人提議把它從各種程式語言移除，引發「Save 418」運動，最後它被保留了下來。"},{"title":"429 的前身：Twitter 的 420","text":"「請求太頻繁」的 429 在 2012 年才成為標準（RFC 6585）。在那之前，Twitter 的 API 被呼叫太多次時，回傳的是自創的 420 Enhance Your Calm（冷靜一點）。"}],"level":"basic","interview":"mid","skills":["rest"],"terms":["http","api"],"related":["http-basics","rate-limiting","reverse-proxy-cdn","authn-authz"]},{"id":"tls-https","name":"HTTPS 與 TLS","aka":["HTTPS","TLS","SSL","Certificate","CA","憑證","TLS Handshake"],"def":"HTTPS 是加上 TLS 加密的 HTTP。TLS 做三件事：加密（中間的人看不到內容）、驗證身分（確認你連到的真的是那個網站，靠的是憑證）、確保完整（內容沒有被竄改）。憑證由受信任的憑證機構（CA）簽發，瀏覽器會檢查它是否有效、是否符合這個網域。","analogy":"寄重要文件時放進上鎖的保險箱，而且收件處要出示經過公證的身分證明：郵差看不到內容，你也不會寄錯人。","when":"現在所有網站都應該用 HTTPS，瀏覽器會把 HTTP 網站標示為「不安全」。可以用免費的 Let's Encrypt 搭配自動續約工具（例如 certbot），或交給 Cloudflare、雲端的負載平衡器處理。交握時用非對稱加密安全地交換金鑰，之後的資料改用速度快的對稱加密。","pitfall":"憑證過期是很常見的事故：Let's Encrypt 的憑證效期很短（目前預設 90 天），整個業界的憑證效期也在持續縮短，一定要設定自動續約與到期提醒。HTTPS 只保護「傳輸過程」：伺服器本身被入侵，或網站本身就是詐騙網站，HTTPS 都保護不了。","cases":[{"title":"心臟出血 Heartbleed（2014）","text":"OpenSSL 的一個 bug，讓攻擊者每次能從伺服器記憶體讀走最多 64 KB 的資料，可能包含私鑰與使用者密碼。當時估計約 17% 的 HTTPS 伺服器受影響，許多網站因此更換憑證、請使用者改密碼。"},{"title":"Let's Encrypt（2015）","text":"以前 HTTPS 憑證要付費、手續麻煩。2015 年起 Let's Encrypt 免費發放、可以全自動續約，大幅推動整個網路改用 HTTPS；2018 年 Chrome 也開始把所有 HTTP 網站標示為「不安全」。"}],"level":"mid","interview":"mid","skills":["security","cryptography","networking"],"related":["what-happens-url","reverse-proxy-cdn","password-hashing"]},{"id":"cookie-http-cache","name":"Cookie 與 HTTP 快取","aka":["Cookie","Set-Cookie","HttpOnly","SameSite","Cache-Control","ETag","瀏覽器快取"],"def":"Cookie 是伺服器請瀏覽器保存的一小段資料，之後每次請求同一個網站都會自動帶上，最常用來記住登入狀態。HTTP 快取則用 Cache-Control、ETag 等標頭告訴瀏覽器與 CDN：這個檔案可以存多久、過期後怎麼確認有沒有更新。","analogy":"Cookie 像店家給你的號碼牌，下次出示就知道你是誰；HTTP 快取像家裡囤的衛生紙，包裝上寫著保存期限，還沒過期就不用再跑一趟賣場。","when":"登入狀態放在 Cookie 時，要設定 HttpOnly（JavaScript 讀不到）、Secure（只在 HTTPS 傳送）、SameSite（減少 CSRF）。檔名帶有雜湊值的 JS、CSS、圖片可以設很長的快取；HTML 與 API 回應通常設短或不快取。","pitfall":"改了 CSS，使用者卻還是看到舊的：檔案設了長時間快取，但檔名沒變。建置工具會在檔名加上內容的雜湊值（例如 app.3f9a1c.js），內容一變檔名就變，才能放心快取一整年。不要把敏感資料直接存在 Cookie 裡。","cases":[{"title":"Cookie 的發明（1994）","text":"網景公司的 Lou Montulli 在 1994 年發明 Cookie，最初是為了讓網站記得購物車裡放了什麼：HTTP 本身不記得你是誰，Cookie 讓瀏覽器每次請求都帶上一張「號碼牌」。"},{"title":"Steam 快取外洩（2015）","text":"2015 年聖誕節，Steam 為了應付流量攻擊調整快取設定，結果把含個人資料的頁面也快取起來，約 3 萬 4 千名使用者打開商店時看到了別人的帳號頁面。個人化的回應要設 Cache-Control: private 或 no-store。"}],"level":"mid","interview":"mid","skills":["security","build-tools","cloudflare"],"terms":["cache","cdn"],"related":["session-vs-jwt","caching","csrf","reverse-proxy-cdn"]},{"id":"cors","name":"CORS 跨來源資源共用","aka":["CORS","Same-Origin Policy","Preflight","Access-Control-Allow-Origin","同源政策","跨域"],"def":"瀏覽器的同源政策規定：網頁上的 JavaScript 預設只能讀取同一個「來源」（通訊協定、網域、埠號都相同）的回應。要讓別的來源讀取，伺服器要在回應裡加上 Access-Control-Allow-Origin 等標頭明確允許，這套機制就是 CORS。","analogy":"社區門禁：住戶（同源）可以自由進出；訪客（其他來源）要住戶事先向警衛登記（伺服器回應 CORS 標頭），警衛（瀏覽器）才放行。","when":"前後端分離、前端和 API 在不同網域或埠號時，例如本機開發時 localhost:5173 的前端呼叫 localhost:8000 的 API。送出 JSON 或自訂標頭的請求前，瀏覽器會先送一個 OPTIONS 的「預檢請求」，確認伺服器是否允許。","pitfall":"CORS 錯誤是瀏覽器擋的，不是伺服器擋的：用 curl 或 Postman 呼叫都正常，只有瀏覽器會報錯，所以要改的是「伺服器的回應標頭」，不是前端程式。為了省事設成允許所有來源（*）又要帶登入憑證，瀏覽器不允許這種組合，也很不安全。","cases":[{"title":"同源政策的由來（1995）","text":"網景瀏覽器在 1995 年加入 JavaScript 後，很快定下同源政策：A 網站的程式不能讀取 B 網站的內容，否則你開著網路銀行時，任何網頁都能偷看帳戶。CORS 則是後來讓伺服器「主動開放」的標準做法。"},{"title":"開發時用代理繞過","text":"本機開發時，Vite、webpack 的開發伺服器可以設定代理：前端一律呼叫自己的 /api，再由開發伺服器轉給後端。對瀏覽器來說都是同一個來源，就不會遇到 CORS。"}],"level":"mid","interview":"mid","skills":["security","rest"],"terms":["frontend-backend","localhost"],"related":["http-basics","csrf","cookie-http-cache"]},{"id":"reverse-proxy-cdn","name":"反向代理與 CDN","aka":["Reverse Proxy","Forward Proxy","CDN","Nginx","Edge","反向代理","邊緣節點"],"def":"反向代理站在伺服器前面，替它接收所有請求，再轉給後面真正處理的程式，順便處理 HTTPS、壓縮、快取與負載平衡（相對地，「正向代理」是替使用者對外連線，例如公司的上網代理）。CDN 則把內容複製到世界各地的節點，讓使用者從最近的節點下載。","analogy":"反向代理像飯店櫃台：客人只跟櫃台接觸，櫃台再把需求轉給房務或餐廳。CDN 像連鎖超商的區域倉庫：貨先放到離你最近的倉庫，不用每次都從總倉出貨。","when":"Nginx、Caddy、HAProxy、Traefik 是常見的反向代理，Kubernetes 的 Ingress 背後也是它。CDN 有 Cloudflare、Amazon CloudFront、Akamai 等，用來放圖片、影片、JS、CSS，也能擋下 DDoS 攻擊。","pitfall":"經過反向代理之後，後端看到的來源 IP 都變成代理的 IP；真實的使用者 IP 要從 X-Forwarded-For 標頭取得，而且只能信任自己的代理加上的值，否則使用者可以偽造。","cases":[{"title":"Fastly 全球故障（2021）","text":"2021 年 6 月 8 日，CDN 服務商 Fastly 的一位客戶修改了一個正常的設定，觸發了隱藏的 bug，全球大部分節點回傳錯誤，Amazon、Reddit、紐約時報、英國政府網站一起掛掉，大約一小時內陸續恢復。"},{"title":"Nginx 與 C10K 問題","text":"2000 年前後，「一台伺服器怎麼同時服務一萬個連線」（C10K）是熱門難題。Igor Sysoev 為此開發了用事件驅動處理連線的 Nginx，2004 年公開後，成為最常見的反向代理之一。"}],"level":"mid","interview":"mid","skills":["nginx","cloudflare","networking"],"terms":["cdn","load-balancer"],"related":["proxy","load-balancing","caching","k8s-service"]},{"id":"websocket-realtime","name":"即時通訊：輪詢、SSE 與 WebSocket","aka":["WebSocket","SSE","Server-Sent Events","Long Polling","Polling","即時通訊"],"def":"HTTP 原本是「客戶端問、伺服器答」，伺服器不能主動推送。要做即時更新有三種常見做法：輪詢（每隔幾秒問一次）、SSE（伺服器透過一條保持開啟的 HTTP 連線單向持續推送）、WebSocket（建立後雙方都能隨時傳送的雙向連線）。","analogy":"輪詢像小孩在車上每五分鐘問一次「到了沒？」；SSE 像機場的廣播，有消息就主動通知你；WebSocket 像通電話，雙方隨時都能說話。","when":"輪詢：更新不頻繁、想要最簡單。SSE：股價、通知，以及 AI 聊天機器人一段一段輸出的回應（很多 LLM API 的串流就是用 SSE）。WebSocket：聊天室、多人協作編輯、線上遊戲。","pitfall":"WebSocket 是長時間保持的連線，伺服器要撐得住大量同時連線；有多台伺服器時，A 機器上的使用者要傳訊息給 B 機器上的使用者，得靠 Redis Pub/Sub 或訊息佇列轉送。負載平衡器與反向代理也要設定成支援長連線。","cases":[{"title":"WebSocket 之前的長輪詢","text":"WebSocket 在 2011 年才成為標準（RFC 6455）。在那之前，Gmail、Facebook 的網頁聊天靠「長輪詢」：請求送出後伺服器先不回應，等到有新訊息才回，前端收到後馬上再送下一個請求。"},{"title":"Discord 的 Gateway","text":"Discord 的用戶端透過 WebSocket 連到稱為 Gateway 的伺服器，新訊息、誰正在輸入、誰上線了，都由伺服器即時推送過來；聊天機器人也是用同一套連線接收事件。"}],"level":"mid","interview":"mid","skills":["websocket","llm"],"related":["redis-pubsub-streams","pubsub-model","http-basics"]},{"id":"http-versions","name":"HTTP/1.1、HTTP/2 與 HTTP/3","aka":["HTTP/1.1","HTTP/2","HTTP/3","QUIC","Multiplexing","Head-of-line Blocking"],"def":"HTTP/1.1 的一條連線同一時間只能處理一個請求，瀏覽器得開好幾條連線並行下載；HTTP/2 在同一條 TCP 連線上同時傳送多個請求（多工）並壓縮標頭；HTTP/3 改用建立在 UDP 上的 QUIC，連線建立得更快，遇到掉封包時也不會整條連線一起卡住。","analogy":"HTTP/1.1 像單線道，一次只能過一台車，要快就得多開幾條路；HTTP/2 像多線道的高速公路，但只要一處發生事故，整條路都會塞（TCP 的隊頭阻塞）；HTTP/3 讓每個車道各自獨立，一條出事不影響其他車道。","when":"多半不用改程式：CDN、Nginx、雲端負載平衡器打開設定就能支援。gRPC 就是建立在 HTTP/2 之上。網路不穩定的手機使用者，從 HTTP/3 得到的改善最明顯。","pitfall":"HTTP/1.1 時代的優化技巧（把小圖合併成一張大圖、把所有 JS 打包成一個大檔、把資源分散到多個網域），在 HTTP/2 之後不一定還需要，有時甚至會變慢。","cases":[{"title":"從 SPDY 到 HTTP/2、HTTP/3","text":"Google 在 2009 年做了實驗性的 SPDY 協定，後來成為 HTTP/2 的基礎（2015 年標準化）；之後 Google 又把在 UDP 上傳輸的 QUIC 推上標準，成為 HTTP/3（2022 年）。新版本都是先在自家瀏覽器與網站實驗出來的。"},{"title":"HTTP/2 Rapid Reset 攻擊（2023）","text":"HTTP/2 允許在同一條連線上送出請求後立刻取消。攻擊者利用這點不斷「送出、取消」，讓伺服器白做工。2023 年 Google 擋下的這類攻擊，最高達到每秒 3.98 億個請求。"}],"level":"adv","interview":"low","skills":["networking","grpc","nginx"],"related":["tcp-udp","http-basics","reverse-proxy-cdn"]}]},{"id":"sql","name":"關聯式資料庫","intro":"MySQL、PostgreSQL、SQL Server、Oracle 這些關聯式資料庫，是絕大多數系統存放重要資料的地方，也是後端面試的必考題。會寫 SELECT 只是開始；懂得索引怎麼運作、交易怎麼隔離、資料表怎麼設計，才寫得出資料變多也不會變慢、同時有很多人操作也不會算錯的系統。","order":"資料表、主鍵與外鍵 → JOIN → 視窗函式 → 正規化 → 索引 → 複合索引 → 執行計畫 → 交易隔離等級 → 鎖與並行控制 → N+1 查詢 → 連線池 → 結構遷移","skills":["sql","postgresql","mysql","sqlserver","oracle","orm"],"resources":[{"title":"SQLBolt：在瀏覽器裡一步一步練習 SQL（英文）","url":"https://sqlbolt.com/"},{"title":"Use The Index, Luke!：給開發者的索引與效能教學（英文）","url":"https://use-the-index-luke.com/"},{"title":"PostgreSQL 官方入門教學（英文）","url":"https://www.postgresql.org/docs/current/tutorial.html"}],"concepts":[{"id":"relational-basics","name":"資料表、主鍵與外鍵","aka":["Table","Primary Key","Foreign Key","Constraint","Schema","主鍵","外鍵","約束"],"def":"關聯式資料庫把資料存成一張張表：每一列是一筆資料，每一欄有固定的型別。主鍵（Primary Key）是每一列獨一無二的編號；外鍵（Foreign Key）記錄「這筆資料屬於另一張表的哪一筆」，資料庫會幫你檢查它真的存在。","analogy":"班級點名簿：每個學生有唯一的學號（主鍵）；成績單上只寫學號、不重抄姓名，要知道是誰再對照點名簿（外鍵）。","when":"幾乎所有的業務資料：會員、訂單、商品、庫存。再加上唯一（UNIQUE）、不可為空（NOT NULL）、檢查（CHECK）這些約束，讓資料庫替你擋下不合理的資料。","pitfall":"只在程式裡檢查、資料庫完全不設約束：程式有 bug 或有人直接改資料庫時，就會出現「訂單指向不存在的會員」這種髒資料。另外，SQLite 預設不檢查外鍵，要先執行 PRAGMA foreign_keys = ON。","code":{"lang":"SQL","src":"CREATE TABLE users (\n  id    BIGINT PRIMARY KEY,\n  email TEXT NOT NULL UNIQUE,\n  name  TEXT NOT NULL\n);\n\nCREATE TABLE orders (\n  id      BIGINT PRIMARY KEY,\n  user_id BIGINT NOT NULL REFERENCES users(id),   -- 外鍵：一定要是存在的會員\n  total   INTEGER NOT NULL CHECK (total >= 0)     -- 金額不能是負的\n);"},"cases":[{"title":"Codd 的關聯式模型（1970）","text":"IBM 研究員 E. F. Codd 在 1970 年的論文提出：把資料存成一張張表，用數學上的「關係」來查詢，不用管資料在硬碟上怎麼擺。今天的關聯式資料庫都源自這篇論文，SQL 則是 IBM 之後依此設計的查詢語言。"},{"title":"同一個 email 註冊了兩次","text":"只在程式裡檢查「這個 email 用過了沒」，兩個註冊請求同時送進來時都會檢查通過，就產生兩個一樣的帳號。在資料庫加上 UNIQUE 約束，第二筆會直接被拒絕。"}],"level":"basic","interview":"mid","skills":["sql","postgresql","mysql"],"terms":["database","sql"],"related":["sql-join","normalization","sql-vs-nosql"]},{"id":"sql-join","name":"JOIN 與分組統計","aka":["JOIN","INNER JOIN","LEFT JOIN","GROUP BY","HAVING","聚合函式"],"def":"JOIN 依照共同的欄位把兩張表的資料配對起來：INNER JOIN 只留下兩邊都配對得到的；LEFT JOIN 保留左邊的全部，右邊配不到的欄位填 NULL。再搭配 GROUP BY 與 COUNT、SUM 等聚合函式做統計。","analogy":"把點名簿和成績單用學號對起來：INNER JOIN 只列出有交成績的學生；LEFT JOIN 列出全班，沒交的人成績欄空白。","when":"報表與後台查詢，例如「每位會員的訂單數與總金額」「從來沒下過單的會員」。面試常考 INNER JOIN 與 LEFT JOIN 的差別，以及 WHERE（分組前過濾）與 HAVING（分組後過濾）的差別。","pitfall":"LEFT JOIN 之後在 WHERE 裡過濾右邊的表（例如 WHERE o.total > 100），沒配對到的 NULL 會被一起濾掉，結果就和 INNER JOIN 一樣了；這種條件要寫在 ON 裡。","code":{"lang":"SQL","src":"-- 每位會員的訂單數與總金額；沒下過單的也要列出來（顯示 0）\nSELECT u.name,\n       COUNT(o.id)               AS order_count,\n       COALESCE(SUM(o.total), 0) AS total_spent\nFROM users u\nLEFT JOIN orders o ON o.user_id = u.id\nGROUP BY u.id, u.name\nORDER BY total_spent DESC;"},"cases":[{"title":"從沒下過單的顧客（LeetCode 183）","text":"LeetCode 資料庫題的經典：顧客表 LEFT JOIN 訂單表，再篩出訂單那一邊是 NULL 的人。用 INNER JOIN 的話，永遠找不到這些人。"},{"title":"比主管賺得多的員工（LeetCode 181）","text":"同一張員工表 JOIN 自己（self join）：一份當員工、一份當主管，用「員工的主管編號 = 主管的編號」對起來再比較薪水。組織圖、推薦人這類資料都會用到。"}],"level":"basic","interview":"high","skills":["sql"],"related":["relational-basics","window-functions","sql-indexing","n-plus-one"]},{"id":"window-functions","name":"視窗函式：排名、前一筆與累計","aka":["Window Function","OVER","PARTITION BY","ROW_NUMBER","RANK","DENSE_RANK","LAG","LEAD","Analytic Function","窗口函數","分析函數"],"def":"視窗函式替每一列算出「和其他列比較」的值：排第幾名、上一筆是多少、累計到這裡總共多少。寫法是在函式後面加上 OVER (...)：PARTITION BY 決定分組，各組分開計算；ORDER BY 決定組內的先後。和 GROUP BY 最大的不同是：GROUP BY 會把一組合併成一列，視窗函式則保留每一列，只是多了一欄。","analogy":"全年級的成績單：GROUP BY 像只交出「每班平均」，學生的名字都不見了；視窗函式像在每位學生旁邊多寫一欄「班上第幾名」，每個人都還在。PARTITION BY 班級，就是各班分開排名。","when":"報表與資料分析天天用得到：每個分類賣最好的前 3 名、每位會員最近一筆訂單、這個月和上個月相比（LAG）、累計營收與 7 日移動平均（SUM、AVG 加上 OVER）。資料分析、資料工程的面試幾乎必考，最常見的是「每組取前 N 名」。PostgreSQL、SQL Server、Oracle 很早就支援，MySQL 到 8.0、SQLite 到 3.25 才加入；pandas 的 groupby 搭配 rank、shift、rolling 也是同樣的想法。","pitfall":"視窗函式在 WHERE 之後才計算，所以不能直接寫 WHERE ROW_NUMBER() OVER (...) = 1，要像範例一樣先包一層子查詢或 CTE（WITH）再過濾；Snowflake、BigQuery、DuckDB 另外提供 QUALIFY 可以直接過濾。ORDER BY 的欄位有重複值時（例如同一天的兩筆訂單），ROW_NUMBER 誰排前面不固定，每次查詢的結果可能不同，要再加上 id 這類不會重複的欄位。","code":{"lang":"SQL","src":"-- 同分時，三種排名的差別（分數 90、85、85、70）\nSELECT name, score,\n       ROW_NUMBER() OVER (ORDER BY score DESC) AS row_num,   -- 1、2、3、4\n       RANK()       OVER (ORDER BY score DESC) AS rnk,       -- 1、2、2、4\n       DENSE_RANK() OVER (ORDER BY score DESC) AS dense_rnk  -- 1、2、2、3\nFROM scores;\n\n-- 每位會員最近的一筆訂單：在每位會員的訂單裡依時間編號，取第 1 筆\nWITH ranked AS (\n  SELECT id, user_id, total, created_at,\n         ROW_NUMBER() OVER (PARTITION BY user_id\n                            ORDER BY created_at DESC, id DESC) AS rn\n  FROM orders\n)\nSELECT id, user_id, total, created_at FROM ranked WHERE rn = 1;"},"cases":[{"title":"部門薪水前三高（LeetCode 185）","text":"題目要的是每個部門「前三種不同的薪水」：兩個人同薪都要列出來，而且只佔一種薪水的名額，所以要用 DENSE_RANK。換成 ROW_NUMBER，同薪的人會被硬分先後而漏掉；換成 RANK，同薪之後會跳號，少算一種薪水。"},{"title":"升級 MySQL 8.0 後 rank 欄位壞了","text":"MySQL 8.0 加入視窗函式時，把 RANK、ROW_NUMBER、OVER、WINDOW 等字改成保留字。資料表裡有叫 rank 的欄位，升級後 SELECT rank FROM ... 就會出現語法錯誤，要用反引號寫成 `rank` 或改名。範例裡的別名寫成 rnk 也是這個原因。"}],"level":"mid","interview":"high","skills":["sql","postgresql","mysql","pandas"],"terms":["sql","data-analyst"],"related":["sql-join","two-pointers"]},{"id":"normalization","name":"正規化與反正規化","aka":["Normalization","1NF","2NF","3NF","Denormalization","正規化"],"def":"正規化是把資料拆成多張表，讓每一項事實只存一次，避免同一份資料改了一處、忘了另一處。常見的目標是第三正規化（3NF）：每個欄位都只描述這張表的主鍵，而不是依賴其他非主鍵的欄位。","analogy":"通訊錄只在一個地方記朋友的電話，各個群組只放「朋友的編號」；朋友換號碼時只要改一次，不會有的群組是新號碼、有的還是舊號碼。","when":"交易型系統（訂單、會員、庫存）的預設做法。報表或讀取量極大的頁面，有時會刻意反正規化：多存一份算好的欄位（例如文章的留言數），用多一點維護成本換取查詢速度。","pitfall":"有些重複是「應該」的：訂單裡要另外存下單當時的商品價格，商品之後漲價，舊訂單的金額不能跟著變。正規化要避免的是「不該重複的重複」，歷史紀錄的快照不算。","cases":[{"title":"一份 Excel 打天下","text":"同一家客戶在不同列被寫成「台積電」「台積電股份有限公司」「TSMC」，地址改了又只改到其中幾列，報表一統計就對不上。正規化就是把客戶獨立成一張表，其他地方只存客戶編號。"},{"title":"資料倉儲的星狀綱要","text":"報表用的資料倉儲常刻意反正規化：中間一張「銷售」事實表，周圍是商品、門市、日期等維度表。要 JOIN 的表少、統計快，是 Ralph Kimball 推廣的經典設計。"}],"level":"mid","interview":"mid","skills":["sql"],"related":["relational-basics","query-first-modeling","sql-join"]},{"id":"sql-indexing","name":"索引","aka":["Index","B-Tree","B+Tree","Clustered Index","Full Table Scan","索引","全表掃描","回表"],"def":"索引是資料庫另外維護的一份「排好序的目錄」，多半是 B-Tree（B+Tree）結構，讓查詢不用從第一列掃到最後一列（全表掃描）。代價是佔用空間，而且每次新增、修改、刪除資料時，索引也要跟著更新。","analogy":"字典的部首索引：查一個字可以直接翻到對應的頁數，不用從第一頁翻到最後一頁；但每多收一個新字，索引也要跟著修改。","when":"常出現在 WHERE、JOIN、ORDER BY 的欄位，例如會員的 email、訂單的 user_id 與建立時間。主鍵和 UNIQUE 欄位會自動建立索引。MySQL（InnoDB）的資料本身就依主鍵排列（叢集索引），其他索引裡存的是主鍵，查到之後要再回到主鍵找完整的資料（回表）。","complexity":"有索引（B-Tree）的查詢 O(log n)；沒有索引的全表掃描 O(n)","pitfall":"索引不是越多越好：寫入會變慢、也佔空間。對欄位套用函式（例如 WHERE YEAR(created_at) = 2026），或用開頭是 % 的 LIKE 搜尋，通常就用不到一般的索引；值的種類很少的欄位（例如「是否啟用」），索引的效果也有限。","code":{"lang":"SQL","src":"CREATE INDEX idx_orders_user_id ON orders (user_id);\n\n-- 有了索引，這個查詢就不用掃描整張訂單表\nSELECT * FROM orders WHERE user_id = 42;"},"cases":[{"title":"B-Tree 的「B」是什麼（1970）","text":"B-Tree 是 Rudolf Bayer 與 Edward McCreight 在波音研究實驗室發明的，至今仍是資料庫索引的主流。至於 B 代表 Boeing、Bayer 還是 Balanced，兩位發明者自己也沒說定。"},{"title":"PostgreSQL 的外鍵不會自動建索引","text":"MySQL 會替外鍵欄位自動建索引，PostgreSQL 不會。刪除一位會員時，資料庫要確認還有沒有訂單指向他；訂單的 user_id 沒有索引，就得把整張訂單表掃一遍，資料一多就很慢。"}],"level":"mid","interview":"high","skills":["sql","postgresql","mysql"],"related":["tree","binary-search","composite-index","explain-plan"]},{"id":"composite-index","name":"複合索引與最左前綴","aka":["Composite Index","Leftmost Prefix","Covering Index","複合索引","最左前綴","覆蓋索引"],"def":"一個索引可以包含好幾個欄位，例如 (user_id, created_at)：先依 user_id 排序，同一個 user_id 再依 created_at 排序。所以只有「從最左邊的欄位開始用」的查詢才用得到它（最左前綴原則）。查詢需要的欄位全部都在索引裡時，連回表都不用（覆蓋索引）。","analogy":"電話簿先依姓、再依名排序：找「姓王、名小明」很快，找「所有姓王的」也很快；但要找「所有名叫小明的」，就得整本翻。","when":"固定的查詢條件，例如「某位會員最近的訂單」：WHERE user_id = ? ORDER BY created_at DESC，就適合建 (user_id, created_at)。常見的排列原則是：用等於比較的欄位放前面，範圍條件或排序的欄位放後面。","pitfall":"建了 (a, b) 又另外建 (a)，(a) 通常是多餘的；只用 b 查詢則用不到 (a, b)。範圍條件（>、BETWEEN）後面的欄位，通常就無法再用來快速縮小範圍。","code":{"lang":"SQL","src":"CREATE INDEX idx_orders_user_created ON orders (user_id, created_at);\n\n-- 用得到：從最左邊的 user_id 開始\nSELECT id, created_at FROM orders\nWHERE user_id = 42 ORDER BY created_at DESC LIMIT 10;\n\n-- 用不到這個索引：跳過了 user_id，只能掃描整張表\nSELECT id FROM orders WHERE created_at >= '2026-01-01';"},"cases":[{"title":"覆蓋索引：不用回表","text":"查詢只用到 user_id 和 created_at 時，(user_id, created_at) 這個索引裡就有全部需要的欄位，不用再回到資料表讀整筆資料。EXPLAIN 看到 Using index（MySQL）或 Index Only Scan（PostgreSQL）就是這種情況。"},{"title":"最左前綴也有例外：Skip Scan","text":"MySQL 8.0.13 與 PostgreSQL 18 加入了 skip scan：複合索引第一個欄位的值種類很少時（例如狀態只有幾種），查詢沒指定第一個欄位也可能用上索引。但不要依賴它，照最左前綴設計最穩。"}],"level":"adv","interview":"mid","skills":["sql","mysql","postgresql"],"related":["sql-indexing","explain-plan"]},{"id":"explain-plan","name":"執行計畫與慢查詢","aka":["EXPLAIN","EXPLAIN ANALYZE","Query Plan","Slow Query Log","執行計畫","慢查詢"],"def":"在 SQL 前面加上 EXPLAIN，資料庫會告訴你它打算怎麼執行：用了哪個索引、是不是全表掃描、預估要讀幾列。這是找出查詢為什麼慢的第一步。","analogy":"導航 App 出發前先顯示路線：走高速公路還是鑽小巷、預估要多久，覺得不對可以先調整，而不是開了才發現塞在路上。","when":"先開啟慢查詢紀錄（MySQL 的 slow query log、PostgreSQL 的 log_min_duration_statement 或 pg_stat_statements），找出最慢、最常執行的查詢，再用 EXPLAIN 看原因，補索引或改寫。PostgreSQL 與 MySQL 8 的 EXPLAIN ANALYZE 會真的執行一次，顯示實際花費的時間。","pitfall":"EXPLAIN ANALYZE 會真的執行查詢，用在 UPDATE、DELETE 上時要包在交易裡再回滾。測試環境資料太少時，資料庫可能判斷全表掃描比較快，看到的計畫會和正式環境不同。","code":{"lang":"SQL（PostgreSQL）","src":"EXPLAIN ANALYZE\nSELECT * FROM orders WHERE user_id = 42;\n\n-- 沒有索引時，可能看到：Seq Scan on orders（全表掃描）\n-- 建立索引之後，會變成：Index Scan using idx_orders_user_id on orders"},"cases":[{"title":"大量匯入後查詢突然變慢","text":"剛匯入幾百萬筆資料，資料庫的統計資訊還以為「這張表很小」，就選了全表掃描或錯的 JOIN 方式。PostgreSQL 執行 ANALYZE、MySQL 執行 ANALYZE TABLE 更新統計資訊，計畫通常就恢復正常。"},{"title":"SQL Server 的參數嗅探","text":"SQL Server 會用第一次執行時的參數產生計畫，之後重複使用。如果第一次查的是只有 3 筆訂單的小客戶，換成有 300 萬筆的大客戶時還沿用同一個計畫，就會慢得離譜。"}],"level":"mid","interview":"mid","skills":["postgresql","mysql"],"related":["sql-indexing","composite-index","n-plus-one"]},{"id":"isolation-levels","name":"交易隔離等級","aka":["Isolation Level","Read Committed","Repeatable Read","Serializable","Dirty Read","Phantom Read","MVCC","髒讀","幻讀"],"def":"好幾個交易同時進行時，彼此能看到多少對方「還沒完成」或「剛完成」的修改。SQL 標準定義了四個等級，由寬到嚴是：讀未提交、讀已提交、可重複讀、可序列化。越嚴格越不容易出錯，但能同時處理的交易越少。多數資料庫用 MVCC（保留多個版本）讓讀取不必等寫入。","analogy":"幾個人同時編輯一份共用試算表：最寬鬆的等級會看到別人打到一半的字（髒讀）；最嚴格的等級像大家排隊輪流編輯，絕對不會亂，但要等。","when":"先知道自己用的資料庫預設是什麼：PostgreSQL、SQL Server、Oracle 預設是「讀已提交」，MySQL（InnoDB）是「可重複讀」。大多數情況用預設就好；扣庫存、搶票、轉帳這類「先讀再寫」的邏輯，要搭配鎖、條件式更新，或提高隔離等級。","pitfall":"以為「包在交易裡就不會出錯」：在讀已提交的等級下，兩個交易同時「讀到庫存 1 → 各自扣成 0」，結果賣出兩份（遺失更新）。交易保證的是「全部成功或全部取消」，不會自動幫你排隊。","cases":[{"title":"Flexcoin 被提領一空（2014）","text":"比特幣錢包服務 Flexcoin 在 2014 年被駭客同時送出大量轉帳請求：每個請求在餘額被扣掉之前，都讀到同一個足夠的餘額，結果約 896 個比特幣被轉走，公司隨後宣布關閉。"},{"title":"Jepsen 的資料庫測試","text":"Kyle Kingsbury 的 Jepsen 計畫專門用網路中斷、時鐘錯亂等方式測試資料庫，多次發現資料庫實際做到的隔離等級比文件宣稱的弱。選資料庫時，這些公開報告很值得參考。"}],"level":"adv","interview":"high","skills":["postgresql","mysql","sqlserver"],"related":["acid-base","sql-locking","eventual-consistency"]},{"id":"sql-locking","name":"鎖與並行控制：悲觀鎖與樂觀鎖","aka":["Pessimistic Lock","Optimistic Lock","SELECT FOR UPDATE","Version Column","Deadlock","悲觀鎖","樂觀鎖","死結"],"def":"防止「同時修改同一筆資料」出錯的兩種做法。悲觀鎖：先鎖住再改（SELECT ... FOR UPDATE），別人要等你做完；樂觀鎖：不先鎖，更新時檢查版本號有沒有被別人改過，改過就重新讀取再試。","analogy":"悲觀鎖像借會議室要先登記，登記的人用完別人才能進去；樂觀鎖像共同編輯文件，存檔時系統檢查「你編輯的期間有沒有別人改過」，有的話請你重新整理再改。","when":"衝突很常發生（熱門商品扣庫存）用悲觀鎖或條件式更新；衝突很少（編輯個人資料、後台設定）用樂觀鎖。最簡單也最常用的其實是條件式更新：一行 UPDATE 裡同時判斷條件，再檢查影響了幾列。","pitfall":"兩個交易以相反的順序鎖住兩筆資料，會互相等待形成死結（deadlock），資料庫會強制中止其中一個；固定加鎖的順序、讓交易越短越好，可以減少死結。鎖住的期間不要去呼叫外部 API，不然所有人都要跟著等。","code":{"lang":"SQL","src":"-- 條件式更新：庫存大於 0 才扣，一行完成，不會超賣\nUPDATE products SET stock = stock - 1 WHERE id = 7 AND stock > 0;\n-- 影響 0 列 = 賣完了\n\n-- 樂觀鎖：讀取時記下 version，更新時確認沒被別人改過\nUPDATE products SET price = 65, version = version + 1\nWHERE id = 7 AND version = 3;\n-- 影響 0 列 = 被別人搶先改了，重新讀取再試"},"cases":[{"title":"維基百科的編輯衝突","text":"維基百科用的是樂觀鎖：編輯時不鎖住頁面，按下儲存時才檢查這段期間有沒有人改過同一頁，有的話跳出「編輯衝突」請你合併，而不是讓全世界排隊等你編完。"},{"title":"HTTP 的樂觀鎖：ETag 與 If-Match","text":"API 回傳資料時附上版本標記 ETag；用戶端更新時帶上 If-Match，資料在這段期間被別人改過，伺服器就回 412 Precondition Failed，不會默默蓋掉別人的修改。"}],"level":"adv","interview":"high","skills":["sql","postgresql","mysql"],"related":["isolation-levels","redis-lock","idempotency"]},{"id":"n-plus-one","name":"N+1 查詢與 ORM","aka":["N+1 Query","ORM","Eager Loading","Lazy Loading","Hibernate","SQLAlchemy","Prisma"],"def":"先查出 N 筆資料（1 次查詢），再對每一筆各查一次關聯的資料（N 次查詢），總共 N+1 次。使用 ORM（用物件操作資料庫的函式庫）時特別容易不小心寫出來，資料一多頁面就變得很慢。","analogy":"訂了 50 個便當，卻讓外送員跑 50 趟、一趟送一個，而不是一次全部載過來。","when":"列表頁最常發生：「文章列表＋每篇的作者」「訂單列表＋每筆的商品」。解法是一次把關聯資料查回來：用 JOIN、WHERE id IN (...)，或 ORM 的預先載入功能（Django 的 select_related／prefetch_related、Rails 的 includes、Prisma 的 include、JPA 的 JOIN FETCH）。","pitfall":"ORM 不是不好，而是要知道它實際送出了哪些 SQL：開發時打開 SQL 紀錄（例如 Django Debug Toolbar、Hibernate 的 show_sql），一個頁面送出上百個查詢就是警訊。","code":{"lang":"Python（Django ORM，示意）","src":"# N+1：先查 1 次文章，再每篇各查 1 次作者\nfor post in Post.objects.all():\n    print(post.title, post.author.name)\n\n# 預先載入：用 JOIN 一次把作者一起查回來\nfor post in Post.objects.select_related(\"author\"):\n    print(post.title, post.author.name)"},"cases":[{"title":"GraphQL 與 DataLoader","text":"GraphQL 讓前端一次查「文章和每篇的作者」，後端如果每篇文章各查一次作者，就是 N+1。Facebook 開源的 DataLoader 把同一輪要查的作者 id 收集起來，合併成一次查詢。"},{"title":"Rails 的 Bullet 套件","text":"Rails 社群常用的 Bullet 會在開發時自動偵測 N+1 查詢，跳出提醒告訴你哪裡該加上 includes 預先載入。"}],"level":"mid","interview":"mid","skills":["orm","django","rails","spring"],"related":["sql-join","explain-plan","repository"]},{"id":"connection-pool","name":"連線池","aka":["Connection Pool","HikariCP","PgBouncer","Pool Size","連線池","Connection Leak"],"def":"和資料庫建立連線要經過網路來回與身分驗證，成本不低，所以程式會預先開好一批連線放在「池子」裡，要用時借出、用完歸還，而不是每次查詢都重新連線。","analogy":"公共自行車站：車子固定停在站裡，借了騎、騎完還，不用每次出門都買一台新車；但站裡的車就那麼多，太多人同時要借就得排隊。","when":"幾乎所有後端框架都內建或預設使用，例如 Java 的 HikariCP、Node.js 的 pg 套件的 Pool。PostgreSQL 的每個連線都是一個獨立的行程，連線數量多時常在前面加 PgBouncer。Serverless 函式每次執行可能都開新連線，特別容易把資料庫的連線數用光。","pitfall":"池子不是越大越好：資料庫同時能有效處理的查詢有限，連線開太多反而互相搶 CPU 與鎖。每台伺服器的池子大小乘上伺服器台數，不能超過資料庫的最大連線數。借出的連線忘了歸還（連線洩漏），最後所有請求都會卡住。","cases":[{"title":"HikariCP：池子比你想的小","text":"Java 最常用的連線池 HikariCP 在文件裡建議，從「CPU 核心數 × 2 + 硬碟數」開始調整，通常只要十幾到幾十個連線。把池子開到幾百，反而讓資料庫忙著切換，變得更慢。"},{"title":"AWS RDS Proxy（2019）","text":"Lambda 函式大量同時執行時，每個都開自己的資料庫連線，很快就把連線數用光。AWS 在 2019 年推出 RDS Proxy，在函式和資料庫之間放一個共用的連線池，就是為了解決這個問題。"}],"level":"mid","interview":"mid","skills":["postgresql","mysql","spring","serverless"],"related":["scaling","serverless","sql-locking"]},{"id":"schema-migration","name":"資料表結構遷移","aka":["Migration","Schema Migration","Flyway","Liquibase","Alembic","結構變更"],"def":"用程式碼記錄資料表結構的每一次變更（新增欄位、建立索引），依序套用到每個環境，讓本機、測試、正式環境的結構保持一致，也能放進 Git 做 Code Review。","analogy":"房子的裝修紀錄：第 1 次加了一個房間、第 2 次打掉一面牆，照著紀錄依序施工，每一間樣品屋都會長得一模一樣。","when":"幾乎所有框架都有：Rails、Laravel、Django 的 migrations，Python 的 Alembic，Java 的 Flyway 與 Liquibase，Node.js 的 Prisma Migrate。通常放在部署流程中自動執行。","pitfall":"在很大的資料表上加索引或改欄位型別，可能鎖住整張表很久，讓線上服務停擺；要用不鎖表的方式（例如 PostgreSQL 的 CREATE INDEX CONCURRENTLY），並在離峰時間執行。滾動更新時新舊程式會同時在線，結構變更要相容兩個版本：先加新欄位，舊版下線後再刪舊欄位。","cases":[{"title":"GitHub 的 gh-ost（2016）","text":"MySQL 的大表直接改結構，可能鎖表很久。GitHub 開源的 gh-ost 先建一張新結構的影子表，在背景慢慢複製資料、同時跟上新的寫入，最後一瞬間把兩張表對調，線上服務幾乎感覺不到。"},{"title":"Stripe 的線上遷移四步驟","text":"Stripe 分享過不停機搬移資料的做法：先同時寫入新舊兩邊，再把讀取改到新的地方，接著寫入也只寫新的，最後才刪掉舊資料。每一步都能單獨上線，出問題也能退回。"}],"level":"mid","interview":"low","skills":["orm","cicd","django","rails","laravel"],"terms":["deploy","environments"],"related":["k8s-deployment","iac","deploy-strategies"]}]},{"id":"security","name":"身分驗證與資安","intro":"資安不是資安工程師一個人的事：一個沒處理好的輸入欄位、一把推上 GitHub 的金鑰，就可能讓整個公司的資料外洩。先分清楚「驗證（你是誰）」和「授權（你能做什麼）」，再學會常見的攻擊手法與防禦方式，是每個工程師都該有的基本功。","order":"驗證與授權 → 密碼雜湊 → Session 與 JWT → OAuth 2.0 與 OIDC → 多因素驗證 → 權限模型 → OWASP Top 10 → SQL Injection → XSS → CSRF → 秘密管理","skills":["security","auth","cryptography"],"resources":[{"title":"OWASP Top 10:2025：最常見的十大網站資安風險（英文）","url":"https://top10.owasp.org/2025/"},{"title":"OWASP Cheat Sheet Series：各種資安主題的實作檢查清單（英文）","url":"https://cheatsheetseries.owasp.org/"},{"title":"PortSwigger Web Security Academy：免費的線上資安實驗室（英文）","url":"https://portswigger.net/web-security"}],"concepts":[{"id":"authn-authz","name":"驗證與授權","aka":["Authentication","Authorization","AuthN","AuthZ","IDOR","身分驗證","授權"],"def":"驗證（Authentication）是確認「你是誰」，例如輸入帳號密碼、刷臉；授權（Authorization）是決定「你可以做什麼」，例如一般會員只能看自己的訂單，管理員才能看所有人的。先驗證，再授權。","analogy":"搭飛機：在報到櫃台出示護照是驗證（確認你就是你）；登機證上的艙等決定你能不能進貴賓室，是授權。","when":"每個需要登入的系統都有這兩層。API 回應 401 代表驗證失敗（不知道你是誰），403 代表授權失敗（知道你是誰，但你沒有權限）。","pitfall":"只在前端把按鈕藏起來，後端卻沒有檢查權限：有人直接呼叫 API、改一下網址裡的訂單編號，就能看到別人的資料（IDOR）。這屬於「權限控管失效」，在 OWASP Top 10 的 2021 與 2025 版都排第一名。每一個 API 都要在後端檢查「這個人能不能存取這筆資料」。","cases":[{"title":"First American 文件外洩（2019）","text":"美國產權保險公司 First American 的網站，文件網址裡只有一個依序遞增的編號，也不檢查看的人有沒有權限：把網址的數字改一改，就能看到別人的銀行帳戶與證件號碼，曝光的文件約 8.85 億份。"},{"title":"Optus 的對外 API（2022）","text":"澳洲電信 Optus 在 2022 年外洩約 980 萬名客戶的資料。公司起初說是複雜的攻擊，但澳洲政府與內部人士指出，問題出在一支因人為疏失而對外開放的 API。每一支 API 都要預設需要驗證與授權。"}],"level":"basic","interview":"high","skills":["auth","security"],"related":["rbac","session-vs-jwt","http-status","owasp-top10"]},{"id":"password-hashing","name":"密碼雜湊與加鹽","aka":["Password Hashing","Salt","bcrypt","Argon2","scrypt","雜湊","加鹽"],"def":"密碼絕對不能用明文存，也不能用可以解回去的「加密」存，而是存「雜湊值」：用單向函式算出一串值，登入時把使用者輸入的密碼用同樣方式再算一次來比對。每個密碼還要加上一段隨機的鹽（salt），讓同樣的密碼算出不同的結果。","analogy":"雜湊像把水果打成果汁：同樣的水果打出來的果汁一樣，但沒辦法把果汁變回水果。加鹽像每杯果汁再加入不同的獨門配料：就算兩個人選了同樣的水果，喝起來也不一樣，沒辦法拿一張「果汁對照表」反查。","when":"用專門為密碼設計、刻意算得很慢的演算法：Argon2id、bcrypt、scrypt。大多數框架都已內建（Django、Laravel、Spring Security、ASP.NET Core Identity），直接用就好，不要自己發明。","pitfall":"用 MD5 或 SHA-256 直接雜湊密碼：它們設計得很快，攻擊者用顯示卡每秒能試上億次，配合外洩的常見密碼清單，很快就能破解。也不要把密碼的長度上限設得太短，或禁止特殊符號。","code":{"lang":"Python","src":"import hashlib, hmac, os\n\n# 示範用參數；正式環境照 OWASP 建議調整，或直接用框架內建的密碼功能\ndef hash_password(password):\n    salt = os.urandom(16)                    # 每個密碼一組隨機的鹽\n    digest = hashlib.scrypt(password.encode(), salt=salt, n=2**14, r=8, p=1)\n    return salt + digest                     # 鹽要和雜湊值存在一起\n\ndef verify_password(password, stored):\n    salt, digest = stored[:16], stored[16:]\n    attempt = hashlib.scrypt(password.encode(), salt=salt, n=2**14, r=8, p=1)\n    return hmac.compare_digest(attempt, digest)   # 固定時間比較，避免時序攻擊\n\nstored = hash_password(\"correct horse battery\")\nprint(verify_password(\"correct horse battery\", stored))   # True\nprint(verify_password(\"123456\", stored))                  # False"},"cases":[{"title":"LinkedIn 密碼外洩（2012）","text":"LinkedIn 當時用沒有加鹽的 SHA-1 存密碼，2012 年外洩的雜湊值很快就被大量破解；2016 年又發現實際外洩的帳號超過 1 億個。這是「不加鹽、用太快的雜湊」最有名的反例。"},{"title":"Adobe 用可還原的加密存密碼（2013）","text":"Adobe 2013 年外洩約 1.5 億筆帳號，密碼不是雜湊，而是全部用同一把金鑰加密，旁邊還有明文的「密碼提示」。同樣的密碼加密結果一樣，把提示互相對照，就猜出了很多人的密碼。"}],"level":"mid","interview":"high","skills":["security","cryptography","auth"],"related":["hash-table","authn-authz","secrets-management"]},{"id":"session-vs-jwt","name":"Session 與 JWT","aka":["Session","JWT","JSON Web Token","Access Token","Refresh Token","Bearer Token","Token"],"def":"登入之後，伺服器要記住你是誰。Session：登入狀態存在伺服器，只給瀏覽器一個隨機的 Session ID（通常放在 Cookie）。JWT：把使用者資訊和到期時間寫進一個有簽章的 Token，伺服器只要驗證簽章就知道是誰，不必查資料庫。","analogy":"Session 像健身房的置物櫃鑰匙：鑰匙本身只是號碼，東西放在櫃台那邊。JWT 像蓋了鋼印的通行證：上面直接寫著你的名字和有效期限，門口確認鋼印是真的就放行。","when":"傳統網站、只有一個網域的系統：Session 簡單又容易撤銷。多個服務、手機 App、開放給第三方的 API：常用 JWT，搭配效期很短的 Access Token 與可以撤銷的 Refresh Token。","pitfall":"JWT 的內容只是編碼、沒有加密，任何人都看得到，不要放敏感資料。JWT 發出去之後在到期前都有效，很難強制登出，所以效期要短。把 Token 存在 localStorage，網站一有 XSS 漏洞就會被偷走；放在 HttpOnly Cookie 比較安全，但要防 CSRF。","code":{"lang":"Python","src":"import base64, json\n\ntoken = \"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiI0MiIsImV4cCI6MTc5MjU0NTYwMH0.xxxx\"  # 最後一段簽章省略\npayload = token.split(\".\")[1]\npayload += \"=\" * (-len(payload) % 4)                  # 補齊 Base64 的長度\nprint(json.loads(base64.urlsafe_b64decode(payload)))   # {'sub': '42', 'exp': 1792545600}\n# 任何人都能解開來看：JWT 的簽章只防竄改、不防偷看，不要放密碼或個資"},"cases":[{"title":"JWT 的 alg: none 漏洞（2015）","text":"JWT 的標頭可以寫明用哪種演算法簽章，規格也允許 none（不簽章）。2015 年有研究者發現，不少函式庫照著標頭驗證：攻擊者把演算法改成 none、拿掉簽章，偽造的 Token 就被當成有效。驗證時一定要指定只接受的演算法。"},{"title":"Session 固定攻擊","text":"攻擊者先拿到一組 Session ID，想辦法讓受害者用這組 ID 登入；受害者登入後，攻擊者拿同一組 ID 就變成登入狀態。所以登入成功後一定要換發新的 Session ID，各大框架預設都會這樣做。"}],"level":"mid","interview":"high","skills":["auth","security"],"terms":["json"],"related":["cookie-http-cache","oauth-oidc","xss","csrf"]},{"id":"oauth-oidc","name":"OAuth 2.0 與 OpenID Connect","aka":["OAuth 2.0","OAuth","OIDC","OpenID Connect","SSO","PKCE","第三方登入","單一登入"],"def":"OAuth 2.0 讓使用者授權一個應用程式「代替他存取另一個服務的部分資料」，而不必把密碼交給這個應用程式。OpenID Connect（OIDC）建立在 OAuth 2.0 之上，加上「這個人是誰」的標準格式（ID Token），是「用 Google、LINE、Apple 帳號登入」背後的技術。","analogy":"飯店的房卡：櫃台（Google）確認你的身分之後，發給清潔人員（應用程式）一張只能開你的房門、而且今天有效的卡，而不是把你的身分證和萬用鑰匙交給他。","when":"第三方登入、企業的單一登入（SSO，例如用公司的 Microsoft 帳號登入各種內部系統）、串接 Google 日曆或 GitHub 等服務的 API。網頁與手機 App 用「授權碼流程加上 PKCE」。常見的身分服務有 Auth0、Okta、Keycloak、Firebase Authentication、Amazon Cognito。","pitfall":"OAuth 本身是「授權」協定：只拿 Access Token 來判斷「使用者是誰」是常見的錯誤，登入要用 OIDC 的 ID Token，並驗證簽章與發給的對象。自己從頭實作很容易出錯，優先使用成熟的函式庫或身分服務。","cases":[{"title":"OAuth 的誕生（2007）","text":"在 OAuth 之前，第三方 App 要讀你的資料，常常直接要你輸入帳號密碼。2006 到 2007 年，Twitter 等公司的工程師制定了 OAuth，讓使用者只授權「特定範圍、可以撤銷」的權限，不用交出密碼；OAuth 2.0 在 2012 年成為標準。"},{"title":"「使用 Google 帳號登入」","text":"按下這顆按鈕，網站把你導到 Google；Google 確認身分、你同意分享哪些資料後，帶著一次性的授權碼回到網站，網站再用它換到 ID Token，知道你是誰。網站從頭到尾都碰不到你的 Google 密碼。"}],"level":"adv","interview":"mid","skills":["auth","security"],"related":["session-vs-jwt","authn-authz","mfa"]},{"id":"mfa","name":"多因素驗證與通行金鑰","aka":["MFA","2FA","TOTP","Passkey","WebAuthn","FIDO2","兩步驟驗證","通行金鑰"],"def":"多因素驗證要求兩種以上不同類型的證明：你知道的（密碼）、你擁有的（手機、實體安全金鑰）、你本身的（指紋、臉）。密碼外洩了，攻擊者沒有你的手機還是登不進去。通行金鑰（Passkey）則用裝置裡的金鑰加上生物辨識取代密碼，而且天生能防釣魚。","analogy":"銀行的保險箱要「鑰匙＋印鑑」兩樣都有才打得開，只偷到其中一樣沒有用。","when":"雲端主控台、GitHub、公司 VPN、管理後台都一定要開。驗證器 App 產生的 6 位數密碼（TOTP）比簡訊驗證碼安全，簡訊可能被 SIM 卡挾持攔截。新系統可以考慮支援 Passkey（WebAuthn 標準）。","pitfall":"驗證碼也可能被釣魚網站即時轉送：使用者在假網站輸入驗證碼，攻擊者馬上拿去真網站登入。Passkey 與實體安全金鑰會綁定網域，所以能擋下這種攻擊。","cases":[{"title":"Twitter 名人帳號被盜（2020）","text":"2020 年 7 月，駭客打電話假冒公司的 IT 人員，騙 Twitter 員工到釣魚網站登入，取得內部管理工具，盜用歐巴馬、比爾蓋茲等名人的帳號發布比特幣詐騙。光靠密碼與簡單的驗證，擋不住這種社交工程。"},{"title":"Google 員工改用實體安全金鑰","text":"Google 從 2017 年起要求員工用實體安全金鑰登入，據該公司表示，之後員工帳號沒有再被釣魚盜用成功過。安全金鑰會檢查網域，假網站拿不到能用的驗證結果。"}],"level":"mid","interview":"low","skills":["auth","security"],"related":["authn-authz","oauth-oidc","cloud-iam"]},{"id":"rbac","name":"權限模型：RBAC 與 ABAC","aka":["RBAC","ABAC","Role-Based Access Control","ACL","Permission","角色權限"],"def":"RBAC（以角色為基礎）先定義角色（管理員、編輯、檢視者）以及各角色能做的事，再把角色指派給使用者；ABAC（以屬性為基礎）則依使用者、資料與情境的屬性判斷，例如「只能編輯自己部門、狀態是草稿的文件」。","analogy":"RBAC 像公司的職稱：店長能看營收、店員能結帳，新人報到時給他職稱就有對應的權限。ABAC 像更細的規則：「店員只能退自己今天結的帳，而且金額低於 1,000 元」。","when":"後台管理系統、SaaS 的團隊成員權限、雲端的 IAM。大多數系統從 RBAC 開始就夠用，規則變複雜時再加上屬性判斷。","pitfall":"權限檢查散落在各個地方，新增功能時很容易漏掉，最好集中在同一層處理（例如中介層或統一的權限函式）。只檢查「是不是管理員」還不夠，還要檢查「這筆資料是不是他能存取的」。","cases":[{"title":"GitHub 的組織與儲存庫權限","text":"GitHub 的每個儲存庫有 Read、Triage、Write、Maintain、Admin 等角色，權限可以直接給「團隊」。新人加入某個團隊，就自動拿到那個團隊所有儲存庫的權限，是 RBAC 很好的例子。"},{"title":"AWS 依標籤控管權限","text":"AWS IAM 除了角色，還能加上條件，例如「只能操作標籤是 team=payment 的機器」。新增資源時只要貼對標籤，權限就自動跟上，這就是 ABAC 的做法。"}],"level":"mid","interview":"low","skills":["auth","security"],"related":["authn-authz","cloud-iam"]},{"id":"owasp-top10","name":"OWASP Top 10","aka":["OWASP","OWASP Top 10","Web Security","網站資安","常見漏洞"],"def":"OWASP 是推廣應用程式安全的非營利組織，每隔幾年整理一次「網站應用程式最常見的十大風險」，是業界最常引用的資安檢查清單。2025 年版排在前五名的是：權限控管失效、安全設定錯誤、軟體供應鏈問題、加密機制失效、注入攻擊。","analogy":"健康檢查的必檢項目：檢查完不保證百分之百健康，但最常見、最危險的問題會先被篩出來。","when":"程式碼審查、資安檢測、新人教育訓練的起點。很多公司的資安規範與第三方檢測（滲透測試、弱點掃描）也會對照這份清單。","pitfall":"把它當成「資安的全部」：它只是最常見的十類，不是完整清單，而且內容會隨版本更新。上線前做一次弱點掃描也不夠，要在開發流程中持續檢查，例如在 CI 裡加入套件漏洞掃描。","cases":[{"title":"Equifax 外洩 1.47 億人資料（2017）","text":"美國信用評等機構 Equifax 沒有及時更新 Apache Struts 框架，攻擊者利用一個已經公開約兩個月、早有修補程式的漏洞入侵，約 1.47 億人的個資外洩。對應的是「使用有漏洞或過時的元件」這一類。"},{"title":"Log4Shell（2021）","text":"Java 最常用的日誌套件 Log4j 被發現：只要日誌裡記到一段特製的文字，伺服器就會去下載並執行遠端的程式。因為它幾乎無所不在，從遊戲伺服器到企業系統都得緊急修補，是近年影響最廣的漏洞之一。"}],"level":"basic","interview":"mid","skills":["security"],"related":["sql-injection","xss","csrf","authn-authz"]},{"id":"sql-injection","name":"SQL Injection 注入攻擊","aka":["SQL Injection","SQLi","Injection","Parameterized Query","Prepared Statement","注入攻擊","參數化查詢"],"def":"把使用者的輸入直接接進 SQL 字串，攻擊者就能輸入一段 SQL 改變查詢的意思，例如讀出所有會員的資料、刪掉資料表。防禦方式是參數化查詢：SQL 與資料分開傳給資料庫，輸入的內容永遠只會被當成資料。","analogy":"請秘書照著紙條辦事，紙條寫著「把〔客人名字〕的資料拿來」，結果客人在名字欄填了「王小明，順便把保險箱鑰匙也拿來」，秘書照念照做。","when":"任何用到資料庫的地方。ORM 與查詢建構器預設就會用參數化查詢；需要自己寫 SQL 時，用 ? 或 $1 這類佔位符。同樣的道理也適用在作業系統指令、NoSQL 查詢等各種「注入」。","pitfall":"自己用取代字元或過濾關鍵字（擋掉單引號、擋掉 OR）來防禦，總會有繞過的方法；也不要以為「這個欄位只有內部人員使用」就不用防。資料表名稱、排序欄位這種不能參數化的部分，要用白名單比對。","code":{"lang":"Python","src":"import sqlite3\n\ndb = sqlite3.connect(\":memory:\")\ndb.execute(\"CREATE TABLE users (name TEXT, secret TEXT)\")\ndb.execute(\"INSERT INTO users VALUES ('amy', 'A'), ('ben', 'B')\")\n\nname = \"x' OR '1'='1\"                         # 攻擊者在「名字」欄位輸入的內容\nunsafe = f\"SELECT * FROM users WHERE name = '{name}'\"\nprint(db.execute(unsafe).fetchall())           # 危險：所有人的資料都被撈出來\n\nsafe = \"SELECT * FROM users WHERE name = ?\"    # 參數化查詢：輸入只會被當成資料\nprint(db.execute(safe, (name,)).fetchall())    # []"},"cases":[{"title":"小 Bobby Tables（xkcd 327）","text":"工程師圈最有名的漫畫之一：媽媽替兒子取名叫 Robert'); DROP TABLE Students;--，學校系統一登錄他的名字，學生資料表就被刪掉了。媽媽的結論是：學校該學會處理資料庫的輸入。"},{"title":"Heartland 支付系統（2008）","text":"攻擊者從一個 SQL Injection 漏洞進入美國支付處理商 Heartland 的網路，再植入側錄程式，竊取了約 1.3 億張信用卡的資料，是當時規模最大的信用卡外洩事件之一。"}],"level":"basic","interview":"high","skills":["security","sql"],"related":["owasp-top10","relational-basics","xss"]},{"id":"xss","name":"XSS 跨站腳本攻擊","aka":["XSS","Cross-Site Scripting","CSP","Content Security Policy","Escaping","跨站腳本"],"def":"攻擊者把一段 JavaScript 混進網頁內容（例如留言、暱稱），其他人打開頁面時，這段程式就在他們的瀏覽器裡執行，可以偷走登入資訊、冒用身分操作。防禦的核心是：把使用者提供的內容輸出到網頁時，當成「文字」而不是 HTML。","analogy":"公布欄讓大家貼紙條，有人貼了一張「看到這張紙條的人，請把你的鑰匙放在門口」，結果路過的人真的照做了。","when":"任何顯示使用者輸入的地方：留言、個人簡介、搜尋結果頁上的「你搜尋了……」。React、Vue 預設會跳脫輸出的內容；用到 innerHTML、dangerouslySetInnerHTML、v-html 時要特別小心。再加上 CSP（內容安全政策）標頭，限制頁面只能執行指定來源的程式。","pitfall":"只在輸入時過濾不夠，要在「輸出」時依情境處理（HTML 內容、屬性、網址、JavaScript 各有不同的跳脫規則）。真的需要讓使用者輸入 HTML（例如文章編輯器），要用 DOMPurify 這類經過驗證的函式庫清理。","code":{"lang":"JavaScript","src":"const name = '<img src=x onerror=\"alert(document.cookie)\">';  // 攻擊者設定的暱稱\n\ngreeting.innerHTML = \"你好，\" + name;     // 危險：被當成 HTML，onerror 裡的程式會執行\ngreeting.textContent = \"你好，\" + name;   // 安全：當成純文字，原封不動地顯示出來"},"cases":[{"title":"Samy 蠕蟲（2005）","text":"19 歲的 Samy Kamkar 在 MySpace 個人頁面藏了一段腳本：任何人看到他的頁面，就會自動加他好友，並把同樣的腳本複製到自己的頁面。不到 20 小時就有超過 100 萬人中招，MySpace 只好暫時關站。"},{"title":"TweetDeck 自動轉推（2014）","text":"2014 年 6 月，一則藏著 <script> 的推文在 TweetDeck 上會自動執行，而且執行的內容就是「轉推自己」，短時間內被轉推了數萬次，TweetDeck 只好暫停服務修補。"}],"level":"mid","interview":"high","skills":["security","react","vue"],"related":["owasp-top10","csrf","session-vs-jwt","cors"]},{"id":"csrf","name":"CSRF 跨站請求偽造","aka":["CSRF","XSRF","Cross-Site Request Forgery","CSRF Token","SameSite","跨站請求偽造"],"def":"你登入了 A 網站之後，又打開一個惡意網站，惡意網站偷偷送出一個請求到 A 網站（例如轉帳、改密碼）；因為瀏覽器會自動帶上 A 網站的 Cookie，A 網站就以為是你本人操作。","analogy":"有人趁你登入網路銀行時，遞給你一張已經填好的轉帳單，騙你在上面蓋章；銀行看到的是你的印章，就照辦了。","when":"用 Cookie 保存登入狀態的網站都要防：把 Cookie 設成 SameSite=Lax 或 Strict；會改變資料的請求要帶 CSRF Token（伺服器發給表單的隨機值，惡意網站拿不到）；轉帳、改密碼這類重要操作再要求輸入密碼或驗證碼。Django、Laravel、Rails 等框架都內建 CSRF 防護。","pitfall":"用 GET 做會改變資料的操作，一張圖片 <img src=\"...\"> 就能觸發攻擊。只用 Authorization 標頭帶 Token（不靠 Cookie）的 API 比較不受 CSRF 影響，但要注意 Token 存放的地方會不會被 XSS 偷走。","cases":[{"title":"Netflix 的 CSRF 漏洞（2006）","text":"研究者發現，只要使用者登入 Netflix 時打開一個惡意網頁，網頁就能用他的身分把影片加進租片清單，甚至改掉寄送地址與登入資料。這類案例讓大家開始重視 CSRF Token。"},{"title":"家用路由器被偷改 DNS","text":"很多家用路由器的管理頁面沒有防 CSRF：使用者瀏覽惡意網頁時，網頁偷偷對 192.168.1.1 送出修改設定的請求，把 DNS 改成攻擊者的伺服器，之後連到的網站都可能是假的。這類攻擊真實發生過。"}],"level":"mid","interview":"mid","skills":["security","auth"],"related":["xss","cookie-http-cache","session-vs-jwt","cors"]},{"id":"secrets-management","name":"秘密管理","aka":["Secrets Management","Vault","Secrets Manager","API Key",".env","Secret Scanning","金鑰外洩"],"def":"資料庫密碼、API 金鑰、憑證私鑰這類「秘密」，不能寫在程式碼裡，也不能提交到 Git。開發時放在不進版本控制的 .env 檔；正式環境交給秘密管理服務保存、控管誰能讀取、定期更換，程式執行時再取得。","analogy":"公司保險箱的密碼不會寫在便利貼上、貼在螢幕旁邊，而是交給專人保管，誰開過保險箱都有紀錄，員工離職就換密碼。","when":"AWS Secrets Manager、Azure Key Vault、Google Secret Manager、HashiCorp Vault、Kubernetes Secret。GitHub 等平台會掃描推上去的程式碼，偵測外洩的金鑰；也可以在本機用 gitleaks 這類工具，在 commit 前先檢查。","pitfall":"金鑰不小心推上 Git，就算下一個 commit 刪掉，歷史紀錄裡還是查得到；正確的處理是立刻作廢那把金鑰、換一把新的，而不只是刪檔案。.env 要加進 .gitignore，另外提供一份不含真實值的 .env.example 給同事參考。","cases":[{"title":"Uber 的 AWS 金鑰外洩（2016）","text":"攻擊者在 Uber 工程師使用的 GitHub 私有儲存庫裡找到 AWS 金鑰，進而拿到約 5,700 萬名乘客與司機的資料。Uber 當時付了 10 萬美元要對方刪除資料並隱瞞，一年後才公開，前資安長後來被法院判決有罪。"},{"title":"Toyota 金鑰公開近 5 年（2022）","text":"Toyota 在 2022 年公布：一家外包商把含有資料庫金鑰的原始碼放在公開的 GitHub 上將近 5 年，約 29 萬筆顧客的 email 可能外洩。金鑰只要曾經公開過，就要當成已經外洩、立刻換掉。"}],"level":"basic","interview":"low","skills":["security","auth"],"terms":["env-var","git-github"],"related":["cloud-iam","k8s-config","password-hashing"]}]},{"id":"arch","name":"系統架構","intro":"系統長大之後，程式要怎麼切、服務之間怎麼溝通。沒有「最好」的架構，只有符合團隊規模與需求的取捨；小團隊的新產品，通常從簡單的單體開始。","order":"主從式與分層 → 單體 → 快取 → 事件驅動 → 微服務與 API Gateway → 整潔架構、CQRS、事件溯源","skills":["system-design","microservices","event-driven","ddd","serverless"],"resources":[{"title":"System Design Primer：系統設計入門（繁體中文翻譯）","url":"https://github.com/donnemartin/system-design-primer/blob/master/README-zh-TW.md"},{"title":"Martin Fowler：微服務（英文經典文章）","url":"https://martinfowler.com/articles/microservices.html"}],"concepts":[{"id":"client-server","name":"主從式架構與前後端分離","aka":["Client-Server","前後端分離","SPA"],"def":"使用者端（瀏覽器、App）負責畫面，伺服器端負責資料與商業邏輯，兩邊透過網路（通常是 HTTP API）溝通。","analogy":"餐廳的客人與廚房：客人看菜單點餐（前端），廚房依點單做菜（後端），服務生負責傳遞點單與餐點（API）。","when":"幾乎所有網站與 App。前後端分離之後，同一套 API 可以同時給網頁、iOS、Android 使用。","cases":[{"title":"Gmail 帶起的 AJAX 網頁（2004）","text":"2004 年的 Gmail 與 2005 年的 Google 地圖，讓網頁不用整頁重新載入，只在背景向伺服器拿資料、更新畫面的一部分。「AJAX」這個詞在 2005 年被提出，網頁從此變成真正的應用程式，一路演變成今天的前後端分離。"},{"title":"第三方 Twitter App 一夕停擺（2023）","text":"Twitter 早期把功能都開放成 API，Tweetbot 等第三方 App 因此興起。2023 年初 Twitter 突然停止它們的存取，這些 App 一夕之間無法使用。前端完全依賴別人的後端時，規則可能隨時改變。"}],"level":"basic","interview":"mid","skills":["rest"],"terms":["frontend-backend","api","server"],"related":["layered","api-gateway","what-happens-url","http-basics"]},{"id":"layered","name":"分層架構","aka":["Layered Architecture","N-Tier","三層式架構","Controller-Service-Repository"],"def":"把程式依責任分層，常見的是展示層（接收請求）、商業邏輯層、資料存取層，每一層只呼叫它的下一層。","analogy":"餐廳的外場、廚房、倉庫：外場的服務生不會直接跑進倉庫拿食材。","when":"大多數後端專案的預設結構，例如 Spring Boot 的 Controller → Service → Repository。","pitfall":"分層不代表什麼都往 Service 塞：Service 長成幾千行的巨大類別，是很常見的技術債。","cases":[{"title":"網路分層：換了 Wi-Fi，HTTP 不用改","text":"網路本身就是分層的經典：每一層只跟上下層打交道，底層從網路線換成 Wi-Fi 或 5G，上層的 HTTP 與網頁程式完全不用改。分層架構把同樣的想法用在程式裡。"},{"title":"Spring PetClinic 範例專案","text":"Spring 官方的寵物診所範例（Spring PetClinic）是學分層架構的經典教材：Controller 處理網頁請求、Repository 存取資料，結構清楚、程式碼不多，很適合拿來對照自己的專案。"}],"level":"basic","interview":"mid","related":["repository","mvc","hexagonal"]},{"id":"monolith","name":"單體與模組化單體","aka":["Monolith","Modular Monolith","單體式架構"],"def":"整個系統是一個程式、一起部署。模組化單體則在同一個程式裡依業務切出邊界清楚的模組，兼顧簡單與好維護。","analogy":"一間什麼都賣的雜貨店：一個老闆、一個收銀台，管理很簡單；店變大後把貨架分區管理，就是模組化。","when":"新產品與小團隊幾乎都應該從這裡開始：部署簡單、除錯容易，也沒有網路呼叫的成本。Shopify 等大公司也公開分享過維持模組化單體的經驗。","pitfall":"「單體」不等於「爛」。沒有邊界、所有程式互相呼叫的單體才是問題。","cases":[{"title":"Shopify 的模組化單體","text":"Shopify 的核心是一個超大的 Rails 單體。他們沒有拆成微服務，而是把程式切成有清楚邊界的元件，再用自己開源的工具（Packwerk）檢查元件之間不能亂呼叫，讓大量工程師在同一個程式碼庫裡工作。"},{"title":"Stack Overflow 的少量機器","text":"Stack Overflow 長年以 .NET 的單體應用程式為主，只用少數幾台網頁伺服器與 SQL Server 就服務全球的程式設計師。他們公開分享過：效能與快取做得好，單體也能撐很大的流量。"}],"level":"basic","interview":"mid","terms":["monolith"],"related":["microservices","layered"]},{"id":"caching","name":"快取策略","aka":["Caching","Cache-aside","TTL","快取失效"],"def":"把常用、算起來很貴的資料放在更快的地方（記憶體、Redis、CDN）。最常見的做法是先查快取，沒有再查資料庫並寫回快取（Cache-aside），再設定過期時間（TTL）。","analogy":"把常用的文具放在桌上、不常用的收進櫃子；桌上的東西偶爾要檢查是不是已經過時。","when":"熱門商品頁、排行榜、使用者的登入狀態、外部 API 的回應。常常是改善效能最便宜、最有效的一步。","pitfall":"有句名言說電腦科學最難的兩件事是「快取失效」和「命名」。資料更新了快取卻沒跟著更新，使用者就會看到舊資料；大量快取同時過期，請求會一瞬間全部打到資料庫。","cases":[{"title":"Facebook 的 Memcache（2013）","text":"Facebook 在 2013 年發表論文，說明他們如何用大量的 Memcached 伺服器撐起每秒數十億次的讀取，以及怎麼處理快取和資料庫不一致、大量快取同時失效這些問題，是大型快取架構的經典讀物。"},{"title":"維基百科的頁面快取","text":"維基百科大多數讀者沒有登入，看到的頁面都一樣，所以絕大部分的請求由前面的快取伺服器直接回應，只有少數會打到後端的應用程式與資料庫，這是它能用相對少的經費服務全球的原因之一。"}],"level":"mid","interview":"high","skills":["redis","cloudflare"],"terms":["cache","cdn"],"related":["hash-table","proxy","replication","kv-store","cache-strategies","cache-problems"]},{"id":"event-driven","name":"事件驅動與訊息佇列","aka":["Event-Driven","Message Queue","MQ","Kafka","RabbitMQ","Pub/Sub"],"def":"服務之間不直接呼叫，而是發出「發生了某件事」的事件（例如「訂單已成立」），有興趣的服務自己訂閱處理，中間由訊息佇列暫存與傳遞。","analogy":"外送平台：顧客下單後，平台發出通知，店家開始做餐、外送員準備接單、會員系統加點數，彼此不用互相等待。","when":"把耗時的工作改成背景處理（寄信、轉檔）、讓服務之間不要綁太緊、吸收尖峰流量（搶購時先排進佇列慢慢處理）。","pitfall":"事件可能重複送達或順序錯亂，處理的一方要能承受重複（見「冪等性」）；出問題時也比直接呼叫難追查。","cases":[{"title":"上傳圖片自動產生縮圖","text":"AWS 官方教學裡最經典的事件驅動範例：圖片一上傳到 S3，就發出事件觸發 Lambda 函式產生縮圖。上傳的程式不用知道縮圖怎麼做，之後要加浮水印，只要再接一個處理事件的函式。"},{"title":"雙 11 的削峰填谷","text":"阿里巴巴在雙 11 購物節的尖峰，把瞬間湧入的訂單先放進訊息佇列（他們開發、後來捐給 Apache 的 RocketMQ），後面的系統再照自己的速度處理，避免整個系統被瞬間的流量壓垮。"}],"level":"mid","interview":"high","skills":["event-driven","kafka"],"related":["observer","queue","idempotency","cqrs","mq-basics","outbox"]},{"id":"microservices","name":"微服務","aka":["Microservices","微服務架構"],"def":"把系統依業務拆成很多小服務，各自開發、各自部署、擁有自己的資料庫，彼此透過 API 或訊息溝通。","analogy":"美食街：每個攤位各自備料、各自營業，一攤休息不影響其他攤；但要一起推出「套餐」，就得互相協調。","when":"團隊很大、系統的不同部分需要各自獨立上線與擴充時。代價是網路呼叫、資料一致性、監控與維運都會複雜很多。","pitfall":"小團隊太早拆成微服務，常變成「分散式的單體」：服務拆開了，卻還是要一起改、一起上線，只多了複雜度。","cases":[{"title":"Amazon 的 API 指令與兩個披薩團隊","text":"Amazon 在 2000 年代初逐步把單體拆成服務，據前員工轉述，Jeff Bezos 要求團隊之間只能透過 API 溝通；每個團隊小到「兩個披薩就能餵飽」，各自負責自己的服務。這也是後來 AWS 誕生的背景之一。"},{"title":"Segment 又改回單體（2018）","text":"資料平台 Segment 曾把每個串接目的地拆成一個微服務，最後有上百個服務，改一次共用程式就要一個一個部署。2018 年他們發文〈Goodbye Microservices〉，說明改回單體之後，開發速度反而變快。"}],"level":"mid","interview":"high","skills":["microservices","kubernetes","docker"],"terms":["monolith"],"related":["monolith","api-gateway","event-driven","distributed-transaction","container-basics","k8s-basics","tracing"]},{"id":"api-gateway","name":"API Gateway 與 BFF","aka":["API Gateway","BFF","Backend for Frontend","閘道"],"def":"所有外部請求先經過的單一入口，負責轉發到後面的服務，並統一處理身分驗證、限流與記錄。BFF 則是替不同前端（網頁、App）各做一個專屬的入口，只回傳它剛好需要的資料。","analogy":"大樓的接待櫃台：訪客不用知道每間公司在幾樓，櫃台確認身分後幫你轉達。","when":"微服務架構的對外入口；App 和網頁需要的資料差很多時使用 BFF。常見工具有 Kong、Nginx、AWS API Gateway。","cases":[{"title":"Netflix 的 Zuul","text":"Netflix 要支援電視、手機、遊戲機等各種裝置，開發了 API Gateway「Zuul」作為所有請求的入口，負責路由、驗證與限流，2013 年開源後，曾是 Spring Cloud 早期最常用的閘道。"},{"title":"「BFF」一詞來自 SoundCloud","text":"SoundCloud 替網頁、iOS、Android 各自建立一層專屬的後端，只回傳那個介面需要的資料，並稱它為 Backend for Frontend。這個做法後來經由 Sam Newman 的文章廣為流傳。"}],"level":"adv","interview":"mid","skills":["nginx","microservices"],"related":["microservices","rate-limiting","facade","reverse-proxy-cdn"]},{"id":"serverless","name":"Serverless 無伺服器","aka":["Serverless","FaaS","AWS Lambda","Cloud Functions"],"def":"不用自己管理伺服器：只要上傳程式（函式），有請求時雲端才自動啟動執行，依實際執行的次數與時間付費。","analogy":"搭計程車而不是自己買車：不用保養、不用找車位，用多少付多少；但每天長途通勤的話，自己買車可能比較划算。","when":"流量忽高忽低的服務、排程工作、圖片上傳後自動縮圖、小型 API 與原型。","pitfall":"閒置一段時間後的第一個請求會比較慢（冷啟動）；長時間、高流量的運算，費用可能比自己開主機還高，也比較難在本機除錯。","cases":[{"title":"AWS Lambda 問世（2014）","text":"2014 年 AWS 推出 Lambda，開發者只要上傳函式，依執行次數與時間付費，完全不用管伺服器，帶起了「Serverless」這個名詞的流行。"},{"title":"Prime Video 改回單體（2023）","text":"Amazon Prime Video 的影音品質監控服務，原本用 Step Functions 與 Lambda 串成分散式流程，規模一大，元件之間傳資料與呼叫的費用就很高。2023 年他們分享改成單一程式後，基礎設施成本降低了 90%。"}],"level":"mid","interview":"mid","skills":["serverless","aws","cloudflare"],"terms":["cloud"],"related":["event-driven","scaling","cloud-compute"]},{"id":"hexagonal","name":"六角架構與整潔架構","aka":["Hexagonal Architecture","Ports and Adapters","Clean Architecture","洋蔥架構"],"def":"把商業邏輯放在最中心，完全不依賴資料庫、框架或外部服務；外部世界透過「埠」（介面）與「轉接器」接進來。","analogy":"手機的 USB-C 孔：手機本身不在乎插的是充電器、耳機還是螢幕，只要符合接頭規格就能用。","when":"商業邏輯複雜、要長期維護、希望能輕鬆換掉資料庫或好寫測試的系統，常和 DDD 一起出現。","pitfall":"小專案硬套會多出很多層介面與轉換，反而更難讀。","cases":[{"title":"六角架構的由來（2005）","text":"Alistair Cockburn 在 2005 年提出「Ports and Adapters」：核心邏輯只透過「埠」與外界溝通，資料庫、網頁、測試程式都是插在埠上的轉接器。畫成六角形只是為了留夠多的邊來畫轉接器，和數字六無關。"},{"title":"整潔架構（2012）","text":"Robert C. Martin（Uncle Bob）在 2012 年把六角架構、洋蔥架構等想法整理成「整潔架構」：依賴只能由外往內指，越內層越穩定，資料庫與框架都放在最外圈。"}],"level":"adv","interview":"mid","skills":["ddd"],"terms":["clean-architecture","ddd"],"related":["layered","adapter","dependency-injection"]},{"id":"cqrs","name":"CQRS 讀寫分離","aka":["CQRS","Command Query Responsibility Segregation"],"def":"把「寫入資料」（命令）和「讀取資料」（查詢）分成兩套模型，甚至兩個資料庫，各自為自己的需求最佳化。","analogy":"銀行的櫃台負責存提款（寫入），另外有一台機器專門印對帳單、做報表（讀取），兩邊互不干擾。","when":"讀取量遠大於寫入，或讀寫需要的資料形狀差很多時，例如電商的商品頁與後台的訂單管理。","pitfall":"讀取端通常會有短暫的延遲（最終一致性），系統也明顯變複雜；一般的增刪查改系統不需要。","cases":[{"title":"從「命令與查詢分離」而來","text":"Bertrand Meyer 早在 1980 年代就提出：一個方法要嘛改變狀態、要嘛回傳資料，不要兩件事一起做。Greg Young 在 2010 年前後把它放大到整個系統，取名為 CQRS。"},{"title":"電商商品頁的讀取模型","text":"後台用正規化的資料表管理商品、價格與庫存（寫入端）；前台另外把整理好的商品資料存進 Elasticsearch 或快取（讀取端），搜尋與篩選都很快，代價是更新後要等幾秒才會同步。"}],"level":"adv","interview":"low","skills":["event-driven","ddd"],"related":["event-sourcing","replication","eventual-consistency"]},{"id":"event-sourcing","name":"事件溯源","aka":["Event Sourcing"],"def":"不只存「現在的狀態」，而是把每一次變化都記成一筆不能修改的事件，現在的狀態由所有事件依序重播算出來。","analogy":"存摺：記下每一筆存款與提款，餘額是算出來的；任何時間點的餘額都查得到，也知道是怎麼變成這樣的。","when":"需要完整稽核紀錄的系統：金融交易、會計、物流追蹤；常和 CQRS 一起使用。","pitfall":"事件的格式一旦定下就很難改，查詢也要另外建立讀取用的模型，學習與維護成本都高。","cases":[{"title":"會計帳本與 Git","text":"事件溯源其實很古老：會計只記分錄、不塗改舊帳，餘額是由分錄算出來的。Git 也保存每一次 commit 的完整歷史，所以能還原任何一個時間點的程式碼。"},{"title":"LMAX 交易所（2011）","text":"英國金融交易平台 LMAX 把所有輸入都記成事件，系統狀態放在記憶體裡，當機後重播事件就能還原，單一執行緒每秒就能處理數百萬筆訂單。Martin Fowler 在 2011 年寫過專文介紹這個架構。"}],"level":"adv","interview":"low","skills":["event-driven"],"related":["cqrs","command"]}]},{"id":"distributed","name":"分散式系統","intro":"一台機器撐不住，或不能因為一台壞掉就整個停擺時，就得把資料與運算分散到很多台機器上。網路會延遲、會斷線，機器會當機；分散式系統要在這些前提下，讓整體依然正確、可用。資深後端與系統設計面試的核心。","order":"水平擴展與負載平衡 → 複寫 → 冪等性與限流 → 分片 → CAP 與一致性 → 共識與分散式交易","skills":["distributed-systems","kafka","redis","kubernetes"],"resources":[{"title":"《Designing Data-Intensive Applications》：分散式資料系統的經典書（有中文譯本）","url":"https://dataintensive.net/"},{"title":"Raft：用互動動畫理解共識演算法","url":"https://raft.github.io/"},{"title":"MIT 分散式系統課程（公開講義與作業）","url":"https://pdos.csail.mit.edu/6.824/"}],"concepts":[{"id":"scaling","name":"垂直擴展與水平擴展","aka":["Scale Up","Scale Out","Vertical Scaling","Horizontal Scaling","擴展性"],"def":"垂直擴展是把機器換成更強的（更多 CPU、記憶體）；水平擴展是加更多台機器一起分攤工作。","analogy":"生意變好時，換一台更大的餐車（垂直），或多開幾台餐車（水平）。","when":"垂直擴展最簡單，但有上限、也比較貴；水平擴展幾乎沒有上限，但程式要設計成「無狀態」，讓任何一台都能處理任何請求。","pitfall":"把登入狀態存在單一台機器的記憶體裡，就沒辦法水平擴展；狀態要放到大家共用的地方（資料庫、Redis）。","cases":[{"title":"Pokémon GO 上線流量爆表（2016）","text":"Pokémon GO 2016 年上線時，實際流量衝到原本預估目標的 50 倍，是最壞情況預估的 10 倍。它跑在 Google Cloud 上，靠著快速水平擴展、加開大量機器撐了過去，但上線初期仍常常連不上。"},{"title":"Twitter 的「失敗鯨魚」","text":"Twitter 早年流量暴增時常常當機，錯誤頁面上那隻被小鳥抬著的鯨魚（Fail Whale）成了網路迷因。他們後來把核心服務從 Ruby on Rails 逐步改寫到 JVM 上，拆成能各自擴展的服務，才撐得住世界盃這類尖峰。"}],"level":"basic","interview":"high","skills":["distributed-systems","kubernetes"],"related":["load-balancing","sharding","serverless"]},{"id":"load-balancing","name":"負載平衡","aka":["Load Balancing","Load Balancer","LB","Round Robin"],"def":"把進來的請求分配給後面多台伺服器，並自動避開故障的機器。常見的分配方式有輪流（Round Robin）、找目前最閒的，以及讓同一個使用者固定分到同一台。","analogy":"銀行的叫號機：依序把客人分到空出來的櫃台，某個櫃台暫停服務就不再叫號到那裡。","when":"任何超過一台伺服器的服務；也讓「一台一台輪流更新、不停機上線」成為可能。","cases":[{"title":"DNS 輪詢：最陽春的負載平衡","text":"同一個網域設定多個 A 記錄，不同使用者就會被分到不同的 IP。簡單、不用額外設備，但其中一台掛了，各地的 DNS 快取還是會把人送過去，所以正式系統多半另外用會做健康檢查的負載平衡器。"},{"title":"Nginx 的分配方式","text":"Nginx 預設輪流分配（round robin），也可以改成 least_conn（分給目前連線最少的）或 ip_hash（同一個 IP 固定分到同一台）。每個請求處理時間差很多，或伺服器有保存使用者狀態時，就要考慮換方式。"}],"level":"basic","interview":"high","skills":["nginx","aws"],"terms":["load-balancer"],"related":["scaling","consistent-hashing","k8s-service","reverse-proxy-cdn"]},{"id":"replication","name":"資料複寫","aka":["Replication","主從複寫","Primary-Replica","讀寫分離","Master-Slave"],"def":"把同一份資料複製到多台資料庫。常見的做法是一台主資料庫負責寫入，再同步給多台副本負責讀取。","analogy":"重要文件影印好幾份，放在不同的辦公室：一份燒掉了還有其他份，大家也能就近查閱。","when":"提高可用性（主機壞了就切換到副本）、分擔大量的讀取、異地備援。","pitfall":"副本同步會有延遲：剛寫入就從副本讀，可能讀到舊資料（例如改完個人資料，重新整理後卻還是舊的）。","cases":[{"title":"GitHub 的 43 秒斷線（2018）","text":"2018 年 10 月，GitHub 美東機房與主要網路斷線 43 秒，自動切換機制把 MySQL 主資料庫換到美西，結果兩邊都有對方沒有的寫入。為了不弄丟資料，GitHub 選擇慢慢修補，服務降級了大約 24 小時。"},{"title":"GitLab 刪錯資料庫（2017）","text":"2017 年 1 月，GitLab 一位工程師在處理複寫延遲時，把指令下在錯的機器上，刪掉了正式資料庫的資料，接著又發現好幾種備份都沒有正常運作，最後遺失約 6 小時的資料。副本不等於備份。"}],"level":"mid","interview":"high","skills":["postgresql","mysql"],"related":["eventual-consistency","cap","caching","high-availability","redis-ha"]},{"id":"idempotency","name":"冪等性","aka":["Idempotency","Idempotent","冪等","Idempotency Key"],"def":"同一個操作做一次和做很多次，結果都一樣。分散式系統裡網路逾時後的重試很常見，所以重要的操作都要設計成冪等。","analogy":"電梯的樓層按鈕：按一次和按十次，電梯都只會到那一層一次。","when":"付款與下單的 API（帶一組 Idempotency Key，重送也不會扣兩次款）、訊息佇列的處理端（同一則訊息可能收到兩次）。","code":{"lang":"Python（示意）","src":"processed = set()     # 實務上會存在資料庫或 Redis\n\ndef handle_payment(request_id, amount):\n    if request_id in processed:\n        return \"已經處理過，不重複扣款\"\n    processed.add(request_id)\n    charge(amount)\n    return \"扣款成功\""},"cases":[{"title":"Stripe 的 Idempotency-Key","text":"Stripe 的付款 API 讓用戶端在請求加上 Idempotency-Key 標頭：網路逾時、重送同一個請求時，Stripe 認得這把鑰匙，直接回傳第一次的結果，不會扣兩次款。很多支付與電商 API 後來也採用同樣的做法。"},{"title":"電梯按鈕與「確認付款」","text":"電梯按鈕按一次和按十次結果一樣，是冪等的；「確認付款」按鈕如果不是，使用者因為網路慢多按幾下就會被重複扣款。前端可以在送出後鎖住按鈕，但真正的保證要做在後端。"}],"level":"mid","interview":"high","related":["event-driven","distributed-transaction","rate-limiting","delivery-guarantee","http-basics","redis-lock"]},{"id":"rate-limiting","name":"限流","aka":["Rate Limiting","Throttling","Token Bucket","令牌桶"],"def":"限制每個使用者或來源在一段時間內能送出的請求數量，超過就拒絕或排隊，保護系統不被灌爆。常見的令牌桶演算法：桶子定時補充令牌，每個請求拿走一個，沒有令牌就得等。","analogy":"熱門餐廳發號碼牌，每 10 分鐘只放 20 組客人進場，裡面的人才吃得舒服。","when":"對外開放的 API、登入（防止暴力破解密碼）、搶票與搶購、呼叫有費用或有上限的外部服務（例如 AI 模型的 API）。","cases":[{"title":"GitHub API 的限額標頭","text":"GitHub API 未登入時每小時只能呼叫 60 次、登入後 5,000 次，每個回應都附上 X-RateLimit-Remaining（還剩幾次）與 X-RateLimit-Reset（何時重置），用戶端就能自己放慢速度。"},{"title":"Twitter 限制每天能看的推文數（2023）","text":"2023 年 7 月，Twitter（X）以防止大量爬取資料為由，突然限制每個帳號每天能看的推文數，未認證的帳號一開始只有 600 則，引發大量抱怨。門檻設得太緊，會誤傷正常的使用者。"}],"level":"mid","interview":"high","skills":["nginx","security"],"related":["api-gateway","circuit-breaker","http-status","cache-problems"]},{"id":"sharding","name":"分片與分區","aka":["Sharding","Partitioning","分庫分表","分片"],"def":"資料多到一台資料庫放不下或撐不住時，依某個規則（例如使用者編號）把資料切成好幾份，分別放在不同的機器上。","analogy":"圖書館藏書太多，依作者姓氏分成 A–F 館、G–M 館……每個分館只負責一部分。","when":"超大型的社群、電商、遊戲的使用者與訂單資料。在那之前，通常會先試過索引、快取與讀寫分離。","pitfall":"分片規則選錯會造成熱點（某一台特別忙）；跨分片的查詢與交易都會變得很困難，之後要重新分片也非常痛苦。","cases":[{"title":"Instagram 的 ID 設計（2012）","text":"Instagram 把資料分到幾千個邏輯分片，每張照片的 ID 由「時間 + 分片編號 + 流水號」組成：看 ID 就知道資料在哪個分片，而且依 ID 排序就是依時間排序。"},{"title":"Notion 的 PostgreSQL 分片（2021）","text":"Notion 在 2021 年把 PostgreSQL 切成 480 個邏輯分片、放在 32 台資料庫上，依「工作區」來分：同一個工作區的頁面都在同一個分片，最常見的查詢就不用跨分片。"}],"level":"adv","interview":"high","skills":["distributed-systems","cassandra","mongodb"],"related":["consistent-hashing","replication","scaling","wide-column","redis-ha"]},{"id":"cap","name":"CAP 定理","aka":["CAP Theorem","CAP","PACELC"],"def":"分散式系統在網路分區（機器之間斷線）時，只能在「一致性（C）：每個人讀到的都是最新資料」和「可用性（A）：每個請求都有回應」之間二選一。分區（P）在真實網路中無法避免。","analogy":"兩家分店之間的電話線斷了，這時有客人要訂最後一間房：要嘛暫停接單、等聯絡上再說（選一致性），要嘛先接單、事後再處理可能的重複預訂（選可用性）。","when":"選資料庫與設計系統時的思考框架：銀行轉帳偏向一致性；社群的按讚數、商品瀏覽次數偏向可用性。","pitfall":"常見的誤解是「三選二」。網路正常時其實可以兩者兼顧，CAP 談的是「斷線時要犧牲哪一個」。","cases":[{"title":"Brewer 的猜想（2000）","text":"Eric Brewer 在 2000 年的研討會提出這個猜想，2002 年由 Seth Gilbert 與 Nancy Lynch 證明。Brewer 2012 年也撰文澄清：「三選二」的說法太簡化了，網路正常時不需要放棄任何一個。"},{"title":"Dynamo 與 Spanner 的不同選擇","text":"Amazon 的 Dynamo（2007 年論文）為了讓購物車永遠能寫入，選擇可用性、接受暫時不一致；Google 的 Spanner 則用原子鐘與 GPS 校時，追求跨資料中心的強一致性。兩家公司依業務做了不同的取捨。"}],"level":"adv","interview":"high","skills":["distributed-systems"],"related":["eventual-consistency","consensus","replication","acid-base"]},{"id":"eventual-consistency","name":"一致性模型與最終一致性","aka":["Eventual Consistency","Strong Consistency","強一致性","最終一致性"],"def":"強一致性保證寫入成功後，任何人馬上讀到的都是新資料；最終一致性只保證「過一小段時間後」大家會讀到一樣的資料，換來更快的速度與更高的可用性。","analogy":"你在社群上發文後，朋友可能要過幾秒才看得到，但最後每個人看到的都是同一篇。","when":"按讚數、瀏覽數、商品評論、搜尋索引這類短暫不一致可以接受的資料，適合最終一致性；餘額、庫存扣款則要求強一致性。","cases":[{"title":"DNS 本身就是最終一致","text":"改了 DNS 記錄，全世界的 DNS 伺服器要等各自快取的 TTL 到期才會看到新值；這段期間有人連到新主機、有人還連到舊的，最後才全部一致。網際網路最基礎的服務，就是一個最終一致的系統。"},{"title":"按讚數與觀看數不是即時的","text":"社群網站的按讚數、影片的觀看次數常常不是即時更新，不同人看到的數字可能不一樣，過一陣子才對齊。這是刻意的取捨：為了讓大量的計數又快又不會掛，接受短暫的不一致。"}],"level":"adv","interview":"mid","related":["cap","replication","cqrs","acid-base"]},{"id":"consensus","name":"共識演算法","aka":["Consensus","Raft","Paxos","Leader Election","選主"],"def":"讓多台機器在部分機器故障、網路不可靠的情況下，仍然對「某個值」或「誰是領導者」達成一致。常見的 Raft 演算法採多數決：過半數同意才算數。","analogy":"班級幹部選舉：只要超過半數的同學投票同意就當選，就算有幾個人請假也能做決定。","when":"分散式資料庫與協調服務的核心：etcd（Kubernetes 存放叢集狀態的資料庫）、Consul、CockroachDB 都使用 Raft。一般工程師很少自己實作，但要懂它為什麼需要奇數台機器。","pitfall":"為什麼要奇數台？3 台可以容忍 1 台故障；4 台要 3 台同意才過半，還是只能容忍 1 台，多一台沒有多一份保障。","cases":[{"title":"Paxos 的希臘小島論文（1998）","text":"Leslie Lamport 把 Paxos 寫成一座虛構的希臘小島議會，如何在議員隨時離席的情況下通過法案。這篇論文因為寫法太特別，投稿後過了好幾年，到 1998 年才正式發表。"},{"title":"為了好懂而設計的 Raft（2014）","text":"Paxos 以難懂出名。史丹佛的 Diego Ongaro 與 John Ousterhout 在 2014 年發表 Raft，論文標題就叫〈尋找一個好理解的共識演算法〉，現在 etcd、Consul 都採用它。"}],"level":"adv","interview":"mid","skills":["distributed-systems","kubernetes"],"related":["cap","replication","k8s-basics"]},{"id":"distributed-transaction","name":"分散式交易與 Saga","aka":["Distributed Transaction","Saga","2PC","Two-Phase Commit","補償交易"],"def":"一個操作要同時修改好幾個服務的資料時，沒辦法靠單一資料庫的交易保證「全部成功或全部失敗」。Saga 把它拆成一連串的步驟，某一步失敗時，就依序執行前面步驟的「補償動作」把狀態還原。","analogy":"同時訂機票、飯店和租車：租車失敗了，就取消已經訂好的飯店和機票。","when":"微服務的下單流程（建立訂單 → 扣庫存 → 付款 → 出貨）、旅遊訂購、跨服務的轉帳。","pitfall":"補償不等於「什麼都沒發生過」：例如已經寄出的通知信收不回來，設計時要想好每一步失敗了要怎麼補救。","cases":[{"title":"Saga 的論文（1987）","text":"Saga 這個名稱來自 1987 年 Hector Garcia-Molina 與 Kenneth Salem 的論文：把很長的交易拆成多個小交易，每一步都準備好對應的「補償動作」，失敗時依相反順序執行。三十多年後，它成了微服務的標準解法之一。"},{"title":"Uber 的 Cadence 與 Temporal","text":"長流程（下單、付款、出貨）要記住做到哪一步、失敗了要補償，自己寫很容易出錯。Uber 開源了工作流程引擎 Cadence，原團隊後來成立 Temporal，很多公司用它們來實作 Saga。"}],"level":"adv","interview":"mid","skills":["microservices","event-driven"],"related":["idempotency","microservices","event-driven","outbox"]},{"id":"circuit-breaker","name":"斷路器","aka":["Circuit Breaker","熔斷","服務降級","Fallback"],"def":"呼叫的外部服務一直失敗時，暫時「跳電」：直接回傳錯誤或備用的結果，不再繼續呼叫，過一段時間再試著恢復。避免一個服務掛掉，拖垮整條呼叫鏈。","analogy":"家裡電箱的無熔絲開關：電流異常時自動跳脫、保護整棟房子，修好之後再扳回去。","when":"微服務之間的呼叫、串接金流與物流等第三方 API。常搭配「服務降級」：推薦系統掛了，就先顯示熱門商品。","cases":[{"title":"《Release It!》（2007）","text":"Michael Nygard 在 2007 年的書《Release It!》把電路的斷路器概念用在軟體上，並整理了逾時、隔艙（Bulkhead）等一系列讓系統「不會一起倒」的做法，是這個模式最常被引用的出處。"},{"title":"Netflix 的 Hystrix","text":"Netflix 開源的 Hystrix 把斷路器帶進微服務圈：呼叫的服務一直失敗就先「跳脫」，直接回傳備用結果，例如推薦服務掛了就顯示熱門片單。Hystrix 在 2018 年停止開發，現在 Java 生態多改用 Resilience4j。"}],"level":"adv","interview":"mid","skills":["microservices","sre"],"related":["rate-limiting","microservices","cache-problems"]},{"id":"consistent-hashing","name":"一致性雜湊","aka":["Consistent Hashing","雜湊環"],"def":"把資料分配到多台機器的方法：機器和資料都放到同一個「環」上，每筆資料歸給順時針方向遇到的第一台機器。增加或移除機器時，只有少部分資料需要搬家。","analogy":"如果用「編號除以機器台數的餘數」來分配，機器從 4 台變成 5 台時，幾乎所有資料都要換位置；用一致性雜湊，只會影響新機器旁邊的那一小段。","when":"分散式快取（多台 Redis 或 Memcached）、分散式資料庫（Cassandra、DynamoDB）、負載平衡器把同一個使用者固定分到同一台機器。","cases":[{"title":"Akamai 的起點（1997）","text":"一致性雜湊出自 1997 年 MIT 的論文，用來分散網頁快取的負載。論文作者之一 Tom Leighton 隔年和學生 Danny Lewin 等人創辦了 CDN 公司 Akamai。"},{"title":"Dynamo 的雜湊環與虛擬節點","text":"Amazon 2007 年的 Dynamo 論文用一致性雜湊把資料分散到多台機器，並讓每台機器在環上佔好幾個「虛擬節點」，資料分得更平均。Cassandra 與 DynamoDB 都受到這篇論文影響。"}],"level":"adv","interview":"mid","skills":["cassandra","dynamodb","redis"],"related":["sharding","hash-table","load-balancing","wide-column","redis-ha"]}]},{"id":"mq","name":"訊息佇列","intro":"服務之間不直接呼叫，而是把訊息交給中間的「訊息中介者」保管與轉送，對方有空再處理。背景工作、吸收尖峰流量、讓服務彼此不要綁太緊都靠它。先搞懂基本模型和「訊息可能重複」這件事，再學 RabbitMQ 與 Kafka 各自的設計；小專案用 Redis 當佇列通常就夠了。","order":"生產者與消費者 → 點對點與發布訂閱 → 確認與傳遞保證 → 佇列與串流的差別 → RabbitMQ → Kafka → 重試與死信佇列 → 順序與消費延遲 → Outbox 模式","skills":["event-driven","kafka","redis"],"resources":[{"title":"AWS：什麼是訊息佇列？（繁體中文）","url":"https://aws.amazon.com/tw/message-queue/"},{"title":"RabbitMQ 官方教學：從 Hello World 到路由，有多種程式語言的版本","url":"https://www.rabbitmq.com/tutorials"},{"title":"Confluent：Apache Kafka 101 免費影片課程（英文）","url":"https://developer.confluent.io/courses/apache-kafka/events/"}],"concepts":[{"id":"mq-basics","name":"生產者、消費者與訊息中介者","aka":["Message Queue","Message Broker","Producer","Consumer","MQ","非同步處理"],"def":"送出訊息的一方（生產者）把訊息交給中間的訊息中介者（Broker）保管，處理訊息的一方（消費者）有空再去拿。兩邊不用同時在線，也不用知道對方是誰。","analogy":"超商店到店寄件：寄件人把包裹交給超商就能離開，收件人有空再去門市取貨；就算收件人這幾天出國，包裹也會在店裡等著。","when":"註冊後寄驗證信、上傳影片後轉檔、下單後通知倉庫出貨：使用者不用等這些做完，網頁可以馬上回應。搶購時先把訂單排進佇列，後面的系統照自己的速度慢慢處理。常見的工具有 RabbitMQ、Kafka、Amazon SQS、Google Cloud Pub/Sub；Python 的 Celery、Node.js 的 BullMQ 這類背景工作工具，底下也是訊息佇列（常用 Redis 或 RabbitMQ）。","pitfall":"使用者正在等結果的操作（登入、查餘額）還是直接呼叫 API，不是所有呼叫都該改成訊息。多一個訊息中介者，也就多一個要監控、會故障的元件。","code":{"lang":"Python","src":"import queue, threading, time\n\n# 同一支程式裡的示範；實務上佇列放在 RabbitMQ、Redis 這類獨立的服務\njobs = queue.Queue()\n\ndef worker():                    # 消費者：有空就拿一筆來做\n    while True:\n        email = jobs.get()\n        time.sleep(0.5)          # 假裝寄信要花一點時間\n        print(\"已寄出驗證信給\", email)\n        jobs.task_done()\n\nthreading.Thread(target=worker, daemon=True).start()\nfor email in [\"amy@example.com\", \"ben@example.com\"]:\n    jobs.put(email)              # 生產者：放進佇列就馬上回應使用者\n    print(\"註冊成功！\", email)\njobs.join()                      # 示範用：等背景工作做完再結束"},"cases":[{"title":"AWS 最早的服務之一：SQS（2004）","text":"Amazon SQS 在 2004 年推出測試版，比 S3、EC2 都早，是 AWS 最早公開的服務之一。可見「用佇列讓系統之間不用互相等待」有多基本。"},{"title":"Twitter 的時間軸扇出","text":"一則推文要出現在所有追蹤者的時間軸上。Twitter 把這件事交給背景工作處理：發文後先回應使用者，再慢慢把推文寫進每位追蹤者的時間軸，所以追蹤者會在幾秒內陸續看到。"}],"level":"basic","interview":"high","skills":["event-driven","kafka","redis"],"related":["queue","event-driven","pubsub-model","delivery-guarantee"]},{"id":"pubsub-model","name":"點對點與發布／訂閱","aka":["Point-to-Point","Work Queue","Pub/Sub","Publish/Subscribe","Fan-out","工作佇列","廣播"],"def":"點對點（工作佇列）：每則訊息只會交給其中一個消費者，多開幾個消費者就能分攤工作。發布／訂閱：每則訊息會複製給每一個訂閱者，各自做自己的事。","analogy":"點對點像銀行叫號：一張號碼牌只會被一個櫃台叫到，櫃台開得越多，隊伍消化得越快。發布／訂閱像 LINE 群組的公告：發一次，群組裡每個人都會收到。","when":"轉檔、寄信這種「做一次就好」的工作用點對點；「訂單已成立」要同時通知庫存、物流、會員點數三個系統，用發布／訂閱。Kafka 用「消費者群組」同時做到兩件事：同一個群組裡分攤處理，不同群組各自收到一份。","pitfall":"該分攤的工作誤設成發布／訂閱，每台機器都會做一次：同一封信寄出好幾封、同一筆款扣了好幾次。","cases":[{"title":"GitHub 的 Webhook","text":"程式碼一推上 GitHub，GitHub 就對所有登記過的網址送出通知：CI 開始跑測試、聊天機器人在頻道發訊息、部署工具準備上線，各自收到一份。這就是跨網路的發布／訂閱。"},{"title":"WebSub：不用一直刷 RSS","text":"部落格與 YouTube 頻道的更新通知協定 WebSub（原名 PubSubHubbub）：訂閱者向中繼站登記，有新內容時由中繼站主動推送，不用每隔幾分鐘就去抓一次 RSS。2018 年成為 W3C 的正式建議標準。"}],"level":"basic","interview":"mid","skills":["event-driven","kafka"],"related":["mq-basics","observer","kafka-model","rabbitmq-model","redis-pubsub-streams"]},{"id":"delivery-guarantee","name":"確認機制與傳遞保證","aka":["Ack","Acknowledgement","At-least-once","At-most-once","Exactly-once","至少一次","恰好一次"],"def":"消費者處理完要回覆「確認（ack）」，訊息中介者才會把訊息標記為完成；等不到確認就會重送。依確認的時機分成三種保證：最多一次（可能遺失、不會重複）、至少一次（不會遺失、可能重複）、恰好一次（最難做到，需要額外的機制）。","analogy":"掛號信要簽收，沒簽收郵差就會再送一次。如果你其實收到了，只是簽收單在回程弄丟，你就會收到第二封：這就是「至少一次」會重複的原因。","when":"實務上最常選「至少一次」，再讓處理的一方做到冪等（重複收到也只算一次）。付款、扣庫存一定要處理重複；瀏覽次數這種少算一兩筆也沒關係的統計，可以接受「最多一次」換取速度。","pitfall":"先回覆確認、再處理，處理到一半當機，訊息就遺失了，要處理完才確認。Kafka 的「恰好一次」指的是在 Kafka 裡面「讀取、處理、寫回 Kafka」這一段；處理時去呼叫外部 API 或寫別的資料庫，還是可能重複，處理端仍要做到冪等。","cases":[{"title":"兩將軍問題","text":"經典的思想實驗：兩支軍隊要約好同時進攻，但傳令兵可能在路上被抓。不管來回確認幾次，最後一封確認都可能沒送到，雙方永遠無法百分之百確定。所以網路上的訊息，只能在「至少一次」和「最多一次」之間取捨。"},{"title":"Kafka 的「恰好一次」爭論（2017）","text":"Kafka 在 2017 年推出「恰好一次」語意時引發熱烈討論，很多人認為分散式系統做不到真正的恰好一次。結論是：它保證的是 Kafka 內部「讀取、處理、寫回」這一段，碰到外部系統還是要靠冪等。"}],"level":"mid","interview":"high","skills":["kafka","event-driven"],"related":["idempotency","mq-basics","dead-letter-queue","outbox"]},{"id":"queue-vs-log","name":"訊息佇列與事件串流的差別","aka":["Message Queue vs Event Streaming","Kafka vs RabbitMQ","Event Streaming","事件串流"],"def":"傳統的訊息佇列（RabbitMQ、Amazon SQS）在訊息處理完之後就刪除，重點是「把工作交出去」；事件串流平台（Kafka、Amazon Kinesis、Redpanda）把事件依序保存下來、可以重播，重點是「讓很多系統讀到同一份事件」。","analogy":"訊息佇列像手搖飲店的點單：飲料做好，單子就撕掉。事件串流像行車記錄器：畫面保留一段時間，誰想看都可以從任何時間點倒帶重看。","when":"背景工作、任務分派、需要彈性的路由規則：RabbitMQ 或 SQS。事件量很大、很多系統要讀同一份事件、要重播過去的事件或做即時分析：Kafka。每秒只有幾十筆的小系統，用 Redis 或資料庫當佇列通常就夠了。","pitfall":"不要因為「大公司都用 Kafka」就導入：Kafka 叢集的學習與維運成本都不低，雲端的託管版本（Amazon MSK、Confluent Cloud）也不便宜。兩者的界線也不是絕對的，例如 RabbitMQ 新版也有可以保留訊息的 Streams。","cases":[{"title":"Jay Kreps 的〈The Log〉（2013）","text":"Kafka 的共同作者 Jay Kreps 在 2013 年寫了一篇長文〈The Log〉，說明「只能往後加的紀錄」為什麼能當成資料整合的核心，是理解事件串流最常被推薦的文章。"},{"title":"用資料庫當佇列","text":"Rails 8 預設的背景工作工具 Solid Queue 直接用資料庫當佇列；PostgreSQL 9.5 起的 SKIP LOCKED，也讓多個工作程序能安全地從同一張表搶工作。量不大時，少維運一套系統往往更划算。"}],"level":"mid","interview":"mid","skills":["kafka","event-driven","redis"],"related":["rabbitmq-model","kafka-model","event-sourcing"]},{"id":"rabbitmq-model","name":"RabbitMQ：交換器、綁定與佇列","aka":["RabbitMQ","AMQP","Exchange","Routing Key","Binding","交換器"],"def":"RabbitMQ 是最常見的訊息中介者之一。生產者不直接把訊息放進佇列，而是交給「交換器（exchange）」；交換器依照「綁定（binding）」的規則和訊息上的 routing key，決定要放進哪些佇列。常用的交換器有三種：direct（routing key 完全相同才送）、topic（依樣式比對，例如 order.*）、fanout（每個綁定的佇列都送一份）。","analogy":"郵局分信：寄件人把信投進郵筒（交換器），郵局依郵遞區號（routing key）分進各區的信箱（佇列），各區的郵差（消費者）再把信一封封送出去，送完信箱就空了。","when":"背景工作與任務分派、依規則把訊息分給不同的服務（例如付款完成的訂單送去出貨、申請退款的送去客服）。Python 的 Celery、Java 的 Spring AMQP 都能直接搭配 RabbitMQ。","pitfall":"佇列不是資料庫：消費者掛掉太久，訊息越堆越多，會吃光 RabbitMQ 的記憶體與硬碟，最後連生產者都送不進去。要監控佇列長度，並設定長度上限或訊息的存活時間（TTL）。","code":{"lang":"Python（pika 套件，需要先啟動 RabbitMQ）","src":"import pika\n\nconn = pika.BlockingConnection(pika.ConnectionParameters(\"localhost\"))\nch = conn.channel()\nch.exchange_declare(exchange=\"orders\", exchange_type=\"topic\")\nch.queue_declare(queue=\"shipping\", durable=True)\n# 綁定：routing key 是 order.paid 的訊息，放進 shipping 佇列\nch.queue_bind(queue=\"shipping\", exchange=\"orders\", routing_key=\"order.paid\")\nch.basic_publish(exchange=\"orders\", routing_key=\"order.paid\",\n                 body=\"訂單 1001 已付款\".encode())\nconn.close()"},"cases":[{"title":"AMQP 來自華爾街（2003）","text":"RabbitMQ 實作的 AMQP 協定，最早是 2003 年由摩根大通（JPMorgan Chase）的 John O'Hara 發起，目的是讓金融機構的訊息系統不再被昂貴的商業產品綁住。"},{"title":"主題交換器的路由規則","text":"routing key 寫成 order.tw.paid 這種有層次的格式，佇列就可以綁定 order.*.paid（所有地區已付款的訂單）或 order.tw.#（台灣的所有訂單事件）。之後要新增新的處理方式，生產者完全不用改。"}],"level":"mid","interview":"mid","skills":["event-driven"],"related":["pubsub-model","queue-vs-log","dead-letter-queue"]},{"id":"kafka-model","name":"Kafka：主題、分區與消費者群組","aka":["Kafka","Topic","Partition","Offset","Consumer Group","分區","偏移量"],"def":"Kafka 把訊息依序附加在「主題（topic）」的紀錄裡，讀過也不會刪除（保留一段時間或一定的大小），每個消費者群組自己記錄讀到第幾筆（offset）。一個主題切成好幾個「分區（partition）」，分散在多台機器上；同一個消費者群組裡，一個分區同一時間只交給一個消費者讀。","analogy":"一本只能往後寫的流水帳：每個讀者夾著自己的書籤，記得讀到哪一頁，讀過的內容還在。帳本太厚就拆成好幾冊（分區），讓幾個人分冊同時讀；但同一冊同時只給一個人讀，才不會兩個人重複處理同一頁。","when":"大量事件的資料管線（點擊紀錄、應用程式日誌、IoT 感測資料）、微服務之間傳遞事件、需要「重播」的情境：新服務上線時，可以從頭把過去的事件讀一遍。常和 Flink、Spark 這類串流處理工具一起使用。","pitfall":"消費者比分區多的時候，多出來的消費者只會閒著：分區數決定了平行處理的上限。事後增加分區，有些 key 會改分到別的分區，原本依 key 保證的順序也會被打亂，所以一開始就要估好。","cases":[{"title":"LinkedIn 與 Kafka 的誕生（2011）","text":"LinkedIn 為了把網站上的各種事件（瀏覽、點擊、更新）即時送到許多系統分析，開發了 Kafka，2011 年開源。取名自作家卡夫卡：作者說它是個「為寫入最佳化的系統」，用作家的名字很合適，而他很喜歡卡夫卡。"},{"title":"紐約時報把所有文章存進 Kafka","text":"紐約時報把 1851 年以來發表的所有文章，都存成 Kafka 裡永久保留的事件。新系統上線時從頭讀一遍，就能建出自己需要的資料，例如搜尋索引。"}],"level":"mid","interview":"mid","skills":["kafka","flink","spark"],"related":["queue-vs-log","pubsub-model","message-ordering","sharding"]},{"id":"dead-letter-queue","name":"重試與死信佇列","aka":["Dead Letter Queue","DLQ","Retry","Exponential Backoff","指數退避","Poison Message","毒訊息"],"def":"訊息處理失敗時，先等一下再重試，而且等待的時間一次比一次長（指數退避）；重試幾次還是失敗，就把它移到另一個「死信佇列」擱著等人工檢查，不要讓它卡住後面的訊息。","analogy":"宅配送了三次都沒人簽收，包裹會退回營業所招領，而不是一直放在司機的車上，害後面的包裹都送不出去。","when":"外部服務暫時故障（等一下重試通常就好）、資料格式錯誤（重試幾次結果都一樣，這種一直失敗的訊息叫「毒訊息」，要進死信佇列）。RabbitMQ 與 Amazon SQS 都內建死信佇列的設定；Kafka 通常另外建一個專門放失敗訊息的主題。","pitfall":"失敗就立刻重試、而且不限次數，對方故障時會被大量重試打得更慘（重試風暴）；常見做法是在等待時間加上隨機的偏移（jitter），避免大家同時重試。死信佇列也要有人監控和處理，不然只是把問題藏起來。","code":{"lang":"Python","src":"import random, time\n\ndef send_sms(phone):             # 假裝外部的簡訊服務有一半機率失敗\n    if random.random() < 0.5:\n        raise ConnectionError(\"簡訊服務暫時無法連線\")\n    print(\"已傳送給\", phone)\n\ndead_letters = []\nphone = \"0900-000-000\"\nfor attempt in range(4):\n    try:\n        send_sms(phone)\n        break\n    except ConnectionError as err:\n        print(f\"第 {attempt + 1} 次失敗：{err}\")\n        time.sleep(0.1 * 2 ** attempt)   # 等 0.1、0.2、0.4、0.8 秒：一次比一次久\nelse:\n    dead_letters.append(phone)           # 重試完還是失敗：移到死信佇列，等人工處理\nprint(\"死信佇列：\", dead_letters)"},"cases":[{"title":"AWS 的「指數退避加抖動」（2015）","text":"AWS 架構部落格 2015 年的一篇文章用模擬比較各種重試方式：單純的指數退避，大家還是會在同一時間一起重試；加上隨機的抖動之後，打到服務的請求總量少了很多，成了業界常見的做法。"},{"title":"一則毒訊息卡住整個佇列","text":"一則格式壞掉的訊息，消費者每次讀到就當掉、重啟後又讀到同一則，後面成千上萬則正常的訊息全卡在它後面。設定最多重試幾次、超過就送進死信佇列，其他訊息才能繼續處理。"}],"level":"mid","interview":"mid","skills":["event-driven","sre"],"related":["delivery-guarantee","circuit-breaker","idempotency"]},{"id":"message-ordering","name":"訊息順序與消費延遲","aka":["Message Ordering","Partition Key","Consumer Lag","Backpressure","背壓","順序保證"],"def":"好幾個消費者同時處理時，訊息不保證照順序完成。有先後關係的訊息（同一筆訂單的「成立 → 付款 → 出貨」），要用同一個 key 讓它們進同一個分區（或同一個佇列），由同一個消費者依序處理。消費延遲（lag）是「已經送進來、還沒處理的訊息有多少」，是訊息系統最重要的監控指標。","analogy":"同一桌客人的菜交給同一位服務生依序上，才不會甜點比前菜先到；廚房門口還沒做的點單堆了多少，就是消費延遲。","when":"訂單狀態、帳戶異動、聊天訊息這類有先後關係的事件，用訂單編號、帳號、聊天室編號當 key。消費延遲持續上升，代表消費者處理不完：增加消費者（Kafka 不能超過分區數）、加快處理速度，或請上游放慢（背壓）。","pitfall":"要求「所有訊息都照順序」，通常等於只能有一個消費者，也就失去平行處理的好處；多半只需要「同一個 key 之內有順序」。重試也會打亂順序：失敗的訊息晚一點才成功，排在它後面的訊息可能已經先處理完了。","cases":[{"title":"聊天訊息順序錯亂","text":"同一個聊天室的訊息如果被分到不同的分區、由不同的消費者處理，「好啊」可能比「要不要去吃飯？」先出現。用聊天室編號當 key，同一個聊天室的訊息就會進同一個分區、照順序處理。"},{"title":"LinkedIn 的 Burrow","text":"LinkedIn 開源的 Burrow 專門監控 Kafka 消費者的延遲：不只看落後幾筆，而是看延遲有沒有持續變大，判斷消費者是「暫時比較忙」還是「已經跟不上了」。"}],"level":"adv","interview":"mid","skills":["kafka","observability"],"related":["kafka-model","sharding","scaling","dead-letter-queue"]},{"id":"outbox","name":"Outbox 模式","aka":["Transactional Outbox","Outbox Pattern","Dual Write","雙寫問題","CDC","Change Data Capture"],"def":"「寫入資料庫」和「送出訊息」是兩個不同的系統，沒辦法保證一起成功：可能訂單存好了，事件卻沒送出去。Outbox 的做法是在同一個資料庫交易裡，同時寫入業務資料和一張「待送訊息表（outbox）」，再由另一個程式把表裡的訊息送到訊息佇列，送成功才標記完成。","analogy":"店員在同一本帳簿上同時記下「賣出一份便當」和「待通知外送員」，再由另一位同事照著待辦欄一個一個打電話；就算中途停電，帳簿上的待辦也不會消失。","when":"下單後要發出「訂單已成立」事件、付款狀態改變要通知其他服務，這類「資料和事件一定要一致」的情境。另一種做法是 CDC（Change Data Capture）：用 Debezium 這類工具直接讀資料庫的異動紀錄，再轉成事件送出。","pitfall":"訊息送出了、還來不及標記完成就當機，重新啟動後會再送一次，所以接收的一方仍然要做到冪等。","code":{"lang":"SQL","src":"BEGIN;\nINSERT INTO orders (id, user_id, total) VALUES (1001, 42, 120);\nINSERT INTO outbox (topic, payload)\n  VALUES ('order.created', '{\"orderId\": 1001, \"total\": 120}');\nCOMMIT;\n-- 兩筆一起成功或一起失敗。另一個程式定期讀出還沒送的 outbox 資料，\n-- 送到訊息佇列之後再標記為已送出"},"cases":[{"title":"雙寫問題的兩難","text":"先寫資料庫、再送訊息：資料庫成功了、送訊息時剛好當機，訂單成立卻沒人通知倉庫。反過來先送訊息，資料庫寫入失敗時，倉庫會出貨一張不存在的訂單。Outbox 就是為了解決這個兩難。"},{"title":"Debezium 的 CDC","text":"開源專案 Debezium 直接讀 MySQL 的 binlog 或 PostgreSQL 的 WAL，把每一筆資料異動轉成 Kafka 事件。搭配 Outbox 表，就能做到「資料寫進去了，事件就一定會送出」。"}],"level":"adv","interview":"mid","skills":["event-driven","microservices","kafka"],"related":["distributed-transaction","delivery-guarantee","idempotency","event-driven"]}]},{"id":"nosql","name":"NoSQL 資料庫","intro":"關聯式資料庫（MySQL、PostgreSQL）把資料存在欄位固定的表格裡；NoSQL 是各種「不是表格」的資料庫的統稱，各自為特定用途最佳化：極快的鍵值查詢、彈性的文件、大量寫入、全文搜尋、關係查詢。建議先學好關聯式資料庫與 SQL，再依需求學一種 NoSQL，最常用的是 Redis 和 MongoDB。","order":"關聯式與 NoSQL 怎麼選 → ACID 與 BASE → 鍵值（Redis）→ 文件（MongoDB）→ 依查詢設計資料 → 全文搜尋 → 寬欄位 → 圖與時序資料庫","skills":["redis","mongodb","elasticsearch","dynamodb","cassandra","firebase"],"resources":[{"title":"AWS：什麼是 NoSQL 資料庫？（繁體中文）","url":"https://aws.amazon.com/tw/nosql/"},{"title":"Microsoft Learn：了解資料模型，比較鍵值、文件、圖、時序等資料庫（繁體中文）","url":"https://learn.microsoft.com/zh-tw/azure/architecture/data-guide/technology-choices/understand-data-store-models"},{"title":"MongoDB University：官方免費課程（英文）","url":"https://learn.mongodb.com/"}],"concepts":[{"id":"sql-vs-nosql","name":"關聯式與 NoSQL 怎麼選","aka":["SQL vs NoSQL","NoSQL","Not Only SQL","RDBMS","非關聯式資料庫","Schema-less"],"def":"關聯式資料庫用欄位固定的表格存資料，表與表之間用關聯連接，擅長複雜查詢與交易。NoSQL 放寬了固定結構或部分交易保證，換來彈性的資料格式、比較容易水平擴展，或特定查詢特別快。NoSQL 一般解釋為「Not Only SQL」，不是「不要 SQL」。","analogy":"關聯式資料庫像 Excel 試算表：每一欄格式固定，很好做加總和交叉比對。文件資料庫像一疊紙本表單：每張可以多填幾欄或少填幾欄，拿起一張就看到一個人的全部資料。","when":"大多數新專案的預設選擇仍然是 PostgreSQL 或 MySQL。資料格式常常變、資料天生是巢狀的、流量大到需要水平擴展，或需要快取、搜尋、即時排行榜時，再搭配 NoSQL。很多系統兩種都用：訂單放關聯式資料庫、快取放 Redis、站內搜尋放 Elasticsearch。","pitfall":"「NoSQL 比較快」「NoSQL 不用設計結構」都是誤解：結構只是從資料庫搬到程式裡，沒設計好之後一樣痛苦。兩邊的界線也越來越模糊：PostgreSQL 可以存放與查詢 JSON（jsonb），MongoDB 也支援跨文件的交易。","cases":[{"title":"「NoSQL」這個名字（2009）","text":"NoSQL 這個詞在 2009 年因為一場討論非關聯式資料庫的聚會而流行起來，後來常被解釋成「Not Only SQL」（不只 SQL），強調兩者是互補，不是取代。"},{"title":"Uber 改用 MySQL（2016）","text":"Uber 在 2016 年發文說明為什麼把主要資料庫從 PostgreSQL 換成 MySQL，並在上面做了自己的儲存層。這篇文章引發很多討論，也說明選資料庫要看自己的寫入模式與維運經驗，沒有哪一套絕對比較好。"}],"level":"basic","interview":"high","skills":["postgresql","mysql","mongodb"],"terms":["database","sql"],"related":["acid-base","document-db","kv-store","cap","relational-basics"]},{"id":"acid-base","name":"ACID 與 BASE","aka":["ACID","BASE","Transaction","交易","原子性","隔離等級","Isolation Level"],"def":"ACID 是關聯式資料庫交易的四個保證：原子性（一組操作全部成功或全部取消）、一致性（不會違反設定好的規則）、隔離性（同時進行的交易互不干擾）、持久性（完成後就算當機也不會遺失）。許多 NoSQL 為了擴展性改採 BASE：基本可用、狀態可以暫時不一致、最終會一致。","analogy":"ATM 轉帳要 ACID：你的帳戶扣款和對方入帳一定一起發生，不會只發生一半。社群貼文的按讚數可以 BASE：晚幾秒才同步也沒關係。","when":"選資料庫時先問：這份資料能不能接受短暫不一致？金額、庫存、訂位要強一致的交易；瀏覽數、動態牆、推薦清單可以接受最終一致。有些 NoSQL 讓你依需求調整：DynamoDB 讀取時可以選「強一致讀取」或比較便宜的「最終一致讀取」，Cassandra 每次查詢都能指定要幾台機器回應。","pitfall":"「NoSQL 不支援交易」已經不完全正確：MongoDB 4.0 起支援多文件交易，DynamoDB 也有交易 API，只是通常有範圍限制或效能代價。另一個誤區是以為關聯式資料庫預設就完全隔離：PostgreSQL、MySQL 的預設隔離等級都不是最嚴格的「可序列化」，程式先讀庫存、再寫回減一的寫法，同時下單時仍可能超賣，要用鎖或條件式更新防止。","cases":[{"title":"轉帳一定要原子性","text":"A 轉 1,000 元給 B，要「A 扣款」與「B 入帳」兩步。做完第一步剛好當機，錢就憑空消失了；包在同一個交易裡，要嘛兩步都成功、要嘛都不算，這就是 ACID 的 A。"},{"title":"酸與鹼：名字的由來","text":"ACID 一詞由 Theo Härder 與 Andreas Reuter 在 1983 年提出；BASE 則是 Eric Brewer 等人刻意取的對比名稱（化學上酸是 acid、鹼是 base），用來描述「基本可用、最終一致」的設計方向。"}],"level":"mid","interview":"high","skills":["postgresql","mysql","dynamodb","cassandra"],"related":["sql-vs-nosql","eventual-consistency","cap","distributed-transaction","isolation-levels","sql-locking"]},{"id":"kv-store","name":"鍵值資料庫","aka":["Key-Value Store","Redis","Valkey","Memcached","鍵值儲存","In-memory Database"],"def":"最簡單的資料庫：一個鍵（key）對應一個值（value），用鍵來存取。Redis 這類記憶體資料庫把資料放在記憶體裡，讀寫通常不到一毫秒；值除了字串，還可以是清單、集合、雜湊與有序集合等資料結構。","analogy":"車站的寄物櫃：憑號碼直接開櫃取物，非常快；但你沒辦法問「哪幾個櫃子裡放的是雨傘」，除非一格一格打開看。","when":"快取、登入狀態（Session）、計數器與限流、即時排行榜（Redis 的有序集合）、簡單的背景工作佇列。Valkey 是 Redis 更改授權之後，由社群分支出來的開源版本，用法幾乎相同。","pitfall":"記憶體比硬碟貴很多，也比較容易遺失資料：Redis 預設是定期存快照，當機時可能遺失最後一次快照之後寫入的資料。重要資料要了解 RDB 與 AOF 兩種保存方式，或只把 Redis 當快取，正本放在資料庫。","code":{"lang":"Redis 指令（# 後面是說明，不用輸入）","src":"SET session:abc123 \"user:42\" EX 1800    # 存登入狀態，1800 秒後自動刪除\nGET session:abc123                      # \"user:42\"\nINCR views:home                         # 瀏覽數加一，多台伺服器同時加也不會算錯\nZADD leaderboard 980 \"小明\" 1200 \"小華\"   # 排行榜：分數、名字\nZRANGE leaderboard 0 2 REV WITHSCORES    # 前三名，分數高的在前"},"cases":[{"title":"Memcached 的誕生（2003）","text":"Brad Fitzpatrick 為了替自己創辦的部落格網站 LiveJournal 減輕資料庫負擔，在 2003 年寫出 Memcached。後來 Facebook、YouTube、維基百科等網站都大量使用它。"},{"title":"Redis 改授權與 Valkey（2024）","text":"Redis 在 2024 年改成限制雲端業者使用的授權，Linux 基金會隨即帶頭從舊版分支出完全開源的 Valkey，AWS、Google Cloud 等雲端業者都支持。2025 年的 Redis 8 又加回了 AGPL 開源授權選項。"}],"level":"basic","interview":"high","skills":["redis","dynamodb"],"terms":["cache"],"related":["hash-table","caching","rate-limiting","sql-vs-nosql","redis-data-types","redis-persistence"]},{"id":"document-db","name":"文件資料庫","aka":["Document Database","MongoDB","Firestore","BSON","Collection","集合"],"def":"每筆資料是一份類似 JSON 的「文件」，可以有巢狀的物件和陣列，同一個集合（collection）裡的文件欄位可以不一樣。MongoDB 是最普及的代表，Firebase 的 Firestore 也屬於這一類。","analogy":"每位客戶一個資料夾，裡面放著他的基本資料、地址與歷次訂單，打開一次就全部拿到，不必到好幾本帳冊交叉查。","when":"欄位常常變動的內容（每種商品的規格都不同、CMS 的文章、使用者的個人設定）、App 後端與原型開發、資料本來就是「一整包」一起讀寫的情境。","pitfall":"資料之間關聯很多、要常常交叉查詢與統計（例如訂單、商品、會員互相對照的報表），用關聯式資料庫反而簡單。同一份資料複製到很多文件裡（例如每筆訂單都存一份商品名稱），更新時要記得每一處都改。","code":{"lang":"MongoDB Shell","src":"db.drinks.insertOne({\n  name: \"珍珠奶茶\",\n  price: 60,\n  options: { sugar: [\"正常\", \"半糖\", \"無糖\"], ice: [\"正常\", \"去冰\"] },\n  tags: [\"人氣\", \"奶茶\"]\n})\n\n// 找出 80 元以下、標籤有「人氣」的飲料\ndb.drinks.find({ price: { $lt: 80 }, tags: \"人氣\" })"},"cases":[{"title":"MongoDB 勒索事件（2017）","text":"舊版 MongoDB 預設不用密碼，很多人又直接對外開放連線。2017 年初，攻擊者大規模掃描網路，刪掉數萬個沒設密碼的資料庫、留下勒索訊息。後來的版本預設只允許本機連線。"},{"title":"Firestore 的即時同步","text":"Google 的 Firestore 讓 App 直接訂閱一份文件或一個查詢結果，資料一變，所有手機上的畫面就自動更新。很多小團隊用它省掉自己寫後端與即時通訊的工作。"}],"level":"basic","interview":"mid","skills":["mongodb","firebase"],"terms":["json"],"related":["sql-vs-nosql","query-first-modeling"]},{"id":"query-first-modeling","name":"依查詢設計資料：嵌入與反正規化","aka":["Data Modeling","Denormalization","Embedding","Referencing","反正規化","Single-Table Design"],"def":"關聯式資料庫先把資料拆成不重複的表（正規化），查詢時再用 JOIN 組起來；多數 NoSQL 沒有或不擅長 JOIN，所以反過來：先列出「要怎麼查」，再把會一起查的資料放在一起，必要時重複存一份（反正規化）。","analogy":"便當店的菜單直接寫「雞腿便當＝雞腿＋三樣配菜＋白飯」，而不是讓客人分別查主菜表、配菜表再自己組合；點餐很快，但配菜換了，每個便當的說明都得跟著改。","when":"MongoDB：會一起讀、數量有限的資料用「嵌入」（訂單裡直接放購買的品項）；會一直增加、或要單獨查詢的資料用「參照」（熱門文章的留言可能上萬則，就另存一個集合），而且一份文件有大小上限（MongoDB 是 16 MB）。DynamoDB、Cassandra 更嚴格：資料表的鍵要依查詢方式設計，查詢需求改變時，常常要重新設計資料表。","pitfall":"照著關聯式的習慣拆成很多集合，再在程式裡一筆一筆查回來組合（N+1 查詢），效能會比直接用關聯式資料庫還差。","cases":[{"title":"DynamoDB 的單一資料表設計","text":"DynamoDB 社群推廣把一個應用程式的多種資料（會員、訂單、商品）放進同一張表，靠精心設計的分區鍵與排序鍵，讓每一種查詢都只要一次請求。代價是查詢需求一改，資料表常常要重新設計。"},{"title":"Cassandra：一種查詢一張表","text":"Cassandra 官方建議依查詢設計資料表：同一份影片資料，為了「依使用者查」與「依標籤查」存成兩張表。用重複的儲存空間，換取每種查詢都只讀一個分區。"}],"level":"mid","interview":"mid","skills":["mongodb","dynamodb","cassandra"],"related":["document-db","wide-column","sql-vs-nosql","normalization"]},{"id":"search-engine","name":"全文搜尋與倒排索引","aka":["Full-Text Search","Inverted Index","Elasticsearch","OpenSearch","倒排索引","斷詞","Analyzer"],"def":"搜尋引擎事先把每份文件拆成一個個詞（斷詞），建立「每個詞出現在哪些文件」的對照表（倒排索引），所以能在大量文字裡很快找出包含某些詞的文件，並依相關程度排序。Elasticsearch 與從它分支出來的 OpenSearch 是最常見的選擇。","analogy":"書本最後面的「索引」頁：想找「捷運」，直接翻到索引看它出現在第幾頁，不用從第一頁讀到最後一頁。","when":"電商與網站的站內搜尋、自動完成、依多個條件篩選商品；ELK（Elasticsearch、Logstash、Kibana）也常用來集中查詢系統日誌。用 SQL 的 LIKE 搜尋「%關鍵字%」這種前面有 % 的條件，用不到一般的索引，資料一多就會很慢。","pitfall":"中文的詞與詞之間沒有空格，預設的斷詞方式會把中文切成一個一個字，搜尋結果常常不準，要另外安裝中文斷詞外掛（例如 IK、smartcn）。搜尋引擎通常是主要資料庫的副本，不要把它當成唯一的資料來源。","code":{"lang":"Python","src":"docs = {1: \"台北 捷運 路線圖\", 2: \"高雄 捷運 美食\", 3: \"台北 美食 推薦\"}\n\nindex = {}                       # 詞 → 出現在哪些文件\nfor doc_id, text in docs.items():\n    for word in text.split():    # 真實系統要先做中文斷詞\n        index.setdefault(word, set()).add(doc_id)\n\nprint(index[\"捷運\"])              # {1, 2}\nprint(index[\"台北\"] & index[\"美食\"])   # {3}：兩個詞都出現的文件"},"cases":[{"title":"幫太太找食譜寫出來的","text":"Shay Banon 為了幫正在學廚藝的太太做一個食譜搜尋工具，寫出了 Elasticsearch 的前身 Compass，2010 年再發布 Elasticsearch。兩者底層都是 Java 的全文搜尋函式庫 Lucene。"},{"title":"OpenSearch 分支（2021）","text":"Elastic 在 2021 年改了授權，限制雲端業者直接拿去賣，AWS 隨即分支出開源的 OpenSearch。2024 年 Elasticsearch 又加回 AGPL 開源授權，兩個專案從此各自發展。"}],"level":"mid","interview":"mid","skills":["elasticsearch"],"terms":["log"],"related":["hash-table","trie","tree","logging"]},{"id":"wide-column","name":"寬欄位資料庫","aka":["Wide-Column Store","Cassandra","ScyllaDB","HBase","Bigtable","Partition Key","Column Family"],"def":"資料依「分區鍵」分散到很多台機器，同一個分區裡的資料再依「排序鍵」排好、存在一起。寫入非常快，加機器就能擴充，但只能照著設計好的鍵來查詢。Cassandra、ScyllaDB、HBase、Google Bigtable 是代表。","analogy":"郵局依郵遞區號（分區鍵）把信分到各區，每一區再依門牌號碼（排序鍵）排好。查「某一區某一段門牌的信」很快；要查「所有寄件人姓王的信」，就得翻遍每一區。","when":"寫入量極大、查詢方式固定的資料：聊天訊息、感測器數據、使用者活動紀錄。Discord 公開分享過，他們把數兆則聊天訊息從 Cassandra 搬到 ScyllaDB。","pitfall":"不適合需要彈性查詢、JOIN 或複雜交易的資料。分區鍵選不好（例如只用「日期」），同一天的寫入會全部擠在同一個分區，形成熱點。","cases":[{"title":"Google 的 Bigtable 論文（2006）","text":"Google 在 2006 年發表 Bigtable 論文，描述他們如何存放網頁索引、Google 地球等海量資料。開源的 HBase 照著它實作，Cassandra 也借用了它的資料模型。"},{"title":"Discord 從 177 台縮成 72 台（2023）","text":"Discord 把數兆則訊息從 Cassandra 搬到相容的 ScyllaDB，原本要 177 個節點，搬完只要 72 個，讀取延遲也穩定許多。他們還在資料庫前面加一層服務，把同時查同一個熱門頻道的請求合併成一次。"}],"level":"adv","interview":"low","skills":["cassandra"],"related":["sharding","consistent-hashing","query-first-modeling"]},{"id":"graph-db","name":"圖資料庫","aka":["Graph Database","Neo4j","Cypher","Amazon Neptune","知識圖譜"],"def":"直接用「節點」和「關係」存資料，擅長沿著關係一層一層往外找，例如「朋友的朋友」。Neo4j 是代表，查詢語言叫 Cypher。","analogy":"捷運路線圖：要找從台北車站到動物園怎麼轉乘，沿著路線走就好；如果改用表格存，每轉一次車就要多查一次表。","when":"社群網站的「你可能認識的人」、金融的詐騙偵測（找出共用同一支電話或同一張卡的帳號群）、權限與組織關係、知識圖譜。","pitfall":"一般的增刪查改用不到；關係只有一兩層的話，關聯式資料庫的 JOIN 就夠了。","code":{"lang":"Cypher（Neo4j）","src":"// 找出小明的朋友的朋友，排除已經是朋友的人\nMATCH (me:Person {name: \"小明\"})-[:FRIEND]->(:Person)-[:FRIEND]->(fof:Person)\nWHERE fof <> me AND NOT (me)-[:FRIEND]->(fof)\nRETURN DISTINCT fof.name"},"cases":[{"title":"巴拿馬文件（2016）","text":"國際調查記者同盟（ICIJ）分析 1,150 萬份外洩的巴拿馬文件時，把人、公司、地址之間的關係放進圖資料庫 Neo4j，記者才能一路追查層層的空殼公司背後是誰。"},{"title":"Facebook 的 TAO（2013）","text":"Facebook 的社交關係（誰是誰的朋友、誰按了什麼讚）存在自建的服務 TAO 裡，對外提供「點和邊」的查詢方式，底層其實是 MySQL 加上大量的快取。"}],"level":"adv","interview":"low","related":["graph","bfs-dfs","sql-vs-nosql"]},{"id":"timeseries-db","name":"時序資料庫","aka":["Time-Series Database","TSDB","InfluxDB","TimescaleDB","Prometheus"],"def":"專門存「時間＋數值」的資料，例如每隔幾秒記一次的 CPU 使用率、溫度、股價。資料依時間順序大量寫入，查詢多半是「某段時間的平均、最大值」，也會自動把舊資料壓縮、彙總或刪除。","analogy":"體溫記錄表：每小時記一次，看的時候多半是「這三天的變化」；一個月前的紀錄，只留每天的平均就夠了。","when":"系統監控（Prometheus 本身就是時序資料庫）、IoT 感測器、工廠設備的感測數據、金融報價。TimescaleDB 是 PostgreSQL 的擴充套件，可以繼續用 SQL 查詢。","pitfall":"不適合存常常要修改的業務資料。每筆資料帶的標籤組合太多（例如把使用者編號當成標籤），索引會暴增、拖垮效能，這叫「高基數」問題。","cases":[{"title":"Prometheus 來自 SoundCloud（2012）","text":"Prometheus 是 2012 年在 SoundCloud 開始開發的監控系統，2016 年成為繼 Kubernetes 之後第二個加入 CNCF 的專案。它自帶時序資料庫，專門存「某個指標在每個時間點的值」。"},{"title":"Facebook 的 Gorilla 壓縮（2015）","text":"Facebook 2015 年的 Gorilla 論文，利用「相鄰時間點的值通常很接近」來壓縮資料，平均每個資料點只要約 1.37 個位元組。這個技巧後來被 Prometheus 等時序資料庫採用。"}],"level":"adv","interview":"low","skills":["prometheus","grafana"],"related":["wide-column","sql-vs-nosql"]}]},{"id":"redis","name":"Redis 與快取","intro":"Redis 是把資料放在記憶體裡的資料庫，有一定流量的後端系統幾乎都會用到：快取、登入狀態、排行榜、限流、分散式鎖都靠它。入門很簡單，但要用得好，得懂資料結構怎麼選、資料會不會遺失、快取出問題時資料庫會不會被拖垮，這些也是後端面試很常問的題目。建議先看過 NoSQL 主題裡的「鍵值資料庫」。","order":"資料結構 → 過期與淘汰 → 快取讀寫策略 → 快取穿透、擊穿與雪崩 → 為什麼單執行緒還這麼快 → 持久化 → 交易、Pipeline 與 Lua → 分散式鎖 → Pub/Sub 與 Streams → 主從、Sentinel 與 Cluster","skills":["redis"],"resources":[{"title":"Redis 官方文件：各種資料型別與指令（英文）","url":"https://redis.io/docs/latest/develop/data-types/"},{"title":"Microsoft Learn：Cache-Aside 快取模式（繁體中文）","url":"https://learn.microsoft.com/zh-tw/azure/architecture/patterns/cache-aside"},{"title":"Martin Kleppmann：分散式鎖要注意什麼（英文經典文章）","url":"https://martin.kleppmann.com/2016/02/08/how-to-do-distributed-locking.html"}],"concepts":[{"id":"redis-data-types","name":"Redis 的資料結構怎麼選","aka":["String","Hash","List","Set","Sorted Set","ZSet","HyperLogLog","Bitmap"],"def":"Redis 的值不只是字串，還有雜湊（Hash）、清單（List）、集合（Set）、有序集合（Sorted Set）等資料結構。選對結構，很多功能一行指令就能完成，也比把整包 JSON 存成字串、每次都讀出來自己處理有效率。","analogy":"工具箱裡不同的收納盒：零件用分格盒（Hash）、排隊名單用一條長夾子（List）、不能重複的抽獎名單用籤筒（Set）、排行榜用會自動依分數排好的計分板（Sorted Set）。","when":"String：快取一段 JSON、計數器（INCR）。Hash：一個物件的多個欄位，例如會員資料，可以只改其中一欄。List：簡單的佇列、最新 N 則動態。Set：標籤、共同好友（SINTER 取交集）、去除重複。Sorted Set：排行榜、依時間排序的資料、延遲任務。HyperLogLog：估算不重複的訪客數，最多只用約 12 KB 記憶體（有小誤差）。","pitfall":"大 key：把幾十萬筆資料塞進同一個 List 或 Hash，讀取或刪除它時會卡住整個 Redis（指令是一個一個執行的）。KEYS * 會掃描所有的鍵，正式環境要改用 SCAN 分批掃描。","code":{"lang":"Redis 指令（# 後面是說明，不用輸入）","src":"HSET user:42 name \"小明\" city \"台中\"    # 雜湊：一個物件的多個欄位\nHGET user:42 city                       # \"台中\"\nSADD tags:post:1 \"Python\" \"後端\"         # 集合：重複加入也只會有一個\nSINTER friends:amy friends:ben           # 共同好友：兩個集合的交集\nLPUSH feed:42 \"post:9\"                   # 清單：最新的動態放最前面\nLRANGE feed:42 0 9                       # 取最新 10 則"},"cases":[{"title":"遊戲排行榜：Sorted Set","text":"把玩家 ID 當成員、分數當排序依據：ZINCRBY 加分、ZRANGE 加上 REV 參數拿前 10 名、ZREVRANK 查自己第幾名，每個操作都是 O(log n)。這是 Redis 最經典的應用。"},{"title":"HyperLogLog 的 PF 是人名","text":"要數一天有多少不重複的訪客，HyperLogLog 不管多少人都只用約 12 KB，標準誤差約 0.81%。指令 PFADD、PFCOUNT 開頭的 PF，是為了紀念這個演算法的發明者 Philippe Flajolet。"}],"level":"basic","interview":"high","skills":["redis"],"related":["kv-store","hash-table","redis-ttl-eviction"]},{"id":"redis-ttl-eviction","name":"過期時間與記憶體淘汰","aka":["TTL","EXPIRE","Eviction","maxmemory","LRU","LFU","淘汰策略"],"def":"每個鍵都可以設定存活時間（TTL），時間到就自動刪除。記憶體用完時，Redis 依「淘汰策略」決定怎麼辦：預設是拒絕新的寫入；當快取使用時，通常改成刪掉最近最少使用（LRU）或最不常使用（LFU）的鍵。","analogy":"冰箱：每樣食物貼上有效期限（TTL），過期就丟掉；冰箱滿了，先丟最久沒碰過的那盒（LRU）。","when":"快取一定要設 TTL，避免資料永遠不更新、記憶體無限長大。常見的設定是 maxmemory 加上 maxmemory-policy：純快取用 allkeys-lru，只想淘汰有設 TTL 的鍵就用 volatile-lru。Redis 的 LRU 是抽樣近似的，不是精確的排序。「自己實作 LRU 快取」也是經典的面試程式題。","pitfall":"過期的鍵不會在時間一到就立刻從記憶體消失：Redis 用「被讀到時順便檢查」加上「定期抽樣清理」兩種方式刪除，記憶體可能晚一點才降下來。同一台 Redis 既當快取又存重要資料，還設成 allkeys-lru，重要資料也可能被淘汰掉。","code":{"lang":"Python","src":"from collections import OrderedDict\n\nclass LRUCache:\n    def __init__(self, capacity):\n        self.capacity = capacity\n        self.data = OrderedDict()\n\n    def get(self, key):\n        if key not in self.data:\n            return None\n        self.data.move_to_end(key)           # 剛用過：移到最後面（最新）\n        return self.data[key]\n\n    def put(self, key, value):\n        self.data[key] = value\n        self.data.move_to_end(key)\n        if len(self.data) > self.capacity:\n            self.data.popitem(last=False)    # 滿了：刪掉最前面（最久沒用）\n\ncache = LRUCache(2)\ncache.put(\"a\", 1)\ncache.put(\"b\", 2)\ncache.get(\"a\")                               # 用過 a，現在 b 最久沒用\ncache.put(\"c\", 3)                            # 超過容量，刪掉 b\nprint(list(cache.data))                      # ['a', 'c']"},"cases":[{"title":"忘了設 TTL，記憶體被塞滿","text":"常見的事故：快取寫入時忘了設過期時間，資料只進不出，某天記憶體到達上限。Redis 預設的策略是 noeviction，之後的寫入全部回傳錯誤，用到快取的功能跟著壞掉。"},{"title":"LFU 淘汰（Redis 4.0）","text":"Redis 4.0 加入 LFU 淘汰：依「使用頻率」而不是「最後一次使用的時間」決定淘汰誰。這樣某個批次工作把大量冷門資料讀過一遍，也不會把真正常用的熱門資料擠出快取。"}],"level":"mid","interview":"mid","skills":["redis"],"related":["caching","redis-data-types","hash-table","linked-list"]},{"id":"cache-strategies","name":"快取讀寫策略與資料一致性","aka":["Cache-aside","Read-through","Write-through","Write-behind","Cache Invalidation","快取一致性","延遲雙刪"],"def":"最常見的 Cache-aside：讀取時先查快取，沒有再查資料庫並寫回快取；更新時先更新資料庫，再「刪除」快取（而不是更新快取），下次讀取時自然會載入新資料。其他做法還有 Write-through（同時寫入快取與資料庫）和 Write-behind（先寫快取，之後再批次寫回資料庫）。","analogy":"門市的價目看板：總公司（資料庫）改了價格，最穩當的做法是先把看板上的舊價格撕掉，下一位客人問的時候再去查總公司的最新價格貼上去，而不是讓店員憑印象改寫看板。","when":"商品頁、會員資料、系統設定這類讀多寫少的資料。要求比較嚴格時，可以在刪除快取之後隔一小段時間再刪一次（延遲雙刪），或用 CDC 監聽資料庫的異動來刪除快取。","pitfall":"「更新資料庫後更新快取」在兩個請求同時更新時，可能讓舊值覆蓋新值；「先刪快取、再更新資料庫」則可能在中間被別的請求把舊資料讀回快取。快取和資料庫之間通常只能做到最終一致，金額、庫存這類一定要正確的資料，要以資料庫為準。","cases":[{"title":"改了價格，頁面卻還是舊的","text":"後台把商品從 100 元改成 80 元，資料庫更新了，快取卻忘了刪，前台還顯示 100 元、結帳時卻是 80 元，客服電話接不完。價格、庫存這類資料要以資料庫為準，快取只負責加速顯示。"},{"title":"Facebook 的租約（lease）","text":"Facebook 的 Memcache 論文提到「租約」：快取沒命中時，只發許可給第一個請求去資料庫查詢並寫回，其他請求稍等再讀；寫回時若租約已經失效就不寫，避免舊資料被晚到的寫入蓋回快取。"}],"level":"mid","interview":"high","skills":["redis"],"related":["caching","cache-problems","eventual-consistency","outbox"]},{"id":"cache-problems","name":"快取穿透、擊穿與雪崩","aka":["Cache Penetration","Cache Breakdown","Hot Key","Cache Avalanche","Cache Stampede","Bloom Filter","布隆過濾器"],"def":"三種讓大量請求繞過快取、直接壓垮資料庫的狀況。穿透：查的是「根本不存在」的資料，快取裡永遠沒有。擊穿：某個熱門的鍵剛好過期，瞬間大量請求一起去查資料庫。雪崩：大量的鍵在同一時間過期，或 Redis 整個掛掉。","analogy":"百貨公司的服務台（快取）回答客人的問題，答不出來才去問總經理（資料庫）。穿透：一直有人問根本不存在的櫃位，服務台每次都得去問總經理；擊穿：週年慶的公告剛好過期，幾百人同時湧進總經理辦公室；雪崩：服務台的人員全部同時下班。","when":"穿透：把「查不到」也短暫快取起來（空值快取），或用布隆過濾器先擋掉一定不存在的鍵。擊穿：用互斥鎖只讓一個請求去查資料庫、重建快取，其他人等它；或讓熱門的鍵不過期、改由背景更新。雪崩：TTL 加上隨機秒數錯開過期時間、Redis 做高可用，並在資料庫前面加上限流與降級。","pitfall":"這三個名詞是中文圈面試的常見說法，英文資料比較常用 cache stampede、thundering herd 描述擊穿這類情況，查資料時要換關鍵字。布隆過濾器可能誤判「可能存在」，但不會把存在的誤判成不存在，所以只能拿來擋「一定不存在」的請求。","code":{"lang":"Python","src":"import random, time\n\ncache = {}                                   # 用 dict 假裝是 Redis：鍵 → (值, 到期時間)\n\ndef query_db(product_id):\n    print(\"查資料庫：\", product_id)\n    return {\"1\": \"珍珠奶茶\"}.get(product_id)  # 不存在就回傳 None\n\ndef get_product(product_id):\n    hit = cache.get(product_id)\n    if hit and hit[1] > time.time():\n        return hit[0]\n    value = query_db(product_id)\n    # 查不到也快取（時間短一點，防穿透）；正常資料加上隨機秒數，錯開過期時間（防雪崩）\n    ttl = 60 if value is None else 600 + random.randint(0, 120)\n    cache[product_id] = (value, time.time() + ttl)\n    return value\n\nget_product(\"999\")\nget_product(\"999\")                           # 第二次不會再查資料庫"},"cases":[{"title":"Facebook 斷線 2.5 小時（2010）","text":"2010 年 9 月，Facebook 一個設定值被系統判斷為無效，每台伺服器都同時去資料庫查詢想要修正；資料庫被打垮後回應錯誤，又讓更多伺服器以為值無效、繼續查詢，形成惡性循環，最後只能關站阻斷，停擺約 2.5 小時。"},{"title":"布隆過濾器（1970）","text":"Burton Bloom 在 1970 年提出：用一小段位元陣列加上幾個雜湊函式，就能判斷「一定不存在」或「可能存在」。Chrome 早期用它在本機先過濾惡意網址，大部分網址不用上網查詢。"}],"level":"mid","interview":"high","skills":["redis"],"related":["caching","cache-strategies","rate-limiting","circuit-breaker"]},{"id":"redis-single-thread","name":"為什麼單執行緒的 Redis 還這麼快","aka":["Single-threaded","Event Loop","I/O Multiplexing","epoll","單執行緒","事件迴圈"],"def":"Redis 執行指令的核心是單一執行緒，一次只做一個指令。它快的原因是：資料都在記憶體裡、資料結構設計得很有效率、用 I/O 多工（例如 Linux 的 epoll）讓一個執行緒同時照顧上萬個連線，還省去了多執行緒搶鎖的成本。Redis 6 起，網路讀寫可以交給多個 I/O 執行緒分擔。","analogy":"一位手腳超快的飲料店店員：一次只做一杯，但每杯都只要幾秒，也不用跟別人搶同一台封口機；點單由櫃台（I/O 多工）先收好，店員做完一杯馬上接下一杯。","when":"懂這點才知道該怎麼用：只要每個指令都很快，單台 Redis 每秒就能處理十萬次等級的簡單操作（依硬體而定），再不夠就水平擴展成 Cluster。也因為一次只執行一個指令，INCR 這類單一指令天生不會被打斷（具有原子性）。","pitfall":"一個慢指令就會讓所有人一起等：KEYS *、對超大的集合做 SMEMBERS、執行很久的 Lua 腳本，都會卡住整台 Redis。可以用 SLOWLOG 找出慢指令。","cases":[{"title":"一行 KEYS 卡住整個網站","text":"工程師在正式環境下了 KEYS user:* 想找幾個鍵，Redis 得掃過上千萬個鍵，掃描的那幾秒所有請求都在排隊，整個網站跟著卡住。正式環境要改用 SCAN 分批掃描。"},{"title":"Redis 6 的多執行緒 I/O（2020）","text":"Redis 6.0 在 2020 年加入多執行緒處理網路讀寫，但執行指令的仍然只有一個執行緒：單一指令的原子性不變，只是把收發資料的工作分出去。"}],"level":"mid","interview":"high","skills":["redis"],"related":["redis-data-types","redis-atomic","kv-store"]},{"id":"redis-persistence","name":"持久化：RDB 與 AOF","aka":["RDB","AOF","Snapshot","fsync","Persistence","持久化"],"def":"Redis 的資料放在記憶體，重開機後還要在，就得寫到硬碟。RDB 每隔一段時間存一份完整的快照，檔案小、重啟快，但會遺失最後一次快照之後的資料；AOF 把每個寫入指令記錄下來，常見設定下最多遺失約一秒的資料，但檔案比較大。兩種可以同時開啟。","analogy":"RDB 像每天下班前替白板拍一張照片；AOF 像會議記錄，把每一句話都寫下來。白板被擦掉時，照片只能還原到昨天下班，會議記錄可以一路還原到最後一句。","when":"純快取可以不開，或只開 RDB；Redis 裡有重要資料（例如排行榜、Session）就開 AOF，appendfsync everysec（每秒寫入一次硬碟）是常見的折衷。雲端的託管服務（例如 ElastiCache、Memorystore）通常另外提供快照備份的設定。","pitfall":"持久化不等於備份：AOF 檔案和 Redis 在同一台機器上，機器壞了就一起不見，還是要把快照複製到別的地方。產生 RDB 時 Redis 會複製出一個子行程，資料量大時要預留足夠的記憶體。","cases":[{"title":"購物車一重開機就清空","text":"常見的設計失誤：購物車只存在 Redis、又沒開持久化，某次機器重新開機或 Redis 重啟，所有使用者的購物車一起消失。要嘛開 AOF，要嘛把 Redis 當快取、正本存在資料庫。"},{"title":"官方建議：兩種一起開","text":"Redis 官方文件建議，想要接近 PostgreSQL 等級的資料安全，就同時開 RDB 與 AOF：AOF 盡量不丟資料，RDB 方便備份與快速重啟。"}],"level":"mid","interview":"mid","skills":["redis"],"related":["kv-store","redis-ha","high-availability"]},{"id":"redis-atomic","name":"交易、Pipeline 與 Lua 腳本","aka":["MULTI","EXEC","WATCH","Pipeline","Lua Script","EVAL","Atomic","原子操作"],"def":"Pipeline 把好幾個指令一次送出，省下來回的網路時間，但不保證中間不被別人的指令插隊。MULTI／EXEC 交易保證這組指令依序執行、中間不會插入別人的指令，但其中一個指令出錯，前面的不會復原（沒有回滾）。Lua 腳本把「讀取、判斷、寫入」寫成一段，在 Redis 裡一次執行完，是做複雜原子操作最常用的方式。","analogy":"Pipeline 像一次把五封信交給郵差，省得跑五趟；交易像包下整台電梯，中途不讓別人進來，但電梯裡掉了東西不會自動倒帶；Lua 腳本像把一整套流程交給店員，在櫃台後面一次做完再出來。","when":"Pipeline：一次寫入或讀取大量的鍵，例如批次預熱快取。Lua：「庫存大於 0 才扣一」、限流的計數、釋放分散式鎖時「確認是自己的鎖才刪」。可以用 redis-cli --eval 或程式裡的 EVAL 執行腳本。","pitfall":"「先 GET 判斷、再 SET」在多台伺服器同時執行時會出錯（兩邊都讀到庫存 1、都扣成功），要改用 INCR／DECR 這類單一指令、WATCH 樂觀鎖，或 Lua 腳本。Redis 的 MULTI 和關聯式資料庫的交易不一樣，不會回滾。","code":{"lang":"Lua（Redis 腳本）","src":"-- 庫存大於 0 才扣一：整段在 Redis 裡一次執行完，不會被其他指令插隊\nlocal stock = tonumber(redis.call(\"GET\", KEYS[1]) or \"0\")\nif stock > 0 then\n  return redis.call(\"DECR\", KEYS[1])\nend\nreturn -1   -- 賣完了"},"cases":[{"title":"Pipeline：1 萬次來回變 1 次","text":"一次要寫入 1 萬個鍵時，每個指令都等一次回應，光是網路來回就要 1 萬次。用 Pipeline 把指令一起送出、一起收回，常常快上數十倍，Redis 本身的工作量其實沒變。"},{"title":"WATCH：Redis 版的樂觀鎖","text":"先 WATCH 一個鍵再開始交易，EXEC 時如果那個鍵被別人改過，整個交易就不執行、回傳空結果，程式再重新讀取、重試一次。"}],"level":"adv","interview":"mid","skills":["redis"],"related":["redis-single-thread","redis-lock","sql-locking"]},{"id":"redis-lock","name":"分散式鎖","aka":["Distributed Lock","SET NX","Redlock","Redisson","Fencing Token","分散式鎖"],"def":"多台伺服器要確保「同一時間只有一個人在做某件事」（例如同一筆訂單只能被處理一次）時，用一個大家都看得到的地方當鎖。Redis 的做法是 SET 鍵 值 NX PX 毫秒：鍵不存在時才設定成功（搶到鎖），並設定自動過期，避免拿到鎖的伺服器當機後，鎖永遠不釋放。","analogy":"會議室門口的「使用中」牌子：先掛上牌子的人才能進去，牌子上寫著名字和「一小時後自動失效」，免得有人開完會忘了拿下來，整天都沒人能用。","when":"排程工作只讓一台伺服器執行、防止重複送出、多台伺服器修改同一個資源。Java 常用 Redisson 函式庫，它會幫你處理自動續約（看門狗）等細節。","pitfall":"刪鎖前要確認是自己的鎖（比對值，用 Lua 一次完成），不然可能刪掉別人剛搶到的鎖。工作做太久、超過過期時間，鎖會被別人拿走，變成兩個人同時在做；Redis 主從切換時鎖也可能遺失。正確性要求極高的情境（例如金流），還要搭配資料庫的唯一鍵或版本號（fencing token）把關。","code":{"lang":"Redis 指令（# 後面是說明，不用輸入）","src":"SET lock:order:1001 \"server-a:7f3c\" NX PX 30000   # 鍵不存在才設定（搶鎖），30 秒後自動過期\n# 回覆 OK：搶到鎖；回覆 (nil)：別人正在用\n# 做完之後只刪除「自己的」鎖：用 Lua 確認值相同才刪，不要直接 DEL"},"cases":[{"title":"Redlock 論戰（2016）","text":"Martin Kleppmann 在 2016 年撰文指出：程式可能因為垃圾回收暫停、時鐘跳動，鎖都過期了還以為自己持有，Redlock 無法保證正確，應該搭配 fencing token。Redis 作者 antirez 隨即發文反駁，這場討論成了分散式鎖的經典讀物。"},{"title":"ShedLock：排程只讓一台執行","text":"Java 的 ShedLock 套件專門解決「部署了 3 台，半夜的排程就跑 3 次」的問題：執行前先搶鎖，搶到的那台才執行。鎖可以放在 Redis、資料庫或 ZooKeeper。"}],"level":"adv","interview":"high","skills":["redis","distributed-systems"],"related":["redis-atomic","idempotency","consensus","sql-locking"]},{"id":"redis-pubsub-streams","name":"Pub/Sub 與 Streams","aka":["Redis Pub/Sub","Redis Streams","XADD","XREADGROUP","Consumer Group"],"def":"Redis 也能傳遞訊息。Pub/Sub 是即時廣播：發布當下正在線上的訂閱者才收得到，不保存訊息，斷線就漏掉。Streams（Redis 5 起）則把訊息依序保存下來，支援消費者群組與確認（ack），可以當成輕量版的 Kafka。","analogy":"Pub/Sub 像廣播電台：沒開收音機就聽不到，也不能重播。Streams 像有錄音的留言信箱：晚點再聽也可以，聽完按下確認。","when":"Pub/Sub：在多台 WebSocket 伺服器之間轉送聊天訊息與即時通知、通知每台機器清掉本機快取。Streams：量不大的事件佇列與背景工作。已經在用 Redis、不想多維運一套 Kafka 或 RabbitMQ 時特別方便。","pitfall":"不要用 Pub/Sub 傳不能遺失的訊息。Streams 的資料一樣在記憶體裡，要用 MAXLEN 限制長度；量大、要長期保存的事件還是交給 Kafka。","cases":[{"title":"Socket.IO 的 Redis 轉接器","text":"Node.js 常用的即時通訊套件 Socket.IO，在多台伺服器時搭配 Redis 轉接器：一台收到的訊息透過 Redis Pub/Sub 廣播給其他台，各自再推給連在自己身上的使用者。"},{"title":"Streams 的由來（2018）","text":"Redis 5.0 在 2018 年加入 Streams，作者 antirez 說它的消費者群組受到 Kafka 啟發：訊息會保留下來，可以確認、可以重讀，補上 Pub/Sub「沒在線就收不到」的缺點。"}],"level":"mid","interview":"low","skills":["redis","websocket","event-driven"],"related":["pubsub-model","queue-vs-log","websocket-realtime","delivery-guarantee"]},{"id":"redis-ha","name":"主從複寫、Sentinel 與 Cluster","aka":["Redis Replication","Redis Sentinel","Redis Cluster","Hash Slot","Hash Tag","哨兵"],"def":"主從複寫：一台主節點負責寫入，資料非同步複製到副本。Sentinel（哨兵）：監控主節點，主節點掛掉時自動把某個副本升為新的主節點。Cluster：把資料依鍵分成 16384 個雜湊槽（hash slot），分散到多個主節點上，同時解決容量與高可用的問題。","analogy":"主從像正副班長；Sentinel 像導師，班長請假就指定副班長代理；Cluster 像把全校分成好幾個班，每班各有正副班長，各自管好自己班上的事。","when":"只需要高可用、資料量一台放得下：主從加上 Sentinel。資料量或流量超過一台能負荷：Cluster。雲端的託管服務通常已經幫你做好這些。","pitfall":"複寫是非同步的：主節點剛寫入就掛掉，那筆資料可能還沒複製過去就遺失了。Cluster 模式下，一個指令（或交易、Lua 腳本）用到的多個鍵必須在同一個雜湊槽，可以用 {user:42}:cart 這種寫法（hash tag）讓相關的鍵落在同一槽。","cases":[{"title":"為什麼是 16384 個雜湊槽","text":"Redis Cluster 把所有鍵分到 16384 個雜湊槽，加機器時只要搬一部分槽過去。作者解釋過這個數字的由來：節點之間定時交換「我負責哪些槽」，16384 個槽剛好用 2 KB 表示，再多訊息就太大了。"},{"title":"Sentinel 的多數決","text":"一台 Sentinel 覺得主節點掛了還不算數，要有足夠數量（quorum）的 Sentinel 都同意，才會把副本升為新的主節點，避免網路抖一下就誤判。所以 Sentinel 至少要部署 3 台。"}],"level":"adv","interview":"mid","skills":["redis","distributed-systems"],"related":["replication","sharding","consistent-hashing","high-availability"]}]},{"id":"cloud","name":"雲端平台","intro":"雲端就是向 AWS、Microsoft Azure、Google Cloud 這些公司租用電腦、儲存空間與各種現成的服務，用多少付多少。三家的服務名稱不同，背後的觀念幾乎一樣：先搞懂服務模式、區域、運算、儲存、網路與權限，換到哪一家都學得很快。","order":"IaaS／PaaS／SaaS → 區域與可用區 → 運算 → 儲存 → 身分與權限（IAM）→ 網路（VPC）→ 託管服務 → 基礎設施即程式碼 → 成本管理 → 高可用與災難復原","skills":["aws","azure","gcp","terraform","serverless"],"resources":[{"title":"AWS：什麼是雲端運算？（繁體中文）","url":"https://aws.amazon.com/tw/what-is-cloud-computing/"},{"title":"Microsoft Learn：雲端概念與 Azure 基礎（AZ-900 免費課程，繁體中文）","url":"https://learn.microsoft.com/zh-tw/training/paths/microsoft-azure-fundamentals-describe-cloud-concepts/"},{"title":"AWS Skill Builder：官方免費課程，可以從 Cloud Practitioner 入門","url":"https://skillbuilder.aws/"}],"concepts":[{"id":"cloud-service-models","name":"IaaS、PaaS、SaaS","aka":["IaaS","PaaS","SaaS","Cloud Service Models","雲端服務模式"],"def":"依「雲端幫你管到哪裡」分成三種：IaaS 租的是虛擬機器，作業系統以上都自己管；PaaS 只要上傳程式，主機與執行環境由平台負責；SaaS 則是直接使用做好的軟體。","analogy":"想吃披薩：IaaS 像租一間廚房，食材和烤都自己來；PaaS 像買冷凍披薩回家烤，只要顧好烤箱的時間；SaaS 像直接去披薩店坐下來吃。","when":"IaaS：AWS EC2、Azure 虛擬機器、Google Compute Engine。PaaS：Heroku、Google App Engine、Azure App Service、Vercel。SaaS：Gmail、Microsoft 365、Slack。越往上越省事，但能自己調整的空間也越少。","pitfall":"不是越往上越好，也不是越往下越便宜：自己管虛擬機看起來比較便宜，但系統更新、備份、資安修補都要花人力。","cases":[{"title":"Salesforce：No Software（1999）","text":"Salesforce 在 1999 年創立時用「No Software」當口號：客戶管理系統不用買光碟、不用自己架伺服器，打開瀏覽器就能用、按月付費。這是 SaaS 最早期的代表之一。"},{"title":"Heroku：git push 就上線","text":"Heroku 讓開發者只要 git push，網站就自動建置、部署、上線，完全不用碰伺服器，是 PaaS 的經典代表；現在的 Vercel、Render 都延續了這種體驗。"}],"level":"basic","interview":"mid","skills":["aws","azure","gcp","vercel"],"terms":["cloud","on-premise","vm"],"related":["cloud-compute","serverless","managed-services"]},{"id":"region-az","name":"區域與可用區","aka":["Region","Availability Zone","AZ","Multi-AZ","可用區域"],"def":"雲端的機房分布在世界各地的「區域」（例如東京、新加坡、台灣），每個區域裡有好幾個電力、網路彼此獨立的「可用區」（各自由一座以上的資料中心組成）。把服務分散在多個可用區，一個機房出事也不會整個停擺。","analogy":"連鎖店在同一個城市開好幾家分店：一家停電，客人還能去別家；但整個城市大停電時，就需要另一個城市的分店（跨區域）。","when":"選區域看三件事：離使用者近不近（速度）、法規（個資能不能存放在國外）、價格與需要的服務齊不齊全。Google Cloud 的台灣區域位在彰化，AWS 也有台北區域。","pitfall":"只放在單一可用區，就沒有真正的備援。跨可用區、跨區域傳輸資料通常要另外收費，架構設計時也要算進成本。","cases":[{"title":"AWS 美東區域的 S3 故障（2017）","text":"2017 年 2 月，一位 AWS 工程師除錯時打錯了指令的參數，移除了比預期多很多的伺服器，美東區域的 S3 停擺約 4 小時。很多只放在這個區域的網站跟著出問題，連 AWS 自己的狀態頁都一度無法更新。"},{"title":"Google 在彰化的資料中心","text":"Google 在彰化設立的資料中心 2013 年啟用，對應 Google Cloud 的台灣區域（asia-east1）。個資或法規要求資料留在台灣的系統，常會優先考慮這類本地區域。"}],"level":"basic","interview":"mid","skills":["aws","gcp","azure"],"related":["high-availability","replication","load-balancing"]},{"id":"cloud-compute","name":"雲端運算：虛擬機、容器與函式","aka":["EC2","Compute Engine","Virtual Machine","Auto Scaling","Spot Instance","自動擴展"],"def":"在雲端執行程式主要有三種方式：虛擬機（自己管作業系統）、容器服務（把容器交給平台執行）、無伺服器函式（只寫函式，有請求才執行）。搭配自動擴展（Auto Scaling），流量大時自動加機器、流量小時自動減少。","analogy":"虛擬機像長期租一間店面，裝潢水電都自己處理；容器服務像進駐百貨公司的專櫃，只管自己的櫃位；函式像在市集按次租攤位，有客人才開張。","when":"虛擬機（AWS EC2、Google Compute Engine、Azure 虛擬機器）：要完全掌控環境，或把舊系統原封不動搬上雲。容器（AWS ECS 與 Fargate、Google Cloud Run、Azure Container Apps）：新服務很常見的選擇。函式（AWS Lambda、Azure Functions）：流量忽高忽低的小功能。可以中斷的批次工作，可以改用價格便宜很多的 Spot（搶占式）機器。","pitfall":"虛擬機開了忘記關，沒在用也會一直計費。自動擴展要設上限，不然程式出錯或被攻擊時，帳單也會跟著自動擴展。","cases":[{"title":"EC2 的誕生（2006）","text":"Amazon EC2 在 2006 年推出，第一次讓任何人用信用卡就能「按小時租一台伺服器」，不用買機器、等機房上架，被視為現代雲端運算的起點。"},{"title":"Firecracker 微型虛擬機（2018）","text":"AWS Lambda 與 Fargate 底下跑的是 AWS 開源的 Firecracker：一種極度精簡的虛擬機，啟動只要約 125 毫秒，同時擁有虛擬機的隔離與接近容器的速度。"}],"level":"basic","interview":"mid","skills":["aws","gcp","azure","serverless"],"terms":["vm","server"],"related":["cloud-service-models","serverless","scaling","container-basics"]},{"id":"cloud-storage","name":"雲端儲存：物件、區塊與檔案","aka":["Object Storage","S3","Blob Storage","Block Storage","EBS","File Storage","物件儲存","Bucket"],"def":"物件儲存（AWS S3、Azure Blob Storage、Google Cloud Storage）用網址存取一整個檔案，容量幾乎沒有上限、價格便宜；區塊儲存（例如 AWS EBS）像掛在虛擬機上的硬碟；檔案儲存（例如 AWS EFS）是多台機器可以一起掛載的共用資料夾。","analogy":"物件儲存像倉儲服務：每個箱子貼一個編號，要用就整箱取出、整箱放回；區塊儲存像你電腦裡的硬碟；檔案儲存像辦公室的共用網路磁碟機。","when":"使用者上傳的圖片與影片、網站的靜態檔案、備份與日誌、資料湖，都放物件儲存；資料庫與作業系統用區塊儲存。很少讀取的資料可以選「冷儲存」等級，價格更便宜，但取回要等比較久。","pitfall":"把儲存桶（bucket）的權限設成公開，是雲端最常見的資料外洩原因之一。物件儲存也不適合常常只改一小段內容的檔案，每次修改都要整個重新上傳。","cases":[{"title":"公開的儲存桶外洩選民資料（2017）","text":"多年來不斷有企業把 S3 儲存桶誤設成公開，例如 2017 年美國一家選民資料分析公司，讓近 2 億名選民的資料任何人都能下載。AWS 後來把「封鎖公開存取」改成新儲存桶的預設值。"},{"title":"S3 的「11 個 9」","text":"AWS 宣稱 S3 的資料耐久度是 99.999999999%：存 1,000 萬個檔案，平均約 1 萬年才可能遺失一個。耐久度講的是「資料不會不見」，和「隨時連得上」的可用性是兩回事。"}],"level":"basic","interview":"mid","skills":["aws","azure","gcp"],"terms":["cdn"],"related":["cloud-iam","cloud-compute","cloud-cost"]},{"id":"cloud-iam","name":"身分與權限管理（IAM）","aka":["IAM","Identity and Access Management","Role","Policy","Least Privilege","最小權限","Access Key"],"def":"控制「誰」可以對「哪些資源」做「什麼事」。使用者與服務都有身分，用政策（policy）列出允許的動作；程式在雲端執行時，應該透過角色（role）取得會自動過期的臨時憑證，而不是把長期有效的存取金鑰寫在程式裡。","analogy":"公司的門禁卡：清潔人員的卡只開得了走廊和茶水間，財務的卡才開得了金庫；訪客拿的是當天有效的臨時卡。","when":"每一個雲端專案的第一步。例如上傳圖片的服務，只給它「寫入某一個儲存桶」的權限（最小權限原則）；工程師登入要開多因素驗證（MFA），日常工作不使用最高權限的 root 帳號。","pitfall":"把存取金鑰（Access Key）寫進程式碼推上 GitHub：自動化的機器人會掃描公開的程式碼，金鑰可能在幾小時內就被盜用、拿去開機器挖礦，產生鉅額帳單。為了方便直接給「全部權限」，也是常見的資安漏洞。","code":{"lang":"JSON（AWS IAM 政策）","src":"{\n  \"Version\": \"2012-10-17\",\n  \"Statement\": [\n    {\n      \"Effect\": \"Allow\",\n      \"Action\": [\"s3:PutObject\"],\n      \"Resource\": \"arn:aws:s3:::my-shop-photos/*\"\n    }\n  ]\n}"},"cases":[{"title":"Capital One 外洩（2019）","text":"攻擊者利用 Capital One 一台設定錯誤的防火牆伺服器，取得它的 IAM 角色憑證；這個角色的權限開得太大，可以讀取大量 S3 資料，最後約 1 億人的信用卡申請資料外洩。最小權限原則就是為了避免這種事。"},{"title":"Code Spaces 一夜倒閉（2014）","text":"程式碼託管公司 Code Spaces 的 AWS 主控台被入侵，攻擊者勒索不成，就把機器與備份全部刪光，公司隨即宣布結束營業。備份和正式環境放在同一個帳號、權限沒有分開，是最常被引用的教訓。"}],"level":"mid","interview":"mid","skills":["aws","security","auth"],"terms":["env-var"],"related":["vpc","cloud-storage","k8s-config","rbac","secrets-management"]},{"id":"vpc","name":"虛擬私有網路（VPC）與子網路","aka":["VPC","Virtual Private Cloud","VNet","Subnet","Security Group","NAT Gateway","子網路","安全群組"],"def":"VPC 是你在雲端上專屬、和別人隔開的網路。裡面再切成子網路：公開子網路可以直接連上網際網路（放負載平衡器），私有子網路不對外（放應用程式與資料庫），要連外時透過 NAT 閘道。安全群組（Security Group）則是套在每台機器上的防火牆規則。","analogy":"社區大樓：大門警衛（安全群組）只放行登記過的訪客；大廳（公開子網路）誰都能進來，住戶樓層（私有子網路）要刷卡；住戶可以出門，外人卻不能直接走進他家。","when":"幾乎所有雲端上的正式系統：資料庫只允許應用程式那一組機器連線，不對外開放；公司辦公室或自有機房透過 VPN 或專線連進 VPC。Azure 的同樣概念叫 VNet。","pitfall":"為了方便把資料庫或 SSH（22 埠）開放給 0.0.0.0/0（全世界），很快就會被掃描與暴力破解。NAT 閘道依時數與流量計費，常常是帳單上意想不到的大項目。","cases":[{"title":"對全世界開放的資料庫","text":"資安研究者一再發現，有人把 Elasticsearch、MongoDB 架在雲端時直接開放給 0.0.0.0/0、又沒設密碼，用掃描工具就能找到並下載整個資料庫。資料庫應該放在私有子網路，只讓應用程式連線。"},{"title":"安全群組與網路 ACL","text":"AWS 的安全群組是「有狀態」的：允許了進來的請求，回應就自動放行；網路 ACL 則是「無狀態」的，進出都要各自設定規則。兩者的差別是雲端認證考試的常考題，設錯就會出現「連得進去、回不來」。"}],"level":"mid","interview":"mid","skills":["aws","networking","security"],"related":["cloud-iam","load-balancing","region-az","tcp-ip"]},{"id":"managed-services","name":"託管服務與共同責任","aka":["Managed Service","RDS","Cloud SQL","DBaaS","Shared Responsibility Model","共同責任模型","全託管"],"def":"把資料庫、快取、訊息佇列這類元件交給雲端代管：安裝、更新、備份、故障切換由雲端負責，你只管使用和設定，例如 AWS RDS、Google Cloud SQL、Azure SQL Database。雲端與使用者各自要負責哪些部分，叫做「共同責任模型」。","analogy":"住飯店而不是自己買房子：打掃、修水電、換床單都有人處理，你只要顧好自己的行李和房卡。","when":"小團隊通常應該優先選託管服務，一兩個人很難把資料庫的備份、高可用與修補做得和雲端一樣好。常見的有資料庫（RDS、Cloud SQL）、快取（ElastiCache、Memorystore）、訊息佇列（Amazon SQS、Google Cloud Pub/Sub）、Kubernetes（EKS、GKE、AKS）。","pitfall":"託管不等於什麼都不用管：資料的存取權限、加密設定、備份能不能真的還原，仍然是你的責任。託管服務也比自己架設貴，越依賴某一家特有的服務，之後越難搬到別家（廠商綁定）。","cases":[{"title":"Netflix 搬上雲端（2008～2016）","text":"2008 年 Netflix 的資料庫損毀，DVD 寄送停擺了 3 天，促使他們決定不再自己管機房、全面搬上 AWS，2016 年完成遷移。他們的結論是：把心力放在影音服務本身，而不是管理資料中心。"},{"title":"共同責任：雲端管機房，你管設定","text":"AWS 的共同責任模型說得很清楚：「雲端本身」的安全（機房、硬體、虛擬化）是 AWS 的責任，「雲端裡面」的安全（帳號權限、資料加密、防火牆設定）是客戶的責任。很多外洩事件都是後者沒做好。"}],"level":"basic","interview":"mid","skills":["aws","gcp","azure","postgresql"],"related":["cloud-service-models","high-availability","mq-basics"]},{"id":"iac","name":"基礎設施即程式碼（IaC）","aka":["Infrastructure as Code","IaC","Terraform","OpenTofu","CloudFormation","Pulumi","Bicep"],"def":"用程式碼（設定檔）描述要建立哪些雲端資源，再交給工具自動建立或修改，取代在網頁主控台上一個一個點。程式碼可以放進 Git 版本控制、做 Code Review，也能一模一樣地重建出測試環境。","analogy":"照著食譜做菜，而不是憑感覺：同一份食譜不管誰來做、做幾次，味道都一樣；改了哪個步驟，看食譜的修改紀錄就知道。","when":"Terraform（以及它的開源分支 OpenTofu）支援各家雲端，最常見；AWS 有 CloudFormation 與 CDK，Azure 有 Bicep，Pulumi 可以用 TypeScript、Python 撰寫。常見流程是先執行 terraform plan 看會改什麼，確認後再 terraform apply 實際套用，通常放在 CI/CD 裡執行。","pitfall":"有人又到主控台手動改設定，程式碼和實際狀態就會不一致（drift，設定漂移）。Terraform 的狀態檔（state）裡可能有密碼等敏感資料，要放在有加密的遠端儲存，不要提交到 Git。","code":{"lang":"Terraform（HCL）","src":"# 建立一個儲存桶，並封鎖所有公開存取\nresource \"aws_s3_bucket\" \"photos\" {\n  bucket = \"my-shop-photos\"\n}\n\nresource \"aws_s3_bucket_public_access_block\" \"photos\" {\n  bucket                  = aws_s3_bucket.photos.id\n  block_public_acls       = true\n  block_public_policy     = true\n  ignore_public_acls      = true\n  restrict_public_buckets = true\n}"},"cases":[{"title":"Terraform 與 OpenTofu","text":"HashiCorp 在 2014 年推出 Terraform，用同一種設定語言管理各家雲端的資源，很快成為最常見的 IaC 工具。2023 年它改成限制商業使用的授權，社群隨即分支出開源的 OpenTofu，交給 Linux 基金會管理。"},{"title":"在錯的環境按下 apply","text":"常見的事故：在錯的資料夾或錯的工作區執行了 terraform destroy 或 apply，把正式環境的資源刪掉。所以正式環境的 apply 通常只在 CI 裡經過審核才執行，重要的資源再加上 prevent_destroy 保護。"}],"level":"mid","interview":"mid","skills":["terraform","cicd","aws"],"terms":["git-github"],"related":["cloud-iam","cloud-storage","managed-services","cicd-pipeline"]},{"id":"cloud-cost","name":"雲端成本管理","aka":["FinOps","Cloud Cost","Reserved Instance","Savings Plans","Budget Alert","預算警示"],"def":"雲端依用量計費：機器開著的時間、儲存容量、流出的網路流量、API 呼叫次數都要錢。管理成本的基本功是：設定預算警示、關掉沒在用的資源、選對規格；長期穩定的用量，再買預留或承諾方案（約定一年或三年，換取折扣）。","analogy":"手機資費：吃到飽不一定划算，要先看自己每個月實際用多少；出國漫遊（資料流出雲端）特別貴，不注意帳單就會嚇一跳。","when":"開好帳號的第一件事就是設定預算警示（AWS Budgets、Azure 成本管理、Google Cloud 的預算與快訊）。定期檢查閒置的機器、沒掛載的硬碟、舊的快照。資料從雲端流出到網際網路通常要收費，流入多半免費。","pitfall":"練習用的帳號忘了關掉機器或 NAT 閘道，一個月後收到帳單才發現。免費方案有額度與期限，超過就會開始計費。","cases":[{"title":"Dropbox 搬離 AWS（2016）","text":"Dropbox 在 2016 年把大部分使用者檔案從 S3 搬進自建的儲存系統 Magic Pocket，上市文件提到兩年內省下約 7,500 萬美元的營運成本。量大又穩定的服務，自建有時更划算。"},{"title":"37signals 離開雲端（2023）","text":"開發 Basecamp 與 HEY 的 37signals 計算後發現，流量穩定的服務自己買伺服器比租雲端便宜得多，2023 年把主要服務搬離 AWS，估計五年能省下約 700 萬美元。雲端的優勢在彈性，不一定在價格。"}],"level":"basic","interview":"low","skills":["aws","azure","gcp"],"related":["cloud-compute","serverless","scaling"]},{"id":"high-availability","name":"高可用與災難復原","aka":["High Availability","Disaster Recovery","DR","RTO","RPO","異地備援","備份"],"def":"高可用是讓服務在部分故障時繼續運作（多個可用區、自動切換）；災難復原是整個區域或資料出事時，要多久才能恢復。兩個關鍵指標：RTO（最多能停機多久）、RPO（最多能遺失多久以前的資料）。","analogy":"RPO 像遊戲的「上次存檔時間」：每 10 分鐘自動存檔，當機時最多損失 10 分鐘的進度；RTO 像「重新開機、回到遊戲畫面要多久」。","when":"先依業務訂出能接受的 RTO 與 RPO，再決定架構：每天備份一次（便宜，最多遺失一天的資料）、跨可用區即時複寫（幾乎不遺失）、在另一個區域準備好隨時能接手的整套環境（最貴）。金融這類受監管的產業，通常會被要求異地備援。","pitfall":"沒有實際演練過還原的備份，等於沒有備份。備份也要放在另一個帳號或區域，避免被同一個操作錯誤或勒索軟體一起刪掉。","cases":[{"title":"OVH 機房大火（2021）","text":"2021 年 3 月，歐洲雲端業者 OVHcloud 位於法國史特拉斯堡的機房失火，一棟資料中心全毀。只把備份放在同一個機房的客戶，連備份都一起燒掉了。"},{"title":"Netflix 的 Chaos Monkey（2011）","text":"Netflix 在 2011 年公開 Chaos Monkey：上班時間隨機關掉正式環境的機器，逼每個服務都要能承受單台故障。與其等事故發生，不如自己天天演練。"}],"level":"mid","interview":"mid","skills":["aws","sre"],"terms":["sla","incident"],"related":["region-az","replication","cap","load-balancing","redis-ha","slo-alerting"]}]},{"id":"container","name":"容器技術","intro":"容器把程式和它需要的執行環境（語言版本、套件、設定）打包在一起，放到哪台電腦都能用同樣的方式執行，解決「在我電腦上明明可以跑」的問題。先學會用 Docker 打包與執行單一服務，再學用 Kubernetes 管理很多台機器上的很多個容器。","order":"容器與虛擬機 → 映像檔與 Dockerfile → 資料與網路 → Docker Compose → 映像檔倉庫 → Kubernetes 基本元件 → Deployment → Service 與 Ingress → 設定與 Secret → 健康檢查與資源限制 → 容器安全","skills":["docker","kubernetes","helm","argocd"],"resources":[{"title":"Docker 官方入門教學（英文）","url":"https://docs.docker.com/get-started/"},{"title":"Kubernetes 官方基礎教學（簡體中文）","url":"https://kubernetes.io/zh-cn/docs/tutorials/kubernetes-basics/"},{"title":"Killercoda：免安裝、在瀏覽器裡練習 Docker 與 Kubernetes 的互動環境","url":"https://killercoda.com/"}],"concepts":[{"id":"container-basics","name":"容器與虛擬機的差別","aka":["Container","Virtual Machine","VM","Containerization","容器化"],"def":"虛擬機模擬一整台電腦，每台都有自己完整的作業系統；容器共用主機的作業系統核心，只把程式和它需要的檔案隔離起來，所以通常幾秒內就能啟動，佔用的資源也少很多。","analogy":"虛擬機像在一塊地上蓋好幾棟獨棟透天厝，每棟都有自己的水電管線；容器像同一棟大樓裡的套房，共用大樓的水電（作業系統核心），但各自上鎖、互不干擾。","when":"讓開發、測試、正式環境完全一致；一台機器上跑很多個服務；微服務與 CI/CD 的標準做法。虛擬機仍適合需要不同作業系統或更強隔離的情境，而雲端上的容器，其實也常常跑在虛擬機裡。","pitfall":"容器的隔離比虛擬機弱：大家共用同一個核心，核心的漏洞可能影響所有容器。另外，Windows 和 macOS 上的 Docker Desktop，其實是在背後開一台 Linux 虛擬機來執行容器。","cases":[{"title":"Docker 的五分鐘示範（2013）","text":"Solomon Hykes 在 2013 年 PyCon 的五分鐘閃電講中第一次公開示範 Docker，把 Linux 早已存在的容器技術包裝成簡單好用的工具，「在我電腦上可以跑」從此變成「到哪裡都能跑」。"},{"title":"貨櫃標準化的啟發","text":"容器的英文和貨櫃是同一個字。1950 年代標準貨櫃出現後，不管裡面裝什麼，碼頭、船、卡車都用同一套方式搬運，運輸成本大幅下降。Docker 的標誌就是一隻載著貨櫃的鯨魚。"}],"level":"basic","interview":"high","skills":["docker"],"terms":["container","vm"],"related":["image-dockerfile","cloud-compute","microservices"]},{"id":"image-dockerfile","name":"映像檔與 Dockerfile","aka":["Docker Image","Dockerfile","Layer","映像檔","鏡像","Build Cache"],"def":"映像檔（image）是容器的「模板」，裡面有程式、執行環境與套件，建好之後就不會改變；容器是映像檔跑起來的實體，一個映像檔可以同時跑很多個容器。Dockerfile 是建立映像檔的步驟清單，每一步會產生一層（layer），沒有改變的層下次可以直接沿用。","analogy":"映像檔像中央廚房做好的料理包，容器是加熱之後端上桌的那一盤；同一種料理包，可以在每家分店做出一模一樣的菜。","when":"每個要部署的服務都會有一個 Dockerfile。用 docker build -t my-app . 建立映像檔，docker run -p 8000:8000 my-app 執行。把很少變的步驟（安裝套件）放前面、常常變的（複製程式碼）放後面，重新建置時就能沿用快取，快很多。","pitfall":"把密碼、API 金鑰複製進映像檔或寫在 Dockerfile 裡，任何拿到映像檔的人都看得到；就算後面的步驟把它刪掉，前面的層裡還是留著。也要記得寫 .dockerignore，避免把 node_modules、.git 一起複製進去。","code":{"lang":"Dockerfile","src":"# 從官方的 Python 映像檔開始\nFROM python:3.12-slim\nWORKDIR /app\n# 套件很少變：先只複製套件清單並安裝，之後重新建置可以沿用這一層\nCOPY requirements.txt .\nRUN pip install --no-cache-dir -r requirements.txt\n# 程式碼常常變：放在後面\nCOPY . .\nCMD [\"python\", \"app.py\"]"},"cases":[{"title":"多階段建置讓映像檔瘦身","text":"Go、Java 這類要編譯的程式，用多階段建置（multi-stage build）：第一階段裝好編譯器把程式編好，第二階段只把編譯結果複製到精簡的基底映像檔，映像檔常常從上 GB 縮到幾十 MB。"},{"title":"金鑰藏在舊的映像層裡","text":"有研究掃描大量 Docker Hub 上的公開映像檔，發現不少映像檔的某一層裡還留著私鑰或 API 金鑰，就算後面的步驟刪掉了也找得到。建置時需要的秘密，要用 BuildKit 的 --secret 傳入，不要複製進映像檔。"}],"level":"basic","interview":"mid","skills":["docker"],"related":["container-basics","container-registry","container-data-network","container-security"]},{"id":"container-data-network","name":"容器的資料與網路：Volume 與埠號","aka":["Volume","Bind Mount","Port Mapping","Docker Network","資料持久化","埠號對應"],"def":"容器刪掉，裡面寫入的檔案也會跟著消失，所以要保存的資料（例如資料庫的檔案）要放在 volume（Docker 管理的儲存空間），或掛載主機上的資料夾。容器預設和外面隔離，要從外面連進去，就把主機的埠號對應到容器的埠號（例如 -p 8080:80）。","analogy":"容器像飯店房間，退房後房間會整理得乾乾淨淨，重要的東西要放進櫃台的保險箱（volume）；埠號對應像總機轉接：打到飯店總機的 8080，轉到房間分機 80。","when":"用容器跑資料庫時一定要掛 volume；本機開發時把程式碼資料夾掛進容器，改了程式不用重建映像檔。同一個自訂網路（例如 Docker Compose 建立的網路）裡的容器，可以直接用服務名稱（例如 db）互相連線。","pitfall":"容器裡的程式要監聽 0.0.0.0，不能只監聽 127.0.0.1（localhost），不然就算對應了埠號，從外面還是連不進去，這是新手最常卡住的地方之一。","code":{"lang":"Bash","src":"# 用容器跑 PostgreSQL：資料存在名為 pgdata 的 volume，刪掉容器資料也還在\ndocker volume create pgdata\ndocker run -d --name db \\\n  -e POSTGRES_PASSWORD=devonly \\\n  -v pgdata:/var/lib/postgresql/data \\\n  -p 5432:5432 \\\n  postgres:17"},"cases":[{"title":"容器一刪，資料庫跟著不見","text":"新手最常踩的雷：用 docker run 跑 PostgreSQL 沒掛 volume，某天用 docker rm 清理容器，裡面的資料就全部消失。資料庫的資料夾一定要掛到 volume 上，容器才可以隨時砍掉重建。"},{"title":"Docker 會繞過防火牆","text":"在 Linux 上用 -p 5432:5432 開放埠號時，Docker 會直接修改 iptables 規則，繞過 ufw 這類防火牆的設定，資料庫可能在不知不覺中對外開放。只給本機用時，要寫成 -p 127.0.0.1:5432:5432。"}],"level":"basic","interview":"low","skills":["docker","postgresql"],"terms":["localhost"],"related":["image-dockerfile","docker-compose","tcp-ip"]},{"id":"docker-compose","name":"Docker Compose：一次啟動多個服務","aka":["Docker Compose","compose.yaml","docker-compose.yml","多容器"],"def":"用一個 YAML 檔描述整個應用需要的所有容器（網站、資料庫、快取），以及它們的設定、埠號與 volume，一行 docker compose up 就全部啟動。","analogy":"辦桌的總菜單：不用一道一道交代廚師，總鋪師照著菜單，把每道菜和上菜順序都安排好。","when":"本機開發環境：新同事拿到專案，一個指令就有完整的資料庫與相依服務，不用花一整天建環境。小型專案也可以直接用它部署在單台主機上。","pitfall":"depends_on 只保證「先啟動」，不保證資料庫「已經可以連線」；要搭配健康檢查（healthcheck 加上 condition: service_healthy），或讓程式自己重試連線。","code":{"lang":"YAML（compose.yaml）","src":"services:\n  web:\n    build: .\n    ports:\n      - \"8000:8000\"\n    environment:\n      DATABASE_URL: postgres://postgres:devonly@db:5432/postgres\n    depends_on:\n      - db\n  db:\n    image: postgres:17\n    environment:\n      POSTGRES_PASSWORD: devonly\n    volumes:\n      - pgdata:/var/lib/postgresql/data\nvolumes:\n  pgdata:"},"cases":[{"title":"前身叫 Fig（2014）","text":"Docker Compose 的前身是 Orchard 公司做的 Fig，Docker 在 2014 年收購 Orchard 後把它改名為 Compose，「用一個 YAML 檔描述整套開發環境」的做法從此普及。"},{"title":"指令改成 docker compose","text":"舊的 Python 版 docker-compose 指令在 2023 年停止維護，改成 Docker 內建的 docker compose（中間是空格），設定檔的建議名稱也變成 compose.yaml。看網路上的舊教學時要留意這個差別。"}],"level":"basic","interview":"low","skills":["docker"],"terms":["env-setup","env-var"],"related":["container-data-network","k8s-basics"]},{"id":"container-registry","name":"映像檔倉庫與版本標籤","aka":["Container Registry","Docker Hub","ECR","GHCR","Artifact Registry","Image Tag","latest"],"def":"建好的映像檔推送（push）到倉庫保存，伺服器部署時再從倉庫拉取（pull）。常見的有 Docker Hub、GitHub Container Registry、AWS ECR、Google Artifact Registry。同一個映像檔可以有好幾個標籤（tag），用來標示版本。","analogy":"像 App Store：開發者上架（push）新版本，使用者的手機下載（pull）；版本號讓你知道裝的是哪一版，出問題也能退回上一版。","when":"CI/CD 流程：程式合併後自動建置映像檔、加上版本號或 Git commit 的標籤、推送到倉庫，再由部署工具拉取。公司內部的映像檔放在私有倉庫。","pitfall":"正式環境不要用 latest 標籤：latest 只是「沒指定時的預設名稱」，不保證是最新版，而且每次拉到的內容可能不一樣，出問題時也很難知道要退回哪一版。","cases":[{"title":"Docker Hub 限制拉取次數（2020）","text":"2020 年 Docker Hub 開始限制匿名使用者每 6 小時只能拉取 100 次映像檔，很多公司的 CI 突然大量失敗。之後大家改用自己的私有倉庫或鏡像快取，並在 CI 裡登入帳號。"},{"title":"left-pad 事件（2016）","text":"一位開發者把自己在 npm 上的套件全部下架，其中只有 11 行的 left-pad 被大量專案間接依賴，世界各地的專案瞬間建置失敗。之後 npm 修改了下架規則，很多公司也開始在自己的倉庫保存一份相依套件與映像檔。"}],"level":"basic","interview":"low","skills":["docker","cicd","github-actions"],"terms":["cicd","rollback"],"related":["image-dockerfile","k8s-deployment","cicd-pipeline"]},{"id":"k8s-basics","name":"Kubernetes 的基本元件：叢集、Node 與 Pod","aka":["Kubernetes","K8s","Pod","Node","Cluster","Control Plane","kubectl","叢集"],"def":"Kubernetes 管理一群機器（叢集）上的容器。你用 YAML 寫下「想要的狀態」（例如這個服務要跑 3 份），它會自動安排到合適的機器（Node）上，壞了就重啟或換一台。最小的部署單位是 Pod：一個或幾個緊密合作的容器。","analogy":"航空公司的調度中心：你只說「這條航線每天要飛 3 班」，調度中心自己安排飛機和機組員；有飛機故障，就自動調另一架補上。","when":"服務多、機器多、需要自動擴展與不停機更新的團隊。各家雲端都有託管版本：AWS EKS、Google GKE、Azure AKS。本機可以用 kind、minikube，或 Docker Desktop 內建的 Kubernetes 練習。","pitfall":"只有一兩個服務的小團隊用 Kubernetes，常常是殺雞用牛刀：學習與維運成本都很高，Cloud Run、ECS，或一台主機加 Docker Compose 可能就夠了。另外，直接建立的 Pod 掛掉後不會自己回來，要透過 Deployment 管理。","cases":[{"title":"源自 Google 的 Borg","text":"Kubernetes 的設計來自 Google 內部用了十多年的叢集管理系統 Borg。Google 在 2014 年開源 Kubernetes，隔年 1.0 版發布時捐給新成立的 CNCF；名稱在希臘文裡是「舵手」的意思。"},{"title":"Pokémon GO 跑在 GKE 上（2016）","text":"Pokémon GO 的遊戲邏輯跑在 Google 託管的 Kubernetes（GKE）上，Google 說它是當時 GKE 上規模最大的 Kubernetes 部署。叢集大到觸發了許多 Kubernetes 本身的 bug，也一起被修正。"}],"level":"mid","interview":"mid","skills":["kubernetes"],"related":["k8s-deployment","k8s-service","consensus","scaling"]},{"id":"k8s-deployment","name":"Deployment：滾動更新與自動擴展","aka":["Deployment","ReplicaSet","Rolling Update","HPA","Horizontal Pod Autoscaler","滾動更新"],"def":"Deployment 描述「要跑哪個映像檔、跑幾份」。更新版本時會一批一批換掉舊的 Pod（滾動更新），新的健康了才換下一批，出問題可以一個指令退回上一版；搭配 HPA（水平自動擴展），可以依 CPU 使用率等指標自動增減 Pod 的數量。","analogy":"餐廳不打烊換新菜單：一次只讓一兩位服務生改用新菜單，確認沒問題再換下一批，客人完全感覺不到。","when":"部署無狀態的 API 與網站。出問題時用 kubectl rollout undo deployment/shop-api 退回上一版。實務上常用 Helm 打包這些 YAML，或用 Argo CD 讓叢集自動同步 Git 裡的設定（GitOps）。","pitfall":"滾動更新的過程中，新舊版本會同時在線上，所以資料庫的結構變更要能同時相容新舊兩版，例如先新增欄位，等舊版全部下線後再刪掉舊欄位。","code":{"lang":"YAML（Kubernetes）","src":"apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: shop-api\nspec:\n  replicas: 3                     # 隨時保持 3 份\n  selector:\n    matchLabels: { app: shop-api }\n  template:\n    metadata:\n      labels: { app: shop-api }\n    spec:\n      containers:\n        - name: api\n          image: ghcr.io/example/shop-api:1.4.2   # 用明確的版本，不用 latest\n          ports:\n            - containerPort: 8000"},"cases":[{"title":"maxSurge 與 maxUnavailable","text":"滾動更新的兩個參數：maxSurge 決定最多多開幾個新 Pod，maxUnavailable 決定最多可以少幾個。設成 maxUnavailable: 0，就是「先開好新的、再關舊的」，更新期間服務的容量不會下降。"},{"title":"自動擴展跟不上瞬間流量","text":"HPA 預設每 15 秒檢查一次指標，新的 Pod 還要拉映像檔、啟動、通過 readiness 檢查，流量瞬間暴增時常常來不及。所以搶購或大型活動前，團隊通常會先手動調高最少的副本數。"}],"level":"mid","interview":"mid","skills":["kubernetes","helm","argocd"],"terms":["deploy","rollback"],"related":["k8s-basics","k8s-probes","container-registry","scaling","deploy-strategies","schema-migration"]},{"id":"k8s-service","name":"Service 與 Ingress：讓服務被找到","aka":["Service","Ingress","Gateway API","ClusterIP","LoadBalancer","服務發現"],"def":"Pod 隨時可能被重建，IP 也會跟著變，所以 Kubernetes 用 Service 給一組 Pod 一個固定的名稱與位址，並自動把流量分給背後健康的 Pod。Ingress（以及較新的 Gateway API）負責把外部的 HTTP 請求，依網域與路徑轉給不同的 Service。","analogy":"客服專線：不管今天是哪幾位客服人員值班，撥同一支號碼都會轉接到有空的人；Ingress 像公司總機，聽你說要找哪個部門再幫你轉過去。","when":"叢集裡的服務互相呼叫（直接用 http://shop-api 這樣的名稱）、對外開放網站與 API、依路徑分流（/api 給後端，其他給前端）。","pitfall":"每個 Service 都設成 LoadBalancer 類型，在雲端上通常每個都會開一個負載平衡器、各自計費；對外的 HTTP 服務，一般共用一個 Ingress 或 Gateway 就好。","cases":[{"title":"用名稱就能找到服務","text":"叢集裡的每個 Service 都會自動得到一個 DNS 名稱，例如 shop-api.default.svc.cluster.local，所以程式只要寫 http://shop-api，不用管後面的 Pod 換了幾次 IP。"},{"title":"Ingress NGINX 退場（2026）","text":"Kubernetes 社群維護多年的 Ingress NGINX 控制器在 2026 年 3 月停止維護，官方建議改用新一代的 Gateway API。新專案設定對外流量時，可以直接從 Gateway API 開始。"}],"level":"mid","interview":"low","skills":["kubernetes","nginx"],"terms":["load-balancer"],"related":["load-balancing","api-gateway","k8s-deployment"]},{"id":"k8s-config","name":"ConfigMap 與 Secret：設定和密碼分開放","aka":["ConfigMap","Secret","Twelve-Factor App","12-Factor","設定管理"],"def":"同一個映像檔要能同時用在測試與正式環境，所以設定不寫死在映像檔裡，而是部署時從外面注入。Kubernetes 用 ConfigMap 放一般設定、Secret 放密碼與金鑰，再以環境變數或檔案的方式交給容器。","analogy":"同一款咖啡機放在不同分店：機器（映像檔）都一樣，每家店再放自己的咖啡豆和價目表（設定）。","when":"資料庫的連線位址、功能開關、第三方 API 的金鑰。這也是 Twelve-Factor App（十二要素應用）的原則之一：設定存在環境裡，不放在程式碼裡。","pitfall":"Secret 預設只是用 base64 編碼，不是加密，有權限讀取的人都能還原。正式環境要開啟靜態加密、限制讀取權限，或改用雲端的秘密管理服務（例如 AWS Secrets Manager、HashiCorp Vault）。","cases":[{"title":"十二要素應用（2011）","text":"Heroku 共同創辦人 Adam Wiggins 在 2011 年整理出「十二要素應用」，其中一條是「設定存在環境裡」：同一份程式，換一組環境變數就能跑在測試或正式環境。ConfigMap 就是這個想法在 Kubernetes 上的實作。"},{"title":"External Secrets Operator","text":"很多團隊不把密碼寫進 YAML，而是用 External Secrets Operator 從 AWS Secrets Manager、Vault 自動同步成 Kubernetes Secret。Git 裡只放「要拿哪一個秘密」的設定，不會有真正的密碼。"}],"level":"mid","interview":"low","skills":["kubernetes","security"],"terms":["env-var","environments"],"related":["cloud-iam","k8s-deployment","image-dockerfile","secrets-management"]},{"id":"k8s-probes","name":"健康檢查與資源限制","aka":["Liveness Probe","Readiness Probe","Requests","Limits","OOMKilled","CrashLoopBackOff","健康檢查"],"def":"Kubernetes 用健康檢查判斷容器的狀態：readiness（準備好接流量了沒）沒通過，就先不把流量分給它；liveness（還活著嗎）沒通過，就重啟容器。每個容器也要設定資源需求（requests，安排機器時預留）與上限（limits，記憶體超過上限會被強制終止）。","analogy":"新進店員要先通過訓練（readiness）才排上櫃台；值班時怎麼叫都沒反應（liveness 失敗）就換人；每個人能用多少資源事先講好，免得一個人佔掉整間店。","when":"正式環境的每個 Deployment 都應該設定。看到 OOMKilled 代表超過記憶體上限被終止；CrashLoopBackOff 代表容器一啟動就失敗、被反覆重啟。這是最常遇到的兩種錯誤狀態，用 kubectl describe pod 與 kubectl logs 查原因。","pitfall":"liveness 檢查裡去查資料庫：資料庫一變慢，所有容器同時被判定「死掉」、一起重啟，反而讓事故擴大。liveness 只檢查程式本身有沒有卡死，外部相依的狀態交給 readiness 或斷路器處理。","cases":[{"title":"舊版 Java 看不到容器的記憶體上限","text":"Java 8u191 以前的 JVM 看不到容器的記憶體限制，依整台主機的記憶體決定堆積大小，容器很容易超過上限被 OOMKilled。新版 JVM 會自動依容器的限制調整，舊專案升級時要特別確認。"},{"title":"readiness 讓更新不掉請求","text":"新的 Pod 啟動後要先載入設定、連上資料庫，這段時間就收流量，使用者會看到錯誤。設好 readiness 檢查，Kubernetes 會等它回報「準備好了」才把它加進 Service，滾動更新因此不會掉請求。"}],"level":"adv","interview":"low","skills":["kubernetes","observability","sre"],"terms":["incident"],"related":["k8s-deployment","circuit-breaker","k8s-basics","metrics"]},{"id":"container-security","name":"容器安全","aka":["Container Security","Image Scanning","Non-root","Rootless","Distroless","SBOM","映像檔掃描"],"def":"容器安全的基本功：用體積小、來源可信的基礎映像檔；定期掃描映像檔裡的套件有沒有已知漏洞；不要用 root 身分執行程式；只給容器它需要的權限。","analogy":"搬家時只帶需要的東西，箱子越少，越不容易混進來路不明的東西；也不要把整串家裡的鑰匙都交給搬家工人。","when":"在 CI 流程中自動掃描映像檔（Trivy、Docker Scout，或各家雲端倉庫內建的掃描）；Dockerfile 加上 USER 指令改用一般使用者執行；改用 slim、alpine 或 distroless 這類精簡的映像檔。","pitfall":"「放進容器就安全了」是誤解：容器不是完整的安全邊界，以 root 執行又被入侵的容器，可能進一步影響主機。也不要隨便使用來路不明的第三方映像檔。","cases":[{"title":"runc 逃逸漏洞（2019）","text":"2019 年公開的 CVE-2019-5736，讓容器裡的惡意程式覆寫主機上的 runc 執行檔，進而取得主機的 root 權限，幾乎影響所有容器平台。容器不是完整的安全邊界，要盡量不用 root 執行。"},{"title":"Docker Hub 上的挖礦映像檔（2018）","text":"2018 年有資安公司發現，Docker Hub 上一批看似正常的映像檔被植入挖礦程式，被下架前已經被下載了約 500 萬次。來路不明的映像檔不要用，盡量選官方或經過驗證的發布者。"}],"level":"adv","interview":"low","skills":["docker","kubernetes","security"],"related":["image-dockerfile","cloud-iam","container-basics","secrets-management"]}]},{"id":"ops","name":"可觀測性與部署","intro":"程式寫完只是一半，另一半是讓它穩穩地上線，出問題時能很快發現、很快修好。這個主題包含把程式安全送上線的流程（Git 分支、CI/CD、部署策略、功能開關），以及上線後怎麼知道系統健不健康（日誌、指標、追蹤、告警與事故處理）。","order":"Git 分支流程 → CI/CD 管線 → 部署策略 → 功能開關 → 日誌 → 指標 → 分散式追蹤 → SLO 與告警 → 事故處理","skills":["git","cicd","github-actions","observability","opentelemetry","prometheus","grafana","sre"],"resources":[{"title":"Pro Git：Git 官方免費電子書（繁體中文）","url":"https://git-scm.com/book/zh-tw/v2"},{"title":"Learn Git Branching：用動畫互動練習 Git 分支（有繁體中文介面）","url":"https://learngitbranching.js.org/?locale=zh_TW"},{"title":"OpenTelemetry：可觀測性入門（英文）","url":"https://opentelemetry.io/docs/concepts/observability-primer/"},{"title":"Google SRE Book：網站可靠性工程的經典書，免費線上閱讀（英文）","url":"https://sre.google/sre-book/table-of-contents/"}],"concepts":[{"id":"git-workflow","name":"Git 分支流程","aka":["Git Flow","GitHub Flow","Trunk-Based Development","Feature Branch","Pull Request","Rebase","主幹開發"],"def":"團隊約定怎麼用分支協作。GitHub Flow：從主分支開出功能分支，完成後發 Pull Request，經過審查與自動測試再合併；主幹開發（Trunk-Based）：大家頻繁地把小改動合併回主分支，還沒完成的功能用功能開關藏起來；Git Flow：有 develop、release、hotfix 等多種長期分支，適合有固定發布週期的產品。","analogy":"大家一起編一本書：每個人先在自己的影本上修改（分支），改好請主編看過（Pull Request）再併回正本；改得越久、和正本差越多，併回去時的衝突就越痛苦。","when":"多數網站與 SaaS 團隊用 GitHub Flow 或主幹開發，搭配持續部署；需要同時維護好幾個已發布版本的軟體（App、套裝軟體、韌體），比較常用 Git Flow。","pitfall":"功能分支放了好幾個禮拜都不合併，最後要處理大量衝突，也很難審查；分支要短命、Pull Request 要小。不要對已經推上去、別人也在用的分支做 rebase 或 force push，會改寫大家的歷史紀錄。","code":{"lang":"Bash","src":"git switch -c feature/cart-coupon        # 從目前的分支開出新分支\ngit add .\ngit commit -m \"購物車支援折價券\"\ngit push -u origin feature/cart-coupon   # 推上去之後，在 GitHub 發 Pull Request\n\ngit switch main && git pull              # 合併後回到主分支，拉下最新版本"},"cases":[{"title":"Git 的誕生（2005）","text":"Linux 核心原本使用的版本控制工具 BitKeeper 收回了免費授權，Linus Torvalds 只花大約十天就寫出 Git 的雛形。現在幾乎所有軟體專案都在用它。"},{"title":"Git Flow 作者的補充（2020）","text":"Vincent Driessen 在 2010 年的文章提出 Git Flow（develop、release、hotfix 等多種分支），流傳極廣。2020 年他自己在文章開頭補充：持續部署的網站服務，改用 GitHub Flow 這種更簡單的流程就好。"}],"level":"basic","interview":"mid","skills":["git","github-actions","gitlab"],"terms":["branch","pr","merge","code-review"],"related":["cicd-pipeline","feature-flags"]},{"id":"cicd-pipeline","name":"CI/CD 管線","aka":["CI","CD","Continuous Integration","Continuous Delivery","Continuous Deployment","Pipeline","持續整合","持續部署"],"def":"持續整合（CI）：每次推送程式就自動建置、測試與檢查，盡早發現問題；持續交付／持續部署（CD）：通過檢查的版本自動部署到測試或正式環境。整條自動化的流程叫做管線（pipeline）。","analogy":"工廠的生產線：每個零件進來都自動經過檢驗站，不合格的當場退回，合格的直接包裝出貨，不用等到月底才一次檢查。","when":"GitHub Actions、GitLab CI、Jenkins、CircleCI、Azure DevOps 都很常見。常見的步驟：安裝套件 → 程式碼風格檢查 → 單元測試 → 建置容器映像檔 → 弱點掃描 → 部署到測試環境 → 部署到正式環境（可能需要人工核准）。","pitfall":"管線一跑就是半小時以上，大家就會想辦法跳過它；測試要能平行執行、善用快取。時好時壞的測試（flaky test）會讓大家不再相信管線的結果，要盡快修掉。","code":{"lang":"YAML（GitHub Actions）","src":"# .github/workflows/ci.yml：每次推送或發 Pull Request 時自動測試\nname: CI\non: [push, pull_request]\njobs:\n  test:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n      - uses: actions/setup-node@v4\n        with:\n          node-version: 20\n      - run: npm ci\n      - run: npm test"},"cases":[{"title":"持續整合的由來","text":"Kent Beck 等人在 1990 年代的極限編程（XP）裡提倡「每天整合好幾次」，Martin Fowler 2000 年的文章讓「持續整合」廣為人知。核心想法是：越常合併，每次要解的衝突就越小。"},{"title":"GitHub Actions 讓 CI 成為標配（2019）","text":"GitHub 在 2019 年推出 GitHub Actions，公開的專案可以免費使用：在 .github/workflows 放一個 YAML 檔就有自動測試，CI 從此成為新專案的標準配備。"}],"level":"basic","interview":"mid","skills":["cicd","github-actions","gitlab","jenkins","testing"],"terms":["cicd","deploy","environments"],"related":["git-workflow","deploy-strategies","container-registry","iac"]},{"id":"deploy-strategies","name":"部署策略：滾動、藍綠與金絲雀","aka":["Rolling Deployment","Blue-Green Deployment","Canary Release","藍綠部署","金絲雀部署","灰度發布"],"def":"滾動部署：一批一批把舊版換成新版。藍綠部署：準備一整套新環境（綠），測好之後把流量一次切過去，舊環境（藍）留著，隨時可以切回來。金絲雀部署：先讓一小部分使用者（例如 5%）用新版，觀察錯誤率沒問題，再逐步擴大。","analogy":"金絲雀的名字來自早年礦工帶金絲雀下礦坑：金絲雀對有毒氣體比人敏感，牠一出狀況，礦工就知道要撤退。新版本先給少數人用，萬一有問題，影響的範圍也小。","when":"滾動部署是 Kubernetes 的預設；藍綠部署適合需要快速、完整切換的系統；金絲雀部署適合使用者很多、想把風險降到最低的服務，常搭配 Argo Rollouts 或服務網格自動進行。","pitfall":"不管哪種策略，資料庫的結構變更都要相容新舊兩版；藍綠部署也要想清楚兩套環境共用的資料庫與訊息佇列怎麼處理。沒有監控指標的金絲雀部署沒有意義：要看得到錯誤率、延遲這些數字，才知道該繼續還是該退回。","cases":[{"title":"CrowdStrike 讓全球電腦藍屏（2024）","text":"2024 年 7 月 19 日，資安公司 CrowdStrike 對所有客戶同時推送一個有問題的設定更新，全球約 850 萬台 Windows 電腦當機藍屏，機場、銀行、醫院大亂。事後他們改成先給少量客戶、再逐步擴大，也就是金絲雀式的分批發布。"},{"title":"Cloudflare 的正規式事故（2019）","text":"2019 年 7 月 2 日，Cloudflare 把一條新的防火牆規則一次推到全球，其中的正規表示式會大量回溯，把所有伺服器的 CPU 吃到 100%，代理的網站回傳錯誤約 27 分鐘。之後這類規則也改成分階段發布。"}],"level":"mid","interview":"mid","skills":["kubernetes","argocd","cicd","sre"],"terms":["deploy","rollback","hotfix"],"related":["k8s-deployment","feature-flags","metrics","schema-migration"]},{"id":"feature-flags","name":"功能開關","aka":["Feature Flag","Feature Toggle","A/B Testing","Kill Switch","Dark Launch","功能旗標"],"def":"在程式裡用一個可以隨時切換的開關包住新功能：程式先部署上線、但不啟用，再依需要對特定使用者、比例或時間打開，出問題也能馬上關掉，不必重新部署。它把「部署」和「發布」分成兩件事。","analogy":"新菜色先印在菜單上，但貼一張「即將推出」，等廚房準備好再撕掉；賣得不好就再貼回去，不用重印整本菜單。","when":"主幹開發時藏起還沒完成的功能、先開放給內部員工試用、A/B 測試、緊急關閉有問題的功能（kill switch）。工具有 LaunchDarkly、Unleash、Flagsmith，也可以自己用設定檔或資料庫實作。","pitfall":"開關用完不清掉，程式裡會累積大量的 if 判斷，變成難以理解的技術債；每個開關都要有負責人和預計移除的時間。","cases":[{"title":"Knight Capital 的舊開關（2012）","text":"美國券商 Knight Capital 的新版交易程式，重複使用了一個舊功能開關；部署時 8 台伺服器漏了 1 台，那台上的同一個開關打開的卻是早已廢棄的舊程式，45 分鐘內送出大量錯誤交易，虧損約 4.4 億美元。用完的開關要清掉，名稱也不要重複使用。"},{"title":"Facebook 的 Gatekeeper","text":"Facebook 很早就用內部的 Gatekeeper 系統，讓新功能先開給員工、再開給一小部分使用者。程式碼可以天天上線，功能什麼時候開放則由開關決定，「部署」與「發布」從此變成兩件事。"}],"level":"mid","interview":"low","skills":["cicd"],"terms":["tech-debt","deploy"],"related":["git-workflow","deploy-strategies","strategy"]},{"id":"logging","name":"日誌（Log）","aka":["Logging","Structured Logging","Log Level","ELK","Loki","Request ID","日誌"],"def":"程式執行時寫下的事件紀錄：發生了什麼事、什麼時候、和哪個使用者或請求有關。結構化日誌用 JSON 這類固定格式記錄，集中收集之後才方便搜尋與統計；再用等級（DEBUG、INFO、WARN、ERROR）區分重要程度。","analogy":"飛機的航行紀錄與黑盒子：平常沒人看，出事時卻是還原經過最重要的線索。","when":"除錯與事故調查。有多台伺服器或很多容器時，要把日誌集中送到 ELK（Elasticsearch、Logstash、Kibana）、Grafana Loki、Datadog 或雲端的日誌服務。每一筆日誌都帶上 request id，就能把同一個請求在不同服務的紀錄串起來。","pitfall":"把密碼、Token、身分證字號、信用卡號寫進日誌，日誌就成了資料外洩的來源。日誌寫太多也有成本：大量的 DEBUG 日誌會拖慢程式，集中儲存的費用也很可觀。","code":{"lang":"Python","src":"import json, logging\n\nlogging.basicConfig(level=logging.INFO, format=\"%(message)s\")\nlog = logging.getLogger(\"shop\")\n\ndef log_event(level, message, **fields):       # 結構化日誌：一行一個 JSON\n    record = {\"level\": logging.getLevelName(level), \"msg\": message, **fields}\n    log.log(level, json.dumps(record, ensure_ascii=False))\n\nlog_event(logging.INFO, \"訂單建立\", order_id=1001, user_id=42, request_id=\"req-7f3c\")\nlog_event(logging.ERROR, \"付款失敗\", order_id=1001, reason=\"卡片過期\", request_id=\"req-7f3c\")"},"cases":[{"title":"Twitter 把密碼寫進日誌（2018）","text":"2018 年 Twitter 發現一個 bug：使用者的密碼在雜湊之前，就以明文寫進了內部的日誌。雖然沒有發現被濫用，Twitter 仍請所有使用者更換密碼。寫日誌前要先過濾掉密碼、Token 這類敏感欄位。"},{"title":"用 JSON 寫日誌","text":"結構化日誌把每一筆寫成 JSON，帶著等級、時間、request_id、使用者編號等欄位，ELK 或 Loki 就能直接依欄位篩選，例如「找出這位使用者今天所有的 ERROR」，不用再對著一大堆文字搜尋。"}],"level":"basic","interview":"mid","skills":["observability","elasticsearch","datadog"],"terms":["log","bug"],"related":["metrics","tracing","search-engine"]},{"id":"metrics","name":"指標與儀表板","aka":["Metrics","Golden Signals","RED Method","Percentile","p99","Dashboard","指標"],"def":"指標是定期記錄的數字：每秒請求數、錯誤率、回應時間、CPU 與記憶體使用率。和日誌相比，指標佔的空間小，適合畫成趨勢圖和設定告警。常用的觀察框架是 Google SRE 提出的四個黃金訊號：延遲、流量、錯誤、飽和度。","analogy":"汽車的儀表板：時速、油量、引擎溫度一眼就看得到；要知道引擎「為什麼」過熱，才需要打開引擎蓋檢查（日誌與追蹤）。","when":"Prometheus 收集指標、Grafana 畫儀表板，是最常見的開源組合；雲端也有 CloudWatch、Azure Monitor、Google Cloud Monitoring，或用 Datadog 等商用服務。","pitfall":"只看平均回應時間會被騙：平均 178 毫秒看起來還好，卻可能有 1% 的使用者要等將近 5 秒。要看百分位數，例如 p95、p99（95%、99% 的請求在多少時間內完成）。","code":{"lang":"Python","src":"import statistics\n\nlatencies = [100] * 98 + [3000, 5000]          # 100 個請求的回應時間（毫秒）\nprint(\"平均：\", statistics.mean(latencies))      # 178：看起來還好\nprint(\"p99：\", statistics.quantiles(latencies, n=100)[98])   # 4980.0：最慢的 1% 要等將近 5 秒"},"cases":[{"title":"Google SRE 的四個黃金訊號","text":"Google 的《SRE》一書建議，監控面對使用者的系統時，最先要看四個「黃金訊號」：延遲、流量、錯誤率與飽和度。如果只能看四張圖，就看這四張。"},{"title":"Etsy：什麼都量（2011）","text":"Etsy 在 2011 年開源 StatsD，並發表文章〈Measure Anything, Measure Everything〉，主張任何東西都可以量、量了就畫成圖。這種文化後來在工程團隊間流行起來。"}],"level":"mid","interview":"mid","skills":["prometheus","grafana","observability","datadog"],"related":["logging","tracing","slo-alerting"]},{"id":"tracing","name":"分散式追蹤","aka":["Distributed Tracing","Trace","Span","OpenTelemetry","Jaeger","Trace ID","追蹤"],"def":"一個請求在微服務之間可能經過十幾個服務。分散式追蹤替它發一個追蹤編號（trace id），記錄它在每個服務、每次資料庫查詢各花了多少時間（每一段叫一個 span），再畫成時間軸，一眼就看出慢在哪裡。","analogy":"包裹的物流追蹤：從收件、轉運中心、配送站到你家，每一站幾點到、停了多久都看得到，延遲卡在哪一站一清二楚。","when":"微服務架構，或一個頁面要呼叫很多後端服務時。OpenTelemetry 是業界標準，用同一套方式收集追蹤、指標與日誌，再送到 Jaeger、Grafana Tempo、Datadog 或雲端服務查看。","pitfall":"追蹤編號要在服務之間一路傳下去（透過 HTTP 標頭或訊息的欄位），只要中間有一個服務沒傳，鏈就斷了。每個請求都追蹤的成本很高，通常會抽樣記錄。","cases":[{"title":"Google 的 Dapper（2010）","text":"Google 在 2010 年發表 Dapper 論文，說明如何在上千個服務之間追蹤一個請求，並只抽樣一小部分來降低成本。Twitter 依此做出開源的 Zipkin，Uber 後來也做出了 Jaeger。"},{"title":"OpenTelemetry 的合併（2019）","text":"原本有兩個互相競爭的開源標準 OpenTracing 與 OpenCensus，2019 年合併成 OpenTelemetry，讓追蹤、指標、日誌用同一套方式收集，現在是 CNCF 裡最活躍的專案之一。"}],"level":"adv","interview":"low","skills":["opentelemetry","observability","microservices"],"related":["logging","metrics","microservices"]},{"id":"slo-alerting","name":"SLI、SLO 與告警","aka":["SLI","SLO","SLA","Error Budget","Alerting","Runbook","錯誤預算","告警"],"def":"SLI 是衡量服務品質的指標（例如成功請求的比例）；SLO 是團隊替它訂的目標（例如每個月 99.9% 的請求要成功）；SLA 是寫進合約、對客戶的承諾，達不到要賠償。SLO 和 100% 之間的差距就是「錯誤預算」，可以拿來決定該加快推出新功能，還是先停下來改善穩定度。","analogy":"公車公司承諾「99% 的班次誤點不超過 5 分鐘」（SLO）；這個月已經誤點太多次、額度用完了，就先暫停改路線的新計畫，專心把準點率拉回來（錯誤預算）。","when":"告警應該對應到使用者感受得到的問題（錯誤率升高、回應變慢），而不是每個 CPU 尖峰都把值班的人叫起來。換算成停機時間：99.9% 一個月大約可以停 43 分鐘，99.99% 只剩大約 4 分鐘。","pitfall":"告警太多太吵（告警疲勞），大家就會開始忽略，真正的事故反而被漏掉；每個告警都應該「需要有人採取行動」，並附上處理步驟（runbook）。也不要把目標訂成 100%：成本會無限上升，而且使用者自己的網路本來就不是 100% 可靠。","cases":[{"title":"Google 的錯誤預算","text":"Google SRE 的做法：SLO 訂 99.9%，剩下的 0.1% 就是可以「花掉」的錯誤預算。預算還有，就能大膽上新功能；預算用完了，就先暫停發布、專心改善穩定度，開發與維運不用為了「要不要上線」吵架。"},{"title":"Target 漏看的告警（2013）","text":"美國零售商 Target 在 2013 年被入侵，約 4,000 萬張信用卡資料外洩。事後報導指出，他們的資安監控系統其實發出過警告，卻沒有被即時處理。告警再多，沒有人行動就沒有用。"}],"level":"mid","interview":"low","skills":["sre","observability","prometheus"],"terms":["sla","on-call","incident"],"related":["metrics","incident-response","high-availability"]},{"id":"incident-response","name":"事故處理與事後檢討","aka":["Incident Response","Postmortem","Blameless","MTTR","RCA","事後檢討","無究責"],"def":"線上服務出問題時，先止血、再找原因：確認影響範圍、指定一位指揮者協調、優先恢復服務（回滾、關掉功能開關、擴充機器），並持續對內外更新狀態。恢復之後寫事後檢討（postmortem）：發生了什麼、為什麼會發生、怎麼避免再發生。","analogy":"火災現場：先滅火、疏散人員，等火滅了才調查起火原因；調查是為了改善消防設備，而不是找人出來罰。","when":"有值班（on-call）制度的團隊都需要。常見的衡量指標是 MTTR（平均恢復時間）。很多公司會公開事後檢討報告，例如 Cloudflare、GitHub 的部落格，都是很好的學習材料。","pitfall":"事故當下急著找根本原因，卻遲遲不先回滾，讓影響越拖越久。檢討變成究責大會，大家就會隱瞞問題；「無究責」（blameless）文化關注的是流程與系統哪裡讓錯誤有機會發生。","cases":[{"title":"GitLab 直播救援（2017）","text":"2017 年 GitLab 誤刪正式資料庫時，一邊救援一邊在 YouTube 直播，用公開的文件即時更新進度，事後也公開完整的檢討報告。這次透明的處理，成了「無究責」文化最常被提起的例子。"},{"title":"SRE 書裡的檢討範本","text":"Google 的《SRE》一書附了一份完整的事後檢討範例，示範怎麼記錄時間軸、影響範圍、根本原因與後續行動，很多公司的事後檢討範本都參考它。"}],"level":"mid","interview":"low","skills":["sre","observability"],"terms":["incident","on-call","rollback","hotfix"],"related":["slo-alerting","deploy-strategies","feature-flags"]}]}],"jobs":[{"id":"arbeitnow:ai-solutions-architect-berlin-436992","src":"arbeitnow","title":"AI Solutions Architect (f/m/d)","company":"BeNeering GmbH","loc":"Berlin（可遠端）","url":"https://www.arbeitnow.com/jobs/companies/beneering-gmbh/ai-solutions-architect-berlin-436992","date":"2026-11-04T08:47:29.000Z","region":"global","skills":["python","fastapi","aws","azure","gcp","docker","kubernetes","cicd","pandas","machine-learning","llm","ai-agents","rag","prompt-engineering","fine-tuning","vector-db","mlops","rest","erp"]},{"id":"arbeitnow:senior-software-developer-fullstack-java-angular-nuremberg-40729","src":"arbeitnow","title":"Senior Software Developer – Fullstack Java & Angular (m/w/d)","company":"isento GmbH","loc":"Nuremberg","url":"https://www.arbeitnow.com/jobs/companies/isento-gmbh/senior-software-developer-fullstack-java-angular-nuremberg-40729","date":"2026-11-04T07:30:42.000Z","region":"global","skills":["java","angular","spring"]},{"id":"arbeitnow:fullstack-software-developer-java-angular-nuremberg-368499","src":"arbeitnow","title":"Fullstack Software Developer (m/w/d) – Java, Angular","company":"isento GmbH","loc":"Nuremberg","url":"https://www.arbeitnow.com/jobs/companies/isento-gmbh/fullstack-software-developer-java-angular-nuremberg-368499","date":"2026-11-04T07:30:42.000Z","region":"global","skills":["typescript","java","angular","spring","postgresql","terraform","github-actions","kafka"]},{"id":"arbeitnow:software-developer-schwerpunkt-angular-nuremberg-280015","src":"arbeitnow","title":"Software Developer (m/w/d) - Schwerpunkt Angular","company":"isento GmbH","loc":"Nuremberg","url":"https://www.arbeitnow.com/jobs/companies/isento-gmbh/software-developer-schwerpunkt-angular-nuremberg-280015","date":"2026-11-04T07:30:42.000Z","region":"global","skills":["typescript","java","angular","html","css","spring","docker"]},{"id":"arbeitnow:software-developer-fokus-secure-software-development-nuremberg-188310","src":"arbeitnow","title":"Software Developer - Fokus Secure Software Development (m/w/d)","company":"isento GmbH","loc":"Nuremberg","url":"https://www.arbeitnow.com/jobs/companies/isento-gmbh/software-developer-fokus-secure-software-development-nuremberg-188310","date":"2026-11-04T07:30:42.000Z","region":"global","skills":["python","java","angular","spring","docker","llm","security"]},{"id":"arbeitnow:senior-devops-softwareentwicklerin-mit-karriereambitionen-jetzt-mit-uns-voll-durchstarten-berlin-78196","src":"arbeitnow","title":"Senior DevOps Softwareentwickler:in mit Karriereambitionen - jetzt mit uns voll durchstarten!","company":"Auralis Group","loc":"Berlin（可遠端）","url":"https://www.arbeitnow.com/jobs/companies/auralis-group/senior-devops-softwareentwicklerin-mit-karriereambitionen-jetzt-mit-uns-voll-durchstarten-berlin-78196","date":"2026-11-04T07:00:48.000Z","region":"global","skills":["python","cpp","rust","aws","azure","gcp"]},{"id":"arbeitnow:senior-java-softwareentwicklerin-mit-karriereambitionen-jetzt-mit-uns-voll-durchstarten-berlin-80465","src":"arbeitnow","title":"Senior Java Softwareentwickler:in mit Karriereambitionen - jetzt mit uns voll durchstarten!","company":"Auralis Group","loc":"Berlin（可遠端）","url":"https://www.arbeitnow.com/jobs/companies/auralis-group/senior-java-softwareentwicklerin-mit-karriereambitionen-jetzt-mit-uns-voll-durchstarten-berlin-80465","date":"2026-11-04T07:00:48.000Z","region":"global","skills":["java","kotlin","react","vue","angular","spring","aws","azure","gcp"]},{"id":"arbeitnow:machine-learning-compiler-engineer-london-350706","src":"arbeitnow","title":"Machine Learning Compiler Engineer","company":"Janestreet","loc":"London","url":"https://www.arbeitnow.co.uk/jobs/companies/janestreet/machine-learning-compiler-engineer-london-350706","date":"2026-11-04T06:55:16.000Z","region":"global","skills":["machine-learning","ai-agents","pytorch","tensorflow","inference","compilers"]},{"id":"arbeitnow:senior-cloud-architect-sydney-australia-282278","src":"arbeitnow","title":"Senior Cloud Architect","company":"Ripple","loc":"Sydney, Australia","url":"https://www.arbeitnow.co.uk/jobs/companies/ripple/senior-cloud-architect-sydney-australia-282278","date":"2026-11-04T06:55:16.000Z","region":"global","skills":["python","bash","sqlserver","aws","azure","kubernetes","terraform","argocd","linux","windows-server","spark","agile","security"]},{"id":"arbeitnow:staff-software-engineer-agentic-search-index-london-243899","src":"arbeitnow","title":"Staff Software Engineer (Agentic Search) - Index","company":"Nebius","loc":"London","url":"https://www.arbeitnow.co.uk/jobs/companies/nebius/staff-software-engineer-agentic-search-index-london-243899","date":"2026-11-04T06:55:15.000Z","region":"global","skills":["cpp","go","rust","observability","spark","etl","flink","machine-learning","ai-agents","mlops","inference","distributed-systems"]},{"id":"arbeitnow:senior-software-engineer-serverless-london-68771","src":"arbeitnow","title":"Senior Software Engineer (Serverless)","company":"Nebius","loc":"London","url":"https://www.arbeitnow.co.uk/jobs/companies/nebius/senior-software-engineer-serverless-london-68771","date":"2026-11-04T06:55:15.000Z","region":"global","skills":["go","aws","gcp","cloudflare","serverless","kubernetes","observability","sre","machine-learning","llm","mlops","inference","distributed-systems"]},{"id":"arbeitnow:senior-software-engineer-managed-postgresql-390848","src":"arbeitnow","title":"Senior Software Engineer (Managed PostgreSQL)","company":"Nebius","loc":"","url":"https://www.arbeitnow.co.uk/jobs/companies/nebius/senior-software-engineer-managed-postgresql-390848","date":"2026-11-04T06:55:15.000Z","region":"global","skills":["go","sql","postgresql","supabase","aws","azure","gcp","kubernetes","observability","sre","machine-learning","rag","vector-db","mlops","inference"]},{"id":"arbeitnow:senior-software-engineer-data-platform-c-london-336119","src":"arbeitnow","title":"Senior Software Engineer (Data Platform, C++)","company":"Nebius","loc":"London","url":"https://www.arbeitnow.co.uk/jobs/companies/nebius/senior-software-engineer-data-platform-c-london-336119","date":"2026-11-04T06:55:15.000Z","region":"global","skills":["python","cpp","go","sql","clickhouse","aws","kubernetes","sre","spark","kafka","airflow","etl","machine-learning","llm","mlops","inference","microservices","distributed-systems","testing","e2e","system-analysis","dsa"]},{"id":"arbeitnow:senior-site-reliability-engineer-token-factory-inference-platform-london-467153","src":"arbeitnow","title":"Senior Site Reliability Engineer — Token Factory (Inference Platform)","company":"Nebius","loc":"London","url":"https://www.arbeitnow.co.uk/jobs/companies/nebius/senior-site-reliability-engineer-token-factory-inference-platform-london-467153","date":"2026-11-04T06:55:15.000Z","region":"global","skills":["python","bash","kubernetes","terraform","prometheus","grafana","observability","sre","machine-learning","llm","mlops","inference"]},{"id":"arbeitnow:senior-site-reliability-engineer-sre-london-154437","src":"arbeitnow","title":"Senior Site Reliability Engineer (SRE)","company":"Nebius","loc":"London","url":"https://www.arbeitnow.co.uk/jobs/companies/nebius/senior-site-reliability-engineer-sre-london-154437","date":"2026-11-04T06:55:15.000Z","region":"global","skills":["python","cpp","go","docker","kubernetes","terraform","ansible","helm","cicd","linux","sre","machine-learning","mlops","inference","distributed-systems","dsa"]},{"id":"arbeitnow:senior-site-reliability-engineer-devtools-london-59445","src":"arbeitnow","title":"Senior Site Reliability Engineer (DevTools)","company":"Nebius","loc":"London","url":"https://www.arbeitnow.co.uk/jobs/companies/nebius/senior-site-reliability-engineer-devtools-london-59445","date":"2026-11-04T06:55:15.000Z","region":"global","skills":["python","java","go","kotlin","ruby","gitlab","linux","sre","machine-learning","rag","mlops","inference","distributed-systems"]},{"id":"arbeitnow:senior-ml-engineer-ai-research-323137","src":"arbeitnow","title":"Senior ML Engineer (AI Research)","company":"Nebius","loc":"","url":"https://www.arbeitnow.co.uk/jobs/companies/nebius/senior-ml-engineer-ai-research-323137","date":"2026-11-04T06:55:15.000Z","region":"global","skills":["python","cicd","machine-learning","llm","ai-agents","mlops","inference","git","testing"]},{"id":"arbeitnow:senior-hpc-engineer-gpu-compute-london-116760","src":"arbeitnow","title":"Senior HPC Engineer, GPU Compute","company":"Nebius","loc":"London","url":"https://www.arbeitnow.co.uk/jobs/companies/nebius/senior-hpc-engineer-gpu-compute-london-116760","date":"2026-11-04T06:55:15.000Z","region":"global","skills":["python","cpp","c","go","kubernetes","linux","machine-learning","fine-tuning","pytorch","tensorflow","mlops","inference","distributed-systems","testing"]},{"id":"arbeitnow:senior-backend-engineer-379407","src":"arbeitnow","title":"Senior Backend Engineer","company":"Nebius","loc":"","url":"https://www.arbeitnow.co.uk/jobs/companies/nebius/senior-backend-engineer-379407","date":"2026-11-04T06:55:15.000Z","region":"global","skills":["python","java","go","kubernetes","machine-learning","mlops","inference","distributed-systems"]},{"id":"arbeitnow:software-engineer-intern-london-183469","src":"arbeitnow","title":"Software Engineer (Intern)","company":"Fanvue.com","loc":"Hybrid (London)","url":"https://www.arbeitnow.co.uk/jobs/companies/fanvuecom/software-engineer-intern-london-183469","date":"2026-11-04T06:40:18.000Z","region":"global","skills":["javascript","typescript","go","react","nextjs","nodejs","llm","prompt-engineering","vector-db","ai-coding","system-design","dsa"]},{"id":"arbeitnow:ai-systems-engineer-london-216447","src":"arbeitnow","title":"AI Systems Engineer","company":"Snyk","loc":"United Kingdom - London Office","url":"https://www.arbeitnow.co.uk/jobs/companies/snyk/ai-systems-engineer-london-216447","date":"2026-11-04T06:40:15.000Z","region":"global","skills":["python","gcp","kubernetes","machine-learning","llm","ai-agents","rag","langchain","security"]},{"id":"arbeitnow:forward-deployed-engineer-german-speaking-cologne-116832","src":"arbeitnow","title":"Forward Deployed Engineer - German Speaking","company":"Happyrobot.ai","loc":"Cologne","url":"https://www.arbeitnow.com/jobs/companies/happyrobotai/forward-deployed-engineer-german-speaking-cologne-116832","date":"2026-11-04T06:40:14.000Z","region":"global","skills":["typescript","python","react","nodejs","machine-learning","llm","prompt-engineering","system-analysis"]},{"id":"arbeitnow:ai-phone-senior-agent-runtime-engineer-london-51748","src":"arbeitnow","title":"AI Phone - Senior Agent Runtime Engineer","company":"Bjak","loc":"United Kingdom","url":"https://www.arbeitnow.co.uk/jobs/companies/bjak/ai-phone-senior-agent-runtime-engineer-london-51748","date":"2026-11-04T06:40:14.000Z","region":"global","skills":["observability","llm","ai-agents","prompt-engineering","inference","distributed-systems"]},{"id":"arbeitnow:ai-phone-senior-android-system-engineer-london-368015","src":"arbeitnow","title":"AI Phone - Senior Android System Engineer","company":"Bjak","loc":"United Kingdom","url":"https://www.arbeitnow.co.uk/jobs/companies/bjak/ai-phone-senior-android-system-engineer-london-368015","date":"2026-11-04T06:40:14.000Z","region":"global","skills":["java","cpp","kotlin","android","ai-agents","prompt-engineering"]},{"id":"arbeitnow:ai-phone-product-lead-london-122644","src":"arbeitnow","title":"AI Phone - Product Lead","company":"Bjak","loc":"United Kingdom","url":"https://www.arbeitnow.co.uk/jobs/companies/bjak/ai-phone-product-lead-london-122644","date":"2026-11-04T06:40:14.000Z","region":"global","skills":["android","ai-agents","prompt-engineering"]},{"id":"arbeitnow:ai-phone-ai-systems-agent-architect-london-216473","src":"arbeitnow","title":"AI Phone - AI Systems / Agent Architect","company":"Bjak","loc":"United Kingdom","url":"https://www.arbeitnow.co.uk/jobs/companies/bjak/ai-phone-ai-systems-agent-architect-london-216473","date":"2026-11-04T06:40:14.000Z","region":"global","skills":["android","observability","llm","ai-agents","prompt-engineering","inference","distributed-systems","system-design"]},{"id":"arbeitnow:ai-phone-head-of-android-aosp-london-143156","src":"arbeitnow","title":"AI Phone - Head of Android / AOSP","company":"Bjak","loc":"United Kingdom","url":"https://www.arbeitnow.co.uk/jobs/companies/bjak/ai-phone-head-of-android-aosp-london-143156","date":"2026-11-04T06:40:14.000Z","region":"global","skills":["java","cpp","kotlin","design-system","android","machine-learning","ai-agents","prompt-engineering","system-design","security"]},{"id":"arbeitnow:software-engineer-web-crawling-zurich-403574","src":"arbeitnow","title":"Software Engineer, Web Crawling","company":"Exa","loc":"Zurich","url":"https://www.arbeitnow.ch/jobs/companies/exa/software-engineer-web-crawling-zurich-403574","date":"2026-11-04T06:40:11.000Z","region":"global","skills":["javascript","typescript","cpp","rust","design-system","machine-learning","vector-db","ai-coding","e2e"]},{"id":"arbeitnow:security-operations-engineer-80-100-m-w-fehraltorf-434843","src":"arbeitnow","title":"Security Operations Engineer 80–100 % (m/w)","company":"UPGREAT AG","loc":"Fehraltorf","url":"https://www.arbeitnow.ch/jobs/companies/upgreat-ag/security-operations-engineer-80-100-m-w-fehraltorf-434843","date":"2026-11-04T06:30:41.000Z","region":"global","skills":["python","bash","sre","system-analysis","security"]},{"id":"arbeitnow:senior-software-engineer-python-typescript-azure-london-370386","src":"arbeitnow","title":"Senior Software Engineer (Python / TypeScript / Azure)","company":"Chaosindustries","loc":"London","url":"https://www.arbeitnow.co.uk/jobs/companies/chaosindustries/senior-software-engineer-python-typescript-azure-london-370386","date":"2026-11-04T03:55:21.000Z","region":"global","skills":["typescript","python","react","azure","terraform","etl","ai-coding","distributed-systems","system-design"]},{"id":"arbeitnow:software-engineer-intern-ads-paris-132493","src":"arbeitnow","title":"Software Engineer Intern - Ads","company":"mirakllabs","loc":"Paris","url":"https://www.arbeitnow.fr/jobs/companies/mirakllabs/software-engineer-intern-ads-paris-132493","date":"2026-11-04T03:55:21.000Z","region":"global","skills":["java","react","spring","postgresql","elasticsearch","docker","cicd","kafka","llm","ai-agents","system-design","git","testing"]},{"id":"arbeitnow:senior-detection-and-response-engineer-uk-cheltenham-76791","src":"arbeitnow","title":"Senior Detection and Response Engineer - UK","company":"Vulncheck","loc":"Cheltenham","url":"https://www.arbeitnow.co.uk/jobs/companies/vulncheck/senior-detection-and-response-engineer-uk-cheltenham-76791","date":"2026-11-04T03:55:20.000Z","region":"global","skills":["etl","llm","ai-agents","security"]},{"id":"arbeitnow:senior-data-scientist-273943","src":"arbeitnow","title":"Senior Data Scientist","company":"capco","loc":"","url":"https://www.arbeitnow.co.uk/jobs/companies/capco/senior-data-scientist-273943","date":"2026-11-04T03:55:19.000Z","region":"global","skills":["python","aws","azure","gcp","cicd","spark","bigquery","etl","machine-learning","llm","huggingface","mlops","nlp"]},{"id":"arbeitnow:senior-data-engineer-aws-228232","src":"arbeitnow","title":"Senior Data Engineer - AWS","company":"capco","loc":"","url":"https://www.arbeitnow.co.uk/jobs/companies/capco/senior-data-engineer-aws-228232","date":"2026-11-04T03:55:19.000Z","region":"global","skills":["python","java","scala","aws","cicd","spark","kafka","databricks","etl","event-driven","distributed-systems"]},{"id":"arbeitnow:senior-data-architect-279691","src":"arbeitnow","title":"Senior Data Architect","company":"capco","loc":"","url":"https://www.arbeitnow.co.uk/jobs/companies/capco/senior-data-architect-279691","date":"2026-11-04T03:55:19.000Z","region":"global","skills":["aws","azure","gcp","databricks","etl","machine-learning","ai-coding","system-design","system-analysis","agile"]},{"id":"arbeitnow:senior-backend-engineer-java-48796","src":"arbeitnow","title":"Senior Backend Engineer - Java","company":"capco","loc":"","url":"https://www.arbeitnow.co.uk/jobs/companies/capco/senior-backend-engineer-java-48796","date":"2026-11-04T03:55:19.000Z","region":"global","skills":["java","sql","spring","aws","terraform","cicd","gitlab","kafka","microservices","event-driven","distributed-systems","testing","agile"]},{"id":"arbeitnow:senior-azure-data-engineer-databricks-371331","src":"arbeitnow","title":"Senior Azure Data Engineer (Databricks)","company":"capco","loc":"","url":"https://www.arbeitnow.co.uk/jobs/companies/capco/senior-azure-data-engineer-databricks-371331","date":"2026-11-04T03:55:19.000Z","region":"global","skills":["python","java","scala","sql","azure","cicd","github-actions","jenkins","spark","kafka","databricks","etl","event-driven","gamedev"]},{"id":"arbeitnow:senior-ai-product-manager-product-experience-273755","src":"arbeitnow","title":"Senior AI Product Manager - Product & Experience","company":"capco","loc":"","url":"https://www.arbeitnow.co.uk/jobs/companies/capco/senior-ai-product-manager-product-experience-273755","date":"2026-11-04T03:55:19.000Z","region":"global","skills":["machine-learning","llm","ai-agents","ai-coding","system-analysis"]},{"id":"arbeitnow:senior-ai-engineer-460393","src":"arbeitnow","title":"Senior AI Engineer","company":"capco","loc":"","url":"https://www.arbeitnow.co.uk/jobs/companies/capco/senior-ai-engineer-460393","date":"2026-11-04T03:55:19.000Z","region":"global","skills":["python","aws","azure","gcp","cicd","observability","machine-learning","llm","ai-agents","rag","prompt-engineering","fine-tuning","vector-db","mlops","rest","distributed-systems","agile"]},{"id":"arbeitnow:principal-data-engineer-aws-54311","src":"arbeitnow","title":"Principal Data Engineer - AWS","company":"capco","loc":"","url":"https://www.arbeitnow.co.uk/jobs/companies/capco/principal-data-engineer-aws-54311","date":"2026-11-04T03:55:19.000Z","region":"global","skills":["python","java","scala","aws","cicd","spark","kafka","databricks","etl","event-driven","distributed-systems"]},{"id":"arbeitnow:principal-backend-developer-java-210124","src":"arbeitnow","title":"Principal Backend Developer (Java)","company":"capco","loc":"","url":"https://www.arbeitnow.co.uk/jobs/companies/capco/principal-backend-developer-java-210124","date":"2026-11-04T03:55:19.000Z","region":"global","skills":["java","sql","spring","aws","terraform","cicd","gitlab","kafka","microservices","event-driven","system-design","auth","cryptography"]},{"id":"arbeitnow:principal-azure-data-engineer-databricks-428443","src":"arbeitnow","title":"Principal Azure Data Engineer (Databricks)","company":"capco","loc":"","url":"https://www.arbeitnow.co.uk/jobs/companies/capco/principal-azure-data-engineer-databricks-428443","date":"2026-11-04T03:55:19.000Z","region":"global","skills":["python","java","scala","azure","cicd","github-actions","jenkins","spark","databricks","etl","gamedev"]},{"id":"arbeitnow:lead-ai-engineer-260719","src":"arbeitnow","title":"Lead AI Engineer","company":"capco","loc":"","url":"https://www.arbeitnow.co.uk/jobs/companies/capco/lead-ai-engineer-260719","date":"2026-11-04T03:55:19.000Z","region":"global","skills":["python","observability","machine-learning","llm","ai-agents","rag","mcp","prompt-engineering","fine-tuning","langchain","mlops","rest","agile"]},{"id":"arbeitnow:data-ai-strategy-consultant-manager-senior-manager-355722","src":"arbeitnow","title":"Data & AI Strategy Consultant - Manager/Senior Manager","company":"capco","loc":"","url":"https://www.arbeitnow.co.uk/jobs/companies/capco/data-ai-strategy-consultant-manager-senior-manager-355722","date":"2026-11-04T03:55:19.000Z","region":"global","skills":["llm","ai-agents","system-analysis"]},{"id":"arbeitnow:applied-ai-analytics-principal-consultant-71806","src":"arbeitnow","title":"Applied AI & Analytics - Principal Consultant","company":"capco","loc":"","url":"https://www.arbeitnow.co.uk/jobs/companies/capco/applied-ai-analytics-principal-consultant-71806","date":"2026-11-04T03:55:19.000Z","region":"global","skills":["machine-learning","llm","ai-agents","mlops"]},{"id":"arbeitnow:ai-strategy-transformation-managing-principal-104310","src":"arbeitnow","title":"AI Strategy & Transformation – Managing Principal","company":"capco","loc":"","url":"https://www.arbeitnow.co.uk/jobs/companies/capco/ai-strategy-transformation-managing-principal-104310","date":"2026-11-04T03:55:19.000Z","region":"global","skills":["llm","ai-agents"]},{"id":"arbeitnow:ai-business-consultant-senior-consultant-wealth-asset-management-243474","src":"arbeitnow","title":"AI Business Consultant / Senior Consultant -Wealth & Asset Management","company":"capco","loc":"","url":"https://www.arbeitnow.co.uk/jobs/companies/capco/ai-business-consultant-senior-consultant-wealth-asset-management-243474","date":"2026-11-04T03:55:19.000Z","region":"global","skills":["machine-learning","llm","ai-coding","nlp","system-analysis","agile"]},{"id":"arbeitnow:software-engineer-intern-c-bremen-424029","src":"arbeitnow","title":"Software Engineer (Intern, C#)","company":"constructortech","loc":"Bremen","url":"https://www.arbeitnow.com/jobs/companies/constructortech/software-engineer-intern-c-bremen-424029","date":"2026-11-04T03:55:18.000Z","region":"global","skills":["javascript","python","java","csharp","cpp","sql","dotnet","postgresql","cicd","kafka","rest","distributed-systems","system-design","git","testing","agile"]},{"id":"arbeitnow:senior-product-manager-edtech-ai-232898","src":"arbeitnow","title":"Senior Product Manager (EdTech & AI)","company":"constructortech","loc":"","url":"https://www.arbeitnow.com/jobs/companies/constructortech/senior-product-manager-edtech-ai-232898","date":"2026-11-04T03:55:18.000Z","region":"global","skills":["machine-learning","agile"]},{"id":"arbeitnow:ml-research-intern-in-agentic-runtime-systems-bremen-304446","src":"arbeitnow","title":"ML Research Intern in Agentic Runtime Systems","company":"constructortech","loc":"Bremen","url":"https://www.arbeitnow.com/jobs/companies/constructortech/ml-research-intern-in-agentic-runtime-systems-bremen-304446","date":"2026-11-04T03:55:18.000Z","region":"global","skills":["python","rust","machine-learning","llm","ai-agents","prompt-engineering","fine-tuning"]},{"id":"arbeitnow:frontend-engineer-intern-bremen-226532","src":"arbeitnow","title":"Frontend Engineer (Intern)","company":"constructortech","loc":"Bremen","url":"https://www.arbeitnow.com/jobs/companies/constructortech/frontend-engineer-intern-bremen-226532","date":"2026-11-04T03:55:18.000Z","region":"global","skills":["javascript","react","vue","angular","html","css","git"]},{"id":"arbeitnow:founding-research-engineer-or-research-scientist-munich-284774","src":"arbeitnow","title":"Founding Research Engineer or Research Scientist","company":"Grubel","loc":"Munich","url":"https://www.arbeitnow.com/jobs/companies/grubel/founding-research-engineer-or-research-scientist-munich-284774","date":"2026-11-04T03:40:15.000Z","region":"global","skills":["machine-learning","llm","ai-agents","fine-tuning"]},{"id":"arbeitnow:senior-staff-engineer-agentic-united-kingdom-457464","src":"arbeitnow","title":"Senior Staff Engineer - Agentic","company":"tem","loc":"United Kingdom","url":"https://www.arbeitnow.co.uk/jobs/companies/tem/senior-staff-engineer-agentic-united-kingdom-457464","date":"2026-11-04T03:40:13.000Z","region":"global","skills":["cicd","ai-agents","rag","mcp"]},{"id":"arbeitnow:software-engineer-roboticist-munich-215313","src":"arbeitnow","title":"Software Engineer - Roboticist","company":"Ekumenlabs","loc":"Munich","url":"https://www.arbeitnow.com/jobs/companies/ekumenlabs/software-engineer-roboticist-munich-215313","date":"2026-11-04T03:40:12.000Z","region":"global","skills":["python","cpp","docker","robotics"]},{"id":"arbeitnow:software-engineer-mobile-london-242948","src":"arbeitnow","title":"Software Engineer (Mobile) - London","company":"Teton","loc":"London","url":"https://www.arbeitnow.co.uk/jobs/companies/teton/software-engineer-mobile-london-242948","date":"2026-11-04T03:40:12.000Z","region":"global","skills":["typescript","kotlin","swift","react","ios","android","react-native","aws","cicd","machine-learning","websocket","testing"]},{"id":"arbeitnow:werkstudent-engineering-munchen-281546","src":"arbeitnow","title":"Werkstudent Engineering (m/w/d)","company":"Vogel","loc":"München","url":"https://www.arbeitnow.com/jobs/companies/vogel/werkstudent-engineering-munchen-281546","date":"2026-11-04T03:40:11.000Z","region":"global","skills":["typescript","python","sql"]},{"id":"arbeitnow:founding-engineer-munchen-153028","src":"arbeitnow","title":"Founding Engineer (m/w/d)","company":"Vogel","loc":"München","url":"https://www.arbeitnow.com/jobs/companies/vogel/founding-engineer-munchen-153028","date":"2026-11-04T03:40:11.000Z","region":"global","skills":["typescript","python","sql","etl"]},{"id":"jobicy:154514","src":"jobicy","title":"Solutions Architect for Automotive","company":"Canonical","loc":"Anywhere","url":"https://jobicy.com/jobs/154514-solutions-architect-for-automotive","date":"2026-11-04T03:37:22.000Z","region":"global","skills":["python","cpp","c","go","rust","kubernetes","linux","mlops","embedded"]},{"id":"jobicy:149988","src":"jobicy","title":"Software Engineer - Data Infrastructure - Kafka","company":"Canonical","loc":"EMEA","url":"https://jobicy.com/jobs/149988-software-engineer-data-infrastructure-kafka","date":"2026-11-04T03:37:07.000Z","region":"global","skills":["python","sql","postgresql","mysql","oracle","mongodb","redis","elasticsearch","aws","kubernetes","linux","spark","kafka","distributed-systems","cryptography"]},{"id":"jobicy:149985","src":"jobicy","title":"Engineering Manager - Public Cloud, Python, Golang","company":"Canonical","loc":"EMEA,  LATAM,  Canada,  USA","url":"https://jobicy.com/jobs/149985-engineering-manager-public-cloud-python-golang","date":"2026-11-04T03:37:05.000Z","region":"global","skills":["python","go","aws","azure","gcp","linux","agile"]},{"id":"jobicy:148143","src":"jobicy","title":"Senior Software Engineer, Storage","company":"Reddit","loc":"USA","url":"https://jobicy.com/jobs/148143-senior-software-engineer-storage","date":"2026-11-04T03:37:04.000Z","region":"global","skills":["python","java","cpp","go","postgresql","mysql","redis","cassandra","machine-learning","distributed-systems"]},{"id":"jobicy:150052","src":"jobicy","title":"1775 RPG/AS400 & JD Edwards EnterpriseOne Developer","company":"Softgic","loc":"Anywhere","url":"https://jobicy.com/jobs/150052-1775-rpg-as400-jd-edwards-enterpriseone-developer","date":"2026-11-04T03:35:31.000Z","region":"global","skills":["sql"]},{"id":"jobicy:149994","src":"jobicy","title":"Software Engineer - Data Infrastructure - OpenSearch/ElasticSearch","company":"Canonical","loc":"EMEA","url":"https://jobicy.com/jobs/149994-software-engineer-data-infrastructure-opensearch-elasticsearch","date":"2026-11-04T03:35:12.000Z","region":"global","skills":["python","sql","elasticsearch","kubernetes","linux","distributed-systems","cryptography"]},{"id":"jobicy:149984","src":"jobicy","title":"Golang Engineering Manager, Commercial Systems","company":"Canonical","loc":"EMEA","url":"https://jobicy.com/jobs/149984-golang-engineering-manager-commercial-systems","date":"2026-11-04T03:35:09.000Z","region":"global","skills":["python","java","go","linux","sre","security"]},{"id":"jobicy:149972","src":"jobicy","title":"Software Engineer, Ceph & Distributed Storage","company":"Canonical","loc":"EMEA,  LATAM,  Canada,  USA","url":"https://jobicy.com/jobs/149972-software-engineer-ceph-distributed-storage","date":"2026-11-04T03:35:07.000Z","region":"global","skills":["python","go","kubernetes","linux","distributed-systems"]},{"id":"jobicy:149970","src":"jobicy","title":"Engineering Manager- Ceph & Distributed Storage","company":"Canonical","loc":"EMEA,  LATAM,  Canada,  USA","url":"https://jobicy.com/jobs/149970-engineering-manager-ceph-distributed-storage","date":"2026-11-04T03:35:06.000Z","region":"global","skills":["python","cpp","linux","distributed-systems","system-design","agile"]},{"id":"hn-hiring:50361229","src":"hn-hiring","title":"Robotics/Hardware Engineer, Simulation Engineer","company":"Lumen Labs","loc":"ONSITE","url":"https://news.ycombinator.com/item?id=50361229","date":"2026-11-04T03:34:11.000Z","region":"global","skills":["python","tensorflow","testing","embedded","robotics"]},{"id":"arbeitnow:senior-qa-manager-fully-remote-berlin-156016","src":"arbeitnow","title":"Senior QA Manager - Fully Remote","company":"SOFTGAMES","loc":"Remote job（可遠端）","url":"https://www.arbeitnow.com/jobs/companies/softgames/senior-qa-manager-fully-remote-berlin-156016","date":"2026-11-04T03:31:37.000Z","region":"global","skills":["firebase","datadog","testing","e2e","gamedev"]},{"id":"arbeitnow:power-platform-and-azure-devops-expert-remote-from-eu-amsterdam-110494","src":"arbeitnow","title":"Power Platform and Azure DevOps Expert - remote from EU","company":"AlmavivA de Belgique","loc":"Remote job（可遠端）","url":"https://www.arbeitnow.nl/jobs/companies/almaviva-de-belgique/power-platform-and-azure-devops-expert-remote-from-eu-amsterdam-110494","date":"2026-11-04T03:31:28.000Z","region":"global","skills":["azure","cicd","git","agile","security"]},{"id":"arbeitnow:senior-prototyping-engineer-thermal-systems-cooling-integration-gilching-7533","src":"arbeitnow","title":"Senior Prototyping Engineer (f/m/d) – Thermal Systems & Cooling Integration","company":"Quantum-Systems GmbH","loc":"Gilching, Bayern, Germany","url":"https://www.arbeitnow.com/jobs/companies/quantum-systems-gmbh/senior-prototyping-engineer-thermal-systems-cooling-integration-gilching-7533","date":"2026-11-04T03:31:27.000Z","region":"global","skills":["python","airflow","system-design"]},{"id":"arbeitnow:senior-machine-learning-engineer-gilching-339541","src":"arbeitnow","title":"Senior Machine Learning Engineer (m/f/d)","company":"Quantum-Systems GmbH","loc":"Gilching, Bayern, Germany","url":"https://www.arbeitnow.com/jobs/companies/quantum-systems-gmbh/senior-machine-learning-engineer-gilching-339541","date":"2026-11-04T03:31:27.000Z","region":"global","skills":["python","cpp","rust","machine-learning","inference","computer-vision"]},{"id":"arbeitnow:cloud-engineer-quantum-computing-siegen-77193","src":"arbeitnow","title":"Cloud Engineer - Quantum Computing (f/m/d)","company":"eleQtron GmbH","loc":"Siegen, Nordrhein-Westfalen, Germany","url":"https://www.arbeitnow.com/jobs/companies/eleqtron-gmbh/cloud-engineer-quantum-computing-siegen-77193","date":"2026-11-04T03:31:25.000Z","region":"global","skills":["python","cpp","go","rust","terraform","cicd","github-actions","gitlab","prometheus","grafana","opentelemetry","observability","rest","grpc","security","auth","embedded"]},{"id":"arbeitnow:senior-ui-ux-engineer-quantum-computing-siegen-415090","src":"arbeitnow","title":"Senior UI/UX Engineer- Quantum Computing (f/m/d)","company":"eleQtron GmbH","loc":"Siegen, Nordrhein-Westfalen, Germany","url":"https://www.arbeitnow.com/jobs/companies/eleqtron-gmbh/senior-ui-ux-engineer-quantum-computing-siegen-415090","date":"2026-11-04T03:31:25.000Z","region":"global","skills":["typescript","react","a11y","design-system","websocket"]},{"id":"jobicy:149989","src":"jobicy","title":"Python Engineering Manager, Commercial Systems","company":"Canonical","loc":"EMEA","url":"https://jobicy.com/jobs/149989-python-engineering-manager-commercial-systems","date":"2026-11-04T03:30:28.000Z","region":"global","skills":["python","java","go","linux","sre","etl"]},{"id":"jobicy:149940","src":"jobicy","title":"Ubuntu Linux Kernel Engineer - BIOS/Firmware","company":"Canonical","loc":"APAC","url":"https://jobicy.com/jobs/149940-ubuntu-linux-kernel-engineer-bios-firmware","date":"2026-11-04T03:30:27.000Z","region":"global","skills":["python","bash","linux","git","embedded"]},{"id":"jobicy:149981","src":"jobicy","title":"Software Architect - Containers / Virtualisation","company":"Canonical","loc":"EMEA,  LATAM,  Canada,  USA","url":"https://jobicy.com/jobs/149981-software-architect-containers-virtualisation","date":"2026-11-04T03:30:22.000Z","region":"global","skills":["go","linux","rest","distributed-systems"]},{"id":"jobicy:149980","src":"jobicy","title":"Engineering Manager for IAM (Identity and Access Management)","company":"Canonical","loc":"EMEA,  LATAM,  Canada,  USA","url":"https://jobicy.com/jobs/149980-engineering-manager-for-iam-identity-and-access-management","date":"2026-11-04T03:30:21.000Z","region":"global","skills":["python","go","kubernetes","linux","observability","distributed-systems","auth"]},{"id":"jobicy:149971","src":"jobicy","title":"Software Engineer - Data Infrastructure","company":"Canonical","loc":"EMEA","url":"https://jobicy.com/jobs/149971-software-engineer-data-infrastructure","date":"2026-11-04T03:30:19.000Z","region":"global","skills":["python","sql","postgresql","mysql","mongodb","redis","elasticsearch","kubernetes","linux","kafka","bi","distributed-systems","cryptography"]},{"id":"jobicy:149993","src":"jobicy","title":"Developer Relations Engineer","company":"Canonical","loc":"APAC,  EMEA","url":"https://jobicy.com/jobs/149993-developer-relations-engineer","date":"2026-11-04T03:30:15.000Z","region":"global","skills":["linux"]},{"id":"jobicy:149969","src":"jobicy","title":"Linux devices software engineer - snapd","company":"Canonical","loc":"EMEA,  LATAM,  Canada,  USA","url":"https://jobicy.com/jobs/149969-linux-devices-software-engineer-snapd","date":"2026-11-04T03:30:09.000Z","region":"global","skills":["python","cpp","go","linux","testing"]},{"id":"jobicy:150061","src":"jobicy","title":"Senior Backend Engineer, AI Engineering: Chat","company":"GitLab","loc":"UK","url":"https://jobicy.com/jobs/150061-senior-backend-engineer-ai-engineering-chat","date":"2026-11-04T03:30:07.000Z","region":"global","skills":["python","ruby","sql","rails","postgresql","gitlab","observability","etl","llm","ai-agents","langchain","rest","graphql","testing","security"]},{"id":"jobicy:149996","src":"jobicy","title":"Ubuntu Core Software Engineer","company":"Canonical","loc":"EMEA","url":"https://jobicy.com/jobs/149996-ubuntu-core-software-engineer","date":"2026-11-04T03:22:39.000Z","region":"global","skills":["go","linux","testing","embedded"]},{"id":"jobicy:149978","src":"jobicy","title":"Software Engineer - Cloud Images","company":"Canonical","loc":"EMEA,  LATAM,  Canada,  USA","url":"https://jobicy.com/jobs/149978-software-engineer-cloud-images","date":"2026-11-04T03:22:36.000Z","region":"global","skills":["python","docker","kubernetes","cicd","jenkins","linux"]},{"id":"jobicy:149976","src":"jobicy","title":"Engineering Manager - Web","company":"Canonical","loc":"EMEA","url":"https://jobicy.com/jobs/149976-engineering-manager-web","date":"2026-11-04T03:22:33.000Z","region":"global","skills":["typescript","react","flutter","docker","kubernetes","linux","rest"]},{"id":"jobicy:149975","src":"jobicy","title":"Senior Ubuntu Embedded IoT System Engineer","company":"Canonical","loc":"EMEA","url":"https://jobicy.com/jobs/149975-senior-ubuntu-embedded-iot-system-engineer","date":"2026-11-04T03:22:31.000Z","region":"global","skills":["python","bash","linux","testing","embedded","robotics"]},{"id":"jobicy:149974","src":"jobicy","title":"Senior Software Engineer - Python/MongoDB","company":"Canonical","loc":"EMEA","url":"https://jobicy.com/jobs/149974-senior-software-engineer-python-mongodb","date":"2026-11-04T03:22:30.000Z","region":"global","skills":["python","mongodb","kubernetes","linux"]},{"id":"jobicy:149973","src":"jobicy","title":"Software Engineering Manager - Container and Virtualisation Infrastructure","company":"Canonical","loc":"EMEA,  LATAM,  Canada,  USA","url":"https://jobicy.com/jobs/149973-software-engineering-manager-container-and-virtualisation-infrastructure","date":"2026-11-04T03:22:28.000Z","region":"global","skills":["go","kubernetes","linux","microservices","distributed-systems"]},{"id":"arbeitnow:senior-software-engineer-java-manchester-488459","src":"arbeitnow","title":"Senior Software Engineer (Java)","company":"Anaplan","loc":"Manchester","url":"https://www.arbeitnow.co.uk/jobs/companies/anaplan/senior-software-engineer-java-manchester-488459","date":"2026-11-04T00:55:20.000Z","region":"global","skills":["python","java","go","kotlin","react","docker","kubernetes","helm","cicd","argocd","observability","llm","ai-agents","microservices","event-driven","distributed-systems","auth"]},{"id":"hn-hiring:50360244","src":"hn-hiring","title":"多個職缺（見原文）","company":"Coder","loc":"","url":"https://news.ycombinator.com/item?id=50360244","date":"2026-11-04T00:48:58.000Z","region":"global","skills":["ai-agents","ai-coding"]},{"id":"arbeitnow:senior-bi-analytics-engineer-london-365805","src":"arbeitnow","title":"Senior BI Analytics Engineer","company":"Carwow","loc":"London","url":"https://www.arbeitnow.co.uk/jobs/companies/carwow/senior-bi-analytics-engineer-london-365805","date":"2026-11-04T00:40:15.000Z","region":"global","skills":["sql","gcp","airflow","dbt","snowflake","bigquery","etl","bi","ai-coding"]},{"id":"arbeitnow:ai-for-hardware-engineer-frontier-tech-paris-362256","src":"arbeitnow","title":"AI-for-Hardware Engineer, Frontier Tech","company":"Hexa","loc":"Paris","url":"https://www.arbeitnow.fr/jobs/companies/hexa/ai-for-hardware-engineer-frontier-tech-paris-362256","date":"2026-11-04T00:40:14.000Z","region":"global","skills":["docker","ai-agents","mcp","embedded"]},{"id":"arbeitnow:founding-design-engineer-codespeak-london-252489","src":"arbeitnow","title":"Founding Design Engineer | CodeSpeak","company":"Hirehire","loc":"London","url":"https://www.arbeitnow.co.uk/jobs/companies/hirehire/founding-design-engineer-codespeak-london-252489","date":"2026-11-04T00:40:14.000Z","region":"global","skills":["typescript","kotlin","react","swiftui","databricks","machine-learning","llm","huggingface"]},{"id":"arbeitnow:remote-head-of-engineering-xpate-490630","src":"arbeitnow","title":"Head of Engineering | xpate","company":"Hirehire","loc":"Remote（可遠端）","url":"https://www.arbeitnow.com/jobs/companies/hirehire/remote-head-of-engineering-xpate-490630","date":"2026-11-04T00:40:13.000Z","region":"global","skills":["llm","ai-agents","prompt-engineering","testing"]},{"id":"arbeitnow:senior-solutions-engineer-london-119126","src":"arbeitnow","title":"Senior Solutions Engineer","company":"Choco","loc":"London","url":"https://www.arbeitnow.co.uk/jobs/companies/choco/senior-solutions-engineer-london-119126","date":"2026-11-04T00:40:12.000Z","region":"global","skills":["javascript","python","sql","n8n","rest","auth","erp"]},{"id":"arbeitnow:senior-principal-software-engineer-java-spring-boot-kafka-80-100-bern-382989","src":"arbeitnow","title":"Senior / Principal Software Engineer - Java, Spring Boot & Kafka (80-100%)","company":"Callista Group AG","loc":"Bern, Berne, Switzerland","url":"https://www.arbeitnow.ch/jobs/companies/callista-group-ag/senior-principal-software-engineer-java-spring-boot-kafka-80-100-bern-382989","date":"2026-11-04T00:31:21.000Z","region":"global","skills":["java","sql","spring","docker","kubernetes","gitlab","observability","kafka","rest","distributed-systems","testing","agile"]},{"id":"arbeitnow:senior-devops-engineer-ms-entra-id-azure-100-zurich-345346","src":"arbeitnow","title":"Senior DevOps Engineer – MS Entra ID / Azure 100%","company":"Callista Group AG","loc":"Zürich, Zürich, Switzerland","url":"https://www.arbeitnow.ch/jobs/companies/callista-group-ag/senior-devops-engineer-ms-entra-id-azure-100-zurich-345346","date":"2026-11-04T00:31:21.000Z","region":"global","skills":["python","bash","azure","terraform","cicd","gitlab","agile","auth"]},{"id":"arbeitnow:tech-lead-c-net-saas-low-code-eur5500-eur7000-zoetermeer-384045","src":"arbeitnow","title":"Tech Lead (C# .NET - SaaS & Low-Code), €5.500 - €7.000 | Zoetermeer","company":"Whitevision B.V.","loc":"Zoetermeer, Zuid-Holland, Nederland","url":"https://www.arbeitnow.nl/jobs/companies/whitevision-bv/tech-lead-c-net-saas-low-code-eur5500-eur7000-zoetermeer-384045","date":"2026-11-04T00:31:21.000Z","region":"global","skills":["csharp","sql","react","dotnet","sqlserver","azure","rest","erp"]},{"id":"arbeitnow:remote-senior-full-stack-engineer-based-in-germany-berlin-352789","src":"arbeitnow","title":"(Senior) Full Stack Engineer (m/f/x) - Based in Germany","company":"Cara Care","loc":"Berlin, Germany（可遠端）","url":"https://www.arbeitnow.com/jobs/companies/cara-care/remote-senior-full-stack-engineer-based-in-germany-berlin-352789","date":"2026-11-04T00:20:17.000Z","region":"global","skills":["typescript","python","java","php","react","django","react-native","postgresql","aws","azure","gcp","kubernetes","ansible","cicd","argocd","linux","prometheus","grafana","observability","ai-agents","mcp","ai-coding","rest","distributed-systems","testing"]},{"id":"arbeitnow:full-stack-entwicklerin-nextjs-remote-berlin-336824","src":"arbeitnow","title":"Full-Stack-Entwickler*in (Next.js) – Remote","company":"Itze-Bits GmbH","loc":"Berlin（可遠端）","url":"https://www.arbeitnow.com/jobs/companies/itze-bits-gmbh/full-stack-entwicklerin-nextjs-remote-berlin-336824","date":"2026-11-03T23:00:34.000Z","region":"global","skills":["typescript","nextjs","llm","ai-coding","erp"]},{"id":"arbeitnow:lead-database-administrator-cambridge-248734","src":"arbeitnow","title":"Lead Database Administrator","company":"Partnerize","loc":"Cambridge, England, United Kingdom","url":"https://www.arbeitnow.co.uk/jobs/companies/partnerize/lead-database-administrator-cambridge-248734","date":"2026-11-03T22:45:23.000Z","region":"global","skills":["python","bash","postgresql","mysql","aws","docker","kubernetes","ansible","cicd","gitlab","linux","prometheus","grafana","sre","snowflake","etl","distributed-systems","git","cryptography"]},{"id":"arbeitnow:software-engineer-ii-code-context-london-487385","src":"arbeitnow","title":"Software Engineer II - Code Context","company":"Deliveroo","loc":"London, England, United Kingdom","url":"https://www.arbeitnow.co.uk/jobs/companies/deliveroo/software-engineer-ii-code-context-london-487385","date":"2026-11-03T22:45:22.000Z","region":"global","skills":["observability","llm","ai-agents","ai-coding","system-design"]},{"id":"arbeitnow:senior-commercial-solutions-engineer-64073","src":"arbeitnow","title":"Senior Commercial Solutions Engineer","company":"Sentinellabs","loc":"","url":"https://www.arbeitnow.nl/jobs/companies/sentinellabs/senior-commercial-solutions-engineer-64073","date":"2026-11-03T21:55:26.000Z","region":"global","skills":["sre","security"]},{"id":"arbeitnow:senior-data-analyst-crm-munich-231256","src":"arbeitnow","title":"Senior Data Analyst - CRM (m/f/d)","company":"Flix","loc":"Munich, Bavaria, Germany","url":"https://www.arbeitnow.com/jobs/companies/flix/senior-data-analyst-crm-munich-231256","date":"2026-11-03T21:45:25.000Z","region":"global","skills":["sql","snowflake","etl","bi"]},{"id":"arbeitnow:machine-learning-data-scientist-posting-munich-468450","src":"arbeitnow","title":"Machine Learning Data Scientist posting","company":"Differential.bio","loc":"Munich","url":"https://www.arbeitnow.com/jobs/companies/differentialbio/machine-learning-data-scientist-posting-munich-468450","date":"2026-11-03T21:40:26.000Z","region":"global","skills":["python","machine-learning","ai-agents","pytorch","tensorflow","scikit-learn"]},{"id":"arbeitnow:ai-researcher-pre-training-heidelberg-356293","src":"arbeitnow","title":"AI Researcher - Pre-training (f/m/d)","company":"Alephalpha","loc":"Heidelberg","url":"https://www.arbeitnow.com/jobs/companies/alephalpha/ai-researcher-pre-training-heidelberg-356293","date":"2026-11-03T21:40:26.000Z","region":"global","skills":["python","machine-learning","llm","pytorch"]},{"id":"arbeitnow:software-engineer-london-155589","src":"arbeitnow","title":"Software Engineer","company":"Investa","loc":"London","url":"https://www.arbeitnow.co.uk/jobs/companies/investa/software-engineer-london-155589","date":"2026-11-03T21:40:19.000Z","region":"global","skills":["typescript","python","java","go","ios","android","aws","azure","gcp","distributed-systems","system-design","agile"]},{"id":"arbeitnow:senior-software-engineer-london-316003","src":"arbeitnow","title":"Senior Software Engineer","company":"Investa","loc":"London","url":"https://www.arbeitnow.co.uk/jobs/companies/investa/senior-software-engineer-london-316003","date":"2026-11-03T21:40:19.000Z","region":"global","skills":["typescript","python","java","go","ios","android","aws","azure","gcp","distributed-systems","system-design","agile"]},{"id":"arbeitnow:storm-test-bench-principal-engineer-bordeaux-446611","src":"arbeitnow","title":"Storm Test Bench Principal Engineer","company":"The Exploration Company","loc":"Bordeaux, France","url":"https://www.arbeitnow.fr/jobs/companies/the-exploration-company/storm-test-bench-principal-engineer-bordeaux-446611","date":"2026-11-03T21:40:18.000Z","region":"global","skills":["agile"]},{"id":"arbeitnow:senior-product-manager-ai-gateway-berlin-432491","src":"arbeitnow","title":"Senior Product Manager - AI Gateway","company":"N8N","loc":"Berlin Office","url":"https://www.arbeitnow.com/jobs/companies/n8n/senior-product-manager-ai-gateway-berlin-432491","date":"2026-11-03T21:40:17.000Z","region":"global","skills":["llm","n8n","erp"]},{"id":"arbeitnow:executive-assistant-to-vp-cloud-vp-product-paris-472705","src":"arbeitnow","title":"Executive Assistant to VP, Cloud & VP, Product","company":"Mistral.ai","loc":"Paris","url":"https://www.arbeitnow.fr/jobs/companies/mistralai/executive-assistant-to-vp-cloud-vp-product-paris-472705","date":"2026-11-03T21:40:17.000Z","region":"global","skills":["llm"]},{"id":"arbeitnow:senior-software-engineer-london-168506","src":"arbeitnow","title":"Senior Software Engineer","company":"Getscope","loc":"London","url":"https://www.arbeitnow.co.uk/jobs/companies/getscope/senior-software-engineer-london-168506","date":"2026-11-03T21:40:17.000Z","region":"global","skills":["typescript","python","react","react-native","ai-agents","n8n"]},{"id":"arbeitnow:applied-ai-forward-deployed-machine-learning-engineer-internship-paris-169431","src":"arbeitnow","title":"Applied AI, Forward Deployed Machine Learning Engineer - (Internship)","company":"Mistral.ai","loc":"Paris","url":"https://www.arbeitnow.fr/jobs/companies/mistralai/applied-ai-forward-deployed-machine-learning-engineer-internship-paris-169431","date":"2026-11-03T21:40:16.000Z","region":"global","skills":["python","linux","machine-learning","llm","pytorch","mlops","nlp","git","system-analysis"]},{"id":"arbeitnow:ai-deployment-strategist-science-emea-paris-379629","src":"arbeitnow","title":"AI Deployment Strategist, Science - EMEA","company":"Mistral.ai","loc":"Paris","url":"https://www.arbeitnow.fr/jobs/companies/mistralai/ai-deployment-strategist-science-emea-paris-379629","date":"2026-11-03T21:40:16.000Z","region":"global","skills":["python","cpp","machine-learning","llm","computer-vision","system-analysis","robotics"]},{"id":"arbeitnow:senior-software-engineer-frontend-beugen-463088","src":"arbeitnow","title":"Senior Software Engineer (Frontend)","company":"IXON Cloud","loc":"Beugen, Noord-Brabant, Netherlands","url":"https://www.arbeitnow.nl/jobs/companies/ixon-cloud/senior-software-engineer-frontend-beugen-463088","date":"2026-11-03T21:31:12.000Z","region":"global","skills":["typescript","python","angular","docker","observability","agile"]},{"id":"arbeitnow:senior-net-developer-luzern-476204","src":"arbeitnow","title":"Senior .NET Developer","company":"SwissPeak Partners GmbH","loc":"Luzern, Luzern, Switzerland","url":"https://www.arbeitnow.ch/jobs/companies/swisspeak-partners-gmbh/senior-net-developer-luzern-476204","date":"2026-11-03T21:31:09.000Z","region":"global","skills":["dotnet","orm","azure","kubernetes","kafka","microservices","rest","agile"]},{"id":"arbeitnow:senior-generative-ai-engineer-zurich-158632","src":"arbeitnow","title":"Senior Generative AI Engineer","company":"SwissPeak Partners GmbH","loc":"Zurich, Zürich, Switzerland","url":"https://www.arbeitnow.ch/jobs/companies/swisspeak-partners-gmbh/senior-generative-ai-engineer-zurich-158632","date":"2026-11-03T21:31:09.000Z","region":"global","skills":["python","java","azure","cicd","opentelemetry","observability","etl","machine-learning","llm","rag","prompt-engineering","fine-tuning","langchain","system-design"]},{"id":"arbeitnow:senior-java-developer-performance-focused-zurich-458836","src":"arbeitnow","title":"Senior Java Developer (Performance Focused)","company":"SwissPeak Partners GmbH","loc":"Zurich, Zürich, Switzerland","url":"https://www.arbeitnow.ch/jobs/companies/swisspeak-partners-gmbh/senior-java-developer-performance-focused-zurich-458836","date":"2026-11-03T21:31:09.000Z","region":"global","skills":["java","sql","orm","postgresql","sqlserver","oracle","kubernetes","cicd","system-design","agile"]},{"id":"arbeitnow:iot-embedded-systems-engineer-bern-27488","src":"arbeitnow","title":"IoT Embedded Systems Engineer","company":"SwissPeak Partners GmbH","loc":"Bern, Berne, Switzerland","url":"https://www.arbeitnow.ch/jobs/companies/swisspeak-partners-gmbh/iot-embedded-systems-engineer-bern-27488","date":"2026-11-03T21:31:09.000Z","region":"global","skills":["linux","system-design","embedded"]},{"id":"arbeitnow:system-engineer-cloud-network-security-steinhausen-470348","src":"arbeitnow","title":"System Engineer - Cloud, Network & Security (m/w/d)","company":"SwissPeak Partners GmbH","loc":"Steinhausen, Zug, Switzerland","url":"https://www.arbeitnow.ch/jobs/companies/swisspeak-partners-gmbh/system-engineer-cloud-network-security-steinhausen-470348","date":"2026-11-03T21:31:09.000Z","region":"global","skills":["azure","networking","network-admin","windows-server"]},{"id":"arbeitnow:dynamics-365-crm-solution-architect-zurich-170966","src":"arbeitnow","title":"Dynamics 365 CRM Solution Architect","company":"SwissPeak Partners GmbH","loc":"Zurich, Zürich, Switzerland","url":"https://www.arbeitnow.ch/jobs/companies/swisspeak-partners-gmbh/dynamics-365-crm-solution-architect-zurich-170966","date":"2026-11-03T21:31:09.000Z","region":"global","skills":["azure"]},{"id":"arbeitnow:it-solution-architect-bern-310582","src":"arbeitnow","title":"IT Solution Architect","company":"SwissPeak Partners GmbH","loc":"Bern, Berne, Switzerland","url":"https://www.arbeitnow.ch/jobs/companies/swisspeak-partners-gmbh/it-solution-architect-bern-310582","date":"2026-11-03T21:31:09.000Z","region":"global","skills":["azure","security"]},{"id":"arbeitnow:sap-s-4hana-solution-architect-logistics-zurich-207509","src":"arbeitnow","title":"SAP S/4HANA Solution Architect – Logistics","company":"SwissPeak Partners GmbH","loc":"Zurich, Zürich, Switzerland","url":"https://www.arbeitnow.ch/jobs/companies/swisspeak-partners-gmbh/sap-s-4hana-solution-architect-logistics-zurich-207509","date":"2026-11-03T21:31:09.000Z","region":"global","skills":["system-analysis","erp"]},{"id":"arbeitnow:remote-software-test-engineer-bern-122043","src":"arbeitnow","title":"Software Test Engineer","company":"SwissPeak Partners GmbH","loc":"Remote job（可遠端）","url":"https://www.arbeitnow.ch/jobs/companies/swisspeak-partners-gmbh/remote-software-test-engineer-bern-122043","date":"2026-11-03T21:31:09.000Z","region":"global","skills":["azure"]},{"id":"arbeitnow:remote-servicenow-ai-architect-zurich-237261","src":"arbeitnow","title":"ServiceNow AI Architect","company":"SwissPeak Partners GmbH","loc":"Remote job（可遠端）","url":"https://www.arbeitnow.ch/jobs/companies/swisspeak-partners-gmbh/remote-servicenow-ai-architect-zurich-237261","date":"2026-11-03T21:31:09.000Z","region":"global","skills":["llm","ai-agents"]},{"id":"arbeitnow:senior-network-engineer-zurich-461038","src":"arbeitnow","title":"Senior Network Engineer","company":"SwissPeak Partners GmbH","loc":"Zurich, Zürich, Switzerland","url":"https://www.arbeitnow.ch/jobs/companies/swisspeak-partners-gmbh/senior-network-engineer-zurich-461038","date":"2026-11-03T21:31:09.000Z","region":"global","skills":["python","bash","linux","networking","network-admin","windows-server","security"]},{"id":"arbeitnow:senior-java-angular-engineer-zurich-402832","src":"arbeitnow","title":"Senior Java/Angular Engineer","company":"SwissPeak Partners GmbH","loc":"Zurich, Zürich, Switzerland","url":"https://www.arbeitnow.ch/jobs/companies/swisspeak-partners-gmbh/senior-java-angular-engineer-zurich-402832","date":"2026-11-03T21:31:09.000Z","region":"global","skills":["java","kotlin","sql","angular","orm","postgresql","docker","kubernetes","jenkins","git","agile"]},{"id":"arbeitnow:business-engineer-investment-and-pension-zurich-109497","src":"arbeitnow","title":"Business Engineer Investment and Pension","company":"SwissPeak Partners GmbH","loc":"Zurich, Zürich, Switzerland","url":"https://www.arbeitnow.ch/jobs/companies/swisspeak-partners-gmbh/business-engineer-investment-and-pension-zurich-109497","date":"2026-11-03T21:31:09.000Z","region":"global","skills":["system-analysis","agile"]},{"id":"arbeitnow:business-engineer-banking-processes-zurich-219322","src":"arbeitnow","title":"Business Engineer Banking Processes","company":"SwissPeak Partners GmbH","loc":"Zurich, Zürich, Switzerland","url":"https://www.arbeitnow.ch/jobs/companies/swisspeak-partners-gmbh/business-engineer-banking-processes-zurich-219322","date":"2026-11-03T21:31:09.000Z","region":"global","skills":["system-analysis","agile"]},{"id":"arbeitnow:solution-architect-zurich-272173","src":"arbeitnow","title":"Solution Architect","company":"SwissPeak Partners GmbH","loc":"Zurich, Zürich, Switzerland","url":"https://www.arbeitnow.ch/jobs/companies/swisspeak-partners-gmbh/solution-architect-zurich-272173","date":"2026-11-03T21:31:09.000Z","region":"global","skills":["system-design","ddd","agile"]},{"id":"arbeitnow:cloud-and-platform-engineer-zurich-13362","src":"arbeitnow","title":"Cloud and Platform Engineer","company":"SwissPeak Partners GmbH","loc":"Zurich, Zürich, Switzerland","url":"https://www.arbeitnow.ch/jobs/companies/swisspeak-partners-gmbh/cloud-and-platform-engineer-zurich-13362","date":"2026-11-03T21:31:09.000Z","region":"global","skills":["python","go","bash","postgresql","azure","docker","kubernetes","terraform","helm","cicd","gitlab","kafka","databricks","git","auth"]},{"id":"arbeitnow:stage-technische-bedrijfskunde-engineering-elsloo-298999","src":"arbeitnow","title":"Stage: Technische bedrijfskunde/Engineering","company":"Nedlin","loc":"Elsloo, Limburg, Nederland","url":"https://www.arbeitnow.nl/jobs/companies/nedlin/stage-technische-bedrijfskunde-engineering-elsloo-298999","date":"2026-11-03T21:31:09.000Z","region":"global","skills":["ai-coding"]},{"id":"arbeitnow:remote-product-solution-architect-connectivity-solutions-all-genders-berlin-247562","src":"arbeitnow","title":"Product Solution Architect, Connectivity Solutions (all genders)","company":"Distribusion Technologies","loc":"Remote job（可遠端）","url":"https://www.arbeitnow.com/jobs/companies/distribusion-technologies/remote-product-solution-architect-connectivity-solutions-all-genders-berlin-247562","date":"2026-11-03T21:31:07.000Z","region":"global","skills":["rest","distributed-systems","system-design","ddd"]},{"id":"hn-hiring:50357728","src":"hn-hiring","title":"多個職缺（見原文）","company":"Apollo Research","loc":"","url":"https://news.ycombinator.com/item?id=50357728","date":"2026-11-03T20:28:49.000Z","region":"global","skills":["ai-agents","ai-coding"]},{"id":"hn-hiring:50357486","src":"hn-hiring","title":"Software Engineers (SRE, ML, backend, full-stack, mobile, security, QA)","company":"Radar Labs","loc":"Remote (US), NYC","url":"https://news.ycombinator.com/item?id=50357486","date":"2026-11-03T20:09:59.000Z","region":"global","skills":["typescript","python","rust","scala","ios","android","aws","kubernetes","terraform","sre","machine-learning","mcp","testing"]},{"id":"hn-hiring:50357360","src":"hn-hiring","title":"Founding Engineer, Founding Engineer (RL Environments), Founding Product Designer","company":"Thankly","loc":"REMOTE (US)","url":"https://news.ycombinator.com/item?id=50357360","date":"2026-11-03T20:01:15.000Z","region":"global","skills":["typescript","react","build-tools","postgresql","supabase","llm","ai-coding"]},{"id":"jobicy:158822","src":"jobicy","title":"Lead Engineer - AI Agent Voice Experience","company":"Cresta","loc":"USA","url":"https://jobicy.com/jobs/158822-lead-engineer-ai-agent-voice-experience","date":"2026-11-03T19:56:30.000Z","region":"global","skills":["gcp","observability","etl","machine-learning","llm","ai-agents","rag","vector-db","nlp"]},{"id":"arbeitnow:senior-microsoft-systemadministrator-landsberg-am-lech-434525","src":"arbeitnow","title":"Senior Microsoft Systemadministrator (m/w/d)","company":"mi.ro Personalvermittlung","loc":"Landsberg am Lech","url":"https://www.arbeitnow.com/jobs/companies/miro-personalvermittlung/senior-microsoft-systemadministrator-landsberg-am-lech-434525","date":"2026-11-03T19:00:48.000Z","region":"global","skills":["sql","sqlserver","aws","networking","windows-server","cryptography"]},{"id":"hn-hiring:50356544","src":"hn-hiring","title":"多個職缺（見原文）","company":"Solution Street","loc":"Northern Virginia / Washington DC Metro Area - HYBRID & ONS…","url":"https://news.ycombinator.com/item?id=50356544","date":"2026-11-03T19:00:41.000Z","region":"global","skills":["javascript","java","spring","orm","kubernetes","helm"]},{"id":"arbeitnow:software-engineer-transport-customs-paris-paris-213224","src":"arbeitnow","title":"Software Engineer - Transport & Customs (f/m/d)","company":"Decathlontechnology","loc":"Paris, Paris","url":"https://www.arbeitnow.fr/jobs/companies/decathlontechnology/software-engineer-transport-customs-paris-paris-213224","date":"2026-11-03T18:55:36.000Z","region":"global","skills":["javascript","typescript","java","react","nextjs","tailwind","spring","postgresql","mongodb","gcp","docker","kubernetes","helm","github-actions","datadog","kafka","microservices","rest","ddd","testing","e2e","auth"]},{"id":"arbeitnow:internship-data-engineer-core-data-product-paris-paris-paris-238472","src":"arbeitnow","title":"Internship - Data Engineer Core Data Product (f/m/d)- Paris","company":"Decathlontechnology","loc":"Paris, Paris","url":"https://www.arbeitnow.fr/jobs/companies/decathlontechnology/internship-data-engineer-core-data-product-paris-paris-paris-238472","date":"2026-11-03T18:55:36.000Z","region":"global","skills":["python","aws","cicd","spark","kafka","airflow","databricks","testing","system-analysis","gamedev"]},{"id":"arbeitnow:senior-risk-engineer-london-261373","src":"arbeitnow","title":"Senior Risk Engineer","company":"Capstoneinvestmentadvisors","loc":"London","url":"https://www.arbeitnow.co.uk/jobs/companies/capstoneinvestmentadvisors/senior-risk-engineer-london-261373","date":"2026-11-03T18:55:36.000Z","region":"global","skills":["python","java","sql","cicd","observability","etl","machine-learning","llm","ai-agents","ai-coding","event-driven"]},{"id":"arbeitnow:senior-security-engineer-application-sydney-australia-487771","src":"arbeitnow","title":"Senior Security Engineer, Application","company":"Firmus","loc":"Sydney, Australia","url":"https://www.arbeitnow.co.uk/jobs/companies/firmus/senior-security-engineer-application-sydney-australia-487771","date":"2026-11-03T18:55:35.000Z","region":"global","skills":["typescript","python","go","cicd","sre","llm","ai-agents","rest","grpc","security","auth","cryptography"]},{"id":"arbeitnow:senior-security-engineer-ai-platform-and-infrastructure-sydney-australia-153088","src":"arbeitnow","title":"Senior Security Engineer, AI Platform and Infrastructure","company":"Firmus","loc":"Sydney, Australia","url":"https://www.arbeitnow.co.uk/jobs/companies/firmus/senior-security-engineer-ai-platform-and-infrastructure-sydney-australia-153088","date":"2026-11-03T18:55:35.000Z","region":"global","skills":["python","go","kubernetes","terraform","linux","sre","security","cryptography","embedded"]},{"id":"arbeitnow:senior-ai-security-engineer-sydney-australia-313371","src":"arbeitnow","title":"Senior AI Security Engineer","company":"Firmus","loc":"Sydney, Australia","url":"https://www.arbeitnow.co.uk/jobs/companies/firmus/senior-ai-security-engineer-sydney-australia-313371","date":"2026-11-03T18:55:35.000Z","region":"global","skills":["python","go","kubernetes","cicd","sre","llm","ai-agents","rag","vector-db","inference","security","auth","cryptography"]},{"id":"arbeitnow:senior-ai-infrastructure-engineer-kubernetes-sydney-australia-413144","src":"arbeitnow","title":"Senior AI Infrastructure Engineer, Kubernetes","company":"Firmus","loc":"Sydney, Australia","url":"https://www.arbeitnow.co.uk/jobs/companies/firmus/senior-ai-infrastructure-engineer-kubernetes-sydney-australia-413144","date":"2026-11-03T18:55:35.000Z","region":"global","skills":["python","go","rust","bash","elasticsearch","kubernetes","terraform","ansible","cicd","github-actions","jenkins","gitlab","argocd","linux","prometheus","grafana","opentelemetry","observability","networking","distributed-systems","system-design"]},{"id":"arbeitnow:head-of-ai-factory-commissioning-sydney-australia-359684","src":"arbeitnow","title":"Head of AI Factory Commissioning","company":"Firmus","loc":"Sydney, Australia","url":"https://www.arbeitnow.co.uk/jobs/companies/firmus/head-of-ai-factory-commissioning-sydney-australia-359684","date":"2026-11-03T18:55:35.000Z","region":"global","skills":["testing"]},{"id":"arbeitnow:software-engineer-payments-systems-london-61189","src":"arbeitnow","title":"Software Engineer - Payments Systems","company":"Clearstreet","loc":"London","url":"https://www.arbeitnow.co.uk/jobs/companies/clearstreet/software-engineer-payments-systems-london-61189","date":"2026-11-03T18:55:34.000Z","region":"global","skills":["typescript","python","java","go","react","design-system","spring","aws","azure","kubernetes","kafka","rest","grpc","distributed-systems","system-design","testing"]},{"id":"arbeitnow:software-engineer-front-end-studio-core-london-413111","src":"arbeitnow","title":"Software Engineer - Front End - Studio (Core)","company":"Clearstreet","loc":"London","url":"https://www.arbeitnow.co.uk/jobs/companies/clearstreet/software-engineer-front-end-studio-core-london-413111","date":"2026-11-03T18:55:34.000Z","region":"global","skills":["typescript","react","nextjs","nodejs","aws","azure","kubernetes","cicd","observability","rest","distributed-systems","system-design","dsa"]},{"id":"arbeitnow:senior-databasebeheerder-deeltijd-16-uur-den-haag-397407","src":"arbeitnow","title":"Senior Databasebeheerder (deeltijd 16 uur)","company":"Centraal Bureau voor de Statistiek","loc":"Den Haag, Zuid-Holland, Nederland","url":"https://www.arbeitnow.nl/jobs/companies/centraal-bureau-voor-de-statistiek/senior-databasebeheerder-deeltijd-16-uur-den-haag-397407","date":"2026-11-03T18:51:25.000Z","region":"global","skills":["python","sql","bash","ios","android","postgresql","sqlserver","azure","docker","kubernetes","terraform","ansible","cicd","linux","distributed-systems","agile"]},{"id":"arbeitnow:working-student-qa-in-mobile-app-development-mwd-berlin-79055","src":"arbeitnow","title":"Working Student QA in Mobile App Development (m|w|d)","company":"idealo internet GmbH","loc":"Berlin, Berlin, Deutschland","url":"https://www.arbeitnow.com/jobs/companies/idealo-internet-gmbh/working-student-qa-in-mobile-app-development-mwd-berlin-79055","date":"2026-11-03T18:51:24.000Z","region":"global","skills":["ios","android","testing"]},{"id":"arbeitnow:engineering-manager-alwin-agent-runtime-amsterdam-136828","src":"arbeitnow","title":"Engineering Manager, Alwin Agent Runtime","company":"Datasnipper","loc":"Amsterdam","url":"https://www.arbeitnow.nl/jobs/companies/datasnipper/engineering-manager-alwin-agent-runtime-amsterdam-136828","date":"2026-11-03T18:40:36.000Z","region":"global","skills":["python","azure","observability","llm","ai-agents","ai-coding","distributed-systems","system-design"]},{"id":"arbeitnow:senior-qa-specialist-utrecht-65997","src":"arbeitnow","title":"Senior QA Specialist","company":"Rentman","loc":"Utrecht","url":"https://www.arbeitnow.nl/jobs/companies/rentman/senior-qa-specialist-utrecht-65997","date":"2026-11-03T18:40:36.000Z","region":"global","skills":["javascript","typescript","github-actions","linux","rest","testing","e2e","security","auth"]},{"id":"arbeitnow:deep-learning-engineer-radar-computer-vision-the-hague-225418","src":"arbeitnow","title":"Deep Learning Engineer (Radar Computer Vision)","company":"Robin Radar","loc":"Delft","url":"https://www.arbeitnow.nl/jobs/companies/robin-radar/deep-learning-engineer-radar-computer-vision-the-hague-225418","date":"2026-11-03T18:40:36.000Z","region":"global","skills":["python","machine-learning","pytorch","inference","computer-vision"]},{"id":"arbeitnow:deep-learning-engineer-the-hague-328477","src":"arbeitnow","title":"Deep Learning Engineer","company":"Robin Radar","loc":"Delft","url":"https://www.arbeitnow.nl/jobs/companies/robin-radar/deep-learning-engineer-the-hague-328477","date":"2026-11-03T18:40:36.000Z","region":"global","skills":["python","etl","machine-learning","pytorch","inference","computer-vision"]},{"id":"arbeitnow:senior-backend-engineer-golang-bereal-paris-472336","src":"arbeitnow","title":"Senior Backend Engineer (Golang) - BeReal","company":"BeReal","loc":"Paris","url":"https://www.arbeitnow.fr/jobs/companies/bereal/senior-backend-engineer-golang-bereal-paris-472336","date":"2026-11-03T18:40:35.000Z","region":"global","skills":["typescript","go","kotlin","swift","nodejs","nestjs","ios","android","postgresql","redis","gcp","kubernetes","github-actions","argocd","microservices","event-driven","distributed-systems"]},{"id":"arbeitnow:staff-backend-engineer-golang-bereal-paris-141658","src":"arbeitnow","title":"Staff Backend Engineer (Golang) - BeReal","company":"BeReal","loc":"Paris","url":"https://www.arbeitnow.fr/jobs/companies/bereal/staff-backend-engineer-golang-bereal-paris-141658","date":"2026-11-03T18:40:35.000Z","region":"global","skills":["typescript","go","kotlin","swift","nodejs","nestjs","ios","android","postgresql","redis","gcp","kubernetes","github-actions","argocd","microservices","event-driven","distributed-systems"]},{"id":"arbeitnow:engineering-manager-amsterdam-462080","src":"arbeitnow","title":"Engineering Manager","company":"Feedbackfruits","loc":"Amsterdam","url":"https://www.arbeitnow.nl/jobs/companies/feedbackfruits/engineering-manager-amsterdam-462080","date":"2026-11-03T18:40:35.000Z","region":"global","skills":["ruby","rails","cicd"]},{"id":"arbeitnow:software-engineer-ruby-on-rails-amsterdam-283088","src":"arbeitnow","title":"Software Engineer - Ruby on Rails","company":"Feedbackfruits","loc":"Amsterdam","url":"https://www.arbeitnow.nl/jobs/companies/feedbackfruits/software-engineer-ruby-on-rails-amsterdam-283088","date":"2026-11-03T18:40:35.000Z","region":"global","skills":["ruby","rails","azure","cicd","observability","ai-agents","ai-coding","testing"]},{"id":"arbeitnow:senior-software-engineer-ruby-on-rails-amsterdam-369346","src":"arbeitnow","title":"Senior Software Engineer -  Ruby on Rails","company":"Feedbackfruits","loc":"Amsterdam","url":"https://www.arbeitnow.nl/jobs/companies/feedbackfruits/senior-software-engineer-ruby-on-rails-amsterdam-369346","date":"2026-11-03T18:40:35.000Z","region":"global","skills":["ruby","rails","azure","cicd","observability","ai-agents","ai-coding","testing"]},{"id":"arbeitnow:staff-site-reliability-engineer-ai-platform-amsterdam-netherlands-226048","src":"arbeitnow","title":"Staff Site Reliability Engineer — AI Platform","company":"Manychat","loc":"Amsterdam, Netherlands","url":"https://www.arbeitnow.nl/jobs/companies/manychat/staff-site-reliability-engineer-ai-platform-amsterdam-netherlands-226048","date":"2026-11-03T18:40:35.000Z","region":"global","skills":["aws","azure","kubernetes","terraform","cicd","prometheus","grafana","opentelemetry","observability","sre","llm","mlops","inference"]},{"id":"arbeitnow:senior-python-engineer-billing-accounts-amsterdam-netherlands-343988","src":"arbeitnow","title":"Senior Python Engineer, Billing & Accounts","company":"Manychat","loc":"Amsterdam, Netherlands","url":"https://www.arbeitnow.nl/jobs/companies/manychat/senior-python-engineer-billing-accounts-amsterdam-netherlands-343988","date":"2026-11-03T18:40:35.000Z","region":"global","skills":["python","php","design-system","django","flask","fastapi","postgresql","docker","cicd","observability","testing"]},{"id":"arbeitnow:applied-ai-engineer-berlin-34908","src":"arbeitnow","title":"Applied AI Engineer","company":"Resonance","loc":"Berlin","url":"https://www.arbeitnow.com/jobs/companies/resonance/applied-ai-engineer-berlin-34908","date":"2026-11-03T18:40:34.000Z","region":"global","skills":["typescript","python","sql","observability","etl","llm","ai-agents","mcp","ai-coding"]},{"id":"arbeitnow:graduate-ai-transformation-lead-berlin-31359","src":"arbeitnow","title":"Graduate AI Transformation Lead","company":"Resonance","loc":"Berlin","url":"https://www.arbeitnow.com/jobs/companies/resonance/graduate-ai-transformation-lead-berlin-31359","date":"2026-11-03T18:40:34.000Z","region":"global","skills":["llm","ai-coding"]},{"id":"arbeitnow:graduate-applied-ai-engineer-berlin-107801","src":"arbeitnow","title":"Graduate Applied AI Engineer","company":"Resonance","loc":"Berlin","url":"https://www.arbeitnow.com/jobs/companies/resonance/graduate-applied-ai-engineer-berlin-107801","date":"2026-11-03T18:40:34.000Z","region":"global","skills":["typescript","python","etl","llm"]},{"id":"arbeitnow:senior-ai-transformation-lead-berlin-127355","src":"arbeitnow","title":"Senior AI Transformation Lead","company":"Resonance","loc":"Berlin","url":"https://www.arbeitnow.com/jobs/companies/resonance/senior-ai-transformation-lead-berlin-127355","date":"2026-11-03T18:40:34.000Z","region":"global","skills":["llm","ai-agents","ai-coding"]},{"id":"arbeitnow:ai-transformation-lead-berlin-165426","src":"arbeitnow","title":"AI Transformation Lead","company":"Resonance","loc":"Berlin","url":"https://www.arbeitnow.com/jobs/companies/resonance/ai-transformation-lead-berlin-165426","date":"2026-11-03T18:40:34.000Z","region":"global","skills":["llm","ai-agents","ai-coding"]},{"id":"arbeitnow:senior-applied-ai-engineer-berlin-298104","src":"arbeitnow","title":"Senior Applied AI Engineer","company":"Resonance","loc":"Berlin","url":"https://www.arbeitnow.com/jobs/companies/resonance/senior-applied-ai-engineer-berlin-298104","date":"2026-11-03T18:40:34.000Z","region":"global","skills":["typescript","python","observability","etl","llm"]},{"id":"arbeitnow:forward-deployed-engineer-munich-225183","src":"arbeitnow","title":"Forward Deployed Engineer (m/f/x)","company":"Virtual Identity","loc":"Munich","url":"https://www.arbeitnow.com/jobs/companies/virtual-identity/forward-deployed-engineer-munich-225183","date":"2026-11-03T18:40:32.000Z","region":"global","skills":["aws","azure","gcp","etl","ai-agents","ai-coding"]},{"id":"arbeitnow:senior-battery-management-system-bms-hardware-engineer-all-genders-munich-425728","src":"arbeitnow","title":"Senior Battery Management System (BMS) Hardware Engineer (all genders)","company":"væridion","loc":"Munich HQ","url":"https://www.arbeitnow.com/jobs/companies/vaeridion/senior-battery-management-system-bms-hardware-engineer-all-genders-munich-425728","date":"2026-11-03T18:40:31.000Z","region":"global","skills":["distributed-systems","testing","embedded"]},{"id":"arbeitnow:senior-aircraft-performance-engineer-all-genders-munich-287390","src":"arbeitnow","title":"Senior Aircraft Performance Engineer (all genders)","company":"væridion","loc":"Munich HQ","url":"https://www.arbeitnow.com/jobs/companies/vaeridion/senior-aircraft-performance-engineer-all-genders-munich-287390","date":"2026-11-03T18:40:31.000Z","region":"global","skills":["python"]},{"id":"arbeitnow:aerodynamics-engineer-all-genders-munich-358301","src":"arbeitnow","title":"Aerodynamics Engineer (all genders)","company":"væridion","loc":"Munich HQ","url":"https://www.arbeitnow.com/jobs/companies/vaeridion/aerodynamics-engineer-all-genders-munich-358301","date":"2026-11-03T18:40:31.000Z","region":"global","skills":["python","aws"]},{"id":"arbeitnow:remote-senior-solutions-architect-german-speaking-100493","src":"arbeitnow","title":"Senior Solutions Architect (German speaking)","company":"Sanity","loc":"Remote in Germany","url":"https://www.arbeitnow.com/jobs/companies/sanity/remote-senior-solutions-architect-german-speaking-100493","date":"2026-11-03T18:40:30.000Z","region":"global","skills":["react","vue","angular","astro","vercel","llm"]},{"id":"arbeitnow:fullstack-developer-dingolfing-357628","src":"arbeitnow","title":"Fullstack Developer (m/w/d)","company":"Agentur Philipp GmbH","loc":"Dingolfing","url":"https://www.arbeitnow.com/jobs/companies/agentur-philipp-gmbh/fullstack-developer-dingolfing-357628","date":"2026-11-03T18:30:48.000Z","region":"global","skills":["javascript","typescript","python","php","react","vue","nextjs","nodejs","nestjs","fastapi","laravel","postgresql","mysql","docker","cicd","linux","llm","rag","n8n","rest","git","erp"]},{"id":"hn-hiring:50356058","src":"hn-hiring","title":"多個職缺（見原文）","company":"Estuary","loc":"US-Based / Remote","url":"https://news.ycombinator.com/item?id=50356058","date":"2026-11-03T18:28:39.000Z","region":"global","skills":["rust","etl","distributed-systems","system-analysis"]},{"id":"jobicy:158819","src":"jobicy","title":"Director, Engineering (The Americas)","company":"Zone &#038; Co","loc":"USA","url":"https://jobicy.com/jobs/158819-director-engineering-the-americas","date":"2026-11-03T18:26:12.000Z","region":"global","skills":["javascript","typescript","python","oracle","dynamodb","aws","serverless","cicd","etl","machine-learning","llm","ai-agents","langchain","ai-coding","mlops","rest","testing","erp"]},{"id":"jobicy:158818","src":"jobicy","title":"Senior Full Stack Engineer","company":"Solace","loc":"USA","url":"https://jobicy.com/jobs/158818-senior-full-stack-engineer-9","date":"2026-11-03T18:26:11.000Z","region":"global","skills":["typescript","react","tailwind","nestjs","orm","postgresql","redis","gcp","cicd","pytorch"]},{"id":"hn-hiring:50355834","src":"hn-hiring","title":"Product Engineering Lead, Keet","company":"Tether","loc":"REMOTE (Worldwide)","url":"https://news.ycombinator.com/item?id=50355834","date":"2026-11-03T18:15:08.000Z","region":"global","skills":["javascript","react"]},{"id":"arbeitnow:senior-software-engineer-java-spring-boot-38-cloud-net-bern-391143","src":"arbeitnow","title":"Senior Software Engineer Java / Spring Boot &#38; Cloud","company":"PROSTAFF Schweiz GmbH","loc":"Bern","url":"https://www.arbeitnow.ch/jobs/companies/prostaff-schweiz-gmbh/senior-software-engineer-java-spring-boot-38-cloud-net-bern-391143","date":"2026-11-03T17:47:30.000Z","region":"global","skills":["java","sql","bash","angular","spring","dotnet","oracle","kubernetes","jenkins","argocd","bi","git","agile","auth"]},{"id":"jobicy:158809","src":"jobicy","title":"AI Trainers Network - Welsh","company":"Welo Global","loc":"Anywhere","url":"https://jobicy.com/jobs/158809-ai-trainers-network-welsh","date":"2026-11-03T17:31:28.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158808","src":"jobicy","title":"AI Trainers Network - Vietnamese","company":"Welo Global","loc":"Anywhere","url":"https://jobicy.com/jobs/158808-ai-trainers-network-vietnamese","date":"2026-11-03T17:31:27.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158807","src":"jobicy","title":"AI Trainers Network - Uzbek","company":"Welo Global","loc":"Anywhere","url":"https://jobicy.com/jobs/158807-ai-trainers-network-uzbek","date":"2026-11-03T17:31:25.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158806","src":"jobicy","title":"AI Trainers Network - Ukrainian","company":"Welo Global","loc":"Anywhere","url":"https://jobicy.com/jobs/158806-ai-trainers-network-ukrainian","date":"2026-11-03T17:31:24.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158805","src":"jobicy","title":"AI Trainers Network - Twi","company":"Welo Global","loc":"Anywhere","url":"https://jobicy.com/jobs/158805-ai-trainers-network-twi","date":"2026-11-03T17:31:22.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158804","src":"jobicy","title":"AI Trainers Network - Turkish","company":"Welo Global","loc":"Anywhere","url":"https://jobicy.com/jobs/158804-ai-trainers-network-turkish","date":"2026-11-03T17:31:21.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158803","src":"jobicy","title":"AI Trainers Network - Thai","company":"Welo Global","loc":"Anywhere","url":"https://jobicy.com/jobs/158803-ai-trainers-network-thai","date":"2026-11-03T17:31:19.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158802","src":"jobicy","title":"AI Trainers Network - Tagalog","company":"Welo Global","loc":"Anywhere","url":"https://jobicy.com/jobs/158802-ai-trainers-network-tagalog","date":"2026-11-03T17:31:17.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158801","src":"jobicy","title":"AI Trainers Network - Swedish","company":"Welo Global","loc":"Anywhere","url":"https://jobicy.com/jobs/158801-ai-trainers-network-swedish","date":"2026-11-03T17:31:16.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158800","src":"jobicy","title":"AI Trainers Network - Swahili","company":"Welo Global","loc":"Anywhere","url":"https://jobicy.com/jobs/158800-ai-trainers-network-swahili","date":"2026-11-03T17:31:14.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158798","src":"jobicy","title":"AI Trainers Network - Somali","company":"Welo Global","loc":"Anywhere","url":"https://jobicy.com/jobs/158798-ai-trainers-network-somali","date":"2026-11-03T17:30:48.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158797","src":"jobicy","title":"AI Trainers Network - Slovenian","company":"Welo Global","loc":"Anywhere","url":"https://jobicy.com/jobs/158797-ai-trainers-network-slovenian","date":"2026-11-03T17:30:46.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158796","src":"jobicy","title":"AI Trainers Network - Slovak","company":"Welo Global","loc":"Anywhere","url":"https://jobicy.com/jobs/158796-ai-trainers-network-slovak","date":"2026-11-03T17:30:45.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158795","src":"jobicy","title":"AI Trainers Network - Serbian","company":"Welo Global","loc":"Anywhere","url":"https://jobicy.com/jobs/158795-ai-trainers-network-serbian","date":"2026-11-03T17:30:43.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158794","src":"jobicy","title":"AI Trainers Network - Romanian","company":"Welo Global","loc":"Anywhere","url":"https://jobicy.com/jobs/158794-ai-trainers-network-romanian","date":"2026-11-03T17:30:41.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158793","src":"jobicy","title":"AI Trainers Network - Portuguese","company":"Welo Global","loc":"Anywhere","url":"https://jobicy.com/jobs/158793-ai-trainers-network-portuguese","date":"2026-11-03T17:30:40.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158792","src":"jobicy","title":"AI Trainers Network - Polish","company":"Welo Global","loc":"Anywhere","url":"https://jobicy.com/jobs/158792-ai-trainers-network-polish","date":"2026-11-03T17:30:38.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158791","src":"jobicy","title":"AI Trainers Network - Persian","company":"Welo Global","loc":"Anywhere","url":"https://jobicy.com/jobs/158791-ai-trainers-network-persian","date":"2026-11-03T17:30:36.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158790","src":"jobicy","title":"AI Trainers Network - Norwegian","company":"Welo Global","loc":"Anywhere","url":"https://jobicy.com/jobs/158790-ai-trainers-network-norwegian","date":"2026-11-03T17:30:35.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158789","src":"jobicy","title":"AI Trainers Network - Mongolian","company":"Welo Global","loc":"Anywhere","url":"https://jobicy.com/jobs/158789-ai-trainers-network-mongolian","date":"2026-11-03T17:30:10.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158788","src":"jobicy","title":"AI Trainers Network - Maori","company":"Welo Global","loc":"Anywhere","url":"https://jobicy.com/jobs/158788-ai-trainers-network-maori","date":"2026-11-03T17:30:08.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158787","src":"jobicy","title":"AI Trainers Network - Malay","company":"Welo Global","loc":"Anywhere","url":"https://jobicy.com/jobs/158787-ai-trainers-network-malay","date":"2026-11-03T17:30:06.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158784","src":"jobicy","title":"AI Trainers Network - Lithuanian","company":"Welo Global","loc":"Anywhere","url":"https://jobicy.com/jobs/158784-ai-trainers-network-lithuanian","date":"2026-11-03T17:30:02.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158781","src":"jobicy","title":"Senior Software Engineer","company":"Vonage","loc":"Poland","url":"https://jobicy.com/jobs/158781-senior-software-engineer-21","date":"2026-11-03T17:29:57.000Z","region":"global","skills":["go","postgresql","redis","dynamodb","aws","docker","kubernetes","terraform","cicd","kafka","rest","event-driven","distributed-systems"]},{"id":"arbeitnow:teamlead-creation-ai-munich-34910","src":"arbeitnow","title":"Teamlead Creation & AI (m/w/d)","company":"addfame GmbH","loc":"Munich","url":"https://www.arbeitnow.com/jobs/companies/addfame-gmbh/teamlead-creation-ai-munich-34910","date":"2026-11-03T17:00:46.000Z","region":"global","skills":["prompt-engineering"]},{"id":"arbeitnow:senior-ai-solutions-engineer-beratung-und-umsetzung-im-mittelstand-berlin-250733","src":"arbeitnow","title":"Senior AI Solutions Engineer (m/w/d)- Beratung und Umsetzung im Mittelstand","company":"Neurawork GmbH & Co. KG","loc":"Berlin（可遠端）","url":"https://www.arbeitnow.com/jobs/companies/neurawork-gmbh-co-kg/senior-ai-solutions-engineer-beratung-und-umsetzung-im-mittelstand-berlin-250733","date":"2026-11-03T17:00:45.000Z","region":"global","skills":["python","rag","prompt-engineering","system-analysis"]},{"id":"arbeitnow:developpeur-bi-data-cdi-39h-anglet-63054","src":"arbeitnow","title":"Développeur BI & Data F/H/X - CDI 39h","company":"VOLCOM","loc":"Anglet","url":"https://www.arbeitnow.fr/jobs/companies/volcom/developpeur-bi-data-cdi-39h-anglet-63054","date":"2026-11-03T17:00:45.000Z","region":"global","skills":["python","sql","sqlserver","azure","etl","bi","rag","mcp","n8n","rest","graphql","erp"]},{"id":"jobicy:158746","src":"jobicy","title":"Forward Deployed Engineer - Managed AI","company":"TITAN","loc":"USA","url":"https://jobicy.com/jobs/158746-forward-deployed-engineer-managed-ai","date":"2026-11-03T16:57:05.000Z","region":"global","skills":["typescript","python","llm","ai-agents","mcp","ai-coding","system-analysis","erp"]},{"id":"arbeitnow:software-engineer-intern-ads-paris-51577","src":"arbeitnow","title":"Software Engineer Intern - Ads","company":"Mirakl - Labs","loc":"Paris, France","url":"https://www.arbeitnow.fr/jobs/companies/mirakl-labs/software-engineer-intern-ads-paris-51577","date":"2026-11-03T16:45:29.000Z","region":"global","skills":["java","react","spring","postgresql","elasticsearch","docker","cicd","kafka","llm","ai-agents","system-design","git","testing"]},{"id":"hn-hiring:50354142","src":"hn-hiring","title":"Lead Engineer, AI Accounting","company":"Exponent","loc":"HYBRID, 2+ days in office","url":"https://news.ycombinator.com/item?id=50354142","date":"2026-11-03T16:32:52.000Z","region":"global","skills":["typescript","django","rails","postgresql","llm","ai-coding"]},{"id":"arbeitnow:senior-java-fullstack-entwickler-80-100-refnr-48159-bern-483849","src":"arbeitnow","title":"Senior Java Fullstack Entwickler (m/w/d) (80-100%) (Ref.Nr.: 48159)","company":"Wavestone Germany AG","loc":"Bern","url":"https://www.arbeitnow.ch/jobs/companies/wavestone-germany-ag/senior-java-fullstack-entwickler-80-100-refnr-48159-bern-483849","date":"2026-11-03T16:31:07.000Z","region":"global","skills":["java","sql","bash","angular","spring","dotnet","kubernetes","jenkins","argocd","bi","git","agile","auth"]},{"id":"arbeitnow:alternante-expert-en-ingenierie-des-donnees-data-engineer-h-f-fontenay-sous-bois-427588","src":"arbeitnow","title":"Alternant(e) Expert en Ingénierie des Données / Data Engineer H/F","company":"kaischool","loc":"Fontenay-sous-Bois","url":"https://www.arbeitnow.fr/jobs/companies/kaischool/alternante-expert-en-ingenierie-des-donnees-data-engineer-h-f-fontenay-sous-bois-427588","date":"2026-11-03T16:31:07.000Z","region":"global","skills":["python","sql","elasticsearch","docker","kubernetes","cicd","spark","kafka","etl"]},{"id":"arbeitnow:ai-platform-engineer-ai-hub-fur-10-unternehmen-berlin-43586","src":"arbeitnow","title":"AI Platform Engineer (m/w/d) | AI Hub für 10+ Unternehmen","company":"CHAPTERS Group AG","loc":"Berlin（可遠端）","url":"https://www.arbeitnow.com/jobs/companies/chapters-group-ag/ai-platform-engineer-ai-hub-fur-10-unternehmen-berlin-43586","date":"2026-11-03T16:31:06.000Z","region":"global","skills":["python","azure","docker","terraform","cicd","linux","sre","machine-learning","llm","mcp","rest","system-analysis","auth","erp"]},{"id":"hn-hiring:50353980","src":"hn-hiring","title":"多個職缺（見原文）","company":"Location: Andalucía, Spain (CET)","loc":"","url":"https://news.ycombinator.com/item?id=50353980","date":"2026-11-03T16:21:48.000Z","region":"global","skills":["typescript","react","nextjs","nodejs","orm","react-native","postgresql","supabase","cicd","llm","testing"]},{"id":"hn-hiring:50353951","src":"hn-hiring","title":"多個職缺（見原文）","company":"ThreatMark","loc":"REMOTE(World) / Brno, Czech Republic","url":"https://news.ycombinator.com/item?id=50353951","date":"2026-11-03T16:19:36.000Z","region":"global","skills":["typescript","python","rust","postgresql","redis","aws","terraform","machine-learning","microservices","security"]},{"id":"arbeitnow:ai-agent-builder-claude-openai-intern-berlin-206115","src":"arbeitnow","title":"AI Agent Builder (Claude/OpenAI) - Intern","company":"Heidi Systems","loc":"Berlin","url":"https://www.arbeitnow.com/jobs/companies/heidi-systems/ai-agent-builder-claude-openai-intern-berlin-206115","date":"2026-11-03T16:01:20.000Z","region":"global","skills":["llm","ai-agents","ai-coding"]},{"id":"arbeitnow:senior-software-engineer-climate-amsterdam-413494","src":"arbeitnow","title":"Senior Software Engineer, Climate","company":"Flexport","loc":"Amsterdam","url":"https://www.arbeitnow.nl/jobs/companies/flexport/senior-software-engineer-climate-amsterdam-413494","date":"2026-11-03T15:55:24.000Z","region":"global","skills":["typescript","kotlin","ruby","react","rails","postgresql","kubernetes","kafka","snowflake","graphql","grpc"]},{"id":"arbeitnow:senior-software-engineer-zurich-460786","src":"arbeitnow","title":"Senior Software Engineer","company":"Auterion","loc":"Zurich","url":"https://www.arbeitnow.ch/jobs/companies/auterion/senior-software-engineer-zurich-460786","date":"2026-11-03T15:55:21.000Z","region":"global","skills":["cpp","distributed-systems","system-design","embedded","robotics"]},{"id":"arbeitnow:senior-embedded-performance-engineer-zurich-191305","src":"arbeitnow","title":"Senior Embedded Performance Engineer","company":"Auterion","loc":"Zurich","url":"https://www.arbeitnow.ch/jobs/companies/auterion/senior-embedded-performance-engineer-zurich-191305","date":"2026-11-03T15:55:21.000Z","region":"global","skills":["python","cpp","c","bash","docker","linux","etl","rest","distributed-systems","system-design","system-analysis","agile","embedded","robotics"]},{"id":"arbeitnow:solutions-engineer-uas-aviation-munich-36767","src":"arbeitnow","title":"Solutions Engineer UAS / Aviation","company":"Auterion","loc":"Munich","url":"https://www.arbeitnow.com/jobs/companies/auterion/solutions-engineer-uas-aviation-munich-36767","date":"2026-11-03T15:55:21.000Z","region":"global","skills":["cpp","c","linux","embedded","robotics"]},{"id":"hn-hiring:50353464","src":"hn-hiring","title":"多個職缺（見原文）","company":"DigiKey","loc":"Hybrid","url":"https://news.ycombinator.com/item?id=50353464","date":"2026-11-03T15:48:23.000Z","region":"global","skills":["llm"]},{"id":"arbeitnow:engineering-manager-france-194166","src":"arbeitnow","title":"Engineering Manager","company":"Fullenrich","loc":"France","url":"https://www.arbeitnow.fr/jobs/companies/fullenrich/engineering-manager-france-194166","date":"2026-11-03T15:40:34.000Z","region":"global","skills":["go","svelte","postgresql","elasticsearch","aws","docker","github-actions","grafana","observability","ai-agents"]},{"id":"arbeitnow:operations-tooling-engineer-paris-423732","src":"arbeitnow","title":"Operations Tooling Engineer","company":"Qonto","loc":"Paris, France","url":"https://www.arbeitnow.fr/jobs/companies/qonto/operations-tooling-engineer-paris-423732","date":"2026-11-03T15:40:34.000Z","region":"global","skills":["python","sql"]},{"id":"arbeitnow:staff-software-engineer-ai-agents-python-paris-143792","src":"arbeitnow","title":"Staff Software Engineer, AI Agents (Python)","company":"Qonto","loc":"Paris, France","url":"https://www.arbeitnow.fr/jobs/companies/qonto/staff-software-engineer-ai-agents-python-paris-143792","date":"2026-11-03T15:40:34.000Z","region":"global","skills":["python","observability","machine-learning","ai-agents"]},{"id":"arbeitnow:senior-staff-go-backend-engineer-remote-friendly-paris-435366","src":"arbeitnow","title":"Senior/Staff - Go Backend Engineer - remote friendly","company":"Qonto","loc":"Paris, France","url":"https://www.arbeitnow.fr/jobs/companies/qonto/senior-staff-go-backend-engineer-remote-friendly-paris-435366","date":"2026-11-03T15:40:34.000Z","region":"global","skills":["go","ruby","ios","android","postgresql","elasticsearch","aws","kubernetes","kafka","ai-coding","event-driven","ddd"]},{"id":"arbeitnow:people-data-analyst-paris-336507","src":"arbeitnow","title":"People Data Analyst","company":"Qonto","loc":"Paris, France","url":"https://www.arbeitnow.fr/jobs/companies/qonto/people-data-analyst-paris-336507","date":"2026-11-03T15:40:34.000Z","region":"global","skills":["sql"]},{"id":"arbeitnow:engineering-manager-accounting-paris-178470","src":"arbeitnow","title":"Engineering Manager - Accounting","company":"Qonto","loc":"Paris, France","url":"https://www.arbeitnow.fr/jobs/companies/qonto/engineering-manager-accounting-paris-178470","date":"2026-11-03T15:40:34.000Z","region":"global","skills":["go","kotlin","swift","ruby","react","postgresql","elasticsearch","aws","kubernetes","kafka","llm","ai-coding","event-driven","system-design"]},{"id":"arbeitnow:senior-android-engineer-ai-product-paris-47019","src":"arbeitnow","title":"Senior Android Engineer - AI Product","company":"Qonto","loc":"Paris, France","url":"https://www.arbeitnow.fr/jobs/companies/qonto/senior-android-engineer-ai-product-paris-47019","date":"2026-11-03T15:40:34.000Z","region":"global","skills":["kotlin","swift","ios","android","llm","ai-agents","ai-coding"]},{"id":"arbeitnow:senior-product-engineer-ios-swift-paris-424361","src":"arbeitnow","title":"Senior Product Engineer - iOS/Swift","company":"Qonto","loc":"Paris, France","url":"https://www.arbeitnow.fr/jobs/companies/qonto/senior-product-engineer-ios-swift-paris-424361","date":"2026-11-03T15:40:34.000Z","region":"global","skills":["swift","design-system","ios","swiftui","firebase","cicd","github-actions","llm","ai-coding","ddd","testing"]},{"id":"arbeitnow:product-safety-certification-engineer-fuel-cell-systems-nyon-40323","src":"arbeitnow","title":"Product Safety & Certification Engineer - Fuel Cell Systems","company":"Eh Energy","loc":"Nyon","url":"https://www.arbeitnow.ch/jobs/companies/eh-energy/product-safety-certification-engineer-fuel-cell-systems-nyon-40323","date":"2026-11-03T15:40:34.000Z","region":"global","skills":["embedded"]},{"id":"arbeitnow:functional-safety-engineer-hydrogen-energy-systems-nyon-101305","src":"arbeitnow","title":"Functional Safety Engineer - Hydrogen & Energy Systems","company":"Eh Energy","loc":"Nyon","url":"https://www.arbeitnow.ch/jobs/companies/eh-energy/functional-safety-engineer-hydrogen-energy-systems-nyon-101305","date":"2026-11-03T15:40:34.000Z","region":"global","skills":["embedded"]},{"id":"arbeitnow:functional-safety-engineer-fuel-cell-systems-nyon-81578","src":"arbeitnow","title":"Functional Safety Engineer - Fuel Cell Systems","company":"Eh Energy","loc":"Nyon","url":"https://www.arbeitnow.ch/jobs/companies/eh-energy/functional-safety-engineer-fuel-cell-systems-nyon-81578","date":"2026-11-03T15:40:34.000Z","region":"global","skills":["embedded"]},{"id":"arbeitnow:functional-safety-engineer-nyon-40876","src":"arbeitnow","title":"Functional Safety Engineer","company":"Eh Energy","loc":"Nyon","url":"https://www.arbeitnow.ch/jobs/companies/eh-energy/functional-safety-engineer-nyon-40876","date":"2026-11-03T15:40:34.000Z","region":"global","skills":["embedded"]},{"id":"arbeitnow:senior-control-engineer-nyon-66979","src":"arbeitnow","title":"Senior Control Engineer","company":"Eh Energy","loc":"Nyon","url":"https://www.arbeitnow.ch/jobs/companies/eh-energy/senior-control-engineer-nyon-66979","date":"2026-11-03T15:40:34.000Z","region":"global","skills":["docker"]},{"id":"arbeitnow:remote-infrastructure-platform-engineer-274392","src":"arbeitnow","title":"Infrastructure / Platform Engineer","company":"Neuphonic","loc":"Remote（可遠端）","url":"https://www.arbeitnow.com/jobs/companies/neuphonic/remote-infrastructure-platform-engineer-274392","date":"2026-11-03T15:40:32.000Z","region":"global","skills":["python","cpp","gcp","docker","kubernetes","terraform","cicd","observability","sre","machine-learning","inference"]},{"id":"hn-hiring:50353340","src":"hn-hiring","title":"OpenBao Consultant, Developer","company":"ControlPlane","loc":"Remote (UK or EU)","url":"https://news.ycombinator.com/item?id=50353340","date":"2026-11-03T15:38:15.000Z","region":"global","skills":["go","terraform","argocd","linux"]},{"id":"jobicy:158743","src":"jobicy","title":"AI Trainers Network - Latvian","company":"Welo Global","loc":"Anywhere","url":"https://jobicy.com/jobs/158743-ai-trainers-network-latvian","date":"2026-11-03T15:23:06.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158741","src":"jobicy","title":"AI Trainers Network - Lao","company":"Welo Global","loc":"Anywhere","url":"https://jobicy.com/jobs/158741-ai-trainers-network-lao","date":"2026-11-03T15:23:03.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158739","src":"jobicy","title":"AI Trainers Network - Kyrgyz","company":"Welo Global","loc":"Anywhere","url":"https://jobicy.com/jobs/158739-ai-trainers-network-kyrgyz","date":"2026-11-03T15:22:59.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158738","src":"jobicy","title":"System Engineer (Token Factory)","company":"Nebius","loc":"Europe,  USA","url":"https://jobicy.com/jobs/158738-system-engineer-token-factory","date":"2026-11-03T15:22:58.000Z","region":"global","skills":["cpp","linux","machine-learning","llm","mlops","inference","compilers"]},{"id":"jobicy:158737","src":"jobicy","title":"AI Trainers Network - Italian","company":"Welo Global","loc":"Anywhere","url":"https://jobicy.com/jobs/158737-ai-trainers-network-italian","date":"2026-11-03T15:22:56.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158734","src":"jobicy","title":"AI Trainers Network - Irish","company":"Welo Global","loc":"Anywhere","url":"https://jobicy.com/jobs/158734-ai-trainers-network-irish","date":"2026-11-03T15:22:52.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158732","src":"jobicy","title":"Staff Applied AI Researcher (Agentic Search)","company":"Nebius","loc":"Europe","url":"https://jobicy.com/jobs/158732-staff-applied-ai-researcher-agentic-search","date":"2026-11-03T15:22:25.000Z","region":"global","skills":["python","machine-learning","llm","ai-agents","rag","vector-db","mlops","inference","system-design"]},{"id":"jobicy:158731","src":"jobicy","title":"AI Trainers Network - Hungarian","company":"Welo Global","loc":"Anywhere","url":"https://jobicy.com/jobs/158731-ai-trainers-network-hungarian","date":"2026-11-03T15:22:23.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158726","src":"jobicy","title":"AI Trainers Network - Hebrew","company":"Welo Global","loc":"Anywhere","url":"https://jobicy.com/jobs/158726-ai-trainers-network-hebrew","date":"2026-11-03T15:22:15.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158719","src":"jobicy","title":"Staff Data Scientist","company":"Monzo","loc":"UK","url":"https://jobicy.com/jobs/158719-staff-data-scientist","date":"2026-11-03T15:21:42.000Z","region":"global","skills":["python","sql","bi","machine-learning"]},{"id":"jobicy:158715","src":"jobicy","title":"Data Analytics Engineer","company":"Ruby Labs","loc":"Europe","url":"https://jobicy.com/jobs/158715-data-analytics-engineer-3","date":"2026-11-03T15:21:35.000Z","region":"global","skills":["python","ruby","sql","clickhouse","cicd","prometheus","grafana","observability","airflow","dbt","bigquery","etl","git","dsa"]},{"id":"hn-hiring:50352957","src":"hn-hiring","title":"Devops Engineer","company":"SEEKING FREELANCER","loc":"Remote - UK or EU","url":"https://news.ycombinator.com/item?id=50352957","date":"2026-11-03T15:08:09.000Z","region":"global","skills":["gcp","terraform","gitlab"]},{"id":"hn-hiring:50352937","src":"hn-hiring","title":"Founding CTO / Technical Lead","company":"TheraPlug","loc":"Detroit preferred; remote considered","url":"https://news.ycombinator.com/item?id=50352937","date":"2026-11-03T15:06:02.000Z","region":"global","skills":["ios","android"]},{"id":"arbeitnow:it-systemadministrator-1449-hamburg-89198","src":"arbeitnow","title":"IT-Systemadministrator (m/w/d) - 1449","company":"ITconfig/all GmbH","loc":"Hamburg","url":"https://www.arbeitnow.com/jobs/companies/itconfigall-gmbh/it-systemadministrator-1449-hamburg-89198","date":"2026-11-03T15:00:47.000Z","region":"global","skills":["ios","linux"]},{"id":"arbeitnow:sap-developer-abap-batch-kiel-168807","src":"arbeitnow","title":"SAP Developer - ABAP & Batch (w/m/d)","company":"bits&birds GmbH","loc":"Kiel","url":"https://www.arbeitnow.com/jobs/companies/bitsbirds-gmbh/sap-developer-abap-batch-kiel-168807","date":"2026-11-03T14:47:30.000Z","region":"global","skills":["erp"]},{"id":"hn-hiring:50352541","src":"hn-hiring","title":"Sales Engineer","company":"RedSeal","loc":"REMOTE","url":"https://news.ycombinator.com/item?id=50352541","date":"2026-11-03T14:38:33.000Z","region":"global","skills":["networking","network-admin","rest","security"]},{"id":"arbeitnow:senior-data-engineer-snowflake-iceberg-bern-283333","src":"arbeitnow","title":"Senior Data Engineer– Snowflake & Iceberg","company":"Coopers Group AG","loc":"Bern（可遠端）","url":"https://www.arbeitnow.ch/jobs/companies/coopers-group-ag/senior-data-engineer-snowflake-iceberg-bern-283333","date":"2026-11-03T14:31:16.000Z","region":"global","skills":["snowflake"]},{"id":"jobicy:158677","src":"jobicy","title":"Software Engineer, Quality & Automation","company":"Fieldguide","loc":"USA","url":"https://jobicy.com/jobs/158677-software-engineer-quality-automation","date":"2026-11-03T14:21:39.000Z","region":"global","skills":["typescript","python","react","postgresql","aws","kubernetes","terraform","cicd","datadog","observability","llm","ai-agents","graphql","testing","e2e","security"]},{"id":"jobicy:158675","src":"jobicy","title":"Open Call for Founders / Founding Teams - Product Management and Engineering","company":"Mercury","loc":"Canada,  USA","url":"https://jobicy.com/jobs/158675-open-call-for-founders-founding-teams-product-management-and-engineering","date":"2026-11-03T14:21:37.000Z","region":"global","skills":["ai-agents","rag","mcp"]},{"id":"jobicy:158648","src":"jobicy","title":"Software Engineer, Data & Analytics Platform","company":"Bayesian Health","loc":"USA","url":"https://jobicy.com/jobs/158648-software-engineer-data-analytics-platform","date":"2026-11-03T14:19:45.000Z","region":"global","skills":["python","sql","aws","dbt","databricks","etl","bi","machine-learning","llm"]},{"id":"hn-hiring:50352150","src":"hn-hiring","title":"Machine Learning Engineer","company":"IMC Trading","loc":"ONSITE","url":"https://news.ycombinator.com/item?id=50352150","date":"2026-11-03T14:06:02.000Z","region":"global","skills":["python","machine-learning","pytorch","inference"]},{"id":"arbeitnow:senior-fullstack-entwickler-php-symfony-react-berlin-196397","src":"arbeitnow","title":"Senior Fullstack-Entwickler (m/w/d) – PHP/Symfony & React","company":"MRP My Recruitment Partners","loc":"Berlin","url":"https://www.arbeitnow.com/jobs/companies/mrp-my-recruitment-partners/senior-fullstack-entwickler-php-symfony-react-berlin-196397","date":"2026-11-03T14:01:07.000Z","region":"global","skills":["javascript","php","sql","react","symfony","mysql","docker","cicd","llm","ai-coding","rest","git","testing"]},{"id":"hn-hiring:50351981","src":"hn-hiring","title":"Design Engineer","company":"Antithesis","loc":"Remote or In Office (US, UK)","url":"https://news.ycombinator.com/item?id=50351981","date":"2026-11-03T13:53:02.000Z","region":"global","skills":["design-system","ai-agents"]},{"id":"arbeitnow:forward-deployed-engineer-60-100-zurich-49074","src":"arbeitnow","title":"Forward Deployed Engineer | 60 - 100%","company":"AMINI GmbH","loc":"Zürich","url":"https://www.arbeitnow.ch/jobs/companies/amini-gmbh/forward-deployed-engineer-60-100-zurich-49074","date":"2026-11-03T13:01:19.000Z","region":"global","skills":["rag"]},{"id":"arbeitnow:senior-product-engineer-software-berlin-429947","src":"arbeitnow","title":"Senior Product Engineer (Software) (m/w/d)","company":"Roger","loc":"Berlin","url":"https://www.arbeitnow.com/jobs/companies/roger/senior-product-engineer-software-berlin-429947","date":"2026-11-03T13:01:19.000Z","region":"global","skills":["go","ruby","dart","rails","flutter","cicd","observability","ai-agents","ai-coding"]},{"id":"arbeitnow:business-innovation-manager-ai-martech-digital-solutions-stuttgart-266724","src":"arbeitnow","title":"Business Innovation Manager (m/w/d) – AI, MarTech & Digital Solutions","company":"hurra.com","loc":"Stuttgart（可遠端）","url":"https://www.arbeitnow.com/jobs/companies/hurracom/business-innovation-manager-ai-martech-digital-solutions-stuttgart-266724","date":"2026-11-03T13:01:19.000Z","region":"global","skills":["llm"]},{"id":"arbeitnow:platform-engineer-amsterdam-171932","src":"arbeitnow","title":"Platform Engineer","company":"Catawiki","loc":"Amsterdam","url":"https://www.arbeitnow.nl/jobs/companies/catawiki/platform-engineer-amsterdam-171932","date":"2026-11-03T12:55:22.000Z","region":"global","skills":["elasticsearch","aws","azure","gcp","kubernetes","terraform","ansible","cicd","argocd","prometheus","grafana","opentelemetry","observability","distributed-systems"]},{"id":"hn-hiring:50351346","src":"hn-hiring","title":"多個職缺（見原文）","company":"ProphetX","loc":"REMOTE (US)","url":"https://news.ycombinator.com/item?id=50351346","date":"2026-11-03T12:45:35.000Z","region":"global","skills":["distributed-systems"]},{"id":"arbeitnow:ml-researcher-berlin-478768","src":"arbeitnow","title":"ML Researcher","company":"Basecompute","loc":"Berlin","url":"https://www.arbeitnow.com/jobs/companies/basecompute/ml-researcher-berlin-478768","date":"2026-11-03T12:40:15.000Z","region":"global","skills":["machine-learning","llm","inference"]},{"id":"arbeitnow:software-engineer-database-amsterdam-438921","src":"arbeitnow","title":"Software Engineer - Database","company":"Motherduck","loc":"Amsterdam","url":"https://www.arbeitnow.nl/jobs/companies/motherduck/software-engineer-database-amsterdam-438921","date":"2026-11-03T12:40:14.000Z","region":"global","skills":["java","cpp","rust","duckdb","etl","distributed-systems"]},{"id":"arbeitnow:senior-software-engineer-data-platform-berlin-354544","src":"arbeitnow","title":"Senior Software Engineer - Data Platform (m/w/d)","company":"Nubank","loc":"Berlin","url":"https://www.arbeitnow.com/jobs/companies/nubank/senior-software-engineer-data-platform-berlin-354544","date":"2026-11-03T12:40:14.000Z","region":"global","skills":["java","cpp","go","rust","scala","aws","kubernetes","observability","kafka","etl","machine-learning","event-driven","distributed-systems","system-design"]},{"id":"arbeitnow:staff-backend-software-engineer-berlin-23096","src":"arbeitnow","title":"Staff Backend Software Engineer","company":"Matchmatch","loc":"Berlin","url":"https://www.arbeitnow.com/jobs/companies/matchmatch/staff-backend-software-engineer-berlin-23096","date":"2026-11-03T12:40:14.000Z","region":"global","skills":["aws","terraform","cicd","ai-agents","rest"]},{"id":"arbeitnow:remote-staff-ai-software-engineer-302654","src":"arbeitnow","title":"Staff AI Software Engineer","company":"Matchmatch","loc":"Remote（可遠端）","url":"https://www.arbeitnow.com/jobs/companies/matchmatch/remote-staff-ai-software-engineer-302654","date":"2026-11-03T12:40:14.000Z","region":"global","skills":["typescript","python","go","ai-agents","system-analysis"]},{"id":"arbeitnow:senior-frontend-software-engineer-berlin-90062","src":"arbeitnow","title":"Senior Frontend Software Engineer","company":"Matchmatch","loc":"Berlin","url":"https://www.arbeitnow.com/jobs/companies/matchmatch/senior-frontend-software-engineer-berlin-90062","date":"2026-11-03T12:40:14.000Z","region":"global","skills":["typescript","react","nextjs","state","design-system","react-native","testing"]},{"id":"hn-hiring:50351266","src":"hn-hiring","title":"Roles: Engineering Manager (Ruby on Rails), Robotics Engineer","company":"AREO","loc":"Remote (EU) and On-Site in Bremen, Germany","url":"https://news.ycombinator.com/item?id=50351266","date":"2026-11-03T12:37:57.000Z","region":"global","skills":["ruby","rails","postgresql","docker","llm","rest","robotics"]},{"id":"arbeitnow:afstudeerstage-ai-in-de-installatietechniek-utrecht-206725","src":"arbeitnow","title":"Afstudeerstage - AI in de Installatietechniek","company":"Movares","loc":"Utrecht, Utrecht, Nederland","url":"https://www.arbeitnow.nl/jobs/companies/movares/afstudeerstage-ai-in-de-installatietechniek-utrecht-206725","date":"2026-11-03T12:31:42.000Z","region":"global","skills":["python","csharp","llm","ai-agents","ai-coding"]},{"id":"arbeitnow:internship-explainable-ai-for-the-qualification-of-aerospace-algorithms-amsterdam-236616","src":"arbeitnow","title":"Internship: Explainable AI for the qualification of aerospace algorithms","company":"Koninklijk Nederlands Lucht- en Ruimtevaartcentrum","loc":"Amsterdam, Noord-Holland, Nederland","url":"https://www.arbeitnow.nl/jobs/companies/koninklijk-nederlands-lucht-en-ruimtevaartcentrum/internship-explainable-ai-for-the-qualification-of-aerospace-algorithms-amsterdam-236616","date":"2026-11-03T12:31:41.000Z","region":"global","skills":["python","machine-learning","pytorch","scikit-learn","system-analysis"]},{"id":"arbeitnow:remote-ai-cad-cam-iot-engineer-tinkerer-cnc-junior-mid-senior-zurich-124576","src":"arbeitnow","title":"AI  CAD CAM  IoT Engineer / Tinkerer CNC - Junior/Mid/Senior","company":"Imnoo AG","loc":"Remote job（可遠端）","url":"https://www.arbeitnow.ch/jobs/companies/imnoo-ag/remote-ai-cad-cam-iot-engineer-tinkerer-cnc-junior-mid-senior-zurich-124576","date":"2026-11-03T12:31:39.000Z","region":"global","skills":["python","csharp","cpp","nodejs","docker","etl","machine-learning","system-design","erp"]},{"id":"arbeitnow:machine-learning-computer-graphics-engineer-remote-part-full-time-junior-mid-senior-zurich-312397","src":"arbeitnow","title":"Machine Learning / Computer Graphics Engineer (remote part/full time) - Junior/Mid/Senior","company":"Imnoo AG","loc":"Remote job（可遠端）","url":"https://www.arbeitnow.ch/jobs/companies/imnoo-ag/machine-learning-computer-graphics-engineer-remote-part-full-time-junior-mid-senior-zurich-312397","date":"2026-11-03T12:31:39.000Z","region":"global","skills":["python","csharp","cpp","sql","angular","aws","azure","docker","etl","machine-learning","pytorch","scikit-learn","mlops","inference","computer-vision","system-design"]},{"id":"hn-hiring:50350981","src":"hn-hiring","title":"Senior Full-Stack Engineer (Frontend-Leaning)","company":"Marker Learning","loc":"Remote, US only","url":"https://news.ycombinator.com/item?id=50350981","date":"2026-11-03T12:07:36.000Z","region":"global","skills":["typescript","react","nextjs"]},{"id":"arbeitnow:web-developer-w-m-gesucht-munich-128869","src":"arbeitnow","title":"Web Developer W / M gesucht","company":"Q Media World","loc":"Munich（可遠端）","url":"https://www.arbeitnow.com/jobs/companies/q-media-world/web-developer-w-m-gesucht-munich-128869","date":"2026-11-03T12:01:22.000Z","region":"global","skills":["javascript","cpp","php","html","css","mysql","git"]},{"id":"arbeitnow:senior-azure-cloud-platform-architect-nuremberg-144984","src":"arbeitnow","title":"Senior Azure Cloud Platform Architect (m/w/d)","company":"think about IT GmbH","loc":"Nuremberg","url":"https://www.arbeitnow.com/jobs/companies/think-about-it-gmbh/senior-azure-cloud-platform-architect-nuremberg-144984","date":"2026-11-03T12:01:20.000Z","region":"global","skills":["azure","kubernetes","terraform","linux"]},{"id":"arbeitnow:senior-microsoft-ai-copilot-engineer-nuremberg-443043","src":"arbeitnow","title":"Senior Microsoft AI & Copilot Engineer (m/w/d)","company":"think about IT GmbH","loc":"Nuremberg","url":"https://www.arbeitnow.com/jobs/companies/think-about-it-gmbh/senior-microsoft-ai-copilot-engineer-nuremberg-443043","date":"2026-11-03T12:01:20.000Z","region":"global","skills":["python","azure","bi","ai-agents","n8n","ai-coding","rest"]},{"id":"arbeitnow:senior-microsoft-cloud-transformation-architect-nuremberg-46892","src":"arbeitnow","title":"Senior Microsoft Cloud Transformation Architect (m/w/d)","company":"think about IT GmbH","loc":"Nuremberg","url":"https://www.arbeitnow.com/jobs/companies/think-about-it-gmbh/senior-microsoft-cloud-transformation-architect-nuremberg-46892","date":"2026-11-03T12:01:19.000Z","region":"global","skills":["azure","windows-server"]},{"id":"arbeitnow:it-system-engineer-bochum-332619","src":"arbeitnow","title":"IT-System Engineer (m/w/d)","company":"think about IT GmbH","loc":"Bochum","url":"https://www.arbeitnow.com/jobs/companies/think-about-it-gmbh/it-system-engineer-bochum-332619","date":"2026-11-03T12:01:18.000Z","region":"global","skills":["bash","windows-server"]},{"id":"arbeitnow:founders-associate-growth-partnerships-ai-native-hamburg-399038","src":"arbeitnow","title":"Founder’s Associate Growth & Partnerships (AI-native) (m/w/d)","company":"Founders Bay","loc":"Hamburg","url":"https://www.arbeitnow.com/jobs/companies/founders-bay/founders-associate-growth-partnerships-ai-native-hamburg-399038","date":"2026-11-03T12:01:18.000Z","region":"global","skills":["llm"]},{"id":"hn-hiring:50350810","src":"hn-hiring","title":"Founding Staff / Principal Engineer","company":"Proofline","loc":"REMOTE (Worldwide, Berlin timezone overlap preferred)","url":"https://news.ycombinator.com/item?id=50350810","date":"2026-11-03T11:47:50.000Z","region":"global","skills":["typescript","go","rust","react","postgresql","aws","gcp","terraform","ai-agents","ai-coding"]},{"id":"arbeitnow:staff-ai-engineer-agent-platform-all-genders-berlin-487980","src":"arbeitnow","title":"Staff AI Engineer — Agent Platform (all genders)","company":"wingmaite GmbH","loc":"Berlin（可遠端）","url":"https://www.arbeitnow.com/jobs/companies/wingmaite-gmbh/staff-ai-engineer-agent-platform-all-genders-berlin-487980","date":"2026-11-03T11:00:57.000Z","region":"global","skills":["typescript","python","nestjs","postgresql","aws","gcp","observability","etl","llm","ai-agents","mcp","langchain","ai-coding","system-analysis"]},{"id":"hn-hiring:50350397","src":"hn-hiring","title":"Technical Content & Community Lead","company":"Enclave","loc":"REMOTE (UK)","url":"https://news.ycombinator.com/item?id=50350397","date":"2026-11-03T10:55:02.000Z","region":"global","skills":["security"]},{"id":"hn-hiring:50350077","src":"hn-hiring","title":"多個職缺（見原文）","company":"PlantingSpace","loc":"Remote (EU time zone) + Quarterly Meet-ups","url":"https://news.ycombinator.com/item?id=50350077","date":"2026-11-03T10:06:56.000Z","region":"global","skills":["system-analysis"]},{"id":"arbeitnow:system-engineer-active-directory-dortmund-421742","src":"arbeitnow","title":"System Engineer – Active Directory(m/w/d)","company":"c.cure - Geschäftsbereich der Megamaris GmbH","loc":"Dortmund","url":"https://www.arbeitnow.com/jobs/companies/ccure-geschaftsbereich-der-megamaris-gmbh/system-engineer-active-directory-dortmund-421742","date":"2026-11-03T10:01:08.000Z","region":"global","skills":["bash","networking","windows-server","cryptography"]},{"id":"arbeitnow:it-security-consultant-technical-lead-berlin-334218","src":"arbeitnow","title":"IT Security Consultant / Technical Lead (m/w/d)","company":"Medialine EuroTrade AG","loc":"Berlin（可遠端）","url":"https://www.arbeitnow.com/jobs/companies/medialine-eurotrade-ag/it-security-consultant-technical-lead-berlin-334218","date":"2026-11-03T10:01:07.000Z","region":"global","skills":["networking","network-admin","security"]},{"id":"arbeitnow:senior-functional-safety-engineer-berlin-231360","src":"arbeitnow","title":"Senior Functional Safety Engineer","company":"Rivianvw.tech","loc":"Berlin","url":"https://www.arbeitnow.com/jobs/companies/rivianvwtech/senior-functional-safety-engineer-berlin-231360","date":"2026-11-03T09:40:16.000Z","region":"global","skills":["python","cicd","databricks","etl","bi","testing"]},{"id":"arbeitnow:technical-cofounder-cto-ai-ml-preseed-startup-berlin-germany-237377","src":"arbeitnow","title":"Technical Cofounder / CTO | AI & ML PreSeed Startup","company":"Founders Factory","loc":"BERLIN / GERMANY","url":"https://www.arbeitnow.com/jobs/companies/founders-factory/technical-cofounder-cto-ai-ml-preseed-startup-berlin-germany-237377","date":"2026-11-03T09:40:15.000Z","region":"global","skills":["azure","etl","machine-learning","llm","rag","ai-coding","computer-vision","nlp"]},{"id":"arbeitnow:software-engineer-remote-worldwide-amsterdam-489033","src":"arbeitnow","title":"Software Engineer (Remote-Worldwide)","company":"Your Software Supplier","loc":"Amsterdam（可遠端）","url":"https://www.arbeitnow.nl/jobs/companies/your-software-supplier/software-engineer-remote-worldwide-amsterdam-489033","date":"2026-11-03T09:30:57.000Z","region":"global","skills":["typescript","python","java","cpp","go","rust","nodejs","system-design","testing","dsa"]},{"id":"arbeitnow:sap-entwickler-munich-242970","src":"arbeitnow","title":"SAP Entwickler (m/w/d)","company":"MY Humancapital GmbH","loc":"Munich","url":"https://www.arbeitnow.com/jobs/companies/my-humancapital-gmbh/sap-entwickler-munich-242970","date":"2026-11-03T09:30:57.000Z","region":"global","skills":["erp"]},{"id":"hn-hiring:50349800","src":"hn-hiring","title":"多個職缺（見原文）","company":"Location: Dorset, UK","loc":"","url":"https://news.ycombinator.com/item?id=50349800","date":"2026-11-03T09:23:15.000Z","region":"global","skills":["typescript","python","go","ruby","nodejs","fastapi","rails","postgresql","aws"]},{"id":"hn-hiring:50349751","src":"hn-hiring","title":"ML Engineer, ML Ops Engineer","company":"Encube","loc":"ONSITE","url":"https://news.ycombinator.com/item?id=50349751","date":"2026-11-03T09:14:44.000Z","region":"global","skills":["aws","machine-learning","pytorch","mlops"]},{"id":"hn-hiring:50349660","src":"hn-hiring","title":"Founding Commercial Hire, Founding Account Executive (US), Product Designer, Legal Engineer","company":"Perry","loc":"ONSITE","url":"https://news.ycombinator.com/item?id=50349660","date":"2026-11-03T08:58:46.000Z","region":"global","skills":["ai-agents"]},{"id":"jobicy:158639","src":"jobicy","title":"Staff Backend Engineer","company":"Monzo","loc":"UK","url":"https://jobicy.com/jobs/158639-staff-backend-engineer-4","date":"2026-11-03T08:23:46.000Z","region":"global","skills":["java","go","scala","react","cassandra","aws","docker","kubernetes","nginx","kafka","machine-learning","event-driven","distributed-systems","system-design"]},{"id":"jobicy:158630","src":"jobicy","title":"Staff Analytics Engineer","company":"Monzo","loc":"UK","url":"https://jobicy.com/jobs/158630-staff-analytics-engineer-3","date":"2026-11-03T08:23:09.000Z","region":"global","skills":["sql","cicd","dbt","bigquery","machine-learning","mlops"]},{"id":"hn-hiring:50349294","src":"hn-hiring","title":"多個職缺（見原文）","company":"Scento","loc":"REMOTE (EU) or ONSITE","url":"https://news.ycombinator.com/item?id=50349294","date":"2026-11-03T07:59:27.000Z","region":"global","skills":["nextjs"]},{"id":"hn-hiring:50349129","src":"hn-hiring","title":"AI Engineer (Agentic / GenAI)","company":"Opsfleet","loc":"REMOTE (EEA)","url":"https://news.ycombinator.com/item?id=50349129","date":"2026-11-03T07:31:55.000Z","region":"global","skills":["python","aws","gcp","snowflake","llm","ai-agents","rag","langchain"]},{"id":"hn-hiring:50349037","src":"hn-hiring","title":"Senior Software Engineer (Dev Platform)","company":"Proxima Fusion","loc":"ONSITE","url":"https://news.ycombinator.com/item?id=50349037","date":"2026-11-03T07:18:48.000Z","region":"global","skills":["python","kubernetes","terraform","cicd","linux","observability"]},{"id":"hn-hiring:50349000","src":"hn-hiring","title":"Senior Systems / Rust Engineer","company":"Blockrotate","loc":"Remote (US/EU timezones preferred)","url":"https://news.ycombinator.com/item?id=50349000","date":"2026-11-03T07:11:28.000Z","region":"global","skills":["typescript","rust","react","nextjs","css","tailwind","sqlite","grpc","websocket"]},{"id":"arbeitnow:senior-imaging-engineer-den-bosch-75362","src":"arbeitnow","title":"Senior Imaging Engineer","company":"Hudl","loc":"Den Bosch","url":"https://www.arbeitnow.nl/jobs/companies/hudl/senior-imaging-engineer-den-bosch-75362","date":"2026-11-03T06:55:16.000Z","region":"global","skills":["python","cpp","c","linux","computer-vision","embedded"]},{"id":"hn-hiring:50348803","src":"hn-hiring","title":"Software Developer","company":"Odoo","loc":"Hybrid (Belgium, 3 days/week)","url":"https://news.ycombinator.com/item?id=50348803","date":"2026-11-03T06:39:23.000Z","region":"global","skills":["javascript","python","sql","postgresql","dsa","erp"]},{"id":"jobicy:158612","src":"jobicy","title":"Lead Data Governance Engineer","company":"Canonical","loc":"EMEA","url":"https://jobicy.com/jobs/158612-lead-data-governance-engineer","date":"2026-11-03T05:51:25.000Z","region":"global","skills":["python","sql","linux","bi","security"]},{"id":"jobicy:158610","src":"jobicy","title":"Kernel Build Automation Engineer - Ubuntu Linux","company":"Canonical","loc":"EMEA","url":"https://jobicy.com/jobs/158610-kernel-build-automation-engineer-ubuntu-linux","date":"2026-11-03T05:50:50.000Z","region":"global","skills":["javascript","python","go","cicd","linux","rest","git"]},{"id":"jobicy:158601","src":"jobicy","title":"Senior Engineering Manager","company":"Vonage","loc":"Spain","url":"https://jobicy.com/jobs/158601-senior-engineering-manager-3","date":"2026-11-03T05:50:21.000Z","region":"global","skills":["java","aws","kubernetes","terraform","cicd","observability","kafka","ai-coding","microservices","event-driven","distributed-systems","agile","security"]},{"id":"jobicy:158600","src":"jobicy","title":"Juju Software Engineer (Go)","company":"Canonical","loc":"EMEA","url":"https://jobicy.com/jobs/158600-juju-software-engineer-go","date":"2026-11-03T05:50:20.000Z","region":"global","skills":["go","sql","docker","kubernetes","terraform","ansible","linux","distributed-systems","agile"]},{"id":"hn-hiring:50348423","src":"hn-hiring","title":"多個職缺（見原文）","company":"Baton","loc":"San Francisco, CA (Hybrid)","url":"https://news.ycombinator.com/item?id=50348423","date":"2026-11-03T05:24:03.000Z","region":"global","skills":["machine-learning","mlops"]},{"id":"hn-hiring:50348145","src":"hn-hiring","title":"Software Engineer, new product line","company":"VALIS (Valis Insights)","loc":"REMOTE (US, East Coast hours)","url":"https://news.ycombinator.com/item?id=50348145","date":"2026-11-03T04:39:27.000Z","region":"global","skills":["typescript","csharp","react","dotnet","postgresql","aws","etl","ai-agents","erp"]},{"id":"hn-hiring:50348055","src":"hn-hiring","title":"多個職缺（見原文）","company":"Tech Mahindra’s Cloud Advisory division is hiring engineers…","loc":"","url":"https://news.ycombinator.com/item?id=50348055","date":"2026-11-03T04:26:01.000Z","region":"global","skills":["aws","azure","gcp","sre","security"]},{"id":"hn-hiring:50348022","src":"hn-hiring","title":"DevOps Mid/Senior / Frontend","company":"Splash Tech","loc":"Remote (LATAM and EU)","url":"https://news.ycombinator.com/item?id=50348022","date":"2026-11-03T04:21:11.000Z","region":"global","skills":["javascript","angular","css","postgresql","aws","cloudflare","kubernetes","terraform","cicd","github-actions","argocd","prometheus","grafana","opentelemetry","networking","cryptography"]},{"id":"arbeitnow:functioneel-applicatiebeheerder-backend-platform-assen-269194","src":"arbeitnow","title":"Functioneel applicatiebeheerder Backend Platform","company":"Univé","loc":"Assen, Drenthe, Nederland","url":"https://www.arbeitnow.nl/jobs/companies/unive/functioneel-applicatiebeheerder-backend-platform-assen-269194","date":"2026-11-03T03:51:29.000Z","region":"global","skills":["agile"]},{"id":"arbeitnow:remote-security-engineer-platforms-zurich-143558","src":"arbeitnow","title":"Security Engineer - Platforms","company":"Exeon Analytics","loc":"Remote job（可遠端）","url":"https://www.arbeitnow.ch/jobs/companies/exeon-analytics/remote-security-engineer-platforms-zurich-143558","date":"2026-11-03T03:51:25.000Z","region":"global","skills":["python","bash","docker","kubernetes","linux","observability","etl","security"]},{"id":"arbeitnow:remote-senior-frontend-developer-zurich-193922","src":"arbeitnow","title":"Senior Frontend Developer","company":"Exeon Analytics","loc":"Remote job（可遠端）","url":"https://www.arbeitnow.ch/jobs/companies/exeon-analytics/remote-senior-frontend-developer-zurich-193922","date":"2026-11-03T03:51:25.000Z","region":"global","skills":["javascript","typescript","react","html","css","build-tools","docker","cicd","linux","nginx","ai-coding","testing","e2e","security"]},{"id":"jobicy:151337","src":"jobicy","title":"Technical Lead Manager","company":"Homebound","loc":"USA","url":"https://jobicy.com/jobs/151337-technical-lead-manager","date":"2026-11-03T03:50:07.000Z","region":"global","skills":["typescript","react","nodejs","postgresql","aws","llm","ai-coding","graphql"]},{"id":"hn-hiring:50347792","src":"hn-hiring","title":"Senior Backend Software Engineer","company":"KSC Trading","loc":"Remote","url":"https://news.ycombinator.com/item?id=50347792","date":"2026-11-03T03:45:03.000Z","region":"global","skills":["java","postgresql","gcp"]},{"id":"jobicy:154481","src":"jobicy","title":"Director of Engineering - Content Platform (Catalog)","company":"Spotify","loc":"Sweden,  UK","url":"https://jobicy.com/jobs/154481-director-of-engineering-content-platform-catalog","date":"2026-11-03T03:37:01.000Z","region":"global","skills":["distributed-systems","system-design","system-analysis"]},{"id":"jobicy:154467","src":"jobicy","title":"Senior Backend Engineer - Backend Platform (USA Only, 100% Remote)","company":"Close","loc":"USA","url":"https://jobicy.com/jobs/154467-senior-backend-engineer-backend-platform-usa-only-100-remote","date":"2026-11-03T03:36:59.000Z","region":"global","skills":["javascript","typescript","python","go","rust","flask","fastapi","postgresql","mongodb","redis","elasticsearch","aws","docker","kubernetes","terraform","ansible","cicd","github-actions","observability","kafka","llm","ai-agents","ai-coding","rest","graphql","system-design","testing"]},{"id":"jobicy:154478","src":"jobicy","title":"Analytics Engineer II, Full Stack (Revenue Analytics)","company":"Affirm","loc":"Poland","url":"https://jobicy.com/jobs/154478-analytics-engineer-ii-full-stack-revenue-analytics","date":"2026-11-03T03:36:55.000Z","region":"global","skills":["python","sql","dbt","snowflake","databricks","etl","bi","git"]},{"id":"jobicy:154463","src":"jobicy","title":"Senior Backend Engineer - CRM (USA Only, 100% Remote)","company":"Close","loc":"USA","url":"https://jobicy.com/jobs/154463-senior-backend-engineer-crm-usa-only-100-remote","date":"2026-11-03T03:36:52.000Z","region":"global","skills":["javascript","typescript","python","go","rust","flask","fastapi","postgresql","mongodb","redis","elasticsearch","aws","docker","kubernetes","terraform","ansible","cicd","llm","ai-agents","mcp","testing"]},{"id":"jobicy:154458","src":"jobicy","title":"Staff Product Engineer - Americas","company":"Ashby","loc":"USA","url":"https://jobicy.com/jobs/154458-staff-product-engineer-americas","date":"2026-11-03T03:36:50.000Z","region":"global","skills":["typescript","kotlin","swift","sql","react","design-system","nodejs","ios","postgresql","redis","cicd","sre","snowflake","llm","ai-coding","graphql","agile","dsa"]},{"id":"jobicy:152334","src":"jobicy","title":"Senior QA Automation Developer (Platform)","company":"Upgrade","loc":"Canada","url":"https://jobicy.com/jobs/152334-senior-qa-automation-developer-platform","date":"2026-11-03T03:35:23.000Z","region":"global","skills":["python","java","sql","docker","kubernetes","jenkins","argocd","grafana","llm","ai-agents","mcp","ai-coding","microservices","git","testing","e2e"]},{"id":"jobicy:152333","src":"jobicy","title":"QA Analyst (Future Roles)","company":"Testlio","loc":"Argentina,  Brazil,  Canada,  Czechia,  Estonia,  Ireland,  Mexico,  Poland,  Portugal,  Romania,  Spain,  UK,  Ukraine,  USA","url":"https://jobicy.com/jobs/152333-qa-analyst-future-roles","date":"2026-11-03T03:35:22.000Z","region":"global","skills":["ios","android","cicd","testing","agile"]},{"id":"jobicy:152315","src":"jobicy","title":"Senior Data Analyst, GTM","company":"Tremendous","loc":"USA","url":"https://jobicy.com/jobs/152315-senior-data-analyst-gtm","date":"2026-11-03T03:35:20.000Z","region":"global","skills":["python","r","sql","dbt","bi"]},{"id":"jobicy:154448","src":"jobicy","title":"Engineering Manager, EMEA (Platform)","company":"Testlio","loc":"EMEA","url":"https://jobicy.com/jobs/154448-engineering-manager-emea-platform","date":"2026-11-03T03:35:13.000Z","region":"global","skills":["typescript","python","react","nodejs","dynamodb","aws","azure","serverless","gitlab","datadog","observability","kafka","llm","ai-agents","ai-coding","rest","graphql","event-driven","agile","security","auth"]},{"id":"jobicy:152271","src":"jobicy","title":"Software Backend Engineer - Senior / Confirmed (Paris or Remote France)","company":"Alma","loc":"France","url":"https://jobicy.com/jobs/152271-software-backend-engineer-senior-confirmed-paris-or-remote-france","date":"2026-11-03T03:35:09.000Z","region":"global","skills":["python","react","postgresql","redis","gcp","docker","kubernetes","datadog","sre","event-driven","system-design"]},{"id":"jobicy:152307","src":"jobicy","title":"BAP - Data Analyst","company":"Binance","loc":"Hong Kong","url":"https://jobicy.com/jobs/152307-bap-data-analyst","date":"2026-11-03T03:27:16.000Z","region":"global","skills":["python","sql","spark","etl","web3"]},{"id":"jobicy:152299","src":"jobicy","title":"Staff Software Engineer","company":"CodePath","loc":"LATAM,  Canada,  Europe,  USA","url":"https://jobicy.com/jobs/152299-staff-software-engineer-5","date":"2026-11-03T03:27:07.000Z","region":"global","skills":["ruby","css","django","rails","postgresql","gcp","docker","terraform","ansible","etl","machine-learning","llm","ai-coding","rest","testing"]},{"id":"jobicy:149869","src":"jobicy","title":"Frontend Engineering Team Lead - MarTech","company":"Sporty Group","loc":"Europe","url":"https://jobicy.com/jobs/149869-frontend-engineering-team-lead-martech","date":"2026-11-03T03:27:00.000Z","region":"global","skills":["javascript","typescript","java","vue","nuxt","css","state","build-tools","nodejs","spring","aws","kubernetes","jenkins","git","testing","e2e"]},{"id":"hn-hiring:50347596","src":"hn-hiring","title":"Research Engineer","company":"Flow Traders","loc":"","url":"https://news.ycombinator.com/item?id=50347596","date":"2026-11-03T03:18:22.000Z","region":"global","skills":["python","cpp","pandas","machine-learning","pytorch","mlops"]},{"id":"hn-hiring:50347550","src":"hn-hiring","title":"多個職缺（見原文）","company":"Charge Robotics","loc":"Onsite","url":"https://news.ycombinator.com/item?id=50347550","date":"2026-11-03T03:09:51.000Z","region":"global","skills":["robotics"]},{"id":"hn-hiring:50347501","src":"hn-hiring","title":"多個職缺（見原文）","company":"Vohuman - Agentastic","loc":"San Francisco, Onsite","url":"https://news.ycombinator.com/item?id=50347501","date":"2026-11-03T03:04:35.000Z","region":"global","skills":["ai-agents"]},{"id":"hn-hiring:50347008","src":"hn-hiring","title":"Sr. DevOps Engineer","company":"Certara","loc":"REMOTE (US, Budapest)","url":"https://news.ycombinator.com/item?id=50347008","date":"2026-11-03T01:56:50.000Z","region":"global","skills":["aws","terraform","cicd","jenkins"]},{"id":"hn-hiring:50346890","src":"hn-hiring","title":"多個職缺（見原文）","company":"Justworks","loc":"","url":"https://news.ycombinator.com/item?id=50346890","date":"2026-11-03T01:39:39.000Z","region":"global","skills":["security"]},{"id":"arbeitnow:founding-ml-engineer-spectrum-amsterdam-439231","src":"arbeitnow","title":"Founding ML Engineer (Spectrum)","company":"jetbrains","loc":"Amsterdam","url":"https://www.arbeitnow.nl/jobs/companies/jetbrains/founding-ml-engineer-spectrum-amsterdam-439231","date":"2026-11-03T00:55:20.000Z","region":"global","skills":["python","kotlin","observability","machine-learning","llm","ai-agents","rag","prompt-engineering","fine-tuning","vector-db","langchain","mlops","inference","system-design"]},{"id":"hn-hiring:50346358","src":"hn-hiring","title":"Security Engineer + Data Engineer","company":"GovStar","loc":"Remote (U.S. Eastern/Central Time)","url":"https://news.ycombinator.com/item?id=50346358","date":"2026-11-03T00:33:17.000Z","region":"global","skills":["python","sql","postgresql","aws","azure","gcp","docker","cicd","sre","snowflake","databricks","etl","git","security","cryptography"]},{"id":"hn-hiring:50346184","src":"hn-hiring","title":"Staff Backend Engineer","company":"Hatch","loc":"REMOTE (US/Canada, Pacific Time hours)","url":"https://news.ycombinator.com/item?id=50346184","date":"2026-11-03T00:12:07.000Z","region":"global","skills":["python","java","spring","mysql","elasticsearch","aws","serverless","docker","ansible","jenkins","rest"]},{"id":"hn-hiring:50345770","src":"hn-hiring","title":"iOS Engineer","company":"Sendery ( https://sendery.co )","loc":"Tokyo, Japan (no visa support, US/Canada remote available)","url":"https://news.ycombinator.com/item?id=50345770","date":"2026-11-02T23:35:49.000Z","region":"global","skills":["swift","ios","swiftui","ai-coding"]},{"id":"hn-hiring:50345424","src":"hn-hiring","title":"Multiple Engineering, AI/ML Data Science, and Revenue roles","company":"Spade","loc":"HYBRID NYC or REMOTE (US/CAN)","url":"https://news.ycombinator.com/item?id=50345424","date":"2026-11-02T23:09:27.000Z","region":"global","skills":["machine-learning"]},{"id":"hn-hiring:50345264","src":"hn-hiring","title":"多個職缺（見原文）","company":"Beacon AI","loc":"3 days hybrid in San Carlos, CA","url":"https://news.ycombinator.com/item?id=50345264","date":"2026-11-02T22:58:54.000Z","region":"global","skills":["typescript","python","cpp","swift","react","ios","swiftui","aws","robotics"]},{"id":"hn-hiring:50345251","src":"hn-hiring","title":"多個職缺（見原文）","company":"Baserow ( https://baserow.io )","loc":"REMOTE (Europe)","url":"https://news.ycombinator.com/item?id=50345251","date":"2026-11-02T22:57:47.000Z","region":"global","skills":["n8n"]},{"id":"hn-hiring:50345025","src":"hn-hiring","title":"Senior Growth Marketer, Senior Product Marketer, Account Executive, Scale, Senior Product Eng (full-stack)","company":"Railway","loc":"REMOTE (Worldwide)","url":"https://news.ycombinator.com/item?id=50345025","date":"2026-11-02T22:37:25.000Z","region":"global","skills":["aws","llm","ai-agents","distributed-systems"]},{"id":"hn-hiring:50344968","src":"hn-hiring","title":"Security Engineer (Senior / Staff)","company":"Meta","loc":"ONSITE Bellevue, Menlo Park, New York, Washington DC — Staf…","url":"https://news.ycombinator.com/item?id=50344968","date":"2026-11-02T22:33:59.000Z","region":"global","skills":["python","java","cpp","c","rust","kotlin","ios","android","security"]},{"id":"hn-hiring:50344816","src":"hn-hiring","title":"Software Engineer, Deployment Strategist","company":"Silkline","loc":"ONSITE","url":"https://news.ycombinator.com/item?id=50344816","date":"2026-11-02T22:24:23.000Z","region":"global","skills":["typescript","sql","react","nextjs","graphql","erp"]},{"id":"hn-hiring:50344773","src":"hn-hiring","title":"多個職缺（見原文）","company":"yeet","loc":"Chicago, IL / Remote","url":"https://news.ycombinator.com/item?id=50344773","date":"2026-11-02T22:21:51.000Z","region":"global","skills":["linux","distributed-systems"]},{"id":"arbeitnow:senior-tech-lead-dxp-geleen-334709","src":"arbeitnow","title":"Senior Tech Lead DXP","company":"Envalior","loc":"Geleen, Netherlands","url":"https://www.arbeitnow.nl/jobs/companies/envalior/senior-tech-lead-dxp-geleen-334709","date":"2026-11-02T22:20:22.000Z","region":"global","skills":["javascript","react","vue","nuxt","design-system","system-design","git","agile"]},{"id":"arbeitnow:front-end-developer-geleen-51582","src":"arbeitnow","title":"Front End Developer","company":"Envalior","loc":"Geleen, Netherlands","url":"https://www.arbeitnow.nl/jobs/companies/envalior/front-end-developer-geleen-51582","date":"2026-11-02T22:20:22.000Z","region":"global","skills":["javascript","react","vue","nuxt","design-system","agile"]},{"id":"hn-hiring:50344646","src":"hn-hiring","title":"Senior/Staff Java Engineers, Account Executive","company":"FusionAuth","loc":"Varies between REMOTE (in Europe but only for the account e…","url":"https://news.ycombinator.com/item?id=50344646","date":"2026-11-02T22:12:30.000Z","region":"global","skills":["java","postgresql","mysql","docker","kubernetes","system-analysis","auth"]},{"id":"hn-hiring:50344555","src":"hn-hiring","title":"多個職缺（見原文）","company":"Location: Huntington Beach, CA, USA","loc":"","url":"https://news.ycombinator.com/item?id=50344555","date":"2026-11-02T22:06:30.000Z","region":"global","skills":["typescript","csharp","react","dotnet","postgresql","linux","llm","ai-coding"]},{"id":"hn-hiring:50344480","src":"hn-hiring","title":"多個職缺（見原文）","company":"Quantum Rise","loc":"Chicago IL or Remote (US, Brazil or EU)","url":"https://news.ycombinator.com/item?id=50344480","date":"2026-11-02T22:01:26.000Z","region":"global","skills":["machine-learning","llm","ai-agents","ai-coding"]},{"id":"hn-hiring:50344410","src":"hn-hiring","title":"ML, Systems (GPU), Hardware, and Embedded Engineers","company":"Vivral (Nair Engineering)","loc":"","url":"https://news.ycombinator.com/item?id=50344410","date":"2026-11-02T21:56:10.000Z","region":"global","skills":["cpp","c","machine-learning","llm","pytorch","inference","embedded"]},{"id":"arbeitnow:software-engineer-new-grad-2027-start-amsterdam-401527","src":"arbeitnow","title":"Software Engineer - New Grad (2027 Start) - Amsterdam","company":"databricks","loc":"Amsterdam","url":"https://www.arbeitnow.nl/jobs/companies/databricks/software-engineer-new-grad-2027-start-amsterdam-401527","date":"2026-11-02T21:55:20.000Z","region":"global","skills":["python","java","cpp","databricks","dsa","gamedev"]},{"id":"hn-hiring:50344341","src":"hn-hiring","title":"多個職缺（見原文）","company":"We are hiring for several roles at StudyTurtle, an edutainm…","loc":"","url":"https://news.ycombinator.com/item?id=50344341","date":"2026-11-02T21:50:55.000Z","region":"global","skills":["prompt-engineering"]},{"id":"hn-hiring:50344339","src":"hn-hiring","title":"多個職缺（見原文）","company":"*Software Engineer — Remote — US Only* - US Work Authorizat…","loc":"","url":"https://news.ycombinator.com/item?id=50344339","date":"2026-11-02T21:50:51.000Z","region":"global","skills":["typescript","python","java","react","nodejs","dotnet"]},{"id":"hn-hiring:50344098","src":"hn-hiring","title":"Founding Engineer","company":"Kanurra","loc":"ONSITE","url":"https://news.ycombinator.com/item?id=50344098","date":"2026-11-02T21:32:27.000Z","region":"global","skills":["typescript","python","postgresql","gcp"]},{"id":"hn-hiring:50344047","src":"hn-hiring","title":"多個職缺（見原文）","company":"Credit Genie","loc":"","url":"https://news.ycombinator.com/item?id=50344047","date":"2026-11-02T21:28:49.000Z","region":"global","skills":["typescript","python","swift","sql","nodejs","ios","swiftui","aws","kubernetes","terraform","datadog","snowflake"]},{"id":"hn-hiring:50343929","src":"hn-hiring","title":"多個職缺（見原文）","company":"Don't Use This Code: https://dutc.io","loc":"Fully Remote (US-only)","url":"https://news.ycombinator.com/item?id=50343929","date":"2026-11-02T21:20:23.000Z","region":"global","skills":["python","llm"]},{"id":"arbeitnow:senior-data-scientist-amsterdam-212610","src":"arbeitnow","title":"Senior Data Scientist","company":"Wypoon","loc":"Amsterdam","url":"https://www.arbeitnow.nl/jobs/companies/wypoon/senior-data-scientist-amsterdam-212610","date":"2026-11-02T21:08:09.000Z","region":"global","skills":["python","azure","docker","cicd","etl","machine-learning","llm","vector-db","mlops","nlp","rest","git"]},{"id":"arbeitnow:network-security-automation-engineer-relocation-provided-amsterdam-179414","src":"arbeitnow","title":"Network Security & Automation Engineer (Relocation Provided)","company":"Wypoon","loc":"Amsterdam","url":"https://www.arbeitnow.nl/jobs/companies/wypoon/network-security-automation-engineer-relocation-provided-amsterdam-179414","date":"2026-11-02T21:08:09.000Z","region":"global","skills":["python","terraform","ansible","networking","network-admin","windows-server","git","security","cryptography"]},{"id":"arbeitnow:identity-access-management-engineer-geneva-143530","src":"arbeitnow","title":"Identity & Access Management Engineer","company":"Sonarsource","loc":"Geneva","url":"https://www.arbeitnow.ch/jobs/companies/sonarsource/identity-access-management-engineer-geneva-143530","date":"2026-11-02T21:08:08.000Z","region":"global","skills":["javascript","python","java","go","bash","aws","azure","gcp","terraform","cicd","windows-server","ai-agents","security","auth"]},{"id":"arbeitnow:senior-technical-support-engineer-amsterdam-2914","src":"arbeitnow","title":"Senior Technical Support Engineer","company":"Entrata","loc":"Amsterdam","url":"https://www.arbeitnow.nl/jobs/companies/entrata/senior-technical-support-engineer-amsterdam-2914","date":"2026-11-02T21:08:02.000Z","region":"global","skills":["machine-learning","llm"]},{"id":"hn-hiring:50343546","src":"hn-hiring","title":"Founding Engineer","company":"Subimage (YC W25)","loc":"ONSITE (5 days/week)","url":"https://news.ycombinator.com/item?id=50343546","date":"2026-11-02T20:52:18.000Z","region":"global","skills":["python","svelte","web-graphics","fastapi","kubernetes","terraform","mcp","distributed-systems","security"]},{"id":"hn-hiring:50343534","src":"hn-hiring","title":"Senior PHP Full-stack engineer","company":"Eleshop","loc":"REMOTE (Europe, Africa, W Asia)","url":"https://news.ycombinator.com/item?id=50343534","date":"2026-11-02T20:51:27.000Z","region":"global","skills":["php"]},{"id":"hn-hiring:50343313","src":"hn-hiring","title":"多個職缺（見原文）","company":"Enthought","loc":"HYBRID","url":"https://news.ycombinator.com/item?id=50343313","date":"2026-11-02T20:33:34.000Z","region":"global","skills":["python"]},{"id":"hn-hiring:50343258","src":"hn-hiring","title":"Lead Engineer","company":"Relevant Healthcare","loc":"Remote (US/Canada only)","url":"https://news.ycombinator.com/item?id=50343258","date":"2026-11-02T20:30:08.000Z","region":"global","skills":["typescript","go","react","rails","graphql"]},{"id":"hn-hiring:50343048","src":"hn-hiring","title":"engineering, GTM, product, sales","company":"Rootly","loc":"SF Bay, Toronto, APAC, Remote","url":"https://news.ycombinator.com/item?id=50343048","date":"2026-11-02T20:16:39.000Z","region":"global","skills":["sre"]},{"id":"hn-hiring:50342996","src":"hn-hiring","title":"Software Engineers","company":"Datadog","loc":"ONSITE (Boston, Lisbon, Madrid, NYC, Paris, Tel Aviv)","url":"https://news.ycombinator.com/item?id=50342996","date":"2026-11-02T20:12:46.000Z","region":"global","skills":["typescript","python","java","go","react","kubernetes","datadog","observability"]},{"id":"hn-hiring:50342990","src":"hn-hiring","title":"多個職缺（見原文）","company":"Middesk","loc":"Hybrid","url":"https://news.ycombinator.com/item?id=50342990","date":"2026-11-02T20:12:24.000Z","region":"global","skills":["etl"]},{"id":"hn-hiring:50342858","src":"hn-hiring","title":"多個職缺（見原文）","company":"Apply here: https://tally.so/r/BzrbN7?source=hn","loc":"","url":"https://news.ycombinator.com/item?id=50342858","date":"2026-11-02T20:04:07.000Z","region":"global","skills":["embedded","robotics"]},{"id":"hn-hiring:50342797","src":"hn-hiring","title":"Forward Deployed Engineer, DevOps Architect","company":"Curiosity ( https://curiosity.ai )","loc":"ONSITE","url":"https://news.ycombinator.com/item?id=50342797","date":"2026-11-02T20:00:06.000Z","region":"global","skills":["csharp","dotnet","docker","linux","llm"]},{"id":"hn-hiring:50342697","src":"hn-hiring","title":"Junior to Senior Fullstack Engineer multiple positions","company":"SerpApi","loc":"Based in Austin, TX but remote-first structure","url":"https://news.ycombinator.com/item?id=50342697","date":"2026-11-02T19:53:24.000Z","region":"global","skills":["javascript","python","csharp","rust","kotlin","php","ruby","elixir","react","rails","mongodb","cicd"]},{"id":"hn-hiring:50342579","src":"hn-hiring","title":"多個職缺（見原文）","company":"Curai","loc":"Remote (US)","url":"https://news.ycombinator.com/item?id=50342579","date":"2026-11-02T19:44:53.000Z","region":"global","skills":["python","react","react-native","postgresql","dynamodb","aws","docker","terraform","ai-agents"]},{"id":"hn-hiring:50342576","src":"hn-hiring","title":"多個職缺（見原文）","company":"Blackbird","loc":"Remote (US only)","url":"https://news.ycombinator.com/item?id=50342576","date":"2026-11-02T19:44:39.000Z","region":"global","skills":["typescript","react","postgresql","aws"]},{"id":"hn-hiring:50342433","src":"hn-hiring","title":"多個職缺（見原文）","company":"Sumble","loc":"Remote (US)","url":"https://news.ycombinator.com/item?id=50342433","date":"2026-11-02T19:37:02.000Z","region":"global","skills":["snowflake","llm"]},{"id":"hn-hiring:50342430","src":"hn-hiring","title":"多個職缺（見原文）","company":"Sudowrite","loc":"√ REMOTE (US)","url":"https://news.ycombinator.com/item?id=50342430","date":"2026-11-02T19:36:51.000Z","region":"global","skills":["react"]},{"id":"hn-hiring:50342365","src":"hn-hiring","title":"Founding Sales (Founding AE)","company":"REVNODE","loc":"Remote (US)","url":"https://news.ycombinator.com/item?id=50342365","date":"2026-11-02T19:32:53.000Z","region":"global","skills":["css"]},{"id":"hn-hiring:50342280","src":"hn-hiring","title":"Machine Learning Engineer (Python, ML)","company":"Hestus","loc":"Peninsula (Onsite)","url":"https://news.ycombinator.com/item?id=50342280","date":"2026-11-02T19:27:24.000Z","region":"global","skills":["python","machine-learning"]},{"id":"hn-hiring:50342041","src":"hn-hiring","title":"Senior Engineers","company":"ArtCraft","loc":"SF (Onsite) / Atlanta (Onsite)","url":"https://news.ycombinator.com/item?id=50342041","date":"2026-11-02T19:14:22.000Z","region":"global","skills":["typescript","rust","react","postgresql","mysql","redis","elasticsearch","kubernetes","ai-agents","mcp","ai-coding","gamedev"]},{"id":"hn-hiring:50341895","src":"hn-hiring","title":"Software Developer (Python / JavaScript)","company":"Odoo","loc":"Hybrid, 3 days/week in office","url":"https://news.ycombinator.com/item?id=50341895","date":"2026-11-02T19:04:09.000Z","region":"global","skills":["javascript","python","orm","erp"]},{"id":"hn-hiring:50341833","src":"hn-hiring","title":"Agentic Python Engineer","company":"Evaboot","loc":"REMOTE worldwide","url":"https://news.ycombinator.com/item?id=50341833","date":"2026-11-02T19:00:38.000Z","region":"global","skills":["python","aws","observability","ai-agents","ai-coding"]},{"id":"hn-hiring:50341824","src":"hn-hiring","title":"Senior Full-Stack Engineer","company":"eventfirst","loc":"REMOTE (CET)","url":"https://news.ycombinator.com/item?id=50341824","date":"2026-11-02T19:00:07.000Z","region":"global","skills":["typescript","react","nextjs","tailwind","orm","vercel","ai-agents","ai-coding"]},{"id":"hn-hiring:50341800","src":"hn-hiring","title":"多個職缺（見原文）","company":"Data Micro Technologies","loc":"ONSITE","url":"https://news.ycombinator.com/item?id=50341800","date":"2026-11-02T18:58:56.000Z","region":"global","skills":["kubernetes","argocd","linux","windows-server","tensorflow","distributed-systems","security"]},{"id":"hn-hiring:50341745","src":"hn-hiring","title":"多個職缺（見原文）","company":"DuckDuckGo - we are looking for candidates that are excited…","loc":"","url":"https://news.ycombinator.com/item?id=50341745","date":"2026-11-02T18:55:20.000Z","region":"global","skills":["cpp"]},{"id":"arbeitnow:data-ai-engineer-rotterdam-159056","src":"arbeitnow","title":"Data & AI Engineer","company":"Rail Innovators Group","loc":"Rotterdam, Zuid-Holland, Netherlands","url":"https://www.arbeitnow.nl/jobs/companies/rail-innovators-group/data-ai-engineer-rotterdam-159056","date":"2026-11-02T18:51:24.000Z","region":"global","skills":["scala","sql","etl","llm","agile"]},{"id":"hn-hiring:50341662","src":"hn-hiring","title":"Multiple Engineering Roles","company":"Reducto","loc":"ONSITE","url":"https://news.ycombinator.com/item?id=50341662","date":"2026-11-02T18:50:31.000Z","region":"global","skills":["machine-learning","ai-agents"]},{"id":"hn-hiring:50341570","src":"hn-hiring","title":"https://zed.dev/ Zed is a company for developers, by developers. All 3 of our founders have spent years in th…","company":"Zed Industries","loc":"North America, South America, Europe REMOTE","url":"https://news.ycombinator.com/item?id=50341570","date":"2026-11-02T18:45:36.000Z","region":"global","skills":["git"]},{"id":"hn-hiring:50341371","src":"hn-hiring","title":"多個職缺（見原文）","company":"Spanish National Cancer Research Centre (CNIO)","loc":"HYBRID","url":"https://news.ycombinator.com/item?id=50341371","date":"2026-11-02T18:33:48.000Z","region":"global","skills":["python","bash","linux","windows-server"]},{"id":"hn-hiring:50341345","src":"hn-hiring","title":"Software Engineer","company":"SadServers","loc":"REMOTE (Canada)","url":"https://news.ycombinator.com/item?id=50341345","date":"2026-11-02T18:32:00.000Z","region":"global","skills":["python","react","build-tools","nodejs","django","linux","sre","ai-agents","rest"]},{"id":"hn-hiring:50341328","src":"hn-hiring","title":"GTM Engineer","company":"Fredrin","loc":"REMOTE (US)","url":"https://news.ycombinator.com/item?id=50341328","date":"2026-11-02T18:30:35.000Z","region":"global","skills":["linux","llm","ai-coding"]},{"id":"hn-hiring:50341284","src":"hn-hiring","title":"Full-Stack Engineering","company":"Uncountable","loc":"","url":"https://news.ycombinator.com/item?id=50341284","date":"2026-11-02T18:28:04.000Z","region":"global","skills":["ai-agents","ai-coding"]},{"id":"arbeitnow:senior-business-analyst-contact-center-ai-refnr-48139-zurich-199498","src":"arbeitnow","title":"Senior Business Analyst (m/w/d) - Contact Center & AI (Ref.Nr.: 48139)","company":"Wavestone Germany AG","loc":"Zürich","url":"https://www.arbeitnow.ch/jobs/companies/wavestone-germany-ag/senior-business-analyst-contact-center-ai-refnr-48139-zurich-199498","date":"2026-11-02T18:17:29.000Z","region":"global","skills":["agile"]},{"id":"hn-hiring:50341026","src":"hn-hiring","title":"Embedded Software Engineer","company":"Paradromics","loc":"Onsite","url":"https://news.ycombinator.com/item?id=50341026","date":"2026-11-02T18:12:46.000Z","region":"global","skills":["typescript","rust","bash","linux","machine-learning","embedded"]},{"id":"hn-hiring:50340985","src":"hn-hiring","title":"Product Engineers + Technical Project Manager","company":"Memorang","loc":"Los Angeles (or US remote for exceptional hires)","url":"https://news.ycombinator.com/item?id=50340985","date":"2026-11-02T18:10:07.000Z","region":"global","skills":["typescript","react","nextjs","nodejs","react-native","postgresql","aws","vercel","serverless"]},{"id":"hn-hiring:50340983","src":"hn-hiring","title":"Front-End + Mobile Developer","company":"VIVA Finance","loc":"","url":"https://news.ycombinator.com/item?id=50340983","date":"2026-11-02T18:10:03.000Z","region":"global","skills":["react","react-native","aws"]},{"id":"hn-hiring:50340942","src":"hn-hiring","title":"多個職缺（見原文）","company":"Duranta ( https://getduranta.com/ ) is hiring a computer vi…","loc":"","url":"https://news.ycombinator.com/item?id=50340942","date":"2026-11-02T18:07:37.000Z","region":"global","skills":["computer-vision"]},{"id":"jobicy:158581","src":"jobicy","title":"Specialist Solutions Architect - AI/ML","company":"Databricks","loc":"USA","url":"https://jobicy.com/jobs/158581-specialist-solutions-architect-ai-ml-2","date":"2026-11-02T18:05:03.000Z","region":"global","skills":["python","sql","aws","azure","gcp","observability","snowflake","databricks","machine-learning","llm","ai-agents","rag","fine-tuning","vector-db","langchain","huggingface","gamedev"]},{"id":"jobicy:158575","src":"jobicy","title":"Solutions Architect - Retail","company":"Databricks","loc":"USA","url":"https://jobicy.com/jobs/158575-solutions-architect-retail","date":"2026-11-02T18:04:54.000Z","region":"global","skills":["python","sql","aws","azure","gcp","snowflake","databricks","etl","machine-learning","gamedev"]},{"id":"hn-hiring:50340892","src":"hn-hiring","title":"Engineering, Product & Data","company":"Ledgebrook","loc":"REMOTE (US, Canada, Poland; eligibility varies by role)","url":"https://news.ycombinator.com/item?id=50340892","date":"2026-11-02T18:04:53.000Z","region":"global","skills":["aws"]},{"id":"jobicy:158572","src":"jobicy","title":"Freelance Software Tester (Remote in Martinique)","company":"Testlio","loc":"France","url":"https://jobicy.com/jobs/158572-freelance-software-tester-remote-in-martinique","date":"2026-11-02T18:04:51.000Z","region":"global","skills":["network-admin"]},{"id":"hn-hiring:50340840","src":"hn-hiring","title":"Sr. Staff Software Engineer, Browser (New Products)","company":"Mozilla","loc":"REMOTE (US or Canada)","url":"https://news.ycombinator.com/item?id=50340840","date":"2026-11-02T18:01:01.000Z","region":"global","skills":["javascript","cpp","rust","ai-agents"]},{"id":"hn-hiring:50340820","src":"hn-hiring","title":"Senior Software Engineer, Full Stack","company":"Postscript (YC W19)","loc":"REMOTE (US, Canada)","url":"https://news.ycombinator.com/item?id=50340820","date":"2026-11-02T18:00:14.000Z","region":"global","skills":["rust","etl","ai-agents"]},{"id":"hn-hiring:50340600","src":"hn-hiring","title":"AI Product Engineer","company":"Distru ( https://www.distru.com )","loc":"REMOTE (Americas & Europe)","url":"https://news.ycombinator.com/item?id=50340600","date":"2026-11-02T17:46:45.000Z","region":"global","skills":["typescript","python","elixir","react","react-native","postgresql","llm","mcp","langchain","ai-coding","graphql","system-analysis","erp"]},{"id":"hn-hiring:50340560","src":"hn-hiring","title":"多個職缺（見原文）","company":"Albs Labs","loc":"ONSITE","url":"https://news.ycombinator.com/item?id=50340560","date":"2026-11-02T17:43:40.000Z","region":"global","skills":["llm"]},{"id":"hn-hiring:50340480","src":"hn-hiring","title":"Early Engineer","company":"AI x Healthcare Startup","loc":"Boston, MA Onsite","url":"https://news.ycombinator.com/item?id=50340480","date":"2026-11-02T17:39:52.000Z","region":"global","skills":["rust","react","aws","kubernetes","llm","ai-agents"]},{"id":"hn-hiring:50340449","src":"hn-hiring","title":"Founding Engineer","company":"Mesmer (YC P25)","loc":"ONSITE","url":"https://news.ycombinator.com/item?id=50340449","date":"2026-11-02T17:38:15.000Z","region":"global","skills":["ai-agents","ai-coding"]},{"id":"hn-hiring:50340438","src":"hn-hiring","title":"C++ Systems Engineer","company":"Thunder Compute (YC S24)","loc":"San Francisco (Onsite)","url":"https://news.ycombinator.com/item?id=50340438","date":"2026-11-02T17:37:25.000Z","region":"global","skills":["cpp","aws","distributed-systems"]},{"id":"hn-hiring:50340434","src":"hn-hiring","title":"Software Engineer","company":"Voluntas","loc":"Remote","url":"https://news.ycombinator.com/item?id=50340434","date":"2026-11-02T17:37:08.000Z","region":"global","skills":["rust"]},{"id":"hn-hiring:50340419","src":"hn-hiring","title":"Software Engineer (L4)","company":"Paramark","loc":"San Francisco HYBRID (3 days/wk) or REMOTE (US)","url":"https://news.ycombinator.com/item?id=50340419","date":"2026-11-02T17:36:23.000Z","region":"global","skills":["typescript","python","react","fastapi","postgresql","gcp","kubernetes","machine-learning"]},{"id":"hn-hiring:50340287","src":"hn-hiring","title":"Lead Software Engineer","company":"JPMorganChase","loc":"ONSITE (Jersey City, NJ)","url":"https://news.ycombinator.com/item?id=50340287","date":"2026-11-02T17:26:48.000Z","region":"global","skills":["python","java","react","angular","spring","oracle","snowflake","databricks"]},{"id":"hn-hiring:50340134","src":"hn-hiring","title":"AI Developer + Linux Admin (junior to mid)","company":"Stratirus (a Tennetech company)","loc":"REMOTE (US only, Central Time hours)","url":"https://news.ycombinator.com/item?id=50340134","date":"2026-11-02T17:19:04.000Z","region":"global","skills":["oracle","docker","linux","llm","ai-agents","mcp","ai-coding","dsa"]},{"id":"hn-hiring:50340101","src":"hn-hiring","title":"Staff Engineers (Elixir)","company":"River","loc":"NYC or REMOTE (US, Europe, South America)","url":"https://news.ycombinator.com/item?id=50340101","date":"2026-11-02T17:17:05.000Z","region":"global","skills":["python","elixir","react","react-native","machine-learning","llm","pytorch","scikit-learn","graphql","cryptography"]},{"id":"hn-hiring:50339975","src":"hn-hiring","title":"Product Engineer (Member of Technical Staff)","company":"humans&","loc":"ONSITE","url":"https://news.ycombinator.com/item?id=50339975","date":"2026-11-02T17:08:46.000Z","region":"global","skills":["llm"]},{"id":"hn-hiring:50339895","src":"hn-hiring","title":"Product Engineer","company":"Cologne, Germany","loc":"ONSITE (part remote)","url":"https://news.ycombinator.com/item?id=50339895","date":"2026-11-02T17:04:21.000Z","region":"global","skills":["docker"]},{"id":"hn-hiring:50339881","src":"hn-hiring","title":"Head of Engineering (founding-level)","company":"Pond AI","loc":"Onsite","url":"https://news.ycombinator.com/item?id=50339881","date":"2026-11-02T17:03:38.000Z","region":"global","skills":["typescript","python","llm","ai-agents","mcp"]},{"id":"hn-hiring:50339750","src":"hn-hiring","title":"多個職缺（見原文）","company":"Stream","loc":"Remote possible","url":"https://news.ycombinator.com/item?id=50339750","date":"2026-11-02T16:56:19.000Z","region":"global","skills":["go"]},{"id":"hn-hiring:50339641","src":"hn-hiring","title":"AI Engineer Intern","company":"CNH","loc":"ON-SITE","url":"https://news.ycombinator.com/item?id=50339641","date":"2026-11-02T16:48:54.000Z","region":"global","skills":["python","cpp","machine-learning","pytorch","tensorflow","inference","computer-vision","git"]},{"id":"hn-hiring:50339551","src":"hn-hiring","title":"AI Engineer (Agentic team)","company":"Juro","loc":"REMOTE (UK)","url":"https://news.ycombinator.com/item?id=50339551","date":"2026-11-02T16:43:55.000Z","region":"global","skills":["typescript","react","nodejs","mongodb","aws","machine-learning","llm","ai-agents","vector-db","ai-coding","testing"]},{"id":"hn-hiring:50339514","src":"hn-hiring","title":"Founding Sales (Founding AE)","company":"Mastra","loc":"US Remote","url":"https://news.ycombinator.com/item?id=50339514","date":"2026-11-02T16:41:44.000Z","region":"global","skills":["typescript","ai-agents","system-analysis"]},{"id":"hn-hiring:50339511","src":"hn-hiring","title":"Backend Engineer, Foundations","company":"Equall","loc":"ONSITE","url":"https://news.ycombinator.com/item?id=50339511","date":"2026-11-02T16:41:15.000Z","region":"global","skills":["python","go","rust","zig","postgresql","redis","kubernetes","kafka","airflow","etl","llm","rest"]},{"id":"hn-hiring:50339468","src":"hn-hiring","title":"多個職缺（見原文）","company":"MONUMENTAL","loc":"Onsite","url":"https://news.ycombinator.com/item?id=50339468","date":"2026-11-02T16:38:45.000Z","region":"global","skills":["react","embedded","robotics"]},{"id":"hn-hiring:50339364","src":"hn-hiring","title":"多個職缺（見原文）","company":"CoVar","loc":"HYBRID (3 days in office per week)","url":"https://news.ycombinator.com/item?id=50339364","date":"2026-11-02T16:32:45.000Z","region":"global","skills":["python","machine-learning","computer-vision"]},{"id":"hn-hiring:50339308","src":"hn-hiring","title":"Software Engineer","company":"Kraus Hamdani Aerospace","loc":"REMOTE (US) or ONSITE in Reno, NV","url":"https://news.ycombinator.com/item?id=50339308","date":"2026-11-02T16:30:26.000Z","region":"global","skills":["typescript","cpp","c","rust"]},{"id":"hn-hiring:50339294","src":"hn-hiring","title":"Full time + Internships","company":"SwingVision","loc":"","url":"https://news.ycombinator.com/item?id=50339294","date":"2026-11-02T16:29:42.000Z","region":"global","skills":["machine-learning","computer-vision"]},{"id":"hn-hiring:50339282","src":"hn-hiring","title":"Senior Product Engineer","company":"Starbridge","loc":"","url":"https://news.ycombinator.com/item?id=50339282","date":"2026-11-02T16:28:53.000Z","region":"global","skills":["typescript","react"]},{"id":"hn-hiring:50339269","src":"hn-hiring","title":"Founding Product Engineer","company":"myDataValue","loc":"HYBRID, 2 days/week in office","url":"https://news.ycombinator.com/item?id=50339269","date":"2026-11-02T16:28:01.000Z","region":"global","skills":["llm","ai-agents","mcp","ai-coding"]},{"id":"hn-hiring:50339161","src":"hn-hiring","title":"Senior AI/ML Engineer, Senior Backend Engineer","company":"Confidential (established Saudi engineering & industrial se…","loc":"ONSITE, full-time","url":"https://news.ycombinator.com/item?id=50339161","date":"2026-11-02T16:22:17.000Z","region":"global","skills":["serverless","machine-learning","llm"]},{"id":"hn-hiring:50339042","src":"hn-hiring","title":"Senior Specialist Field Engineers (Kubernetes, Security, Storage, Compute Infrastructure)","company":"CoreWeave","loc":"Hybrid, 3 days/week in office: San Francisco CA, Sunnyvale…","url":"https://news.ycombinator.com/item?id=50339042","date":"2026-11-02T16:16:09.000Z","region":"global","skills":["rust","aws","kubernetes","networking","security","embedded"]},{"id":"hn-hiring:50339036","src":"hn-hiring","title":"Multiple Positions (Controls, SciML, Data Engineering)","company":"Fusionality","loc":"ONSITE","url":"https://news.ycombinator.com/item?id=50339036","date":"2026-11-02T16:15:56.000Z","region":"global","skills":["etl","machine-learning"]},{"id":"hn-hiring:50339013","src":"hn-hiring","title":"Software Engineers","company":"MixRank (YC S11)","loc":"100% Remote (Global)","url":"https://news.ycombinator.com/item?id=50339013","date":"2026-11-02T16:15:14.000Z","region":"global","skills":["javascript","typescript","python","rust","sql","ios","android","postgresql","nix","linux","etl","machine-learning","distributed-systems","git","compilers"]},{"id":"hn-hiring:50338943","src":"hn-hiring","title":"Full Stack Engineer (2–4 YOE)","company":"Kanmon","loc":"Hybrid (2-3 days onsite)","url":"https://news.ycombinator.com/item?id=50338943","date":"2026-11-02T16:11:54.000Z","region":"global","skills":["typescript"]},{"id":"hn-hiring:50338907","src":"hn-hiring","title":"Technical CSMs, SRE, Product Manager, AI Research Engineer","company":"PostHog","loc":"REMOTE (all remote)","url":"https://news.ycombinator.com/item?id=50338907","date":"2026-11-02T16:09:48.000Z","region":"global","skills":["sre"]},{"id":"hn-hiring:50338830","src":"hn-hiring","title":"多個職缺（見原文）","company":"We The Flywheel","loc":"Remote","url":"https://news.ycombinator.com/item?id=50338830","date":"2026-11-02T16:06:41.000Z","region":"global","skills":["ai-agents"]},{"id":"hn-hiring:50338822","src":"hn-hiring","title":"Early-Career AI Engineers – Full-Stack, Data Science, Infrastructure/DevOps (10 openings)","company":"United Risk","loc":"HYBRID (2 days/week in office)","url":"https://news.ycombinator.com/item?id=50338822","date":"2026-11-02T16:06:11.000Z","region":"global","skills":["python","sql","sqlserver","azure","cicd","linux","llm","ai-agents","rag"]},{"id":"hn-hiring:50338809","src":"hn-hiring","title":"多個職缺（見原文）","company":"Bridge AI Consulting","loc":"REMOTE (US)","url":"https://news.ycombinator.com/item?id=50338809","date":"2026-11-02T16:05:23.000Z","region":"global","skills":["llm","mcp"]},{"id":"hn-hiring:50338792","src":"hn-hiring","title":"多個職缺（見原文）","company":"Shepherd (Series B)","loc":"ONSITE","url":"https://news.ycombinator.com/item?id=50338792","date":"2026-11-02T16:04:26.000Z","region":"global","skills":["typescript","react","nextjs","nodejs","postgresql","redis","ai-agents","graphql"]},{"id":"hn-hiring:50338768","src":"hn-hiring","title":"多個職缺（見原文）","company":"University of Cambridge, University of Manchester","loc":"ONSITE","url":"https://news.ycombinator.com/item?id=50338768","date":"2026-11-02T16:03:23.000Z","region":"global","skills":["machine-learning","llm"]},{"id":"hn-hiring:50338732","src":"hn-hiring","title":"DevOps Engineer","company":"Simple Analytics","loc":"REMOTE (worldwide, any timezone)","url":"https://news.ycombinator.com/item?id=50338732","date":"2026-11-02T16:01:43.000Z","region":"global","skills":["typescript","elasticsearch","clickhouse","docker","terraform","ansible","github-actions","grafana"]},{"id":"jobicy:158567","src":"jobicy","title":"Front End Software Engineer, Media Player","company":"Reddit","loc":"USA","url":"https://jobicy.com/jobs/158567-front-end-software-engineer-media-player","date":"2026-11-02T16:01:01.000Z","region":"global","skills":["javascript","typescript","python","go","rust","ruby","react","nextjs","rest","graphql","grpc"]},{"id":"jobicy:158565","src":"jobicy","title":"Senior Software Engineer, Fullstack","company":"SeatGeek","loc":"USA","url":"https://jobicy.com/jobs/158565-senior-software-engineer-fullstack-4","date":"2026-11-02T16:00:58.000Z","region":"global","skills":["javascript","typescript","python","react","nextjs","aws","kubernetes","datadog","distributed-systems"]},{"id":"jobicy:158562","src":"jobicy","title":"Front End Software Engineer, Consumer Engineering","company":"Reddit","loc":"USA","url":"https://jobicy.com/jobs/158562-front-end-software-engineer-consumer-engineering","date":"2026-11-02T16:00:53.000Z","region":"global","skills":["javascript","typescript","react","nextjs","machine-learning","rest","graphql","grpc","distributed-systems","system-design","testing"]},{"id":"jobicy:158561","src":"jobicy","title":"Principal Software Engineer, Product Engineering","company":"Dropbox","loc":"USA","url":"https://jobicy.com/jobs/158561-principal-software-engineer-product-engineering","date":"2026-11-02T16:00:22.000Z","region":"global","skills":["machine-learning","llm","ai-agents","distributed-systems"]},{"id":"jobicy:158560","src":"jobicy","title":"Senior Software Engineer, Business Technology","company":"SeatGeek","loc":"USA","url":"https://jobicy.com/jobs/158560-senior-software-engineer-business-technology-2","date":"2026-11-02T16:00:20.000Z","region":"global","skills":["typescript","python","csharp","go","kotlin","swift","react","fastapi","dotnet","postgresql","redis","elasticsearch","dynamodb","aws","docker","kubernetes","gitlab","argocd","datadog","kafka","airflow","flink","machine-learning","llm","ai-agents","microservices","system-design"]},{"id":"jobicy:158557","src":"jobicy","title":"Frontend Engineer, Ads Campaign Manager","company":"Reddit","loc":"USA","url":"https://jobicy.com/jobs/158557-frontend-engineer-ads-campaign-manager","date":"2026-11-02T16:00:14.000Z","region":"global","skills":["design-system"]},{"id":"jobicy:158555","src":"jobicy","title":"Senior Software Engineer","company":"SeatGeek","loc":"USA","url":"https://jobicy.com/jobs/158555-senior-software-engineer-20","date":"2026-11-02T16:00:10.000Z","region":"global","skills":["typescript","python","csharp","go","kotlin","swift","react","fastapi","dotnet","postgresql","redis","elasticsearch","dynamodb","aws","docker","kubernetes","gitlab","argocd","datadog","kafka","airflow","flink","machine-learning","microservices"]},{"id":"jobicy:158553","src":"jobicy","title":"Software Development Engineer III, MuleSoft","company":"Veeam Software","loc":"USA","url":"https://jobicy.com/jobs/158553-software-development-engineer-iii-mulesoft","date":"2026-11-02T16:00:06.000Z","region":"global","skills":["java","sql","spring","cicd","rest","testing","auth","cryptography","erp"]},{"id":"taiwanjobs:14785197","src":"taiwanjobs","title":"客戶專案管理師（BU3財務組-台北）","company":"偉盟系統股份有限公司","loc":"台北市南港區","url":"https://job.taiwanjobs.gov.tw/Internet/jobwanted/JobDetail.aspx?EMPLOYER_ID=244789&HIRE_ID=14785197","date":"2026-11-02T16:00:00.000Z","region":"tw","skills":["erp"]},{"id":"arbeitnow:solution-architect-consultant-zurich-231214","src":"arbeitnow","title":"Solution Architect / Consultant","company":"N47 AG","loc":"Zürich","url":"https://www.arbeitnow.ch/jobs/companies/n47-ag/solution-architect-consultant-zurich-231214","date":"2026-11-02T15:01:06.000Z","region":"global","skills":["agile"]},{"id":"jobicy:158550","src":"jobicy","title":"Senior Staff Backend Engineer","company":"Monzo","loc":"UK","url":"https://jobicy.com/jobs/158550-senior-staff-backend-engineer-2","date":"2026-11-02T14:15:32.000Z","region":"global","skills":["react","cassandra","aws","gcp","docker","kubernetes","kafka","event-driven","system-design"]},{"id":"jobicy:158549","src":"jobicy","title":"Staff Backend Engineer, Developer Experience","company":"GitLab","loc":"Canada,  UK,  USA","url":"https://jobicy.com/jobs/158549-staff-backend-engineer-developer-experience","date":"2026-11-02T14:15:10.000Z","region":"global","skills":["go","ruby","kubernetes","helm","cicd","gitlab","observability","security"]},{"id":"jobicy:158531","src":"jobicy","title":"Engineer III","company":"Envato","loc":"Australia,  New Zealand","url":"https://jobicy.com/jobs/158531-engineer-iii","date":"2026-11-02T13:02:32.000Z","region":"global","skills":["ruby","rails","aws","docker","terraform","cicd","datadog"]},{"id":"jobicy:158527","src":"jobicy","title":"Head of NwPS Engineering","company":"Vonage","loc":"Spain,  UK,  USA","url":"https://jobicy.com/jobs/158527-head-of-nwps-engineering","date":"2026-11-02T12:47:10.000Z","region":"global","skills":["sre","ai-agents","mcp","ai-coding","distributed-systems","testing"]},{"id":"jobicy:158526","src":"jobicy","title":"Software Engineer in Hardware Infrastructure Observability","company":"Nebius","loc":"Europe","url":"https://jobicy.com/jobs/158526-software-engineer-in-hardware-infrastructure-observability","date":"2026-11-02T12:47:08.000Z","region":"global","skills":["python","go","linux","prometheus","observability","machine-learning","mlops","inference","distributed-systems","system-design"]},{"id":"jobicy:158514","src":"jobicy","title":"Embedded Linux Senior Software Engineer - Optimisation","company":"Canonical","loc":"EMEA,  LATAM,  Canada,  USA","url":"https://jobicy.com/jobs/158514-embedded-linux-senior-software-engineer-optimisation","date":"2026-11-02T11:54:18.000Z","region":"global","skills":["cpp","c","docker","kubernetes","linux","networking","rest","security","embedded"]},{"id":"jobicy:158512","src":"jobicy","title":"Manager of Data Engineering & Delivery (Data Science Production Engineering)","company":"Natera","loc":"USA","url":"https://jobicy.com/jobs/158512-manager-of-data-engineering-delivery-data-science-production-engineering","date":"2026-11-02T11:54:15.000Z","region":"global","skills":["python","sql","aws","gitlab","dbt","etl","bi","system-design","git"]},{"id":"jobicy:158504","src":"jobicy","title":"Machine Learning Scientist, Multimodal AI","company":"Natera","loc":"USA","url":"https://jobicy.com/jobs/158504-machine-learning-scientist-multimodal-ai","date":"2026-11-02T11:53:40.000Z","region":"global","skills":["python","aws","machine-learning","llm","fine-tuning","pytorch"]},{"id":"jobicy:158498","src":"jobicy","title":"Devices & IOT Field Engineering Manager (Americas)","company":"Canonical","loc":"LATAM,  Canada,  USA","url":"https://jobicy.com/jobs/158498-devices-iot-field-engineering-manager-americas-3","date":"2026-11-02T11:53:05.000Z","region":"global","skills":["linux","embedded"]},{"id":"jobicy:158494","src":"jobicy","title":"Containerization & Virtualisation Engineer","company":"Canonical","loc":"EMEA,  LATAM,  Canada,  USA","url":"https://jobicy.com/jobs/158494-containerization-virtualisation-engineer-2","date":"2026-11-02T11:52:59.000Z","region":"global","skills":["python","cpp","c","go","rust","docker","kubernetes","linux","rest"]},{"id":"jobicy:158492","src":"jobicy","title":"Forward Deployed AI Solutions Engineer","company":"Natera","loc":"USA","url":"https://jobicy.com/jobs/158492-forward-deployed-ai-solutions-engineer","date":"2026-11-02T11:52:56.000Z","region":"global","skills":["python","sql","aws","observability","machine-learning","llm","ai-agents","rag","mcp","prompt-engineering","langchain","ai-coding","erp"]},{"id":"jobicy:158472","src":"jobicy","title":"Data Scientist","company":"Doximity","loc":"USA","url":"https://jobicy.com/jobs/158472-data-scientist-3","date":"2026-11-02T11:51:31.000Z","region":"global","skills":["python","sql","pandas"]},{"id":"remoteok:1137619","src":"remoteok","title":"AI ML Engineer","company":"Docusketch","loc":"Remote","url":"https://remoteOK.com/remote-jobs/remote-ai-ml-engineer-docusketch-1137619","date":"2026-11-02T10:43:35.000Z","region":"global","skills":["python","machine-learning","pytorch","computer-vision","system-analysis"]},{"id":"arbeitnow:automation-engineer-gmp-pharma-biotech-basel-65474","src":"arbeitnow","title":"Automation Engineer - GMP Pharma & Biotech","company":"agap2 - HIQ Consulting","loc":"Basel","url":"https://www.arbeitnow.ch/jobs/companies/agap2-hiq-consulting/automation-engineer-gmp-pharma-biotech-basel-65474","date":"2026-11-02T08:00:50.000Z","region":"global","skills":["agile"]},{"id":"jobicy:158437","src":"jobicy","title":"Data Analyst (12 months contract)","company":"Binance","loc":"Hong Kong,  Malaysia,  Singapore","url":"https://jobicy.com/jobs/158437-data-analyst-12-months-contract","date":"2026-11-02T04:27:43.000Z","region":"global","skills":["python","r","sql","llm","ai-coding","web3"]},{"id":"jobicy:158413","src":"jobicy","title":"Backend Engineer (Java, PIX) - 1 Year Contract","company":"Binance","loc":"Brazil","url":"https://jobicy.com/jobs/158413-backend-engineer-java-pix-1-year-contract","date":"2026-11-02T04:26:30.000Z","region":"global","skills":["java","sql","spring","microservices","rest","distributed-systems","system-design","web3"]},{"id":"arbeitnow:mechatronic-design-test-engineer-zurich-385014","src":"arbeitnow","title":"Mechatronic Design & Test Engineer","company":"Wingtra 2","loc":"Zürich","url":"https://www.arbeitnow.ch/jobs/companies/wingtra-2/mechatronic-design-test-engineer-zurich-385014","date":"2026-11-02T03:27:31.000Z","region":"global","skills":["python","etl","ai-agents","robotics"]},{"id":"arbeitnow:senior-software-engineer-autonomy-zurich-381035","src":"arbeitnow","title":"Senior Software Engineer, Autonomy","company":"Anybotics","loc":"Zurich","url":"https://www.arbeitnow.ch/jobs/companies/anybotics/senior-software-engineer-autonomy-zurich-381035","date":"2026-11-02T03:27:29.000Z","region":"global","skills":["python","cpp","linux","machine-learning","ai-agents","ai-coding","system-design","robotics"]},{"id":"jobicy:154421","src":"jobicy","title":"Senior Data Scientist","company":"Peerspace","loc":"USA","url":"https://jobicy.com/jobs/154421-senior-data-scientist-6","date":"2026-11-02T03:20:11.000Z","region":"global","skills":["python","r","sql","airflow","dbt","bigquery","etl","bi","git"]},{"id":"jobicy:154428","src":"jobicy","title":"Senior Developer, Growth","company":"1Password","loc":"Canada,  USA","url":"https://jobicy.com/jobs/154428-senior-developer-growth","date":"2026-11-02T03:20:04.000Z","region":"global","skills":["typescript","python","go","ruby","react","nodejs","oracle","observability","bi","machine-learning","ai-agents","ai-coding","nlp","security"]},{"id":"jobicy:154381","src":"jobicy","title":"Engineering Manager - 3P and Catalog","company":"Gopuff","loc":"USA","url":"https://jobicy.com/jobs/154381-engineering-manager-3p-and-catalog","date":"2026-11-02T03:12:27.000Z","region":"global","skills":["javascript","typescript","java","sql","react","postgresql","azure","kubernetes","terraform","helm","argocd","snowflake","bigquery","etl","system-design","dsa"]},{"id":"jobicy:154409","src":"jobicy","title":"AI Automation Engineer","company":"Airtm","loc":"LATAM","url":"https://jobicy.com/jobs/154409-ai-automation-engineer-2","date":"2026-11-02T03:12:18.000Z","region":"global","skills":["sql","llm","ai-agents"]},{"id":"jobicy:154433","src":"jobicy","title":"Director of Engineering, Data Products","company":"Clover Health","loc":"USA","url":"https://jobicy.com/jobs/154433-director-of-engineering-data-products","date":"2026-11-02T03:12:13.000Z","region":"global","skills":["observability","etl","ai-coding","distributed-systems","testing"]},{"id":"jobicy:154392","src":"jobicy","title":"Senior Software Engineer - Go & Rust, Blockchain Infrastructure","company":"QuickNode","loc":"Portugal,  USA","url":"https://jobicy.com/jobs/154392-senior-software-engineer-go-rust-blockchain-infrastructure","date":"2026-11-02T03:12:10.000Z","region":"global","skills":["go","rust","observability","sre","kafka","event-driven","distributed-systems","system-design","dsa","security","cryptography","web3"]},{"id":"jobicy:154387","src":"jobicy","title":"Senior Software Engineer - Go","company":"QuickNode","loc":"Portugal,  USA","url":"https://jobicy.com/jobs/154387-senior-software-engineer-go-2","date":"2026-11-02T03:12:07.000Z","region":"global","skills":["go","distributed-systems","web3"]},{"id":"jobicy:152147","src":"jobicy","title":"Engineering Manager - Data Platform","company":"Spotify","loc":"UK","url":"https://jobicy.com/jobs/152147-engineering-manager-data-platform-2","date":"2026-11-02T03:10:30.000Z","region":"global","skills":["llm","event-driven"]},{"id":"jobicy:154383","src":"jobicy","title":"Principal Data Scientist - Consumer","company":"Gopuff","loc":"USA","url":"https://jobicy.com/jobs/154383-principal-data-scientist-consumer","date":"2026-11-02T03:10:24.000Z","region":"global","skills":["python","sql","spark","airflow","dbt","snowflake","databricks","etl","pandas","machine-learning","llm","ai-agents","rag","fine-tuning","vector-db","ai-coding","pytorch","tensorflow","scikit-learn","mlops"]},{"id":"jobicy:154413","src":"jobicy","title":"AI Data Scientist","company":"Airtm","loc":"LATAM","url":"https://jobicy.com/jobs/154413-ai-data-scientist","date":"2026-11-02T03:10:20.000Z","region":"global","skills":["python","sql","aws","dbt","bi","llm","ai-agents","prompt-engineering","langchain","git","system-analysis"]},{"id":"jobicy:152261","src":"jobicy","title":"Software Engineer, Content Platform","company":"Reddit","loc":"USA","url":"https://jobicy.com/jobs/152261-software-engineer-content-platform","date":"2026-11-02T03:10:17.000Z","region":"global","skills":["python","java","cpp","go","postgresql","redis","cassandra","aws","gcp","kubernetes","rest","grpc","distributed-systems"]},{"id":"jobicy:152237","src":"jobicy","title":"ZK Proof Engineer","company":"Axiom","loc":"USA","url":"https://jobicy.com/jobs/152237-zk-proof-engineer","date":"2026-11-02T03:10:09.000Z","region":"global","skills":["cpp","c","rust","cryptography","web3","compilers"]},{"id":"jobicy:152244","src":"jobicy","title":"Forward Deployed Engineer","company":"Axiom","loc":"USA","url":"https://jobicy.com/jobs/152244-forward-deployed-engineer","date":"2026-11-02T03:10:08.000Z","region":"global","skills":["typescript","python","cpp","c","go","rust","kubernetes","terraform","cryptography","web3"]},{"id":"jobicy:152240","src":"jobicy","title":"Distributed Systems Engineer","company":"Axiom","loc":"USA","url":"https://jobicy.com/jobs/152240-distributed-systems-engineer-2","date":"2026-11-02T03:10:06.000Z","region":"global","skills":["cpp","rust","build-tools","docker","kubernetes","terraform","distributed-systems","cryptography","web3"]},{"id":"jobicy:142184","src":"jobicy","title":"Software Engineer (Multiple Levels)","company":"UpGuard","loc":"Australia","url":"https://jobicy.com/jobs/142184-software-engineer-multiple-levels","date":"2026-11-02T03:05:23.000Z","region":"global","skills":["javascript","go","react","postgresql","gcp","kubernetes","llm","ai-agents","security"]},{"id":"jobicy:152220","src":"jobicy","title":"Full Stack Engineer (Enterprise)","company":"Roboflow","loc":"USA","url":"https://jobicy.com/jobs/152220-full-stack-engineer-enterprise","date":"2026-11-02T03:05:18.000Z","region":"global","skills":["javascript","python","nodejs","firebase","aws","gcp","docker","linux","bi","machine-learning","tensorflow","inference","computer-vision"]},{"id":"jobicy:152219","src":"jobicy","title":"Research Staff, Voice AI Foundations","company":"Deepgram","loc":"USA","url":"https://jobicy.com/jobs/152219-research-staff-voice-ai-foundations","date":"2026-11-02T03:05:17.000Z","region":"global","skills":["cloudflare","etl","machine-learning","llm","ai-agents","huggingface","inference","system-design"]},{"id":"jobicy:152204","src":"jobicy","title":"Machine Learning Engineer - Inference Maintainer & Developer Experience","company":"Roboflow","loc":"USA","url":"https://jobicy.com/jobs/152204-machine-learning-engineer-inference-maintainer-developer-experience","date":"2026-11-02T03:05:12.000Z","region":"global","skills":["cicd","machine-learning","llm","ai-agents","ai-coding","pytorch","tensorflow","mlops","inference","computer-vision","testing"]},{"id":"jobicy:152182","src":"jobicy","title":"Project Lion - Lead Prompt Engineer - United States (Remote, Part-Time)","company":"Welo Global","loc":"USA","url":"https://jobicy.com/jobs/152182-project-lion-lead-prompt-engineer-united-states-remote-part-time","date":"2026-11-02T03:00:28.000Z","region":"global","skills":["sql","llm","prompt-engineering"]},{"id":"jobicy:144856","src":"jobicy","title":"Senior Data Scientist","company":"Customer.io","loc":"LATAM,  Canada,  USA","url":"https://jobicy.com/jobs/144856-senior-data-scientist-4","date":"2026-11-02T03:00:19.000Z","region":"global","skills":["python","sql","dbt","snowflake","bigquery","etl","machine-learning"]},{"id":"jobicy:152177","src":"jobicy","title":"Senior Software Engineer","company":"YipitData","loc":"USA","url":"https://jobicy.com/jobs/152177-senior-software-engineer","date":"2026-11-02T03:00:13.000Z","region":"global","skills":["typescript","python","react","design-system","aws","databricks","etl","llm","ai-coding"]},{"id":"jobicy:152180","src":"jobicy","title":"Principal Supplier Quality Engineer","company":"Halter","loc":"China","url":"https://jobicy.com/jobs/152180-principal-supplier-quality-engineer","date":"2026-11-02T03:00:08.000Z","region":"global","skills":["testing"]},{"id":"remoteok:1137614","src":"remoteok","title":"Software Engineer Infrastructure","company":"Sodalis, Inc.","loc":"Palo Alto","url":"https://remoteOK.com/remote-jobs/remote-software-engineer-infrastructure-sodalis-inc-1137614","date":"2026-11-02T00:00:13.000Z","region":"global","skills":["go","ruby","aws","kubernetes","observability","machine-learning","ai-agents","embedded"]},{"id":"arbeitnow:business-intelligence-data-architect-430867","src":"arbeitnow","title":"Business Intelligence Data Architect","company":"Contentstack","loc":"","url":"https://www.arbeitnow.nl/jobs/companies/contentstack/business-intelligence-data-architect-430867","date":"2026-11-01T18:55:29.000Z","region":"global","skills":["python","sql","cicd","observability","dbt","snowflake","etl","bi","machine-learning","llm","ai-agents","rag","mcp","git"]},{"id":"jobicy:158399","src":"jobicy","title":"Senior Software Engineer - Enterprise AI","company":"Spotify","loc":"USA","url":"https://jobicy.com/jobs/158399-senior-software-engineer-enterprise-ai","date":"2026-11-01T18:20:35.000Z","region":"global","skills":["python","go","gcp","llm","ai-agents","mcp","prompt-engineering","system-design","auth"]},{"id":"jobicy:158395","src":"jobicy","title":"Senior MLOps Engineer","company":"ŌURA","loc":"USA","url":"https://jobicy.com/jobs/158395-senior-mlops-engineer","date":"2026-11-01T18:20:29.000Z","region":"global","skills":["aws","terraform","cicd","observability","databricks","etl","machine-learning","mlops","system-analysis"]},{"id":"jobicy:158394","src":"jobicy","title":"Senior Software Engineer","company":"Spotify","loc":"Canada","url":"https://jobicy.com/jobs/158394-senior-software-engineer-19","date":"2026-11-01T18:20:27.000Z","region":"global","skills":["java","system-design","system-analysis"]},{"id":"jobicy:158390","src":"jobicy","title":"Senior ML Data Scientist - Women’s Health","company":"ŌURA","loc":"USA","url":"https://jobicy.com/jobs/158390-senior-ml-data-scientist-womens-health","date":"2026-11-01T18:20:01.000Z","region":"global","skills":["python","sql","machine-learning"]},{"id":"jobicy:158389","src":"jobicy","title":"Senior Machine Learning Engineer, Personalization","company":"Spotify","loc":"USA","url":"https://jobicy.com/jobs/158389-senior-machine-learning-engineer-personalization","date":"2026-11-01T18:20:00.000Z","region":"global","skills":["python","machine-learning","llm","ai-agents"]},{"id":"jobicy:158379","src":"jobicy","title":"Senior Director of Engineering","company":"ŌURA","loc":"USA","url":"https://jobicy.com/jobs/158379-senior-director-of-engineering","date":"2026-11-01T18:19:23.000Z","region":"global","skills":["ai-agents"]},{"id":"jobicy:158376","src":"jobicy","title":"Senior Forward Deployed Engineer - West","company":"Tines","loc":"USA","url":"https://jobicy.com/jobs/158376-senior-forward-deployed-engineer-west","date":"2026-11-01T18:19:18.000Z","region":"global","skills":["typescript","python","java","llm","ai-agents","prompt-engineering","system-analysis","erp"]},{"id":"taiwanjobs:14781861","src":"taiwanjobs","title":"MIS工程師","company":"財團法人正德社會福利慈善基金會","loc":"台北市大同區","url":"https://job.taiwanjobs.gov.tw/Internet/jobwanted/JobDetail.aspx?EMPLOYER_ID=61583&HIRE_ID=14781861","date":"2026-11-01T16:00:00.000Z","region":"tw","salary":{"period":"月薪","min":40000,"max":50000},"skills":["sql","windows-server"]},{"id":"arbeitnow:remote-senior-full-stack-developer-deepdesk-rotterdam-346552","src":"arbeitnow","title":"Senior Full Stack Developer - Deepdesk","company":"AnywhereNow","loc":"Remote job（可遠端）","url":"https://www.arbeitnow.nl/jobs/companies/anywherenow/remote-senior-full-stack-developer-deepdesk-rotterdam-346552","date":"2026-11-01T15:31:44.000Z","region":"global","skills":["typescript","python","go","react","django","fastapi","postgresql","redis","elasticsearch","clickhouse","gcp","docker","kubernetes","terraform","cicd","machine-learning","llm","ai-agents","rest","websocket","testing","security"]},{"id":"arbeitnow:software-engineer-net-woerden-145760","src":"arbeitnow","title":"Software Engineer (.NET)","company":"CCS Connects","loc":"Woerden, Utrecht, Nederland","url":"https://www.arbeitnow.nl/jobs/companies/ccs-connects/software-engineer-net-woerden-145760","date":"2026-11-01T12:51:32.000Z","region":"global","skills":["dotnet","azure","docker","terraform","cicd","ddd","git"]},{"id":"jobicy:158367","src":"jobicy","title":"AI Trainers Network - Greek","company":"Welo Global","loc":"Greece","url":"https://jobicy.com/jobs/158367-ai-trainers-network-greek","date":"2026-11-01T08:54:52.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158366","src":"jobicy","title":"Applied AI Engineer","company":"Elevenlabs","loc":"Bulgaria,  France,  Germany,  Hungary,  Ireland,  Italy,  Netherlands,  Poland,  Spain,  UK","url":"https://jobicy.com/jobs/158366-applied-ai-engineer-3","date":"2026-11-01T08:54:51.000Z","region":"global","skills":["python","sql","llm","ai-agents"]},{"id":"jobicy:158364","src":"jobicy","title":"AI Trainers Network - German","company":"Welo Global","loc":"Argentina,  Austria,  Brazil,  France,  Germany,  Italy,  Poland,  Spain,  Switzerland,  Türkiye,  UK","url":"https://jobicy.com/jobs/158364-ai-trainers-network-german","date":"2026-11-01T08:54:48.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158361","src":"jobicy","title":"AI Trainers Network - Georgian","company":"Welo Global","loc":"Europe","url":"https://jobicy.com/jobs/158361-ai-trainers-network-georgian","date":"2026-11-01T08:54:44.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158358","src":"jobicy","title":"AI Trainers Network - Galician","company":"Welo Global","loc":"Spain","url":"https://jobicy.com/jobs/158358-ai-trainers-network-galician","date":"2026-11-01T08:54:19.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158357","src":"jobicy","title":"Forward Deployed Engineer - Software Engineer - United Kingdom","company":"Elevenlabs","loc":"UK","url":"https://jobicy.com/jobs/158357-forward-deployed-engineer-software-engineer-united-kingdom","date":"2026-11-01T08:54:17.000Z","region":"global","skills":["python","system-design"]},{"id":"jobicy:158355","src":"jobicy","title":"AI Trainers Network - French","company":"Welo Global","loc":"Belgium,  France,  Spain,  Switzerland","url":"https://jobicy.com/jobs/158355-ai-trainers-network-french","date":"2026-11-01T08:54:14.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158352","src":"jobicy","title":"AI Trainers Network - Flemish","company":"Welo Global","loc":"Belgium","url":"https://jobicy.com/jobs/158352-ai-trainers-network-flemish","date":"2026-11-01T08:54:10.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158351","src":"jobicy","title":"Analytics Engineer","company":"Elevenlabs","loc":"Europe","url":"https://jobicy.com/jobs/158351-analytics-engineer-6","date":"2026-11-01T08:54:08.000Z","region":"global","skills":["python","sql","terraform","cicd","dbt","bigquery","etl","bi","llm","ai-agents"]},{"id":"jobicy:158348","src":"jobicy","title":"AI Trainers Network - Farsi","company":"Welo Global","loc":"Türkiye","url":"https://jobicy.com/jobs/158348-ai-trainers-network-farsi","date":"2026-11-01T08:53:45.000Z","region":"global","skills":["llm"]},{"id":"arbeitnow:software-engineer-ii-embedded-platform-den-bosch-78831","src":"arbeitnow","title":"Software Engineer II - Embedded Platform","company":"Hudl","loc":"Den Bosch","url":"https://www.arbeitnow.nl/jobs/companies/hudl/software-engineer-ii-embedded-platform-den-bosch-78831","date":"2026-11-01T06:55:22.000Z","region":"global","skills":["python","cpp","c","bash","docker","cicd","github-actions","jenkins","gitlab","linux","machine-learning","ai-coding","testing","security","embedded"]},{"id":"jobicy:158333","src":"jobicy","title":"AI Trainers Network - Korean and Chinese Simplified Bilingual","company":"Welo Global","loc":"Europe,  South Korea","url":"https://jobicy.com/jobs/158333-ai-trainers-network-korean-and-chinese-simplified-bilingual","date":"2026-11-01T06:51:19.000Z","region":"global","skills":["machine-learning"]},{"id":"jobicy:158328","src":"jobicy","title":"AI Trainers Network - Korean","company":"Welo Global","loc":"Australia,  Brazil,  Canada,  China,  Germany,  Japan,  Malaysia,  New Zealand,  Philippines,  Singapore,  South Korea,  Thailand,  UK,  USA,  Vietnam","url":"https://jobicy.com/jobs/158328-ai-trainers-network-korean","date":"2026-11-01T06:51:13.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158322","src":"jobicy","title":"Senior Applied Data Scientist / ML Engineer","company":"WorkWave","loc":"UK","url":"https://jobicy.com/jobs/158322-senior-applied-data-scientist-ml-engineer","date":"2026-11-01T06:46:38.000Z","region":"global","skills":["python","sql","aws","dbt","snowflake","etl","machine-learning","llm","ai-agents","ai-coding","scikit-learn","microservices"]},{"id":"jobicy:158321","src":"jobicy","title":"AI Trainers Network - English (United Kingdom)","company":"Welo Global","loc":"UK","url":"https://jobicy.com/jobs/158321-ai-trainers-network-english-united-kingdom","date":"2026-11-01T06:46:37.000Z","region":"global","skills":["llm","ai-agents","testing","robotics"]},{"id":"jobicy:158312","src":"jobicy","title":"AI Trainers Network - English (Philippines)","company":"Welo Global","loc":"Philippines","url":"https://jobicy.com/jobs/158312-ai-trainers-network-english-philippines","date":"2026-11-01T06:18:33.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158310","src":"jobicy","title":"AI Trainers Network - English (New Zealand)","company":"Welo Global","loc":"New Zealand","url":"https://jobicy.com/jobs/158310-ai-trainers-network-english-new-zealand","date":"2026-11-01T06:18:31.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158308","src":"jobicy","title":"AI Trainers Network - English (Australia)","company":"Welo Global","loc":"Australia","url":"https://jobicy.com/jobs/158308-ai-trainers-network-english-australia","date":"2026-11-01T06:18:28.000Z","region":"global","skills":["llm"]},{"id":"arbeitnow:engineering-manager-netherlands-239043","src":"arbeitnow","title":"Engineering Manager","company":"Finom","loc":"Netherlands","url":"https://www.arbeitnow.nl/jobs/companies/finom/engineering-manager-netherlands-239043","date":"2026-11-01T06:06:51.000Z","region":"global","skills":["javascript","python","java","csharp","go","kotlin","swift","react","nodejs","dotnet","postgresql","redis","kubernetes","kafka","machine-learning","event-driven","distributed-systems","system-design","testing"]},{"id":"arbeitnow:systems-engineer-excavator-automation-zurich-5810","src":"arbeitnow","title":"Systems Engineer  (Excavator Automation)","company":"Gravis Robotics","loc":"Zurich","url":"https://www.arbeitnow.ch/jobs/companies/gravis-robotics/systems-engineer-excavator-automation-zurich-5810","date":"2026-11-01T03:07:55.000Z","region":"global","skills":["python","cpp","linux","ai-coding","git","robotics"]},{"id":"arbeitnow:staff-software-engineer-robotics-platform-zurich-200464","src":"arbeitnow","title":"Staff Software Engineer - Robotics Platform","company":"Gravis Robotics","loc":"Zurich","url":"https://www.arbeitnow.ch/jobs/companies/gravis-robotics/staff-software-engineer-robotics-platform-zurich-200464","date":"2026-11-01T03:07:55.000Z","region":"global","skills":["python","cpp","rust","ai-coding","grpc","robotics"]},{"id":"arbeitnow:front-end-developer-rotterdam-148463","src":"arbeitnow","title":"Front-end Developer","company":"Mendix","loc":"Rotterdam","url":"https://www.arbeitnow.nl/jobs/companies/mendix/front-end-developer-rotterdam-148463","date":"2026-11-01T03:07:51.000Z","region":"global","skills":["typescript","csharp","react","ai-coding","agile"]},{"id":"arbeitnow:data-engineering-analytics-manager-amsterdam-273630","src":"arbeitnow","title":"Data Engineering & Analytics Manager","company":"Insify","loc":"Amsterdam","url":"https://www.arbeitnow.nl/jobs/companies/insify/data-engineering-analytics-manager-amsterdam-273630","date":"2026-11-01T03:07:48.000Z","region":"global","skills":["sql","aws","cicd","dbt","databricks","etl","machine-learning","gamedev"]},{"id":"jobicy:158241","src":"jobicy","title":"Senior Data Scientist, MNO Data","company":"GiveDirectly","loc":"Canada,  Germany,  Netherlands,  Poland,  Portugal,  Spain,  Türkiye,  UK,  USA","url":"https://jobicy.com/jobs/158241-senior-data-scientist-mno-data","date":"2026-10-31T17:04:02.000Z","region":"global","skills":["python","sql","machine-learning","security","cryptography"]},{"id":"arbeitnow:ai-engineer-amsterdam-472304","src":"arbeitnow","title":"AI Engineer","company":"Tebi","loc":"Amsterdam","url":"https://www.arbeitnow.nl/jobs/companies/tebi/ai-engineer-amsterdam-472304","date":"2026-10-31T15:40:16.000Z","region":"global","skills":["sql","clickhouse","observability","airflow","dbt","snowflake","bigquery","etl","machine-learning","llm","ai-agents"]},{"id":"arbeitnow:senior-application-engineer-amsterdam-143728","src":"arbeitnow","title":"Senior Application Engineer","company":"Mollie","loc":"Amsterdam","url":"https://www.arbeitnow.nl/jobs/companies/mollie/senior-application-engineer-amsterdam-143728","date":"2026-10-31T15:40:16.000Z","region":"global","skills":["python","java","csharp","go","php"]},{"id":"arbeitnow:business-informatie-analist-backend-platform-assen-167959","src":"arbeitnow","title":"Business Informatie Analist Backend Platform","company":"Univé","loc":"Assen, Drenthe, Nederland","url":"https://www.arbeitnow.nl/jobs/companies/unive/business-informatie-analist-backend-platform-assen-167959","date":"2026-10-31T12:31:44.000Z","region":"global","skills":["agile"]},{"id":"jobicy:158206","src":"jobicy","title":"AI Trainers Network - English","company":"Welo Global","loc":"Australia,  Canada,  Ireland,  Malaysia,  New Zealand,  Singapore,  UK,  USA","url":"https://jobicy.com/jobs/158206-ai-trainers-network-english","date":"2026-10-31T10:57:36.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158203","src":"jobicy","title":"AI Data Quality Specialist - English (Philippines)","company":"Welo Global","loc":"Philippines","url":"https://jobicy.com/jobs/158203-ai-data-quality-specialist-english-philippines","date":"2026-10-31T10:57:31.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158160","src":"jobicy","title":"Senior Data Intelligence Engineer","company":"Deepgram","loc":"USA","url":"https://jobicy.com/jobs/158160-senior-data-intelligence-engineer","date":"2026-10-31T09:30:24.000Z","region":"global","skills":["python","sql","cloudflare","dbt","llm","ai-agents","rag"]},{"id":"jobicy:158155","src":"jobicy","title":"AI Trainers Network - Danish","company":"Welo Global","loc":"Denmark,  France,  Germany,  Spain,  Sweden,  UK,  USA","url":"https://jobicy.com/jobs/158155-ai-trainers-network-danish","date":"2026-10-31T09:11:52.000Z","region":"global","skills":["llm"]},{"id":"jobicy:158151","src":"jobicy","title":"AI Trainers Network - Czech","company":"Welo Global","loc":"Czechia,  Slovakia","url":"https://jobicy.com/jobs/158151-ai-trainers-network-czech","date":"2026-10-31T09:11:33.000Z","region":"global","skills":["llm"]},{"id":"arbeitnow:electronics-engineer-freienbach-418073","src":"arbeitnow","title":"Electronics Engineer","company":"3Brain AG","loc":"Freienbach","url":"https://www.arbeitnow.ch/jobs/companies/3brain-ag/electronics-engineer-freienbach-418073","date":"2026-10-31T09:00:40.000Z","region":"global","skills":["python","system-design","testing","embedded"]},{"id":"arbeitnow:embedded-engineer-eindhoven-135627","src":"arbeitnow","title":"Embedded Engineer","company":"Aim Solutions","loc":"Headquarter","url":"https://www.arbeitnow.nl/jobs/companies/aim-solutions/embedded-engineer-eindhoven-135627","date":"2026-10-31T06:40:30.000Z","region":"global","skills":["python","cpp","c","cicd","linux","git","agile","embedded"]},{"id":"jobicy:141971","src":"jobicy","title":"Data Scientist, Analytics (Technical Leadership)","company":"Meta","loc":"USA","url":"https://jobicy.com/jobs/141971-data-scientist-analytics-technical-leadership","date":"2026-10-31T03:35:17.000Z","region":"global","skills":["python","r","sql","machine-learning","ai-agents","prompt-engineering"]},{"id":"arbeitnow:senior-backend-engineer-ii-resilience-amsterdam-146032","src":"arbeitnow","title":"Senior Backend Engineer II, Resilience","company":"Vinteden","loc":"Amsterdam","url":"https://www.arbeitnow.nl/jobs/companies/vinteden/senior-backend-engineer-ii-resilience-amsterdam-146032","date":"2026-10-31T00:55:25.000Z","region":"global","skills":["go","ruby","rails","mysql","redis","kubernetes","jenkins","argocd","linux","prometheus","grafana","datadog","opentelemetry","kafka","event-driven","distributed-systems","system-design","dsa"]},{"id":"arbeitnow:senior-ai-platform-system-engineer-zurich-285569","src":"arbeitnow","title":"Senior AI Platform System Engineer","company":"Imtf","loc":"Zürich, Switzerland","url":"https://www.arbeitnow.ch/jobs/companies/imtf/senior-ai-platform-system-engineer-zurich-285569","date":"2026-10-31T00:20:09.000Z","region":"global","skills":["kubernetes","helm","spark","kafka","databricks","etl","machine-learning","pytorch","tensorflow","mlops","inference","microservices","rest","grpc","event-driven","distributed-systems"]},{"id":"arbeitnow:quality-assurance-engineer-zurich-31665","src":"arbeitnow","title":"Quality Assurance Engineer","company":"Crypto Finance","loc":"Zürich, Switzerland","url":"https://www.arbeitnow.ch/jobs/companies/crypto-finance/quality-assurance-engineer-zurich-31665","date":"2026-10-30T21:20:17.000Z","region":"global","skills":["python","testing","e2e","agile","gamedev"]},{"id":"arbeitnow:senior-backend-developer-zurich-277178","src":"arbeitnow","title":"Senior Backend Developer","company":"ServiceHunter AG - quitt, quinn","loc":"Zürich","url":"https://www.arbeitnow.ch/jobs/companies/servicehunter-ag-quitt-quinn/senior-backend-developer-zurich-277178","date":"2026-10-30T20:47:30.000Z","region":"global","skills":["csharp","design-system","dotnet","postgresql","observability","ai-agents"]},{"id":"arbeitnow:manager-cto-office-amsterdam-220624","src":"arbeitnow","title":"Manager CTO Office","company":"Athora Netherlands","loc":"Amsterdam, Noord-Holland, Nederland","url":"https://www.arbeitnow.nl/jobs/companies/athora-netherlands/manager-cto-office-amsterdam-220624","date":"2026-10-30T18:31:09.000Z","region":"global","skills":["agile"]},{"id":"arbeitnow:consultant-software-digital-projects-80-100-zurich-350872","src":"arbeitnow","title":"Consultant – Software & Digital Projects (80–100 %)","company":"novu","loc":"Zürich","url":"https://www.arbeitnow.ch/jobs/companies/novu/consultant-software-digital-projects-80-100-zurich-350872","date":"2026-10-30T18:17:29.000Z","region":"global","skills":["ai-coding"]},{"id":"jobicy:158115","src":"jobicy","title":"Senior Data Engineer - Data Infra (Ontario, Canada)","company":"Dandy","loc":"Canada","url":"https://jobicy.com/jobs/158115-senior-data-engineer-data-infra-ontario-canada","date":"2026-10-30T18:06:29.000Z","region":"global","skills":["python","sql","observability","dbt","bigquery","etl","bi","machine-learning","llm","ai-agents"]},{"id":"jobicy:158109","src":"jobicy","title":"Sr. Data Engineer","company":"PadSplit","loc":"USA","url":"https://jobicy.com/jobs/158109-sr-data-engineer-4","date":"2026-10-30T18:06:22.000Z","region":"global","skills":["python","sql","postgresql","aws","terraform","airflow","dbt","snowflake","rest"]},{"id":"remoteok:1137606","src":"remoteok","title":"AWS Cloud Solutions Architect","company":"Cloudary SAS","loc":"Remote","url":"https://remoteOK.com/remote-jobs/remote-aws-cloud-solutions-architect-cloudary-sas-1137606","date":"2026-10-30T16:00:06.000Z","region":"global","skills":["go","sql","postgresql","sqlserver","oracle","aws","azure","gcp","serverless","docker","kubernetes","terraform","ansible","cicd","github-actions","gitlab","networking","network-admin","windows-server","machine-learning","event-driven","security","cryptography"]},{"id":"arbeitnow:senior-sap-developer-zurich-75288","src":"arbeitnow","title":"Senior SAP Developer","company":"Pertemps ERP","loc":"Zürich","url":"https://www.arbeitnow.ch/jobs/companies/pertemps-erp/senior-sap-developer-zurich-75288","date":"2026-10-30T14:31:06.000Z","region":"global","skills":["system-design","erp"]},{"id":"arbeitnow:software-engineer-data-engine-zurich-88460","src":"arbeitnow","title":"Software Engineer - Data Engine","company":"DeepJudge","loc":"Zurich HQ","url":"https://www.arbeitnow.ch/jobs/companies/deepjudge/software-engineer-data-engine-zurich-88460","date":"2026-10-30T12:40:14.000Z","region":"global","skills":["sql","etl","llm","distributed-systems"]},{"id":"arbeitnow:medior-senior-data-analyst-dongen-227965","src":"arbeitnow","title":"Medior / Senior Data Analyst","company":"Follo","loc":"Dongen, Noord-Brabant, Nederland","url":"https://www.arbeitnow.nl/jobs/companies/follo/medior-senior-data-analyst-dongen-227965","date":"2026-10-30T12:31:59.000Z","region":"global","skills":["python","sql","dbt","bigquery","bi"]},{"id":"arbeitnow:applikationsentwickler-java-camunda-80-zurich-91707","src":"arbeitnow","title":"Applikationsentwickler Java / Camunda 80%","company":"Callista Group AG","loc":"Zürich, Zürich, Switzerland","url":"https://www.arbeitnow.ch/jobs/companies/callista-group-ag/applikationsentwickler-java-camunda-80-zurich-91707","date":"2026-10-30T09:31:25.000Z","region":"global","skills":["java","kotlin","sql","angular","orm","postgresql","docker","kubernetes","jenkins","git","agile"]},{"id":"arbeitnow:senior-devops-engineer-java-kotlin-ebanking-100-zurich-35392","src":"arbeitnow","title":"Senior DevOps Engineer Java / Kotlin – eBanking 100 %","company":"Callista Group AG","loc":"Zürich, Zürich, Switzerland","url":"https://www.arbeitnow.ch/jobs/companies/callista-group-ag/senior-devops-engineer-java-kotlin-ebanking-100-zurich-35392","date":"2026-10-30T09:31:25.000Z","region":"global","skills":["java","kotlin","angular","orm","postgresql","oracle","kubernetes","observability","microservices","ddd","testing","agile"]},{"id":"jobicy:157953","src":"jobicy","title":"AI Trainers Network - Cebuano","company":"Welo Global","loc":"Europe,  Philippines","url":"https://jobicy.com/jobs/157953-ai-trainers-network-cebuano","date":"2026-10-30T08:21:20.000Z","region":"global","skills":["llm"]},{"id":"jobicy:157950","src":"jobicy","title":"AI Trainers Network - Catalan","company":"Welo Global","loc":"Italy,  Spain","url":"https://jobicy.com/jobs/157950-ai-trainers-network-catalan","date":"2026-10-30T08:21:15.000Z","region":"global","skills":["llm"]},{"id":"jobicy:157944","src":"jobicy","title":"AI Trainers Network - Canadian French","company":"Welo Global","loc":"Canada","url":"https://jobicy.com/jobs/157944-ai-trainers-network-canadian-french","date":"2026-10-30T08:20:44.000Z","region":"global","skills":["llm"]},{"id":"arbeitnow:iam-software-engineer-waardenburg-gelderland-188228","src":"arbeitnow","title":"IAM Software Engineer","company":"Swissitsecuritygroup","loc":"Waardenburg, Gelderland","url":"https://www.arbeitnow.nl/jobs/companies/swissitsecuritygroup/iam-software-engineer-waardenburg-gelderland-188228","date":"2026-10-30T06:55:18.000Z","region":"global","skills":["csharp","sql","bash","azure","cicd","git"]},{"id":"remotive:2091165","src":"remotive","title":"Full-Stack Developer","company":"Fluence International, Inc.","loc":"Worldwide","url":"https://remotive.com/remote-jobs/software-development/full-stack-developer-2091165","date":"2026-10-29T18:22:41.000Z","region":"global","skills":["javascript","typescript","react","nextjs","dynamodb","aws","serverless","docker","datadog","observability","llm","n8n","security","cryptography"]},{"id":"remoteok:1137600","src":"remoteok","title":"Cloud Engineer Automation","company":"Smile Digital Health","loc":"Toronto, Ontario","url":"https://remoteOK.com/remote-jobs/remote-cloud-engineer-automation-smile-digital-health-1137600","date":"2026-10-29T16:00:03.000Z","region":"global","skills":["python","sql","bash","postgresql","azure","kubernetes","terraform","helm","cicd","argocd","prometheus","grafana","opentelemetry","observability","kafka","llm","ai-agents","ai-coding","git","testing","security"]},{"id":"taiwanjobs:14776657","src":"taiwanjobs","title":"全端電腦工程師（Full Stack Engineer）","company":"意向科技股份有限公司","loc":"台北市大安區","url":"https://job.taiwanjobs.gov.tw/Internet/jobwanted/JobDetail.aspx?EMPLOYER_ID=2697537&HIRE_ID=14776657","date":"2026-10-29T16:00:00.000Z","region":"tw","salary":{"period":"月薪","min":29500,"max":50000},"skills":["python","linux"]},{"id":"remoteok:1137597","src":"remoteok","title":"Front End Developer","company":"Edconic","loc":"Remote","url":"https://remoteOK.com/remote-jobs/remote-front-end-developer-edconic-1137597","date":"2026-10-28T21:53:15.000Z","region":"global","skills":["javascript","php","react","vue","html","css","build-tools","a11y","cicd","github-actions","ai-coding","git"]},{"id":"taiwanjobs:14724555","src":"taiwanjobs","title":"Java Framework程式設計師","company":"指南動力有限公司","loc":"台北市松山區","url":"https://job.taiwanjobs.gov.tw/Internet/jobwanted/JobDetail.aspx?EMPLOYER_ID=497576&HIRE_ID=14724555","date":"2026-10-27T16:00:00.000Z","region":"tw","skills":["javascript","java","sql","vue","spring","orm","postgresql","sqlserver","oracle","machine-learning","llm","rest"]},{"id":"taiwanjobs:14746969","src":"taiwanjobs","title":"前端工程師","company":"指南動力有限公司","loc":"台北市信義區","url":"https://job.taiwanjobs.gov.tw/Internet/jobwanted/JobDetail.aspx?EMPLOYER_ID=497576&HIRE_ID=14746969","date":"2026-10-27T16:00:00.000Z","region":"tw","skills":["java","sql","vue","spring","machine-learning","llm","erp"]},{"id":"remotive:2091135","src":"remotive","title":"Senior Back-end Developer","company":"Lemon.io","loc":"Europe, USA, Canada, Australia, Singapore, Mexico, Saudi Arabia","url":"https://remotive.com/remote-jobs/software-development/senior-back-end-developer-2091135","date":"2026-10-27T12:56:13.000Z","region":"global","skills":["javascript","typescript","python","java","csharp","cpp","c","go","rust","swift","php","ruby","scala","react","vue","angular","svelte","nextjs","nuxt","nodejs","spring","dotnet","laravel","symfony","ios","android","react-native","flutter","firebase","kubernetes","linux","sre","etl","machine-learning","llm","ai-agents","fine-tuning","ai-coding","mlops","distributed-systems","testing","web3","embedded","gamedev"]},{"id":"taiwanjobs:14089781","src":"taiwanjobs","title":"資訊MIS工程師助理","company":"俊華電子企業股份有限公司","loc":"台北市信義區","url":"https://job.taiwanjobs.gov.tw/Internet/jobwanted/JobDetail.aspx?EMPLOYER_ID=761560&HIRE_ID=14089781","date":"2026-10-26T16:00:00.000Z","region":"tw","salary":{"period":"月薪","min":36000,"max":null},"skills":["network-admin","windows-server","erp"]},{"id":"taiwanjobs:14414493","src":"taiwanjobs","title":"資訊MIS工程師","company":"俊華電子企業股份有限公司","loc":"台北市信義區","url":"https://job.taiwanjobs.gov.tw/Internet/jobwanted/JobDetail.aspx?EMPLOYER_ID=761560&HIRE_ID=14414493","date":"2026-10-26T16:00:00.000Z","region":"tw","salary":{"period":"月薪","min":42000,"max":null},"skills":["network-admin","windows-server","erp"]},{"id":"taiwanjobs:14764797","src":"taiwanjobs","title":"專案經理(非管理職)－資安Team","company":"安源資訊股份有限公司","loc":"台北市內湖區","url":"https://job.taiwanjobs.gov.tw/Internet/jobwanted/JobDetail.aspx?EMPLOYER_ID=294727&HIRE_ID=14764797","date":"2026-10-26T16:00:00.000Z","region":"tw","skills":["network-admin","system-analysis"]},{"id":"remotive:2091134","src":"remotive","title":"Head of Engineering","company":"Lemon.io","loc":"Worldwide","url":"https://remotive.com/remote-jobs/software-development/head-of-engineering-2091134","date":"2026-10-26T12:20:09.000Z","region":"global","skills":["machine-learning"]},{"id":"remoteok:1137572","src":"remoteok","title":"Senior Software Engineer LATAM","company":"Wagmo","loc":"Remote","url":"https://remoteOK.com/remote-jobs/remote-senior-software-engineer-latam-wagmo-1137572","date":"2026-10-26T08:00:06.000Z","region":"global","skills":["typescript","python","react","django","llm","ai-agents","ai-coding"]},{"id":"remoteok:1137571","src":"remoteok","title":"Senior Software Engineer","company":"Klardaten","loc":"Remote","url":"https://remoteOK.com/remote-jobs/remote-senior-software-engineer-klardaten-1137571","date":"2026-10-25T12:34:21.000Z","region":"global","skills":["javascript","typescript","csharp","dotnet","mcp"]},{"id":"remoteok:1137568","src":"remoteok","title":"Solutions Engineer","company":"Onebrief","loc":"Remote","url":"https://remoteOK.com/remote-jobs/remote-solutions-engineer-onebrief-1137568","date":"2026-10-24T00:00:02.000Z","region":"global","skills":["python","go","bash","elasticsearch","aws","azure","gcp","docker","kubernetes","terraform","ansible","linux","prometheus","grafana","datadog","observability","sre","etl","testing","security"]},{"id":"remotive:2091161","src":"remotive","title":"AI Trainer - Video Annotation","company":"iMerit Technology","loc":"Worldwide","url":"https://remotive.com/remote-jobs/artificial-intelligence/ai-trainer-video-annotation-2091161","date":"2026-10-22T18:40:19.000Z","region":"global","skills":["robotics"]},{"id":"remoteok:1137557","src":"remoteok","title":"Senior DevOps Engineer","company":"Lemon.io","loc":"Remote","url":"https://remoteOK.com/remote-jobs/remote-senior-devops-engineer-lemon-io-1137557","date":"2026-10-22T12:58:28.000Z","region":"global","skills":["javascript","typescript","python","java","csharp","cpp","go","rust","swift","php","ruby","scala","sql","bash","react","vue","angular","svelte","nextjs","nuxt","nodejs","spring","dotnet","laravel","symfony","ios","android","react-native","flutter","firebase","aws","azure","gcp","kubernetes","terraform","ansible","linux","sre","etl","machine-learning","llm","ai-agents","ai-coding","mlops","testing","web3","embedded","gamedev"]},{"id":"remoteok:1137551","src":"remoteok","title":"Senior Backend Engineer","company":"DuckDuckGo","loc":"Remote","url":"https://remoteOK.com/remote-jobs/remote-senior-backend-engineer-duckduckgo-1137551","date":"2026-10-21T14:29:21.000Z","region":"global","skills":["javascript","go","nodejs","ios","android","llm","ai-agents","rag","prompt-engineering","dsa"]},{"id":"remoteok:1137545","src":"remoteok","title":"Senior Software Engineer","company":"Sothebyâs","loc":"Remote","url":"https://remoteOK.com/remote-jobs/remote-senior-software-engineer-sothebys-1137545","date":"2026-10-18T19:00:02.000Z","region":"global","skills":["go"]},{"id":"remoteok:1137544","src":"remoteok","title":"Senior Backend Engineer","company":"Rain","loc":"Remote","url":"https://remoteOK.com/remote-jobs/remote-senior-backend-engineer-rain-1137544","date":"2026-10-18T18:00:01.000Z","region":"global","skills":["go"]},{"id":"remotive:2091158","src":"remotive","title":"Software Engineer, AI Coding Tasks","company":"Askable","loc":"Worldwide","url":"https://remotive.com/remote-jobs/software-development/software-engineer-ai-coding-tasks-2091158","date":"2026-10-17T16:04:29.000Z","region":"global","skills":["typescript","python","java","cpp","go","rust","docker","linux","ai-coding","distributed-systems","git","testing","compilers"]},{"id":"remoteok:1137538","src":"remoteok","title":"Software Engineer AI Coding Tasks","company":"Askable","loc":"Remote","url":"https://remoteOK.com/remote-jobs/remote-software-engineer-ai-coding-tasks-askable-1137538","date":"2026-10-17T01:09:20.000Z","region":"global","skills":["javascript","typescript","python","java","cpp","go","rust","docker","linux","ai-coding","distributed-systems","git","testing","compilers"]},{"id":"remoteok:1137534","src":"remoteok","title":"APAC Python","company":"Kodland","loc":"Remote","url":"https://remoteOK.com/remote-jobs/remote-apac-python-kodland-1137534","date":"2026-10-16T16:00:26.000Z","region":"global","skills":["python","testing"]},{"id":"remoteok:1137531","src":"remoteok","title":"Associate Data Scientist","company":"AlgaeCal","loc":"Vancouver","url":"https://remoteOK.com/remote-jobs/remote-associate-data-scientist-algaecal-1137531","date":"2026-10-16T00:00:56.000Z","region":"global","skills":["python","r","sql","flutter","bigquery","etl","machine-learning","dsa"]},{"id":"remoteok:1137527","src":"remoteok","title":"Senior Software Engineer II Applied AI","company":"Wrapbook","loc":"Remote","url":"https://remoteOK.com/remote-jobs/remote-senior-software-engineer-ii-applied-ai-wrapbook-1137527","date":"2026-10-15T16:00:03.000Z","region":"global","skills":["javascript","typescript","python","java","nodejs","aws","observability","llm","ai-agents","rag","prompt-engineering","langchain","security"]},{"id":"hn-hiring:50104234","src":"hn-hiring","title":"Full-stack Engineer (Elixir, Phoenix LiveView, React)","company":"Treat Health","loc":"ONSITE","url":"https://news.ycombinator.com/item?id=50104234","date":"2026-10-15T14:30:58.000Z","region":"global","skills":["typescript","rust","kotlin","swift","elixir","react","tailwind","gcp","cloudflare","llm","ai-agents","ai-coding"]},{"id":"remoteok:1137523","src":"remoteok","title":"Sr REACT NATIVE","company":"Somnio Software","loc":"Remote","url":"https://remoteOK.com/remote-jobs/remote-sr-react-native-somnio-software-1137523","date":"2026-10-15T00:00:19.000Z","region":"global","skills":["javascript","python","c","react","nodejs","react-native","flutter"]},{"id":"hn-hiring:50095921","src":"hn-hiring","title":"Senior Backend Engineer, Medical Data Pipeline (Python + Rust)","company":"NeuralFrame","loc":"REMOTE (US only, US time zones; no visa sponsorship)","url":"https://news.ycombinator.com/item?id=50095921","date":"2026-10-14T21:53:28.000Z","region":"global","skills":["python","rust","sql","postgresql","mongodb","aws","serverless","terraform","github-actions","airflow","etl","testing"]},{"id":"hn-hiring:50095249","src":"hn-hiring","title":"多個職缺（見原文）","company":"3Gimbals","loc":"https://www.linkedin.com/jobs/view/4477632187 (US/Remote)","url":"https://news.ycombinator.com/item?id=50095249","date":"2026-10-14T21:05:06.000Z","region":"global","skills":["typescript","python","sql","react","css","postgresql","aws","llm","rag","prompt-engineering","rest"]},{"id":"remotive:2069746","src":"remotive","title":"Tech Lead Full-Stack Rails Engineer","company":"Mitre Media","loc":"USA, Canada, USA timezones","url":"https://remotive.com/remote-jobs/software-development/tech-lead-full-stack-rails-engineer-2069746","date":"2026-10-14T20:33:44.000Z","region":"global","skills":["javascript","ruby","react","html","css","tailwind","rails","postgresql","mysql","redis","elasticsearch","docker","kubernetes","databricks","machine-learning","llm","langchain","huggingface","inference","nlp","microservices","system-design"]},{"id":"hn-hiring:50090302","src":"hn-hiring","title":"Senior Full Stack Python Developer","company":"GovStar","loc":"Remote (U.S. Eastern/Central Time)","url":"https://news.ycombinator.com/item?id=50090302","date":"2026-10-14T16:26:28.000Z","region":"global","skills":["typescript","python","sql","react","css","postgresql","aws","azure","docker","kubernetes","cicd","gitlab","llm","rag","prompt-engineering","rest"]},{"id":"taiwanjobs:14682673","src":"taiwanjobs","title":"系統設計工程師","company":"中嘉數位股份有限公司","loc":"台北市內湖區","url":"https://job.taiwanjobs.gov.tw/Internet/jobwanted/JobDetail.aspx?EMPLOYER_ID=1081888&HIRE_ID=14682673","date":"2026-10-14T16:00:00.000Z","region":"tw","skills":["java","dotnet","system-design"]},{"id":"remoteok:1137513","src":"remoteok","title":"AI Trainer","company":"iMerit Technology","loc":"US, UK, Canada, Australia + 35 other countries","url":"https://remoteOK.com/remote-jobs/remote-ai-trainer-imerit-technology-1137513","date":"2026-10-14T14:44:21.000Z","region":"global","skills":["robotics"]},{"id":"hn-hiring:50075162","src":"hn-hiring","title":"多個職缺（見原文）","company":"Baserow ( https://baserow.io )","loc":"REMOTE (Europe)","url":"https://news.ycombinator.com/item?id=50075162","date":"2026-10-13T17:11:22.000Z","region":"global","skills":["n8n"]},{"id":"hn-hiring:50071142","src":"hn-hiring","title":"多個職缺（見原文）","company":"Estuary","loc":"US-Based / Remote","url":"https://news.ycombinator.com/item?id=50071142","date":"2026-10-13T13:09:40.000Z","region":"global","skills":["etl","system-analysis"]},{"id":"hn-hiring:50068986","src":"hn-hiring","title":"多個職缺（見原文）","company":"Irash Tech","loc":"REMOTE (Worldwide)","url":"https://news.ycombinator.com/item?id=50068986","date":"2026-10-13T09:31:19.000Z","region":"global","skills":["python","react","nextjs","react-native","llm","rag","n8n"]},{"id":"hn-hiring:50066205","src":"hn-hiring","title":"多個職缺（見原文）","company":"I am iOS developer with 13 years of experience with iOS wor…","loc":"","url":"https://news.ycombinator.com/item?id=50066205","date":"2026-10-13T03:20:57.000Z","region":"global","skills":["ios"]},{"id":"remoteok:1137508","src":"remoteok","title":"Principal Software Engineer","company":"Vytalize Health","loc":"Kansas","url":"https://remoteOK.com/remote-jobs/remote-principal-software-engineer-vytalize-health-1137508","date":"2026-10-13T00:00:18.000Z","region":"global","skills":["python","java","c","go","aws","gcp","docker","kubernetes","terraform","cicd","databricks","etl","microservices","rest","event-driven","distributed-systems","system-design","testing","security","auth","cryptography"]},{"id":"hn-hiring:50063248","src":"hn-hiring","title":"多個職缺（見原文）","company":"Company: esumry.com","loc":"","url":"https://news.ycombinator.com/item?id=50063248","date":"2026-10-12T21:23:04.000Z","region":"global","skills":["aws"]},{"id":"hn-hiring:50063001","src":"hn-hiring","title":"AI Application Engineer + Product Engineer","company":"Typify.dev ( https://typify.dev )","loc":"San Francisco (hybrid / remote available)","url":"https://news.ycombinator.com/item?id=50063001","date":"2026-10-12T21:00:23.000Z","region":"global","skills":["haskell","angular","nestjs","postgresql","llm","rag","mcp","prompt-engineering","fine-tuning","system-design"]},{"id":"hn-hiring:50061040","src":"hn-hiring","title":"多個職缺（見原文）","company":"HiO (hio.ai)","loc":"Remote (US, Eastern hours)","url":"https://news.ycombinator.com/item?id=50061040","date":"2026-10-12T18:51:56.000Z","region":"global","skills":["llm","ai-agents"]},{"id":"hn-hiring:50059584","src":"hn-hiring","title":"AI Engineer Apprentice","company":"StartupHakk","loc":"Remote (UT or ID residents only)","url":"https://news.ycombinator.com/item?id=50059584","date":"2026-10-12T17:17:48.000Z","region":"global","skills":["csharp","sql","react","html","css","dotnet","llm","prompt-engineering"]},{"id":"hn-hiring:50055019","src":"hn-hiring","title":"Founding CTO","company":"General Intelligence Holdings","loc":"REMOTE (UK working-hour overlap preferred)","url":"https://news.ycombinator.com/item?id=50055019","date":"2026-10-12T11:51:09.000Z","region":"global","skills":["llm","ai-agents"]},{"id":"taiwanjobs:14733161","src":"taiwanjobs","title":"駐點資訊助理工程師(11/13中徵)","company":"顯榮國際股份有限公司","loc":"台北市中正區","url":"https://job.taiwanjobs.gov.tw/Internet/jobwanted/JobDetail.aspx?EMPLOYER_ID=528812&HIRE_ID=14733161","date":"2026-10-11T16:00:00.000Z","region":"tw","salary":{"period":"月薪","min":35000,"max":40000},"skills":["network-admin","windows-server"]},{"id":"taiwanjobs:14733193","src":"taiwanjobs","title":"駐點資安維運工程師(11/13中徵)","company":"顯榮國際股份有限公司","loc":"台北市中正區","url":"https://job.taiwanjobs.gov.tw/Internet/jobwanted/JobDetail.aspx?EMPLOYER_ID=528812&HIRE_ID=14733193","date":"2026-10-11T16:00:00.000Z","region":"tw","salary":{"period":"月薪","min":38000,"max":45000},"skills":["network-admin","windows-server","security"]},{"id":"hn-hiring:50033036","src":"hn-hiring","title":"Platform Engineer","company":"Chronograph (chronograph.pe)","loc":"Remote (US)","url":"https://news.ycombinator.com/item?id=50033036","date":"2026-10-10T13:55:55.000Z","region":"global","skills":["ruby","nodejs","rails","postgresql","aws","docker","kubernetes","terraform","nix","github-actions","prometheus","grafana","sre","mlops","security"]},{"id":"remoteok:1137478","src":"remoteok","title":"Product Engineering Lead","company":"Tether Operations Limited","loc":"Remote","url":"https://remoteOK.com/remote-jobs/remote-product-engineering-lead-tether-operations-limited-1137478","date":"2026-10-10T00:00:05.000Z","region":"global","skills":["javascript","react","machine-learning","llm","web3"]},{"id":"hn-hiring:50025234","src":"hn-hiring","title":"多個職缺（見原文）","company":"Location: Bangalore, India (IST, UTC+5:30)","loc":"","url":"https://news.ycombinator.com/item?id=50025234","date":"2026-10-09T19:05:22.000Z","region":"global","skills":["javascript","typescript","react","nextjs","astro","state","nodejs","express","react-native","mongodb","firebase","aws","azure","github-actions","argocd","llm","ai-coding","testing","auth"]},{"id":"hn-hiring:50021883","src":"hn-hiring","title":"多個職缺（見原文）","company":"I lead the A3 Lab at Aarhus University and are hiring a Thr…","loc":"","url":"https://news.ycombinator.com/item?id=50021883","date":"2026-10-09T15:25:40.000Z","region":"global","skills":["python","pytorch"]},{"id":"hn-hiring:50020012","src":"hn-hiring","title":"Staff Full-Stack Engineer, Quality & Delivery","company":"Propel Labs","loc":"Remote (North America hours)","url":"https://news.ycombinator.com/item?id=50020012","date":"2026-10-09T13:12:43.000Z","region":"global","skills":["typescript","python","react","postgresql","aws","serverless","terraform","ai-agents"]},{"id":"remoteok:1137475","src":"remoteok","title":"Senior React Full stack Developer","company":"Lemon.io","loc":"Remote","url":"https://remoteOK.com/remote-jobs/remote-senior-react-full-stack-developer-lemon-io-1137475","date":"2026-10-09T13:09:18.000Z","region":"global","skills":["javascript","typescript","python","java","csharp","cpp","go","rust","swift","php","ruby","scala","react","vue","angular","svelte","nextjs","nuxt","nodejs","spring","dotnet","laravel","symfony","ios","android","react-native","flutter","firebase","aws","azure","gcp","sre","etl","machine-learning","llm","ai-agents","ai-coding","mlops","testing","web3","embedded","gamedev"]},{"id":"hn-hiring:50014023","src":"hn-hiring","title":"iOS Developer, embedded at the UCLA Kasari Lab","company":"SKIES (Visual Choices AAC)","loc":"ONSITE","url":"https://news.ycombinator.com/item?id=50014023","date":"2026-10-08T23:45:00.000Z","region":"global","skills":["ios"]},{"id":"hn-hiring:50012248","src":"hn-hiring","title":"Engineering Manager, Data Platform (NYC, Hybrid)","company":"OneChronos","loc":"","url":"https://news.ycombinator.com/item?id=50012248","date":"2026-10-08T21:04:09.000Z","region":"global","skills":["typescript","python","rust","sql","airflow","etl","distributed-systems"]},{"id":"hn-hiring:50004401","src":"hn-hiring","title":"Lead Platform Engineer","company":"Ojin","loc":"HYBRID (Berlin) or REMOTE (CET ±2h)","url":"https://news.ycombinator.com/item?id=50004401","date":"2026-10-08T11:10:20.000Z","region":"global","skills":["typescript","go","aws","serverless","docker","terraform","cicd","ai-agents","distributed-systems"]},{"id":"hn-hiring:50003866","src":"hn-hiring","title":"Blockchain Security Engineer","company":"ChainSecurity","loc":"INTERNS , HYBRID/REMOTE, Zurich, Switzerland","url":"https://news.ycombinator.com/item?id=50003866","date":"2026-10-08T09:57:33.000Z","region":"global","skills":["linux","distributed-systems","git","security","cryptography","web3"]},{"id":"hn-hiring:50002587","src":"hn-hiring","title":"Platform, DevOps and Observability Engineers (Senior/Staff)","company":"ICEYE","loc":"HYBRID","url":"https://news.ycombinator.com/item?id=50002587","date":"2026-10-08T06:57:42.000Z","region":"global","skills":["python","go","kubernetes","terraform","opentelemetry","observability","sre"]},{"id":"hn-hiring:50001801","src":"hn-hiring","title":"多個職缺（見原文）","company":"NetBird","loc":"Berlin, Germany (or remote, CET/CEST overlap)","url":"https://news.ycombinator.com/item?id=50001801","date":"2026-10-08T04:23:58.000Z","region":"global","skills":["go","ios","android","linux","networking"]},{"id":"hn-hiring:50000038","src":"hn-hiring","title":"Founding Engineer, Founding Design Engineer","company":"Superset (YC P26)","loc":"ONSITE","url":"https://news.ycombinator.com/item?id=50000038","date":"2026-10-07T23:14:15.000Z","region":"global","skills":["typescript","bi","ai-agents","ai-coding","system-design"]},{"id":"hn-hiring:49998400","src":"hn-hiring","title":"多個職缺（見原文）","company":"Cleverbase","loc":"ONSITE (hybrid)","url":"https://news.ycombinator.com/item?id=49998400","date":"2026-10-07T20:30:43.000Z","region":"global","skills":["typescript","java","scala","react","nestjs","orm","postgresql","grpc","e2e","cryptography"]},{"id":"hn-hiring:49997244","src":"hn-hiring","title":"多個職缺（見原文）","company":"LiveKit","loc":"Remote","url":"https://news.ycombinator.com/item?id=49997244","date":"2026-10-07T18:55:51.000Z","region":"global","skills":["websocket"]},{"id":"hn-hiring:49996914","src":"hn-hiring","title":"Senior Software Engineer – Kubernetes / Distributed Systems","company":"Buoyant","loc":"REMOTE – US / Canada / Brazil / Europe (CET-compatible)","url":"https://news.ycombinator.com/item?id=49996914","date":"2026-10-07T18:31:29.000Z","region":"global","skills":["go","rust","kubernetes","grpc","distributed-systems"]},{"id":"hn-hiring:49995549","src":"hn-hiring","title":"AI Engineer","company":"Mastra","loc":"REMOTE (AMER or EMEA time zones)","url":"https://news.ycombinator.com/item?id=49995549","date":"2026-10-07T16:59:27.000Z","region":"global","skills":["typescript","ai-agents","fine-tuning"]},{"id":"hn-hiring:49994263","src":"hn-hiring","title":"Senior Technical Program Manager · Senior Electrical & Firmware Engineer","company":"BREAKFAST Studio (kinetic art)","loc":"ONSITE","url":"https://news.ycombinator.com/item?id=49994263","date":"2026-10-07T15:31:36.000Z","region":"global","skills":["c","linux","embedded","robotics"]},{"id":"hn-hiring:49991656","src":"hn-hiring","title":"多個職缺（見原文）","company":"Flowstate (London, UK) — Founding Engineer — TypeScript / R…","loc":"","url":"https://news.ycombinator.com/item?id=49991656","date":"2026-10-07T12:11:44.000Z","region":"global","skills":["typescript","react","postgresql","llm","ai-coding"]},{"id":"hn-hiring:49987144","src":"hn-hiring","title":"多個職缺（見原文）","company":"Manifest","loc":"REMOTE (US)","url":"https://news.ycombinator.com/item?id=49987144","date":"2026-10-07T02:09:37.000Z","region":"global","skills":["typescript","python","go","nodejs","mongodb","kubernetes","terraform","helm","cicd","security"]},{"id":"hn-hiring:49986633","src":"hn-hiring","title":"Research Engineer","company":"Flow Traders","loc":"","url":"https://news.ycombinator.com/item?id=49986633","date":"2026-10-07T01:12:38.000Z","region":"global","skills":["python","cpp","pandas","machine-learning","pytorch","mlops"]},{"id":"remotive:2091045","src":"remotive","title":"Tier III Service Desk Engineer","company":"Unio Digital","loc":"Worldwide","url":"https://remotive.com/remote-jobs/information-technology/tier-iii-service-desk-engineer-2091045","date":"2026-10-07T01:11:09.000Z","region":"global","skills":["azure","network-admin","windows-server"]},{"id":"hn-hiring:49982803","src":"hn-hiring","title":"Part-time B2B Sales Lead","company":"depproof","loc":"REMOTE (US)","url":"https://news.ycombinator.com/item?id=49982803","date":"2026-10-06T19:20:52.000Z","region":"global","skills":["security"]},{"id":"hn-hiring:49982648","src":"hn-hiring","title":"多個職缺（見原文）","company":"Empower Pharmacy is hiring engineers to work on event-drive…","loc":"","url":"https://news.ycombinator.com/item?id=49982648","date":"2026-10-06T19:06:35.000Z","region":"global","skills":["java","sql","react","nextjs","spring","sqlserver","azure","kubernetes","observability","llm","ai-coding","microservices","event-driven","distributed-systems","system-design"]},{"id":"hn-hiring:49980976","src":"hn-hiring","title":"Sr/Staff Software Engineers, Data Scientist, FDE, PM","company":"Oscilar.com","loc":"REMOTE (US/Canada/Brazil/Poland/UK/India)","url":"https://news.ycombinator.com/item?id=49980976","date":"2026-10-06T16:43:59.000Z","region":"global","skills":["java","machine-learning"]},{"id":"hn-hiring:49980867","src":"hn-hiring","title":"Senior iOS SDK Engineer","company":"Purchasely","loc":"REMOTE (France)","url":"https://news.ycombinator.com/item?id=49980867","date":"2026-10-06T16:36:29.000Z","region":"global","skills":["swift","react","ios","android","react-native","flutter","swiftui","rest"]},{"id":"hn-hiring:49980680","src":"hn-hiring","title":"多個職缺（見原文）","company":"Coder","loc":"","url":"https://news.ycombinator.com/item?id=49980680","date":"2026-10-06T16:20:19.000Z","region":"global","skills":["ai-agents","ai-coding"]},{"id":"taiwanjobs:14728427","src":"taiwanjobs","title":"系統工程師(佈署.DevOps)","company":"指南動力有限公司","loc":"台北市松山區","url":"https://job.taiwanjobs.gov.tw/Internet/jobwanted/JobDetail.aspx?EMPLOYER_ID=497576&HIRE_ID=14728427","date":"2026-10-06T16:00:00.000Z","region":"tw","skills":["bash","aws","kubernetes","cicd","github-actions","jenkins","argocd","linux","grafana","opentelemetry"]},{"id":"hn-hiring:49979600","src":"hn-hiring","title":"Senior Software Engineer – LLVM/Fuzzing/Program Analysis","company":"Quantum Minds","loc":"REMOTE (US)","url":"https://news.ycombinator.com/item?id=49979600","date":"2026-10-06T15:05:39.000Z","region":"global","skills":["python","cpp","c","llm","git","embedded","compilers"]},{"id":"hn-hiring:49978570","src":"hn-hiring","title":"Technical CSMs, Product Managers, AI Research Engineer","company":"PostHog","loc":"REMOTE (all remote)","url":"https://news.ycombinator.com/item?id=49978570","date":"2026-10-06T13:56:06.000Z","region":"global","skills":["clickhouse"]},{"id":"hn-hiring:49976516","src":"hn-hiring","title":"多個職缺（見原文）","company":"Rivian Automotive","loc":"Hybrid","url":"https://news.ycombinator.com/item?id=49976516","date":"2026-10-06T10:23:53.000Z","region":"global","skills":["machine-learning"]},{"id":"hn-hiring:49975827","src":"hn-hiring","title":"Senior Swift Engineer","company":"Pairio ( https://pairio.app )","loc":"REMOTE (Europe)","url":"https://news.ycombinator.com/item?id=49975827","date":"2026-10-06T08:36:46.000Z","region":"global","skills":["swift","rails","ios","swiftui","websocket","cryptography"]},{"id":"hn-hiring:49974107","src":"hn-hiring","title":"Database Internals Engineers, Platform Engineers","company":"ParadeDB (YC S23, https://paradedb.com )","loc":"Remote or hybrid in San Francisco","url":"https://news.ycombinator.com/item?id=49974107","date":"2026-10-06T04:17:56.000Z","region":"global","skills":["go","rust","postgresql","elasticsearch","vector-db","distributed-systems"]},{"id":"hn-hiring:49972736","src":"hn-hiring","title":"Specialist Field Engineers","company":"CoreWeave","loc":"hybrid, 3d/w commute to SF CA, Sunnyvale CA, or Bellevue WA","url":"https://news.ycombinator.com/item?id=49972736","date":"2026-10-06T00:42:59.000Z","region":"global","skills":["aws","kubernetes"]},{"id":"hn-hiring:49972097","src":"hn-hiring","title":"Engineering & Data Science","company":"SentiLink","loc":"REMOTE, HYBRID, and ONSITE (UNITED STATES ONLY)","url":"https://news.ycombinator.com/item?id=49972097","date":"2026-10-05T23:19:50.000Z","region":"global","skills":["python","go","rust","scala","postgresql","redis","kubernetes","terraform","kafka","snowflake","machine-learning","pytorch","scikit-learn","distributed-systems"]},{"id":"hn-hiring:49971729","src":"hn-hiring","title":"Software Engineer & Data Analyst","company":"Early-stage Startup","loc":"REMOTE (US & Canada)","url":"https://news.ycombinator.com/item?id=49971729","date":"2026-10-05T22:31:30.000Z","region":"global","skills":["python","sql","ddd","dsa"]},{"id":"hn-hiring:49969213","src":"hn-hiring","title":"多個職缺（見原文）","company":"FunnelStory","loc":"Remote (India)","url":"https://news.ycombinator.com/item?id=49969213","date":"2026-10-05T19:19:05.000Z","region":"global","skills":["machine-learning"]},{"id":"hn-hiring:49968954","src":"hn-hiring","title":"多個職缺（見原文）","company":"Okta (Auth0)","loc":"","url":"https://news.ycombinator.com/item?id=49968954","date":"2026-10-05T18:58:49.000Z","region":"global","skills":["auth"]},{"id":"hn-hiring:49967489","src":"hn-hiring","title":"Backend Engineers, Sr. Software Engineer (Marketing)","company":"Close","loc":"REMOTE (US)","url":"https://news.ycombinator.com/item?id=49967489","date":"2026-10-05T17:05:50.000Z","region":"global","skills":["python","astro","flask","fastapi","postgresql","mongodb","elasticsearch","vercel","observability","llm","ai-agents","mcp"]},{"id":"hn-hiring:49966852","src":"hn-hiring","title":"多個職缺（見原文）","company":"MaFi Games","loc":"Remote","url":"https://news.ycombinator.com/item?id=49966852","date":"2026-10-05T16:18:23.000Z","region":"global","skills":["csharp","dsa"]},{"id":"hn-hiring:49966427","src":"hn-hiring","title":"多個職缺（見原文）","company":"G-Research","loc":"On-site","url":"https://news.ycombinator.com/item?id=49966427","date":"2026-10-05T15:47:30.000Z","region":"global","skills":["machine-learning","nlp"]},{"id":"hn-hiring:49965012","src":"hn-hiring","title":"Founding Sales","company":"Tenki Cloud by Luxor Tech","loc":"","url":"https://news.ycombinator.com/item?id=49965012","date":"2026-10-05T14:00:02.000Z","region":"global","skills":["github-actions","ai-agents"]},{"id":"hn-hiring:49964448","src":"hn-hiring","title":"Hiring principal and distinguished engineers to build net new products","company":"ALBERT","loc":"REMOTE ALMOST ANYWHERE IN THE WORLD","url":"https://news.ycombinator.com/item?id=49964448","date":"2026-10-05T13:15:08.000Z","region":"global","skills":["python","react","react-native","postgresql"]},{"id":"remoteok:1137465","src":"remoteok","title":"Platform and Integration Engineer Security Telemetry","company":"RedMimicry","loc":"Remote","url":"https://remoteOK.com/remote-jobs/remote-platform-and-integration-engineer-security-telemetry-redmimicry-1137465","date":"2026-10-05T13:00:02.000Z","region":"global","skills":["go","security"]},{"id":"hn-hiring:49964254","src":"hn-hiring","title":"Robotics Software Engineer (Experienced, 3–6 yrs)","company":"Greenzie","loc":"ONSITE/HYBRID","url":"https://news.ycombinator.com/item?id=49964254","date":"2026-10-05T12:57:25.000Z","region":"global","skills":["python","cpp","robotics"]},{"id":"hn-hiring:49963937","src":"hn-hiring","title":"DevOps Engineer, Senior Frontend Developer","company":"Rentman","loc":"HYBRID","url":"https://news.ycombinator.com/item?id=49963937","date":"2026-10-05T12:25:01.000Z","region":"global","skills":["angular","aws","kubernetes","terraform","cicd","observability"]},{"id":"hn-hiring:49963906","src":"hn-hiring","title":"Software Engineer","company":"InfoHawk","loc":"HYBRID (UK or US), occasional onsite","url":"https://news.ycombinator.com/item?id=49963906","date":"2026-10-05T12:22:10.000Z","region":"global","skills":["typescript","svelte","nodejs","postgresql","ai-coding","e2e"]},{"id":"hn-hiring:49963332","src":"hn-hiring","title":"AI Engineer (Agentic Systems)","company":"Axmed","loc":"REMOTE (preferred CET ±2: Spain, UK, Poland, Romania)","url":"https://news.ycombinator.com/item?id=49963332","date":"2026-10-05T11:08:51.000Z","region":"global","skills":["python","cicd","llm","ai-agents","langchain"]},{"id":"hn-hiring:49962303","src":"hn-hiring","title":"Co-founder & CTO","company":"Elman (Deep Science Ventures)","loc":"London, UK-based preferred / REMOTE considered","url":"https://news.ycombinator.com/item?id=49962303","date":"2026-10-05T08:54:10.000Z","region":"global","skills":["llm"]},{"id":"hn-hiring:49962075","src":"hn-hiring","title":"Senior Product Engineer","company":"Revieve Oy","loc":"REMOTE [Europe / (GMT+2)]","url":"https://news.ycombinator.com/item?id=49962075","date":"2026-10-05T08:17:54.000Z","region":"global","skills":["typescript","react","llm","ai-agents","mcp","ai-coding"]},{"id":"hn-hiring:49962002","src":"hn-hiring","title":"Software Engineer, AI Platform","company":"SingleStore","loc":"Full Time, Remote India","url":"https://news.ycombinator.com/item?id=49962002","date":"2026-10-05T08:08:30.000Z","region":"global","skills":["python","go","sql","kubernetes","observability","machine-learning","ai-agents","rag","mcp","vector-db","distributed-systems"]},{"id":"hn-hiring:49961551","src":"hn-hiring","title":"AI Engineer (£30/hr) and Senior AI Engineer (£50/hr)","company":"AssumeAI","loc":"REMOTE (UK)","url":"https://news.ycombinator.com/item?id=49961551","date":"2026-10-05T07:01:46.000Z","region":"global","skills":["javascript","python","sql","bash","html","css","supabase","vercel","llm","ai-agents","agent-skills","vector-db","ai-coding","git"]},{"id":"hn-hiring:49961408","src":"hn-hiring","title":"Founding Engineer, Forward Deployed (full-stack)","company":"Opaxa","loc":"San Francisco Bay Area preferred, REMOTE (US) considered","url":"https://news.ycombinator.com/item?id=49961408","date":"2026-10-05T06:41:33.000Z","region":"global","skills":["typescript","python","react","postgresql","aws"]},{"id":"hn-hiring:49956481","src":"hn-hiring","title":"Rust Engineers (Backend, Infrastructure, Security)","company":"Footprint","loc":"ONSITE","url":"https://news.ycombinator.com/item?id=49956481","date":"2026-10-04T18:25:30.000Z","region":"global","skills":["rust","postgresql","aws","terraform","datadog","opentelemetry","observability"]},{"id":"hn-hiring:49951635","src":"hn-hiring","title":"Head of Engineering (founding-level)","company":"Pond AI","loc":"Onsite","url":"https://news.ycombinator.com/item?id=49951635","date":"2026-10-04T07:52:17.000Z","region":"global","skills":["typescript","python","llm","ai-agents","mcp"]},{"id":"hn-hiring:49946276","src":"hn-hiring","title":"多個職缺（見原文）","company":"Mattermost","loc":"Remote (US and Canada)","url":"https://news.ycombinator.com/item?id=49946276","date":"2026-10-03T17:52:07.000Z","region":"global","skills":["typescript","go","react","postgresql","redis","networking","llm","ai-agents","ai-coding","rest","websocket","distributed-systems"]},{"id":"hn-hiring:49945738","src":"hn-hiring","title":"Senior Software Engineer - AI Foundations","company":"Kraken Tech","loc":"London, Paris, Berlin, Tokyo, New York, Remote","url":"https://news.ycombinator.com/item?id=49945738","date":"2026-10-03T16:40:47.000Z","region":"global","skills":["machine-learning","llm"]},{"id":"hn-hiring:49945634","src":"hn-hiring","title":"多個職缺（見原文）","company":"Location: Dubrovnik, Croatia (CET)","loc":"","url":"https://news.ycombinator.com/item?id=49945634","date":"2026-10-03T16:29:34.000Z","region":"global","skills":["typescript","react","nextjs","tailwind","nodejs","express","orm","postgresql","supabase","docker","github-actions","llm","rag","testing","e2e","auth"]},{"id":"hn-hiring:49945147","src":"hn-hiring","title":"Senior Fullstack Engineer","company":"Ripple","loc":"Hybrid","url":"https://news.ycombinator.com/item?id=49945147","date":"2026-10-03T15:30:42.000Z","region":"global","skills":["ruby","react","postgresql","aws"]},{"id":"hn-hiring:49943713","src":"hn-hiring","title":"多個職缺（見原文）","company":"GC AI","loc":"REMOTE (US/Canada)","url":"https://news.ycombinator.com/item?id=49943713","date":"2026-10-03T12:32:42.000Z","region":"global","skills":["javascript","typescript","react","machine-learning","llm","rag"]},{"id":"hn-hiring:49940381","src":"hn-hiring","title":"Various Software Engineering Roles","company":"Prophet Town LLC","loc":"US – Remote and Hybrid","url":"https://news.ycombinator.com/item?id=49940381","date":"2026-10-03T00:54:01.000Z","region":"global","skills":["javascript","typescript","python","ruby","react","nextjs","rails","llm","ai-agents","ai-coding","erp"]},{"id":"hn-hiring:49940125","src":"hn-hiring","title":"多個職缺（見原文）","company":"Role: UX/UI Designer (BAY AREA, CA - HYBRID) 1099 CONTRACT","loc":"","url":"https://news.ycombinator.com/item?id=49940125","date":"2026-10-03T00:05:32.000Z","region":"global","skills":["tailwind","design-system","android"]},{"id":"hn-hiring:49939371","src":"hn-hiring","title":"Software engineers (backend and generalist product engineers, founding recruiter)","company":"New Lantern","loc":"Full time in San Francisco, CA (ONSITE)","url":"https://news.ycombinator.com/item?id=49939371","date":"2026-10-02T22:25:20.000Z","region":"global","skills":["llm"]},{"id":"hn-hiring:49939260","src":"hn-hiring","title":"Growth Marketing Engineer (AI-First)","company":"Privy.pro","loc":"REMOTE (Americas: US or LatAm)","url":"https://news.ycombinator.com/item?id=49939260","date":"2026-10-02T22:11:43.000Z","region":"global","skills":["llm","ai-coding"]},{"id":"hn-hiring:49939047","src":"hn-hiring","title":"Senior Mobile Developer (iOS)","company":"Perry Street Software","loc":"Remote (North America / LatAm)","url":"https://news.ycombinator.com/item?id=49939047","date":"2026-10-02T21:51:03.000Z","region":"global","skills":["kotlin","swift","ios","android","swiftui","ddd"]},{"id":"hn-hiring:49937835","src":"hn-hiring","title":"多個職缺（見原文）","company":"Middesk","loc":"Hybrid","url":"https://news.ycombinator.com/item?id=49937835","date":"2026-10-02T19:53:53.000Z","region":"global","skills":["ai-agents"]},{"id":"hn-hiring:49937789","src":"hn-hiring","title":"Principal Software Engineer (Java)","company":"Tivly","loc":"[REMOTE (US) only currently residing in: Alabama, Florida,…","url":"https://news.ycombinator.com/item?id=49937789","date":"2026-10-02T19:50:44.000Z","region":"global","skills":["java","spring","postgresql","aws","kafka","microservices","distributed-systems"]},{"id":"hn-hiring:49937360","src":"hn-hiring","title":"多個職缺（見原文）","company":"Software Engineer — Remote — US Only","loc":"","url":"https://news.ycombinator.com/item?id=49937360","date":"2026-10-02T19:15:41.000Z","region":"global","skills":["typescript","python","java","react","nodejs","dotnet"]},{"id":"hn-hiring:49937104","src":"hn-hiring","title":"Embedded Software Engineer","company":"Paradromics","loc":"Onsite","url":"https://news.ycombinator.com/item?id=49937104","date":"2026-10-02T18:49:35.000Z","region":"global","skills":["typescript","rust","bash","linux","machine-learning","embedded"]},{"id":"hn-hiring:49937058","src":"hn-hiring","title":"Software Engineers (C++, Python)","company":"Vola Dynamics","loc":"HYBRID","url":"https://news.ycombinator.com/item?id=49937058","date":"2026-10-02T18:44:13.000Z","region":"global","skills":["python","java","csharp","cpp"]},{"id":"hn-hiring:49936893","src":"hn-hiring","title":"多個職缺（見原文）","company":"ClickHouse","loc":"Remote","url":"https://news.ycombinator.com/item?id=49936893","date":"2026-10-02T18:30:07.000Z","region":"global","skills":["clickhouse"]},{"id":"hn-hiring:49936718","src":"hn-hiring","title":"多個職缺（見原文）","company":"K2 Space","loc":"ONSITE","url":"https://news.ycombinator.com/item?id=49936718","date":"2026-10-02T18:13:45.000Z","region":"global","skills":["rust"]},{"id":"hn-hiring:49936182","src":"hn-hiring","title":"多個職缺（見原文）","company":"Oklo","loc":"Remote (US) or Santa Clara or Brooklyn","url":"https://news.ycombinator.com/item?id=49936182","date":"2026-10-02T17:31:35.000Z","region":"global","skills":["machine-learning"]},{"id":"hn-hiring:49935697","src":"hn-hiring","title":"(Founding) AI Systems Engineer","company":"Charly","loc":"On-site Berlin","url":"https://news.ycombinator.com/item?id=49935697","date":"2026-10-02T16:48:26.000Z","region":"global","skills":["ai-agents"]},{"id":"hn-hiring:49935497","src":"hn-hiring","title":"Technical PM, ML Infra, Research Scientist/Engineer, Backend, Full Stack","company":"Prior Labs","loc":"ONSITE","url":"https://news.ycombinator.com/item?id=49935497","date":"2026-10-02T16:34:45.000Z","region":"global","skills":["typescript","python","react","fastapi","postgresql","gcp","kubernetes","terraform","machine-learning","llm","mlops","erp"]},{"id":"hn-hiring:49935441","src":"hn-hiring","title":"Senior Software Engineer, Backend / Product","company":"meetyogi.com","loc":"Hybrid NYC","url":"https://news.ycombinator.com/item?id=49935441","date":"2026-10-02T16:30:25.000Z","region":"global","skills":["typescript","python","fastapi","postgresql","clickhouse","airflow","ai-agents","system-design"]},{"id":"hn-hiring:49935210","src":"hn-hiring","title":"Senior AI Engineer","company":"ML6","loc":"Amsterdam, Berlin, Munich, Eindhoven, Ghent (EU) On-site/hy…","url":"https://news.ycombinator.com/item?id=49935210","date":"2026-10-02T16:14:06.000Z","region":"global","skills":["python","aws","azure","gcp","etl","machine-learning","llm","pytorch","tensorflow","huggingface"]},{"id":"hn-hiring:49935083","src":"hn-hiring","title":"AI Scientist (Staff, Senior)","company":"Tempus AI","loc":"REMOTE (US)","url":"https://news.ycombinator.com/item?id=49935083","date":"2026-10-02T16:04:04.000Z","region":"global","skills":["llm"]},{"id":"hn-hiring:49935001","src":"hn-hiring","title":"多個職缺（見原文）","company":"Somana","loc":"Hybrid","url":"https://news.ycombinator.com/item?id=49935001","date":"2026-10-02T15:58:21.000Z","region":"global","skills":["react","machine-learning"]},{"id":"hn-hiring:49934993","src":"hn-hiring","title":"多個職缺（見原文）","company":"At Tether ( https://tether.io/ ) we're hiring! We envision…","loc":"","url":"https://news.ycombinator.com/item?id=49934993","date":"2026-10-02T15:57:51.000Z","region":"global","skills":["ai-agents","inference"]},{"id":"hn-hiring:49934638","src":"hn-hiring","title":"Forward Deployed Engineers","company":"Fredrin","loc":"REMOTE","url":"https://news.ycombinator.com/item?id=49934638","date":"2026-10-02T15:30:52.000Z","region":"global","skills":["typescript","cicd","ai-agents","ai-coding","git","agile"]},{"id":"hn-hiring:49934530","src":"hn-hiring","title":"Software Engineers (Product, Applied AI, ML Infra, Data Platform)","company":"Rebar","loc":"ONSITE 5 days/week, New York City (union square area!)","url":"https://news.ycombinator.com/item?id=49934530","date":"2026-10-02T15:21:04.000Z","region":"global","skills":["typescript","python","react","nextjs","postgresql","aws","kubernetes","machine-learning","ai-agents","pytorch","mlops"]},{"id":"hn-hiring:49934114","src":"hn-hiring","title":"多個職缺（見原文）","company":"Founding Engineer (Security / AI / Distributed Systems) — S…","loc":"","url":"https://news.ycombinator.com/item?id=49934114","date":"2026-10-02T14:46:57.000Z","region":"global","skills":["webassembly","ebpf","llm","ai-agents","grpc","event-driven","distributed-systems","web3"]},{"id":"hn-hiring:49933969","src":"hn-hiring","title":"Senior Fullstack Engineer / Engineering Manager Americas","company":"HIFI Labs ( https://hifilabs.co )","loc":"San Francisco / Remote (PST)","url":"https://news.ycombinator.com/item?id=49933969","date":"2026-10-02T14:31:25.000Z","region":"global","skills":["typescript","react","nextjs","react-native","firebase","gcp","cloudflare"]},{"id":"hn-hiring:49933507","src":"hn-hiring","title":"多個職缺（見原文）","company":"AREO","loc":"On-site in Bremen, Germany","url":"https://news.ycombinator.com/item?id=49933507","date":"2026-10-02T13:49:59.000Z","region":"global","skills":["robotics"]},{"id":"hn-hiring:49933483","src":"hn-hiring","title":"Staff Machine Learning Engineer","company":"Estee Lauder Companies","loc":"Hybrid","url":"https://news.ycombinator.com/item?id=49933483","date":"2026-10-02T13:48:18.000Z","region":"global","skills":["machine-learning","ai-agents"]},{"id":"hn-hiring:49933080","src":"hn-hiring","title":"多個職缺（見原文）","company":"TELEKIN","loc":"ONSITE","url":"https://news.ycombinator.com/item?id=49933080","date":"2026-10-02T13:01:32.000Z","region":"global","skills":["robotics"]},{"id":"hn-hiring:49933038","src":"hn-hiring","title":"Full Stack Developer (Java + Angular/React)","company":"Avision GmbH","loc":"Remote (Germany)","url":"https://news.ycombinator.com/item?id=49933038","date":"2026-10-02T12:57:34.000Z","region":"global","skills":["java","sql","react","angular","spring","postgresql","docker","kubernetes","cicd","gitlab","linux","kafka"]},{"id":"hn-hiring:49932525","src":"hn-hiring","title":"Senior Software Engineer (Dev Platform)","company":"Proxima Fusion","loc":"ONSITE","url":"https://news.ycombinator.com/item?id=49932525","date":"2026-10-02T12:01:38.000Z","region":"global","skills":["python","kubernetes","terraform","cicd","linux","observability"]},{"id":"hn-hiring:49932264","src":"hn-hiring","title":"多個職缺（見原文）","company":"Flok Health","loc":"ONSITE","url":"https://news.ycombinator.com/item?id=49932264","date":"2026-10-02T11:24:13.000Z","region":"global","skills":["typescript","python","rust","websocket"]},{"id":"hn-hiring:49931746","src":"hn-hiring","title":"Product Engineer (Product Manager role, not a Full-stack role)","company":"Search Atlas","loc":"REMOTE (anywhere, EST hours)","url":"https://news.ycombinator.com/item?id=49931746","date":"2026-10-02T10:00:32.000Z","region":"global","skills":["python","sql","react","django","postgresql","llm","ai-coding","testing"]},{"id":"hn-hiring:49931740","src":"hn-hiring","title":"Data Scientist, Classification and Scoring","company":"Lokker.com","loc":"REMOTE: North America / Europe, UTC-8 to UTC+2","url":"https://news.ycombinator.com/item?id=49931740","date":"2026-10-02T10:00:05.000Z","region":"global","skills":["python","sql","pandas","machine-learning","llm","scikit-learn"]},{"id":"hn-hiring:49931475","src":"hn-hiring","title":"多個職缺（見原文）","company":"Jobstash.xyz is a job aggregator with 17000+ open vacancies…","loc":"","url":"https://news.ycombinator.com/item?id=49931475","date":"2026-10-02T09:16:21.000Z","region":"global","skills":["robotics"]},{"id":"hn-hiring:49931382","src":"hn-hiring","title":"Senior Data Scientist","company":"Applandeo","loc":"Remote (Poland) or Cracow","url":"https://news.ycombinator.com/item?id=49931382","date":"2026-10-02T09:04:12.000Z","region":"global","skills":["python","sql","gcp","bigquery","machine-learning","mlops"]},{"id":"hn-hiring:49931051","src":"hn-hiring","title":"Engineering Manager, Applied AI","company":"JUPUS","loc":"REMOTE (CET ±2)","url":"https://news.ycombinator.com/item?id=49931051","date":"2026-10-02T08:09:37.000Z","region":"global","skills":["ai-agents"]},{"id":"hn-hiring:49931033","src":"hn-hiring","title":"多個職缺（見原文）","company":"PlantingSpace","loc":"Remote (EU time zone) + Quarterly Meet-ups","url":"https://news.ycombinator.com/item?id=49931033","date":"2026-10-02T08:06:14.000Z","region":"global","skills":["system-analysis"]},{"id":"hn-hiring:49930919","src":"hn-hiring","title":"Senior Full-Stack Engineer","company":"eventfirst","loc":"REMOTE (CET)","url":"https://news.ycombinator.com/item?id=49930919","date":"2026-10-02T07:48:10.000Z","region":"global","skills":["typescript","react","nextjs","tailwind","orm","vercel","ai-agents","ai-coding"]},{"id":"hn-hiring:49930868","src":"hn-hiring","title":"Senior Product Engineer (Laravel); Technical Support Engineer","company":"Hospitable","loc":"REMOTE (EU / US up to East Coast)","url":"https://news.ycombinator.com/item?id=49930868","date":"2026-10-02T07:39:42.000Z","region":"global","skills":["php","angular","laravel","mysql","ai-agents","ai-coding"]},{"id":"hn-hiring:49930656","src":"hn-hiring","title":"Senior Java, C#, React & Calypso engineers, Calypso BA/PO","company":"Vistulo","loc":"REMOTE (Poland or Romania)","url":"https://news.ycombinator.com/item?id=49930656","date":"2026-10-02T07:09:22.000Z","region":"global","skills":["typescript","java","csharp","react","dotnet","event-driven","distributed-systems"]},{"id":"hn-hiring:49930568","src":"hn-hiring","title":"Technical Content & Community Lead","company":"Enclave","loc":"REMOTE (UK)","url":"https://news.ycombinator.com/item?id=49930568","date":"2026-10-02T06:55:49.000Z","region":"global","skills":["security"]},{"id":"hn-hiring:49930478","src":"hn-hiring","title":"Senior Product Engineers (AI)","company":"neoshare","loc":"HYBRID (3+ days/week onsite)","url":"https://news.ycombinator.com/item?id=49930478","date":"2026-10-02T06:38:55.000Z","region":"global","skills":["llm"]},{"id":"hn-hiring:49930260","src":"hn-hiring","title":"full-stack, frontend, backend, infra design, and ai research","company":"lovable","loc":"","url":"https://news.ycombinator.com/item?id=49930260","date":"2026-10-02T06:01:55.000Z","region":"global","skills":["ai-agents"]},{"id":"hn-hiring:49930066","src":"hn-hiring","title":"多個職缺（見原文）","company":"Runway","loc":"Remote (see below)","url":"https://news.ycombinator.com/item?id=49930066","date":"2026-10-02T05:16:41.000Z","region":"global","skills":["robotics"]},{"id":"hn-hiring:49929798","src":"hn-hiring","title":"Founding Engineer","company":"Tahoma AI","loc":"Austin, TX or Seattle, WA (ONSITE optional)","url":"https://news.ycombinator.com/item?id=49929798","date":"2026-10-02T04:18:30.000Z","region":"global","skills":["typescript","nodejs","postgresql","aws","azure","kubernetes","observability","llm","ai-agents","e2e"]},{"id":"hn-hiring:49929664","src":"hn-hiring","title":"Early Engineer","company":"AI x Healthcare Startup","loc":"Boston, MA Onsite","url":"https://news.ycombinator.com/item?id=49929664","date":"2026-10-02T03:54:13.000Z","region":"global","skills":["rust","react","aws","kubernetes","llm","ai-agents"]},{"id":"hn-hiring:49929657","src":"hn-hiring","title":"basically all forms of engineering (front-end / back-end / infra)","company":"typesafe ai","loc":"ONSITE in SF","url":"https://news.ycombinator.com/item?id=49929657","date":"2026-10-02T03:53:23.000Z","region":"global","skills":["decision-models"]},{"id":"hn-hiring:49929655","src":"hn-hiring","title":"多個職缺（見原文）","company":"Wake Up Call Service","loc":"Remote","url":"https://news.ycombinator.com/item?id=49929655","date":"2026-10-02T03:52:50.000Z","region":"global","skills":["ios","android"]},{"id":"hn-hiring:49929563","src":"hn-hiring","title":"Software Engineer","company":"Stoke Space","loc":"ONSITE in Seattle, WA / Moses Lake, WA / Cape Canaveral, FL","url":"https://news.ycombinator.com/item?id=49929563","date":"2026-10-02T03:31:38.000Z","region":"global","skills":["typescript","rust","svelte","webassembly","embedded"]},{"id":"hn-hiring:49929553","src":"hn-hiring","title":"Senior Backend Software Engineer","company":"Hiya","loc":"HYBRID (3 days/week in office)","url":"https://news.ycombinator.com/item?id=49929553","date":"2026-10-02T03:28:39.000Z","region":"global","skills":["typescript","python","nodejs","aws","docker","kubernetes","terraform","helm","event-driven"]},{"id":"hn-hiring:49929522","src":"hn-hiring","title":"Staff/Principal Software Engineer (Full-Stack, AI, Backend, Platform)","company":"Seeq","loc":"REMOTE (Some crossover w/ PST required)","url":"https://news.ycombinator.com/item?id=49929522","date":"2026-10-02T03:21:00.000Z","region":"global","skills":["python","java","react","postgresql","machine-learning","llm","rag"]},{"id":"hn-hiring:49929510","src":"hn-hiring","title":"Founding Engineer","company":"Fig","loc":"ONSITE (hybrid)","url":"https://news.ycombinator.com/item?id=49929510","date":"2026-10-02T03:17:51.000Z","region":"global","skills":["ai-agents"]},{"id":"hn-hiring:49929352","src":"hn-hiring","title":"Full time, interns/co-ops","company":"Stellar Science","loc":"Hybrid (USA) Albuquerque NM, Washington DC (Tysons VA), Day…","url":"https://news.ycombinator.com/item?id=49929352","date":"2026-10-02T02:41:47.000Z","region":"global","skills":["typescript","python","java","cpp","react","jenkins","linux","machine-learning","inference","computer-vision","git"]},{"id":"hn-hiring:49929283","src":"hn-hiring","title":"Software Engineer (Staff+ level)","company":"Anthropic","loc":"US incl Remote + Canada + Ireland + UK + Switzerland + Japan","url":"https://news.ycombinator.com/item?id=49929283","date":"2026-10-02T02:26:47.000Z","region":"global","skills":["llm"]},{"id":"hn-hiring:49929264","src":"hn-hiring","title":"Software Engineers, Senior Research Engineer","company":"CVector","loc":"ONSITE","url":"https://news.ycombinator.com/item?id=49929264","date":"2026-10-02T02:23:46.000Z","region":"global","skills":["typescript","python","react","fastapi","postgresql","supabase","aws","machine-learning","ai-agents"]},{"id":"hn-hiring:49929235","src":"hn-hiring","title":"Software Engineers (SRE, ML, backend, full-stack, mobile, security, QA)","company":"Radar Labs","loc":"Remote (US), NYC","url":"https://news.ycombinator.com/item?id=49929235","date":"2026-10-02T02:16:20.000Z","region":"global","skills":["typescript","python","rust","scala","ios","android","aws","kubernetes","terraform","sre","machine-learning","mcp","testing"]},{"id":"hn-hiring:49929200","src":"hn-hiring","title":"Junior to Senior Fullstack Engineer multiple positions","company":"SerpApi","loc":"Based in Austin, TX but remote-first structure","url":"https://news.ycombinator.com/item?id=49929200","date":"2026-10-02T02:10:21.000Z","region":"global","skills":["javascript","python","csharp","rust","kotlin","php","ruby","elixir","react","rails","mongodb","cicd"]},{"id":"hn-hiring:49928997","src":"hn-hiring","title":"Platform Systems Engineers","company":"BCC","loc":"","url":"https://news.ycombinator.com/item?id=49928997","date":"2026-10-02T01:35:26.000Z","region":"global","skills":["python","cpp","kubernetes","gitlab","argocd","linux","kafka"]},{"id":"hn-hiring:49928826","src":"hn-hiring","title":"多個職缺（見原文）","company":"CoVar","loc":"HYBRID (3 days in office per week)","url":"https://news.ycombinator.com/item?id=49928826","date":"2026-10-02T01:05:51.000Z","region":"global","skills":["python","machine-learning","computer-vision"]},{"id":"hn-hiring:49928755","src":"hn-hiring","title":"Principal Software Engineer, Senior Java Engineers, Account Executive, Customer Support Manager","company":"FusionAuth","loc":"Varies between REMOTE (in USA, also in Europe but only for…","url":"https://news.ycombinator.com/item?id=49928755","date":"2026-10-02T00:56:59.000Z","region":"global","skills":["java","postgresql","mysql","docker","kubernetes","system-analysis","auth"]},{"id":"hn-hiring:49928677","src":"hn-hiring","title":"Rust Systems Engineer, Browser Security","company":"Datamint","loc":"Remote (Global)","url":"https://news.ycombinator.com/item?id=49928677","date":"2026-10-02T00:44:27.000Z","region":"global","skills":["typescript","python","rust","react","nextjs","html","web-graphics","postgresql","sqlite","cloudflare","linux","networking","etl","llm","ai-agents","mcp","e2e","cryptography"]},{"id":"hn-hiring:49928430","src":"hn-hiring","title":"Software Engineer (early team)","company":"CABLE","loc":"Sydney, Australia (ON-SITE)","url":"https://news.ycombinator.com/item?id=49928430","date":"2026-10-02T00:03:55.000Z","region":"global","skills":["typescript","react","postgresql","serverless","ai-agents","ai-coding","system-design"]},{"id":"hn-hiring:49928396","src":"hn-hiring","title":"MTS, Forward Deployed Engineer + more","company":"ARTIFICIAL ANALYSIS","loc":"San Francisco, CA (ON-SITE, 5 days) or Melbourne, Australia…","url":"https://news.ycombinator.com/item?id=49928396","date":"2026-10-01T23:57:26.000Z","region":"global","skills":["serverless","machine-learning","llm","robotics"]},{"id":"hn-hiring:49928358","src":"hn-hiring","title":"Engineer","company":"Qualcomm","loc":"Remote(Canada)","url":"https://news.ycombinator.com/item?id=49928358","date":"2026-10-01T23:53:15.000Z","region":"global","skills":["cpp","c","rust","android","linux","compilers"]},{"id":"hn-hiring:49928334","src":"hn-hiring","title":"多個職缺（見原文）","company":"Kaavio","loc":"REMOTE (US or Canada)","url":"https://news.ycombinator.com/item?id=49928334","date":"2026-10-01T23:48:05.000Z","region":"global","skills":["rag"]},{"id":"hn-hiring:49928066","src":"hn-hiring","title":"Senior Software Engineer (Full-stack TypeScript)","company":"All Gravy","loc":"REMOTE (European time zones) or ONSITE","url":"https://news.ycombinator.com/item?id=49928066","date":"2026-10-01T23:01:24.000Z","region":"global","skills":["typescript","react","nodejs","nestjs","react-native","mongodb","distributed-systems"]},{"id":"hn-hiring:49927984","src":"hn-hiring","title":"SWE, Tech Lead, ML Engineer, Product Manager, Product Marketing Manager","company":"Sourcegraph","loc":"Remote","url":"https://news.ycombinator.com/item?id=49927984","date":"2026-10-01T22:51:25.000Z","region":"global","skills":["machine-learning","ai-agents","mcp"]},{"id":"hn-hiring:49927917","src":"hn-hiring","title":"多個職缺（見原文）","company":"Workday","loc":"ONSITE","url":"https://news.ycombinator.com/item?id=49927917","date":"2026-10-01T22:42:18.000Z","region":"global","skills":["llm","ai-agents","mcp","ai-coding"]},{"id":"hn-hiring:49927692","src":"hn-hiring","title":"Software Engineer","company":"RINSE","loc":"REMOTE (US or Canada) or San Francisco, Los Angeles, Chicag…","url":"https://news.ycombinator.com/item?id=49927692","date":"2026-10-01T22:15:50.000Z","region":"global","skills":["typescript","python","react","css","django","react-native","postgresql","mcp","computer-vision"]},{"id":"hn-hiring:49927464","src":"hn-hiring","title":"1x Founding Infrastructure Engineer","company":"VLM Run ( https://vlm.run )","loc":"","url":"https://news.ycombinator.com/item?id=49927464","date":"2026-10-01T21:49:14.000Z","region":"global","skills":["serverless","kubernetes","machine-learning","llm","mlops","robotics"]},{"id":"hn-hiring:49927351","src":"hn-hiring","title":"Calibration Engineer","company":"Tangram Vision","loc":"Remote (US preferred)","url":"https://news.ycombinator.com/item?id=49927351","date":"2026-10-01T21:36:30.000Z","region":"global","skills":["robotics"]},{"id":"hn-hiring:49927319","src":"hn-hiring","title":"多個職缺（見原文）","company":"Sumble","loc":"Remote (US)","url":"https://news.ycombinator.com/item?id=49927319","date":"2026-10-01T21:31:57.000Z","region":"global","skills":["snowflake","llm"]},{"id":"hn-hiring:49927291","src":"hn-hiring","title":"多個職缺（見原文）","company":"Hiring for several roles at StudyTurtle, an edutainment bra…","loc":"","url":"https://news.ycombinator.com/item?id=49927291","date":"2026-10-01T21:29:17.000Z","region":"global","skills":["prompt-engineering","computer-vision"]},{"id":"hn-hiring:49927265","src":"hn-hiring","title":"多個職缺（見原文）","company":"Portswigger","loc":"Onsite","url":"https://news.ycombinator.com/item?id=49927265","date":"2026-10-01T21:26:47.000Z","region":"global","skills":["ai-agents"]},{"id":"hn-hiring:49927158","src":"hn-hiring","title":"Senior Software Engineer (Rust, Python, C, Embedded Linux)","company":"Veo Technologies","loc":"ONSITE","url":"https://news.ycombinator.com/item?id=49927158","date":"2026-10-01T21:13:52.000Z","region":"global","skills":["python","rust","aws","nix","github-actions","linux","grafana","opentelemetry","rest","grpc","embedded"]},{"id":"hn-hiring:49927132","src":"hn-hiring","title":"多個職缺（見原文）","company":"Komodo Health","loc":"SF/NYC On-site / Remote US","url":"https://news.ycombinator.com/item?id=49927132","date":"2026-10-01T21:10:52.000Z","region":"global","skills":["ai-coding"]},{"id":"hn-hiring:49927073","src":"hn-hiring","title":"多個職缺（見原文）","company":"MONUMENTAL","loc":"Onsite","url":"https://news.ycombinator.com/item?id=49927073","date":"2026-10-01T21:04:56.000Z","region":"global","skills":["react","embedded","robotics"]},{"id":"hn-hiring:49926951","src":"hn-hiring","title":"Senior Full Stack Engineer","company":"Postscript","loc":"REMOTE (US or Canada)","url":"https://news.ycombinator.com/item?id=49926951","date":"2026-10-01T20:52:11.000Z","region":"global","skills":["rust"]},{"id":"hn-hiring:49926872","src":"hn-hiring","title":"多個職缺（見原文）","company":"Cardog","loc":"ONSITE, HYBRID, REMOTE (role-dependent)","url":"https://news.ycombinator.com/item?id=49926872","date":"2026-10-01T20:45:24.000Z","region":"global","skills":["typescript","rust","sql","react","nextjs","tailwind","design-system","postgresql","embedded"]},{"id":"hn-hiring:49926811","src":"hn-hiring","title":"Senior Backend Software Engineer","company":"KSC Trading","loc":"Remote","url":"https://news.ycombinator.com/item?id=49926811","date":"2026-10-01T20:39:35.000Z","region":"global","skills":["java","postgresql","gcp"]},{"id":"hn-hiring:49926771","src":"hn-hiring","title":"多個職缺（見原文）","company":"Innolitics","loc":"Remote","url":"https://news.ycombinator.com/item?id=49926771","date":"2026-10-01T20:36:33.000Z","region":"global","skills":["security"]},{"id":"hn-hiring:49926511","src":"hn-hiring","title":"Staff Product Engineer, Enterprise AI","company":"Mozilla / Thunderbird / Thunderbolt","loc":"REMOTE (US or Canada)","url":"https://news.ycombinator.com/item?id=49926511","date":"2026-10-01T20:12:14.000Z","region":"global","skills":["llm","rag","system-analysis"]},{"id":"hn-hiring:49926504","src":"hn-hiring","title":"多個職缺（見原文）","company":"Tolmo","loc":"ONSITE","url":"https://news.ycombinator.com/item?id=49926504","date":"2026-10-01T20:11:31.000Z","region":"global","skills":["security"]},{"id":"hn-hiring:49926244","src":"hn-hiring","title":"多個職缺（見原文）","company":"Charge Robotics","loc":"Onsite","url":"https://news.ycombinator.com/item?id=49926244","date":"2026-10-01T19:48:40.000Z","region":"global","skills":["robotics"]},{"id":"hn-hiring:49926232","src":"hn-hiring","title":"多個職缺（見原文）","company":"Toolhouse AI","loc":"SF, ATX, or REMOTE (US)","url":"https://news.ycombinator.com/item?id=49926232","date":"2026-10-01T19:47:48.000Z","region":"global","skills":["go","ai-agents"]},{"id":"hn-hiring:49926228","src":"hn-hiring","title":"Full-Stack Developer (Node.js)","company":"Trackerbot","loc":"REMOTE","url":"https://news.ycombinator.com/item?id=49926228","date":"2026-10-01T19:47:11.000Z","region":"global","skills":["javascript","nodejs","postgresql","aws","dsa"]},{"id":"hn-hiring:49926195","src":"hn-hiring","title":"design, engineering, GTM, sales","company":"Rootly","loc":"SF Bay, Toronto, APAC, Remote","url":"https://news.ycombinator.com/item?id=49926195","date":"2026-10-01T19:43:21.000Z","region":"global","skills":["sre"]},{"id":"hn-hiring:49925904","src":"hn-hiring","title":"Full-Stack Engineering https://www.uncountable.com/hiring/hn","company":"Uncountable","loc":"","url":"https://news.ycombinator.com/item?id=49925904","date":"2026-10-01T19:17:24.000Z","region":"global","skills":["ai-agents","ai-coding"]},{"id":"hn-hiring:49925644","src":"hn-hiring","title":"Senior Software Engineer","company":"MeritFirst","loc":"Austin, TX (ONSITE)","url":"https://news.ycombinator.com/item?id=49925644","date":"2026-10-01T18:55:46.000Z","region":"global","skills":["typescript","react","nextjs","postgresql"]},{"id":"hn-hiring:49925545","src":"hn-hiring","title":"Machine Learning Engineer (Python, ML)","company":"Hestus","loc":"Peninsula (Onsite)","url":"https://news.ycombinator.com/item?id=49925545","date":"2026-10-01T18:49:05.000Z","region":"global","skills":["python","machine-learning"]},{"id":"hn-hiring:49925526","src":"hn-hiring","title":"Senior Software Engineer, Decisioning","company":"Octane","loc":"REMOTE (US only) or NYC/Dallas","url":"https://news.ycombinator.com/item?id=49925526","date":"2026-10-01T18:47:24.000Z","region":"global","skills":["python","django","postgresql"]},{"id":"hn-hiring:49925497","src":"hn-hiring","title":"Software Engineer (L4)","company":"Paramark","loc":"San Francisco HYBRID (3 days/wk) or REMOTE (US)","url":"https://news.ycombinator.com/item?id=49925497","date":"2026-10-01T18:45:19.000Z","region":"global","skills":["typescript","python","react","fastapi","postgresql","gcp","kubernetes","machine-learning"]},{"id":"hn-hiring:49925489","src":"hn-hiring","title":"Backend Software Engineer","company":"Enveritas (YC S18, non-profit)","loc":"Remote (Global)","url":"https://news.ycombinator.com/item?id=49925489","date":"2026-10-01T18:44:56.000Z","region":"global","skills":["python","postgresql","aws","docker","terraform"]},{"id":"hn-hiring:49925469","src":"hn-hiring","title":"Senior Software Engineer","company":"Descartes - Finale Inventory","loc":"REMOTE","url":"https://news.ycombinator.com/item?id=49925469","date":"2026-10-01T18:42:56.000Z","region":"global","skills":["javascript","cpp","react","nodejs","cicd","testing"]},{"id":"hn-hiring:49925329","src":"hn-hiring","title":"Senior Staff Software Engineer, CodeAI","company":"Google","loc":"On-site","url":"https://news.ycombinator.com/item?id=49925329","date":"2026-10-01T18:30:53.000Z","region":"global","skills":["ai-agents","ai-coding"]},{"id":"hn-hiring:49925300","src":"hn-hiring","title":"多個職缺（見原文）","company":"applyapply","loc":"REMOTE (US) or Austin, TX","url":"https://news.ycombinator.com/item?id=49925300","date":"2026-10-01T18:28:34.000Z","region":"global","skills":["llm"]},{"id":"hn-hiring:49925202","src":"hn-hiring","title":"Founding Product Engineer","company":"VOYGR (YC W26)","loc":"ONSITE","url":"https://news.ycombinator.com/item?id=49925202","date":"2026-10-01T18:21:27.000Z","region":"global","skills":["python","fastapi","postgresql","redis","dynamodb","aws","kubernetes","etl","machine-learning","llm","ai-agents","ai-coding","rest"]},{"id":"hn-hiring:49925116","src":"hn-hiring","title":"多個職缺（見原文）","company":"Cisco ThousandEyes","loc":"HYBRID ONSITE (2 days/week)","url":"https://news.ycombinator.com/item?id=49925116","date":"2026-10-01T18:14:14.000Z","region":"global","skills":["network-admin","microservices"]},{"id":"hn-hiring:49925098","src":"hn-hiring","title":"多個職缺（見原文）","company":"Strategy & Transformation Consulting (s&t)","loc":"REMOTE (Germany)","url":"https://news.ycombinator.com/item?id=49925098","date":"2026-10-01T18:12:47.000Z","region":"global","skills":["csharp","dotnet","azure","terraform","cicd","github-actions","llm","ai-agents","rag","mcp","vector-db","langchain"]},{"id":"hn-hiring:49925063","src":"hn-hiring","title":"Senior Software Engineer, Application Security","company":"Discord","loc":"REMOTE (US West Coast) or San Francisco, CA","url":"https://news.ycombinator.com/item?id=49925063","date":"2026-10-01T18:09:56.000Z","region":"global","skills":["javascript","typescript","python","rust","react","gcp","security","auth"]},{"id":"hn-hiring:49924974","src":"hn-hiring","title":"多個職缺（見原文）","company":"Curai","loc":"Remote (US)","url":"https://news.ycombinator.com/item?id=49924974","date":"2026-10-01T18:02:35.000Z","region":"global","skills":["python","react","react-native","postgresql","dynamodb","aws","docker","terraform","ai-agents"]},{"id":"hn-hiring:49924972","src":"hn-hiring","title":"多個職缺（見原文）","company":"QUOBYTE","loc":"Full-time / Remote","url":"https://news.ycombinator.com/item?id=49924972","date":"2026-10-01T18:02:17.000Z","region":"global","skills":["kubernetes","distributed-systems","system-design","testing"]},{"id":"hn-hiring:49924869","src":"hn-hiring","title":"Community & Ecosystem Lead","company":"NeverBlink","loc":"Remote (EU)","url":"https://news.ycombinator.com/item?id=49924869","date":"2026-10-01T17:52:57.000Z","region":"global","skills":["huggingface"]},{"id":"hn-hiring:49924581","src":"hn-hiring","title":"AI Harness Engineer","company":"Tether","loc":"REMOTE (Worldwide)","url":"https://news.ycombinator.com/item?id=49924581","date":"2026-10-01T17:30:19.000Z","region":"global","skills":["javascript","typescript","llm","ai-agents","distributed-systems"]},{"id":"hn-hiring:49924556","src":"hn-hiring","title":"多個職缺（見原文）","company":"Sudowrite","loc":"√ REMOTE (US)","url":"https://news.ycombinator.com/item?id=49924556","date":"2026-10-01T17:28:34.000Z","region":"global","skills":["react"]},{"id":"hn-hiring:49924509","src":"hn-hiring","title":"多個職缺（見原文）","company":"Yardstik","loc":"Minneapolis, MN (Hybrid)","url":"https://news.ycombinator.com/item?id=49924509","date":"2026-10-01T17:24:17.000Z","region":"global","skills":["security"]},{"id":"hn-hiring:49924327","src":"hn-hiring","title":"Multiple Engineering Roles","company":"Solace Health","loc":"REMOTE (US)","url":"https://news.ycombinator.com/item?id=49924327","date":"2026-10-01T17:09:57.000Z","region":"global","skills":["typescript","sql","react","nodejs","nestjs","orm","postgresql","gcp","kubernetes"]},{"id":"hn-hiring:49924239","src":"hn-hiring","title":"Founding Engineer","company":"Hedge (YC)","loc":"ONSITE","url":"https://news.ycombinator.com/item?id=49924239","date":"2026-10-01T17:02:06.000Z","region":"global","skills":["typescript","python","react","fastapi","postgresql","etl","ai-agents"]},{"id":"hn-hiring:49924165","src":"hn-hiring","title":"Full time + Internships","company":"SwingVision","loc":"","url":"https://news.ycombinator.com/item?id=49924165","date":"2026-10-01T16:55:54.000Z","region":"global","skills":["machine-learning","computer-vision"]},{"id":"hn-hiring:49924087","src":"hn-hiring","title":"多個職缺（見原文）","company":"Baton","loc":"San Francisco, CA (Hybrid)","url":"https://news.ycombinator.com/item?id=49924087","date":"2026-10-01T16:50:08.000Z","region":"global","skills":["machine-learning","mlops"]},{"id":"hn-hiring:49924016","src":"hn-hiring","title":"Full Stack Product Engineer (Design & Geospatial)","company":"City Detect","loc":"REMOTE (US)","url":"https://news.ycombinator.com/item?id=49924016","date":"2026-10-01T16:44:38.000Z","region":"global","skills":["typescript","python","react","fastapi","postgresql","aws","serverless","computer-vision","dsa"]},{"id":"hn-hiring:49923964","src":"hn-hiring","title":"Lead Engineer","company":"Relevant Healthcare","loc":"Remote (US/Canada only)","url":"https://news.ycombinator.com/item?id=49923964","date":"2026-10-01T16:39:36.000Z","region":"global","skills":["typescript","go","react","rails","graphql"]},{"id":"hn-hiring:49923847","src":"hn-hiring","title":"Robotics / Drones / ML / Cloud / Web engineers","company":"Skydio","loc":"San Mateo CA, Zurich CH, or Hybrid","url":"https://news.ycombinator.com/item?id=49923847","date":"2026-10-01T16:30:13.000Z","region":"global","skills":["machine-learning","robotics"]},{"id":"hn-hiring:49923756","src":"hn-hiring","title":"Senior Product Engineer","company":"Starbridge","loc":"NYC or Remote","url":"https://news.ycombinator.com/item?id=49923756","date":"2026-10-01T16:23:36.000Z","region":"global","skills":["typescript","react"]},{"id":"hn-hiring:49923640","src":"hn-hiring","title":"多個職缺（見原文）","company":"Beacon AI","loc":"3 days hybrid in San Carlos, CA","url":"https://news.ycombinator.com/item?id=49923640","date":"2026-10-01T16:14:52.000Z","region":"global","skills":["typescript","python","cpp","swift","react","ios","swiftui","aws","robotics"]},{"id":"hn-hiring:49923454","src":"hn-hiring","title":"多個職缺（見原文）","company":"Shield AI","loc":"ONSITE Washington DC","url":"https://news.ycombinator.com/item?id=49923454","date":"2026-10-01T16:00:57.000Z","region":"global","skills":["llm","ai-agents"]},{"id":"taiwanjobs:14710835","src":"taiwanjobs","title":"駐點資訊助理工程","company":"顯榮國際股份有限公司","loc":"台北市中正區","url":"https://job.taiwanjobs.gov.tw/Internet/jobwanted/JobDetail.aspx?EMPLOYER_ID=528812&HIRE_ID=14710835","date":"2026-10-01T16:00:00.000Z","region":"tw","salary":{"period":"月薪","min":35000,"max":40000},"skills":["network-admin","windows-server"]},{"id":"taiwanjobs:14712369","src":"taiwanjobs","title":"專案工程師","company":"誠士資訊股份有限公司","loc":"台北市松山區","url":"https://job.taiwanjobs.gov.tw/Internet/jobwanted/JobDetail.aspx?EMPLOYER_ID=2469555&HIRE_ID=14712369","date":"2026-10-01T16:00:00.000Z","region":"tw","skills":["network-admin","windows-server","embedded"]},{"id":"hn-hiring:49923384","src":"hn-hiring","title":"Senior Software Engineer","company":"Fazeshift","loc":"ONSITE (5 days/week)","url":"https://news.ycombinator.com/item?id=49923384","date":"2026-10-01T15:56:17.000Z","region":"global","skills":["typescript","nextjs","orm","mysql","aws","ai-agents","ai-coding"]},{"id":"hn-hiring:49923320","src":"hn-hiring","title":"Multiple Engineering, AI/ML Data Science, Revenue, and Ops Roles","company":"Spade","loc":"ONSITE NYC or REMOTE (US/Can)","url":"https://news.ycombinator.com/item?id=49923320","date":"2026-10-01T15:51:44.000Z","region":"global","skills":["machine-learning"]},{"id":"hn-hiring:49923163","src":"hn-hiring","title":"Senior Software Engineer, Reporting","company":"JustPark","loc":"Hybrid: Dallas, TX","url":"https://news.ycombinator.com/item?id=49923163","date":"2026-10-01T15:40:47.000Z","region":"global","skills":["go","etl","llm","mcp","ai-coding","graphql","distributed-systems","testing"]},{"id":"hn-hiring:49923010","src":"hn-hiring","title":"Staff Engineers (Elixir)","company":"River","loc":"NYC or REMOTE (US, Europe, South America)","url":"https://news.ycombinator.com/item?id=49923010","date":"2026-10-01T15:30:44.000Z","region":"global","skills":["python","elixir","react","react-native","machine-learning","llm","pytorch","scikit-learn","graphql","cryptography"]},{"id":"hn-hiring:49922929","src":"hn-hiring","title":"Software Engineers (Senior, Staff, Principal)","company":"Fastly","loc":"US, UK, EU, APAC ONSITE PREFERRED","url":"https://news.ycombinator.com/item?id=49922929","date":"2026-10-01T15:24:06.000Z","region":"global","skills":["javascript","typescript","python","cpp","c","go","rust","ruby","webassembly","linux","ebpf","networking","distributed-systems","cryptography"]},{"id":"hn-hiring:49922910","src":"hn-hiring","title":"Product Engineer","company":"OpenSanctions","loc":"Berlin, Germany / REMOTE (CET ±3 preferred)","url":"https://news.ycombinator.com/item?id=49922910","date":"2026-10-01T15:23:01.000Z","region":"global","skills":["python","sql","react","nextjs","ai-agents"]},{"id":"hn-hiring:49922899","src":"hn-hiring","title":"Lead Rust Engineering Consultant","company":"Mainmatter ( https://mainmatter.com/rust-consulting/ )","loc":"REMOTE (EU)","url":"https://news.ycombinator.com/item?id=49922899","date":"2026-10-01T15:22:08.000Z","region":"global","skills":["rust","redis"]},{"id":"hn-hiring:49922881","src":"hn-hiring","title":"多個職缺（見原文）","company":"Smarkets ( https://www.smarkets.com )","loc":"Hybrid - Onsite (London, UK)","url":"https://news.ycombinator.com/item?id=49922881","date":"2026-10-01T15:20:57.000Z","region":"global","skills":["python","rust","security"]},{"id":"hn-hiring:49922850","src":"hn-hiring","title":"多個職缺（見原文）","company":"Thunder Compute (YC S24)","loc":"San Francisco (Onsite)","url":"https://news.ycombinator.com/item?id=49922850","date":"2026-10-01T15:18:54.000Z","region":"global","skills":["cpp","go","aws","kubernetes","windows-server","inference"]},{"id":"hn-hiring:49922803","src":"hn-hiring","title":"Android Software Engineer","company":"Flexibits","loc":"Remote","url":"https://news.ycombinator.com/item?id=49922803","date":"2026-10-01T15:15:38.000Z","region":"global","skills":["csharp","cpp","c","kotlin","swift","ios","android","swiftui"]},{"id":"hn-hiring:49922769","src":"hn-hiring","title":"Senior Product Engineer, Product Manager, Senior Sales Engineer, Solutions Engineer","company":"Checkly","loc":"REMOTE (Europe / US Eastern)","url":"https://news.ycombinator.com/item?id=49922769","date":"2026-10-01T15:13:49.000Z","region":"global","skills":["opentelemetry","e2e"]},{"id":"hn-hiring:49922621","src":"hn-hiring","title":"Multiple Engineering + Product Roles","company":"Snout https://snout.com/","loc":"Remote US or Ontario, Canada","url":"https://news.ycombinator.com/item?id=49922621","date":"2026-10-01T15:04:21.000Z","region":"global","skills":["javascript","typescript","python","react","tailwind","nodejs","postgresql","aws","dbt","llm"]},{"id":"hn-hiring:49922615","src":"hn-hiring","title":"Senior/Lead Platform & DevOps Engineer, Senior Frontend Engineer, Senior Full-Stack Engineer","company":"Open Education Applications / Neon","loc":"HYBRID","url":"https://news.ycombinator.com/item?id=49922615","date":"2026-10-01T15:04:09.000Z","region":"global","skills":["typescript","python","react","postgresql","kubernetes","terraform","git"]},{"id":"hn-hiring:49922609","src":"hn-hiring","title":"Senior SWE, R&D Engineer, Intelligence Engineer","company":"Sidekick Labs","loc":"REMOTE (US Timezones)","url":"https://news.ycombinator.com/item?id=49922609","date":"2026-10-01T15:03:36.000Z","region":"global","skills":["python","go","ai-coding","microservices","event-driven"]},{"id":"hn-hiring:49922593","src":"hn-hiring","title":"多個職缺（見原文）","company":"Shepherd (Series B)","loc":"ONSITE","url":"https://news.ycombinator.com/item?id=49922593","date":"2026-10-01T15:02:51.000Z","region":"global","skills":["typescript","react","nextjs","nodejs","postgresql","redis","machine-learning","ai-agents","graphql"]},{"id":"hn-hiring:49922584","src":"hn-hiring","title":"多個職缺（見原文）","company":"PrairieLearn (Remote US) — Full-Stack Software Engineer — T…","loc":"","url":"https://news.ycombinator.com/item?id=49922584","date":"2026-10-01T15:02:37.000Z","region":"global","skills":["typescript","react","nodejs","postgresql","aws","llm","ai-agents"]},{"id":"taiwanjobs:14709853","src":"taiwanjobs","title":"MIS專員","company":"時藝多媒體傳播股份有限公司","loc":"台北市南港區","url":"https://job.taiwanjobs.gov.tw/Internet/jobwanted/JobDetail.aspx?EMPLOYER_ID=101763&HIRE_ID=14709853","date":"2026-09-30T16:00:00.000Z","region":"tw","skills":["windows-server","erp"]},{"id":"taiwanjobs:14705223","src":"taiwanjobs","title":"AI系統設計師（AI System Designer）","company":"意向科技股份有限公司","loc":"台北市大安區","url":"https://job.taiwanjobs.gov.tw/Internet/jobwanted/JobDetail.aspx?EMPLOYER_ID=2697537&HIRE_ID=14705223","date":"2026-09-29T16:00:00.000Z","region":"tw","salary":{"period":"月薪","min":29500,"max":50000},"skills":["machine-learning","llm","ai-agents","rag","system-analysis"]},{"id":"taiwanjobs:14619081","src":"taiwanjobs","title":"校務研究辦公室 誠徵資料分析專員(碩士級)","company":"國立臺灣大學","loc":"台北市大安區","url":"https://job.taiwanjobs.gov.tw/Internet/jobwanted/JobDetail.aspx?EMPLOYER_ID=49116&HIRE_ID=14619081","date":"2026-09-23T16:00:00.000Z","region":"tw","skills":["python","bi","system-analysis"]},{"id":"remoteok:1137427","src":"remoteok","title":"Software Engineer","company":"Prenosis","loc":"Remote","url":"https://remoteOK.com/remote-jobs/remote-software-engineer-prenosis-1137427","date":"2026-09-23T14:00:02.000Z","region":"global","skills":["go"]},{"id":"remoteok:1137421","src":"remoteok","title":"Technical Product Manager AI Stockbroking App","company":"Bjak","loc":"Germany","url":"https://remoteOK.com/remote-jobs/remote-technical-product-manager-ai-stockbroking-app-bjak-1137421","date":"2026-09-23T00:00:10.000Z","region":"global","skills":["ruby","machine-learning","llm","distributed-systems","system-design","security"]},{"id":"taiwanjobs:14694613","src":"taiwanjobs","title":"資訊部-JAVA程式開發人員","company":"兆豐產物保險股份有限公司","loc":"台北市中正區","url":"https://job.taiwanjobs.gov.tw/Internet/jobwanted/JobDetail.aspx?EMPLOYER_ID=86161&HIRE_ID=14694613","date":"2026-09-22T16:00:00.000Z","region":"tw","salary":{"period":"月薪","min":30000,"max":null},"skills":["java"]},{"id":"remoteok:1137414","src":"remoteok","title":"Senior Growth Product Manager AI Native","company":"Magic Eden","loc":"Melbourne","url":"https://remoteOK.com/remote-jobs/remote-senior-growth-product-manager-ai-native-magic-eden-1137414","date":"2026-09-22T00:00:07.000Z","region":"global","skills":["go","etl","testing","cryptography","gamedev"]},{"id":"taiwanjobs:14691603","src":"taiwanjobs","title":"數位轉型暨品牌策略顧問 Digital Transformation ＆ Brand Strategy Consultant","company":"巴洛克國際股份有限公司","loc":"台北市中山區","url":"https://job.taiwanjobs.gov.tw/Internet/jobwanted/JobDetail.aspx?EMPLOYER_ID=2706737&HIRE_ID=14691603","date":"2026-09-21T16:00:00.000Z","region":"tw","salary":{"period":"月薪","min":29500,"max":29500},"skills":["llm"]},{"id":"taiwanjobs:14687293","src":"taiwanjobs","title":"專案網路工程師","company":"偉立資訊有限公司","loc":"台北市中山區","url":"https://job.taiwanjobs.gov.tw/Internet/jobwanted/JobDetail.aspx?EMPLOYER_ID=150393&HIRE_ID=14687293","date":"2026-09-20T16:00:00.000Z","region":"tw","salary":{"period":"月薪","min":30000,"max":46000},"skills":["network-admin"]},{"id":"remoteok:1137410","src":"remoteok","title":"Frontend Engineer","company":"Bjak","loc":"Ireland","url":"https://remoteOK.com/remote-jobs/remote-frontend-engineer-bjak-1137410","date":"2026-09-20T00:00:25.000Z","region":"global","skills":["javascript","typescript","react","nextjs","html","css","nodejs","prompt-engineering","rest","graphql","websocket"]},{"id":"remoteok:1137394","src":"remoteok","title":"Sr Solutions Architect","company":"ExtraHop","loc":"Remote","url":"https://remoteOK.com/remote-jobs/remote-sr-solutions-architect-extrahop-1137394","date":"2026-09-15T00:00:26.000Z","region":"global","skills":["javascript","python","rest","security"]},{"id":"remoteok:1137387","src":"remoteok","title":"Software Engineer","company":"Mirantis","loc":"Remote","url":"https://remoteOK.com/remote-jobs/remote-software-engineer-mirantis-1137387","date":"2026-09-12T14:00:03.000Z","region":"global","skills":["go","kubernetes","machine-learning"]},{"id":"remoteok:1137224","src":"remoteok","title":"AI Engineer Data APIs","company":"Benzinga","loc":"Remote","url":"https://remoteOK.com/remote-jobs/remote-ai-engineer-data-apis-benzinga-1137224","date":"2026-08-30T21:00:01.000Z","region":"global","skills":["go"]},{"id":"remoteok:1137162","src":"remoteok","title":"Principal Engineer","company":"The AI Whistleblower Initiative","loc":"Remote","url":"https://remoteOK.com/remote-jobs/remote-principal-engineer-the-ai-whistleblower-initiative-1137162","date":"2026-08-27T09:00:02.000Z","region":"global","skills":["go"]},{"id":"remoteok:1137155","src":"remoteok","title":"Oracle Fusion Cloud Lead â Logistics & Supply Chain Management","company":"Tessera Labs","loc":"Remote","url":"https://remoteOK.com/remote-jobs/remote-oracle-fusion-cloud-lead-logistics-supply-chain-management-tessera-labs-1137155","date":"2026-08-27T00:00:17.000Z","region":"global","skills":["oracle","etl","system-design","testing","erp"]},{"id":"remoteok:1137114","src":"remoteok","title":"Senior Backend Engineer Build AI Agents","company":"Salesforge","loc":"Remote","url":"https://remoteOK.com/remote-jobs/remote-senior-backend-engineer-build-ai-agents-salesforge-1137114","date":"2026-08-25T07:00:03.000Z","region":"global","skills":["go","ai-agents"]},{"id":"remoteok:1137062","src":"remoteok","title":"DESARROLLADOR FULL STACK","company":"Kruger NearShore LLC - Rekluti","loc":"Remote","url":"https://remoteOK.com/remote-jobs/remote-desarrollador-full-stack-kruger-nearshore-llc-rekluti-1137062","date":"2026-08-22T00:00:12.000Z","region":"global","skills":["python","c","go","sql","angular","flutter","gcp","rest","git","testing"]},{"id":"taiwanjobs:14004607","src":"taiwanjobs","title":"資訊系統人員","company":"阿米巴資訊股份有限公司","loc":"台北市松山區","url":"https://job.taiwanjobs.gov.tw/Internet/jobwanted/JobDetail.aspx?EMPLOYER_ID=375515&HIRE_ID=14004607","date":"2026-07-27T16:00:00.000Z","region":"tw","salary":{"period":"月薪","min":29500,"max":29500},"skills":["sql","postgresql","linux"]},{"id":"taiwanjobs:14475313","src":"taiwanjobs","title":"MIS工程師_台北","company":"創勁資訊企業股份有限公司","loc":"台北市大安區","url":"https://job.taiwanjobs.gov.tw/Internet/jobwanted/JobDetail.aspx?EMPLOYER_ID=2675773&HIRE_ID=14475313","date":"2026-06-24T16:00:00.000Z","region":"tw","skills":["network-admin","windows-server"]},{"id":"taiwanjobs:14415111","src":"taiwanjobs","title":"【台北辦公室】軟體AI工程師 (B2000A)","company":"智邦科技股份有限公司","loc":"台北市不限","url":"https://job.taiwanjobs.gov.tw/Internet/jobwanted/JobDetail.aspx?EMPLOYER_ID=6848&HIRE_ID=14415111","date":"2026-06-21T16:00:00.000Z","region":"tw","skills":["machine-learning"]},{"id":"taiwanjobs:14371643","src":"taiwanjobs","title":"維運工程師【依身心障礙權益保障法進用】","company":"大陸商中國銀行股份有限公司臺北分公司","loc":"台北市信義區","url":"https://job.taiwanjobs.gov.tw/Internet/jobwanted/JobDetail.aspx?EMPLOYER_ID=2563989&HIRE_ID=14371643","date":"2026-05-14T16:00:00.000Z","region":"tw","skills":["linux","network-admin","windows-server","security"]},{"id":"taiwanjobs:14314397","src":"taiwanjobs","title":"助理工程師","company":"軟訊資訊有限公司","loc":"台北市內湖區","url":"https://job.taiwanjobs.gov.tw/Internet/jobwanted/JobDetail.aspx?EMPLOYER_ID=933695&HIRE_ID=14314397","date":"2026-04-29T16:00:00.000Z","region":"tw","salary":{"period":"月薪","min":32000,"max":45000},"skills":["network-admin","windows-server"]},{"id":"taiwanjobs:14325607","src":"taiwanjobs","title":"網路系統工程師","company":"軟訊資訊有限公司","loc":"台北市內湖區","url":"https://job.taiwanjobs.gov.tw/Internet/jobwanted/JobDetail.aspx?EMPLOYER_ID=933695&HIRE_ID=14325607","date":"2026-04-29T16:00:00.000Z","region":"tw","salary":{"period":"月薪","min":35000,"max":48000},"skills":["network-admin","windows-server"]},{"id":"taiwanjobs:13741355","src":"taiwanjobs","title":"儲備軟體講師","company":"雲育鏈股份有限公司","loc":"台北市中山區","url":"https://job.taiwanjobs.gov.tw/Internet/jobwanted/JobDetail.aspx?EMPLOYER_ID=2481153&HIRE_ID=13741355","date":"2026-01-06T16:00:00.000Z","region":"tw","salary":{"period":"月薪","min":40000,"max":70000},"skills":["aws","gcp"]},{"id":"taiwanjobs:13810027","src":"taiwanjobs","title":"M023 系統工程師(資訊科技部)","company":"年代網際事業股份有限公司","loc":"台北市內湖區","url":"https://job.taiwanjobs.gov.tw/Internet/jobwanted/JobDetail.aspx?EMPLOYER_ID=186921&HIRE_ID=13810027","date":"2025-11-14T16:00:00.000Z","region":"tw","skills":["aws","azure","linux","network-admin"]}],"articles":[{"id":"lobsters:fcfoqq","src":"lobsters","title":"Fraction comparison trick revisited","url":"https://www.johndcook.com/blog/2026/11/03/fraction-comparison-trick-revisited/","discuss":"https://lobste.rs/s/fcfoqq/fraction_comparison_trick_revisited","score":1,"comments":0,"date":"2026-11-04T09:02:48.666Z","skills":[]},{"id":"infoq:c1ff1ae2a759","src":"infoq","title":"Article: The App Is Just the Tip: What It Takes to Build Mobile Infrastructure at Scale","url":"https://www.infoq.com/articles/mobile-app-infrastructure-at-scale/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global","date":"2026-11-04T09:00:00.000Z","skills":["ios","android","microservices","rest","system-design"]},{"id":"infoq:9b5d86dfcc25","src":"infoq","title":"Docker Urges Isolation and Governance for AI Agent Security","url":"https://www.infoq.com/news/2026/11/docker-ai-agent-security/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global","date":"2026-11-04T09:00:00.000Z","skills":["docker","ai-agents","security"]},{"id":"infoworld:effdd790a4c1","src":"infoworld","title":"How will we make senior developers?","url":"https://www.infoworld.com/article/4244077/how-will-we-make-senior-developers.html","date":"2026-11-04T09:00:00.000Z","skills":["git"]},{"id":"infoworld:dd1032831dcf","src":"infoworld","title":"Going deeper with htmx 4 — combining htmx and JavaScript","url":"https://www.infoworld.com/article/4237122/going-deeper-with-htmx-4-combining-htmx-and-javascript.html","date":"2026-11-04T09:00:00.000Z","skills":["javascript","htmx"]},{"id":"hn:50362980","src":"hn","title":"Kitty 0.50","url":"https://sw.kovidgoyal.net/kitty/changelog/#","discuss":"https://news.ycombinator.com/item?id=50362980","score":14,"comments":4,"date":"2026-11-04T08:57:10.000Z","skills":[]},{"id":"lobsters:xvtufg","src":"lobsters","title":"C++26 Disapproved","url":"https://andreasfertig.com/blog/2026/11/cpp26-dis-failed-how-does-cpp-survive/","discuss":"https://lobste.rs/s/xvtufg/c_26_disapproved","score":1,"comments":0,"date":"2026-11-04T08:56:24.356Z","skills":["cpp"]},{"id":"technews:073bd7501370","src":"technews","title":"比爾蓋茲稱 Ctrl+Alt+Del 是「錯誤」設計，原為 IBM 重啟當機電腦而設","url":"https://technews.tw/2026/11/04/bill-gates-says-ctrl-alt-del-a-design-mistake/","date":"2026-11-04T08:55:55.000Z","skills":[]},{"id":"technews:1836d4c876ea","src":"technews","title":"AI 智慧社區專案挹注，擷發科 10 月營收年增 611%","url":"https://technews.tw/2026/11/04/microip-2026-oct-revenue/","date":"2026-11-04T08:55:26.000Z","skills":[]},{"id":"technews:45e2be5a4b6a","src":"technews","title":"矽格10月營收月增0.6%","url":"https://finance.technews.tw/2026/11/04/sigurd-6257-202610-financial-report/","date":"2026-11-04T08:30:03.000Z","skills":[]},{"id":"lobsters:5q535u","src":"lobsters","title":"Being of use to someone","url":"https://jmreiche.github.io/being-of-use-to-someone","discuss":"https://lobste.rs/s/5q535u/being_use_someone","score":3,"comments":0,"date":"2026-11-04T08:26:56.347Z","skills":[]},{"id":"technews:25addee55b3a","src":"technews","title":"「AI 教父」辛頓警告：明年前恐爆車諾比級資安事件，甚至人類或許不該發展 AI","url":"https://infosecu.technews.tw/2026/11/04/ai-godfather-geoffrey-hinton-it-might-turn-out-we-were-better-off-without-ai/","date":"2026-11-04T08:10:44.000Z","skills":["security"]},{"id":"technews:67e29667de90","src":"technews","title":"禾瑞亞10月營收1.28 億元","url":"https://finance.technews.tw/2026/11/04/eeti-3556-202610-financial-report/","date":"2026-11-04T08:10:07.000Z","skills":[]},{"id":"technews:60fc24f6bf50","src":"technews","title":"英業達10月營收月減18.9%","url":"https://finance.technews.tw/2026/11/04/inventec-2356-202610-financial-report/","date":"2026-11-04T08:10:05.000Z","skills":[]},{"id":"devto:4971955","src":"devto","title":"We're Building AI to Replace Ourselves. What's the Plan?","url":"https://dev.to/sylwia-lask/were-building-ai-to-replace-ourselves-whats-the-plan-4oll","score":13,"comments":2,"date":"2026-11-04T08:06:25.000Z","skills":["llm","ai-agents"]},{"id":"technews:9f820fa0ee72","src":"technews","title":"法國血液機構冷藏設備從 -30 度被改設 110 度，駭客竄改溫控險釀血漿報廢","url":"https://infosecu.technews.tw/2026/11/04/hackers-hijacked-french-blood-plasma-freezers/","date":"2026-11-04T08:00:13.000Z","skills":[]},{"id":"lobsters:vvfgbc","src":"lobsters","title":"OpenVDDK – Independent Virtual Disk Library","url":"https://openvddk.com/","discuss":"https://lobste.rs/s/vvfgbc/openvddk_independent_virtual_disk","score":1,"comments":0,"date":"2026-11-04T07:57:32.467Z","skills":[]},{"id":"technews:275f90941c9f","src":"technews","title":"Anthropic IPO 文件揭獲利落差，中國模型開發商難追上","url":"https://finance.technews.tw/2026/11/04/anthropic-outpaces-chinese-ai-rivals-z-ai-and-minimax-in-profitability/","date":"2026-11-04T07:54:18.000Z","skills":["llm"]},{"id":"technews:6023c0d4315f","src":"technews","title":"郭哲榮趁台股 V 轉再擲 5,000 萬！0050 前十月淨申購已較去年翻倍","url":"https://finance.technews.tw/2026/11/04/v-turn/","date":"2026-11-04T07:51:04.000Z","skills":[]},{"id":"technews:7560363c8bfd","src":"technews","title":"美科技五大巨頭 AI「影子債務」飆達 3.2 兆美元，投資風險高度集中引發市場警戒","url":"https://finance.technews.tw/2026/11/04/tech-giants-off-balance-sheet-ai-commitments-surge/","date":"2026-11-04T07:50:26.000Z","skills":["machine-learning"]},{"id":"technews:7eaf0df9258d","src":"technews","title":"訂位系統資安事件，新航 4.6 萬筆訂位紀錄恐受波及","url":"https://infosecu.technews.tw/2026/11/04/singapore-airlines-46000-booking-records-security-breach/","date":"2026-11-04T07:40:58.000Z","skills":["security"]},{"id":"lobsters:sfzkeb","src":"lobsters","title":"Pulling the right strings for RCE on a Puppet","url":"https://neodyme.io/en/blog/puppet_rce","discuss":"https://lobste.rs/s/sfzkeb/pulling_right_strings_for_rce_on_puppet","score":2,"comments":0,"date":"2026-11-04T07:39:20.951Z","skills":["security"]},{"id":"technews:e263dce4d4fb","src":"technews","title":"股市震盪不改基本面，童子賢：台灣科技業仍有成長空間","url":"https://finance.technews.tw/2026/11/04/taiwan-stock-th-tung/","date":"2026-11-04T07:38:43.000Z","skills":[]},{"id":"hn:50362466","src":"hn","title":"The lost malloc()","url":"https://napcakes.nekoweb.org/posts/malloc/","discuss":"https://news.ycombinator.com/item?id=50362466","score":21,"comments":3,"date":"2026-11-04T07:37:30.000Z","skills":[]},{"id":"lobsters:6omthz","src":"lobsters","title":"The cryptography behind electronic voting (and why paper ballots are still essential)","url":"https://blog.trailofbits.com/2026/11/03/the-cryptography-behind-electronic-voting-and-why-paper-ballots-are-still-essential/","discuss":"https://lobste.rs/s/6omthz/cryptography_behind_electronic_voting","score":1,"comments":0,"date":"2026-11-04T07:33:05.259Z","skills":["cryptography"]},{"id":"technews:7b08ac600ab6","src":"technews","title":"Adobe Acrobat 替代方案？PDNob 功能、OCR 與買斷成本比較","url":"https://technews.tw/2026/11/04/adobe-acrobat-pdnob-pdf-ocr/","date":"2026-11-04T07:30:53.000Z","skills":[]},{"id":"technews:a8e77cda2f3b","src":"technews","title":"重塑戶外機器人雙眼！歐特明攜聰泰強攻 ROBOTWORLD 2026","url":"https://finance.technews.tw/2026/11/04/robotworld-2026/","date":"2026-11-04T07:15:14.000Z","skills":["robotics"]},{"id":"technews:f3ab203376bc","src":"technews","title":"Arista 財報優、受惠 AI 基建擴張 盤後上揚","url":"https://finance.technews.tw/2026/11/04/arista-shares-rise-after-strong-earnings-after-hours/","date":"2026-11-04T07:10:18.000Z","skills":["network-admin"]},{"id":"technews:13f8494c7aa0","src":"technews","title":"軍艦也可充當海上無人機工廠，法國公開新型 SCX26 概念驅逐艦","url":"https://technews.tw/2026/11/04/naval-group-unveiled-new-scx26-destroyer-concept/","date":"2026-11-04T07:04:51.000Z","skills":[]},{"id":"technews:0de5dba11889","src":"technews","title":"矽谷喊 AI 十年就能治百病，藥廠執行長直言生物學太複雜是真正難關","url":"https://technews.tw/2026/11/04/silicon-valley-promises-ai-will-cure-disease-drugmaker-ceos-arent-buying-it/","date":"2026-11-04T07:00:21.000Z","skills":["llm"]},{"id":"hn:50362274","src":"hn","title":"AI stocks slide as Texas governor result raises data center risks","url":"https://www.cnbc.com/2026/11/04/ai-stocks-texas-governor-data-centers.html","discuss":"https://news.ycombinator.com/item?id=50362274","score":26,"comments":15,"date":"2026-11-04T07:00:20.000Z","skills":[]},{"id":"technews:b3c6975993a1","src":"technews","title":"馬斯克恐遭查？民主黨有望奪兩院 川普稱願接受","url":"https://finance.technews.tw/2026/11/04/trump-says-in-interview-that-he-will-accept-election-results/","date":"2026-11-04T06:50:16.000Z","skills":[]},{"id":"technews:bb9fd86ebb0f","src":"technews","title":"全新10月營收月增4.9%","url":"https://finance.technews.tw/2026/11/04/vpec-2455-202610-financial-report/","date":"2026-11-04T06:50:04.000Z","skills":[]},{"id":"technews:882788a6c8f2","src":"technews","title":"Canva 創立 13 年首見大裁員：砍 22% 人力、終結全遠距，祭 32 萬創業金補償","url":"https://finance.technews.tw/2026/11/04/canva-22-layoffs-restructuring/","date":"2026-11-04T06:40:04.000Z","skills":["llm"]},{"id":"technews:5232296ade2e","src":"technews","title":"路透調查：美元明年走勢偏貶 但強勢風險尚存","url":"https://finance.technews.tw/2026/11/04/reuters-poll-sees-dollar-weakening-next-year/","date":"2026-11-04T06:30:11.000Z","skills":[]},{"id":"technews:aad538e2b095","src":"technews","title":"群電前三季 EPS 3.40 元，AI 伺服器、通訊電源成第四季成長動能","url":"https://technews.tw/2026/11/04/chicony-power-q3-profit-pressure-q4-communication-power-double-digit-growth/","date":"2026-11-04T06:20:49.000Z","skills":[]},{"id":"technews:733e9b1c608f","src":"technews","title":"科技業一週狂吸 600 億美元，Meta 帶頭發債 200 億打造 AI 帝國","url":"https://finance.technews.tw/2026/11/04/meta-issues-20-billion-bonds-expand-ai-infrastructure/","date":"2026-11-04T06:20:09.000Z","skills":["machine-learning"]},{"id":"technews:4104986d2337","src":"technews","title":"中國科技巨頭狂訂 600 萬顆輝達 RTX PRO 5500，四個月內恐只拿得到 1%","url":"https://technews.tw/2026/11/04/nvidia-china-clients-to-get-1-percent-of-70-billion-rtx-chips-ordered/","date":"2026-11-04T06:10:59.000Z","skills":["machine-learning"]},{"id":"technews:c14378b566c6","src":"technews","title":"2027 年 QS 亞洲大學排名","url":"https://technews.tw/2026/11/04/qs-asia-university-rankings-2027/","date":"2026-11-04T06:00:37.000Z","skills":[]},{"id":"technews:f3757a443611","src":"technews","title":"韓電視雙雄三星、LG 兩難 與中廠「既競爭又合作」","url":"https://technews.tw/2026/11/04/samsung-and-lg-navigate-china-lcd-dilemma/","date":"2026-11-04T06:00:15.000Z","skills":[]},{"id":"technews:ae897c318ccc","src":"technews","title":"漫畫、影片、文件都能翻，「沉浸式翻譯」取得 ISO 雙認證","url":"https://technews.tw/2026/11/04/immersivetranslate-ai-iso/","date":"2026-11-04T05:52:11.000Z","skills":["llm"]},{"id":"technews:b23ae62cb9f2","src":"technews","title":"特斯拉遭控誤導韓國消費者，多數車款無法合法使用 FSD","url":"https://technews.tw/2026/11/04/tesla-misleading-korea-consumers-fsd-not-legal-most-models/","date":"2026-11-04T05:50:51.000Z","skills":[]},{"id":"technews:d4e0e6d171ad","src":"technews","title":"柯林斯字典 2026 年度代表字：mogging 技壓群雄","url":"https://ccc.technews.tw/2026/11/04/collins-dictionary-mogging/","date":"2026-11-04T05:40:07.000Z","skills":[]},{"id":"technews:7b95fd0ade4f","src":"technews","title":"超微估明年 AI 成長確保供應鏈穩定，封測台廠搭順風車","url":"https://technews.tw/2026/11/04/amd-ai-growth-secures-supply-chain-stability-taiwan-osat-firms-benefit/","date":"2026-11-04T05:30:04.000Z","skills":["machine-learning"]},{"id":"technews:7297098f5b91","src":"technews","title":"跑步不用再綁手機，新加坡研發可水洗觸控智慧衣","url":"https://technews.tw/2026/11/04/no-need-to-strap-on-your-phone-while-running-singapore-develops-washable-touch-enabled-smart-clothing/","date":"2026-11-04T05:29:52.000Z","skills":[]},{"id":"technews:365446db8b1c","src":"technews","title":"撒哈拉沙漠玫瑰色火星隕石超古老，揭遠古火星擁活躍水循環","url":"https://technews.tw/2026/11/04/teghaza-001-mars-meteorite/","date":"2026-11-04T05:23:02.000Z","skills":[]},{"id":"technews:f69581b0328f","src":"technews","title":"中華電攜 Google 搶 AI 訂閱商機，力拚一年 20 萬戶","url":"https://finance.technews.tw/2026/11/04/cht-google-ai-plus/","date":"2026-11-04T05:14:11.000Z","skills":[]},{"id":"technews:ac846f0fc378","src":"technews","title":"Google 力推「引導式學習」，校方被迫加入惹議","url":"https://technews.tw/2026/11/04/google-brings-guided-learning-features-to-search-and-classroom/","date":"2026-11-04T05:09:54.000Z","skills":["llm"]},{"id":"technews:f5610b7f7d43","src":"technews","title":"聞泰科技遭提告 安世半導體指控違反內部協議","url":"https://technews.tw/2026/11/04/wingtech-rejects-allegations-in-nexperias-2-billion-lawsuit/","date":"2026-11-04T04:20:37.000Z","skills":[]},{"id":"ithome:206b59ee09f5","src":"ithome","title":"Binance揭露63億美元竊案攻擊鏈，駭客以假面試誘使工程師執行惡意程式","url":"https://www.ithome.com.tw/news/180203","date":"2026-11-04T04:11:52.000Z","skills":["cryptography"]},{"id":"ithome:2d1012f0d664","src":"ithome","title":"XCPE殭屍網路波及臺灣近9萬臺Android設備，感染數量排名全球第5","url":"https://www.ithome.com.tw/news/180211","date":"2026-11-04T04:11:45.000Z","skills":["android","security","embedded"]},{"id":"ithome:209588c95454","src":"ithome","title":"NetApp揭露旗下多款儲存產品受Linux核心TCP漏洞影響","url":"https://www.ithome.com.tw/news/180208","date":"2026-11-04T04:11:40.000Z","skills":["linux","networking","security"]},{"id":"ithome:3b42b8c5a628","src":"ithome","title":"11月Android例行安全更新修補216個漏洞","url":"https://www.ithome.com.tw/news/180207","date":"2026-11-04T04:11:33.000Z","skills":["android","security","embedded"]},{"id":"ithome:06654885c567","src":"ithome","title":"日本三得利集團雲端服務遭駭，員工、合作夥伴及客戶等逾10萬人個資外洩","url":"https://www.ithome.com.tw/news/180210","date":"2026-11-04T04:11:26.000Z","skills":[]},{"id":"technews:ad7ea311bb0d","src":"technews","title":"醫療保健巨頭 CVS 大刀改革 擬分拆藥局與保險業務","url":"https://finance.technews.tw/2026/11/04/cvs-major-overhaul-split-pharmacy-insurance/","date":"2026-11-04T04:10:44.000Z","skills":[]},{"id":"technews:388c244a71dd","src":"technews","title":"晶圓消耗量飆 6.5 倍！HBF 掀 NAND 產能排擠效應，SSD 價格下修遇亂流","url":"https://technews.tw/2026/11/04/hbf-memory-raise-ssd-prices/","date":"2026-11-04T04:00:11.000Z","skills":[]},{"id":"technews:88b703253f78","src":"technews","title":"手機晶片寒冬 Skyworks 財測失色股價暴跌 17%","url":"https://finance.technews.tw/2026/11/04/skyworks-shares-plunge-17-on-weak-outlook/","date":"2026-11-04T03:50:50.000Z","skills":[]},{"id":"technews:813ad7614a7c","src":"technews","title":"台灣核能國家隊搶攻 SMR 商機，瞄準歐美、東南亞市場","url":"https://technews.tw/2026/11/04/taiwan-nuclear-energy-national-team-vies-smr-business-opportunities-targeting-europe-us-southeast-asia-markets/","date":"2026-11-04T03:42:16.000Z","skills":[]},{"id":"technews:498d830bb4a5","src":"technews","title":"SpaceX 特斯拉若合併，馬斯克免達標即可掌握過半投票權","url":"https://finance.technews.tw/2026/11/04/musks-pay-under-a-spacex-tesla-merger-voting-control-but-no-1-trillion-payday%e2%80%8b/","date":"2026-11-04T03:40:54.000Z","skills":[]},{"id":"hn:50361268","src":"hn","title":"Jelly Sheet","url":"https://mrdoob.github.io/codevember-2026/01/","discuss":"https://news.ycombinator.com/item?id=50361268","score":226,"comments":58,"date":"2026-11-04T03:40:50.000Z","skills":[]},{"id":"hn:50361154","src":"hn","title":"Distinct cellular and genetic differences in colorectal cancer in young patients","url":"https://www.dana-farber.org/newsroom/news-releases/2026/study-reveals-distinct-cellular-and-genetic-differences-in-colorectal-cancer-in-younger-patients","discuss":"https://news.ycombinator.com/item?id=50361154","score":65,"comments":12,"date":"2026-11-04T03:20:13.000Z","skills":[]},{"id":"ithome:bd5d14c603ca","src":"ithome","title":"TeamViewer修補反向攻擊漏洞，受控端可藉遠端連線攻擊控制端","url":"https://www.ithome.com.tw/news/180204","date":"2026-11-04T03:11:59.000Z","skills":["security"]},{"id":"ithome:89bd8c4f52e4","src":"ithome","title":"美國CISA警告WordPress資安漏洞遭積極利用","url":"https://www.ithome.com.tw/news/180202","date":"2026-11-04T03:11:41.000Z","skills":["security"]},{"id":"hn:50361107","src":"hn","title":"Arrows to arrows, categories to queries (2025)","url":"https://reasonablypolymorphic.com/blog/arrows-to-arrows/","discuss":"https://news.ycombinator.com/item?id=50361107","score":46,"comments":2,"date":"2026-11-04T03:11:27.000Z","skills":[]},{"id":"ithome:fa9577f19967","src":"ithome","title":"Anthropic開源FlashProve，以密碼學驗證AI模型未遭掉包","url":"https://www.ithome.com.tw/news/180205","date":"2026-11-04T03:11:02.000Z","skills":["llm","cryptography"]},{"id":"lobsters:j1twhe","src":"lobsters","title":"Mac at any scale","url":"https://namespace.so/blog/mac-at-any-scale","discuss":"https://lobste.rs/s/j1twhe/mac_at_any_scale","score":2,"comments":0,"date":"2026-11-04T03:08:11.213Z","skills":["networking"]},{"id":"ithome:7830f41d755e","src":"ithome","title":"Google釋出Chrome 157修補213個資安漏洞，其中7個為重大等級","url":"https://www.ithome.com.tw/news/180201","date":"2026-11-04T02:11:43.000Z","skills":["web-graphics","android","security"]},{"id":"lobsters:in86vn","src":"lobsters","title":"The valley of webhooks","url":"https://weli.dev/blog/the-valley-of-webhooks/","discuss":"https://lobste.rs/s/in86vn/valley_webhooks","score":5,"comments":4,"date":"2026-11-04T02:10:26.147Z","skills":["rest"]},{"id":"hn:50360573","src":"hn","title":"Giant canyon on Mars is still tectonically active","url":"https://lamont.columbia.edu/news/giant-canyon-mars-still-tectonically-active-today","discuss":"https://news.ycombinator.com/item?id=50360573","score":80,"comments":9,"date":"2026-11-04T01:40:42.000Z","skills":[]},{"id":"ithome:a4e8d075085d","src":"ithome","title":"蘋果開放第三方App整合Siri AI，可透過語音執行複雜任務","url":"https://www.ithome.com.tw/news/180200","date":"2026-11-04T01:11:22.000Z","skills":["ios"]},{"id":"ithome:0df9af824d81","src":"ithome","title":"美國學校掀起AI禁令，Google推引導式學習爭取教育界接受","url":"https://www.ithome.com.tw/news/180199","date":"2026-11-04T01:11:09.000Z","skills":["llm"]},{"id":"devto:4972235","src":"devto","title":"The A2A CLI and Rust: The Same Code, Three Ways to Serve It","url":"https://dev.to/gde/the-a2a-cli-and-rust-the-same-code-three-ways-to-serve-it-4el0","score":5,"comments":1,"date":"2026-11-04T01:04:48.000Z","skills":["rust","llm","ai-agents"]},{"id":"hn:50360164","src":"hn","title":"C++26 Disapproved","url":"https://andreasfertig.com/blog/2026/11/cpp26-dis-failed-how-does-cpp-survive/","discuss":"https://news.ycombinator.com/item?id=50360164","score":283,"comments":169,"date":"2026-11-04T00:33:22.000Z","skills":["cpp"]},{"id":"ithome:865732b03f90","src":"ithome","title":"Node-RED重大漏洞出現攻擊嘗試，駭客企圖執行Linux惡意程式並部署網頁後門","url":"https://www.ithome.com.tw/news/180178","date":"2026-11-04T00:11:00.000Z","skills":["linux","security"]},{"id":"ithome:dfe8206f5b75","src":"ithome","title":"XCPE殭屍網路控制逾130萬臺機上盒，Google指控Android裝置製造商刻意預載後門","url":"https://www.ithome.com.tw/news/180161","date":"2026-11-04T00:11:00.000Z","skills":["android","embedded"]},{"id":"ithome:4f6b3772c606","src":"ithome","title":"Aikido併購Cyberly及OutKept推出Noon資安平臺，整合AI工具管理與員工安全防護","url":"https://www.ithome.com.tw/news/180159","date":"2026-11-04T00:11:00.000Z","skills":["security"]},{"id":"ithome:8f730cf18e44","src":"ithome","title":"雲端憑證遭竊成LLMJacking攻擊入口，企業AI模型資源被盜用牟利","url":"https://www.ithome.com.tw/news/180158","date":"2026-11-04T00:11:00.000Z","skills":["llm"]},{"id":"lobsters:fgucra","src":"lobsters","title":"Observations from Running stealmybitcoin.com","url":"https://pavursec.com/blog/stealmybitcoin/","discuss":"https://lobste.rs/s/fgucra/observations_from_running","score":39,"comments":0,"date":"2026-11-03T23:45:21.591Z","skills":["php","security"]},{"id":"thenewstack:0aa859a4383f","src":"thenewstack","title":"A developer opened Postman. Then two AI coding agents changed without their permission.","url":"https://thenewstack.io/postman-plugin-coding-agents/","date":"2026-11-03T23:17:04.000Z","skills":["llm","ai-agents","ai-coding","security"]},{"id":"lobsters:erkjnx","src":"lobsters","title":"Gist of Go: Concurrency","url":"https://antonz.org/go-concurrency/","discuss":"https://lobste.rs/s/erkjnx/gist_go_concurrency","score":8,"comments":1,"date":"2026-11-03T23:05:03.142Z","skills":["go"]},{"id":"thenewstack:db91c1bc6174","src":"thenewstack","title":"Can agent standards keep up with the companies building them?","url":"https://thenewstack.io/mazin-gilbert-aaif-interview/","date":"2026-11-03T22:50:15.000Z","skills":["linux","ai-agents"]},{"id":"lobsters:uutnr5","src":"lobsters","title":"Postgres 19 REPACK: Built-In Online Table Bloat Cleanup","url":"https://www.snowflake.com/en/blog/engineering/postgres-19-repack-table-bloat/","discuss":"https://lobste.rs/s/uutnr5/postgres_19_repack_built_online_table","score":9,"comments":0,"date":"2026-11-03T22:44:48.698Z","skills":["postgresql"]},{"id":"devto:4971893","src":"devto","title":"That's a Wrap on Hacktoberfest 2026! 🎃👻","url":"https://dev.to/devteam/thats-a-wrap-on-hacktoberfest-2026-148k","score":29,"comments":4,"date":"2026-11-03T22:28:08.000Z","skills":["llm"]},{"id":"lobsters:siqsg7","src":"lobsters","title":"Announcing NetBSD 11.1","url":"https://www.netbsd.org/releases/formal-11/NetBSD-11.1.html","discuss":"https://lobste.rs/s/siqsg7/announcing_netbsd_11_1","score":29,"comments":1,"date":"2026-11-03T22:00:17.275Z","skills":[]},{"id":"hn:50358702","src":"hn","title":"The Internals of PostgreSQL","url":"https://www.interdb.jp/pg/index.html","discuss":"https://news.ycombinator.com/item?id=50358702","score":267,"comments":20,"date":"2026-11-03T21:51:06.000Z","skills":["postgresql"]},{"id":"hn:50358582","src":"hn","title":"The Little Book of Generative AI Foundations: An Intuitive Mathematical Primer","url":"https://arxiv.org/abs/2605.29713","discuss":"https://news.ycombinator.com/item?id=50358582","score":334,"comments":51,"date":"2026-11-03T21:40:53.000Z","skills":["llm"]},{"id":"hn:50358562","src":"hn","title":"Safari introduces Adaptive Dark Mode in 27.3","url":"https://webkit.org/blog/18541/introducing-adaptive-dark-mode/","discuss":"https://news.ycombinator.com/item?id=50358562","score":424,"comments":224,"date":"2026-11-03T21:39:05.000Z","skills":[]},{"id":"devto:4971518","src":"devto","title":"What I Learned Managing a Full Project with Antigravity","url":"https://dev.to/gde/what-i-learned-managing-a-full-project-with-antigravity-1ppc","score":2,"comments":0,"date":"2026-11-03T21:39:03.000Z","skills":["llm","prompt-engineering"]},{"id":"lobsters:1zetje","src":"lobsters","title":"macOS 27 Golden Gate does not actually support CoreStorage volumes","url":"https://wadetregaskis.com/macos-27-golden-gate-does-not-actually-support-corestorage-or-hfs-volumes/","discuss":"https://lobste.rs/s/1zetje/macos_27_golden_gate_does_not_actually","score":5,"comments":0,"date":"2026-11-03T21:37:11.701Z","skills":[]},{"id":"hn:50358422","src":"hn","title":"US tech giants' hidden AI debt swells 90% to $3.2T in 6 months","url":"https://asia.nikkei.com/business/technology/artificial-intelligence/us-tech-giants-hidden-ai-debt-swells-90-to-3.2tn-in-6-months","discuss":"https://news.ycombinator.com/item?id=50358422","score":347,"comments":144,"date":"2026-11-03T21:26:44.000Z","skills":[]},{"id":"hn:50358352","src":"hn","title":"Show HN: Uncracked City, detective game where you question LLM suspects that lie","url":"https://uncracked.city","discuss":"https://news.ycombinator.com/item?id=50358352","score":54,"comments":18,"date":"2026-11-03T21:20:03.000Z","skills":["llm"]},{"id":"hn:50358314","src":"hn","title":"Show HN: Kairos – Open-source risk and fraud decisioning platform","url":"https://github.com/finic-ai/kairos","discuss":"https://news.ycombinator.com/item?id=50358314","score":91,"comments":23,"date":"2026-11-03T21:16:48.000Z","skills":[]},{"id":"ithome:3de660a19302","src":"ithome","title":"電商ERP業者莫筆克科技遭駭，Shopline更換相關API金鑰，商家匯入ERP的資料恐受影響","url":"https://www.ithome.com.tw/news/180213","date":"2026-11-03T21:11:07.000Z","skills":["security","erp"]},{"id":"lobsters:znbrpn","src":"lobsters","title":"mine","url":"https://coalton-lang.github.io/mine/","discuss":"https://lobste.rs/s/znbrpn/mine","score":8,"comments":0,"date":"2026-11-03T21:01:04.378Z","skills":[]},{"id":"devto:4971503","src":"devto","title":"More of the Java API, and an Experiment With Unity Games","url":"https://dev.to/codenameone/more-of-the-java-api-and-an-experiment-with-unity-games-4ae6","score":6,"comments":0,"date":"2026-11-03T20:24:05.000Z","skills":["java","ios","android","gamedev"]},{"id":"devto:4971470","src":"devto","title":"Let's see where you code!","url":"https://dev.to/maame-codes/lets-see-where-you-code-147","score":57,"comments":10,"date":"2026-11-03T20:18:40.000Z","skills":["aws"]},{"id":"ithome:72889162807d","src":"ithome","title":"OpenAI自建Pando擴充Git後端，推送延遲降低近80%","url":"https://www.ithome.com.tw/news/180219","date":"2026-11-03T20:11:31.000Z","skills":["llm","ai-coding","git"]},{"id":"ithome:bed8d9e6d176","src":"ithome","title":"Google AI打進本土電信通路，中華電信提供年約月繳方案，降低付費AI使用門檻","url":"https://www.ithome.com.tw/news/180218","date":"2026-11-03T20:11:23.000Z","skills":["llm"]},{"id":"ithome:b62b29cd3c5a","src":"ithome","title":"cPGuard更新通道遭到入侵，近3千臺伺服器被植入惡意程式","url":"https://www.ithome.com.tw/news/180217","date":"2026-11-03T20:11:02.000Z","skills":["security"]},{"id":"lobsters:xbmjlj","src":"lobsters","title":"Would you believe it's jank?","url":"https://www.youtube.com/watch?v=tHgApFhevrQ","discuss":"https://lobste.rs/s/xbmjlj/would_you_believe_it_s_jank","score":20,"comments":7,"date":"2026-11-03T20:03:16.449Z","skills":["cpp"]},{"id":"lobsters:qvpzfa","src":"lobsters","title":"Common Beliefs About DNSSEC Put to the Test: An Invitation to Fact-Check Your Assumptions","url":"https://circleid.com/posts/common-beliefs-about-dnssec-put-to-the-test-an-invitation-to-fact-check-your-assumptions","discuss":"https://lobste.rs/s/qvpzfa/common_beliefs_about_dnssec_put_test","score":5,"comments":1,"date":"2026-11-03T19:45:28.824Z","skills":["networking","security"]},{"id":"hn:50356913","src":"hn","title":"Introduction to Programming in ATS","url":"https://ats-lang.sourceforge.net/DOCUMENT/INT2PROGINATS/HTML/book1.html","discuss":"https://news.ycombinator.com/item?id=50356913","score":75,"comments":9,"date":"2026-11-03T19:25:18.000Z","skills":[]},{"id":"thenewstack:dd1fed86257a","src":"thenewstack","title":"Goldman Sachs restricted Claude Code for bankers — but made one surprising exception","url":"https://thenewstack.io/ai-coding-agents-security/","date":"2026-11-03T19:18:34.000Z","skills":["llm","ai-agents","ai-coding","security"]},{"id":"ithome:33c4db4e1b87","src":"ithome","title":"繼91APP遭駭後，1shop、Cyberbiz與meepShop等電商技術服務業者接連傳出資安警訊","url":"https://www.ithome.com.tw/news/180209","date":"2026-11-03T19:11:05.000Z","skills":["security"]},{"id":"infoq:998b059976de","src":"infoq","title":"Google Launches LiteRT Tensor API for Building, Customizing, and Optimizing ML Models for On-Device","url":"https://www.infoq.com/news/2026/11/litert-tensor-api/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global","date":"2026-11-03T19:00:00.000Z","skills":["cpp","ios","android","machine-learning","tensorflow"]},{"id":"lobsters:r3gton","src":"lobsters","title":"Your terminal manipulation/navigation setups","url":"https://lobste.rs/s/r3gton/your_terminal_manipulation_navigation","score":13,"comments":10,"date":"2026-11-03T18:54:55.545Z","skills":["a11y"]},{"id":"ithome:7c3bff375683","src":"ithome","title":"身分驗證服務公司WorkOS資料外洩，攻擊者透過AI滲透測試框架ARTEX得逞","url":"https://www.ithome.com.tw/news/180215","date":"2026-11-03T18:11:30.000Z","skills":[]},{"id":"hn:50355767","src":"hn","title":"How I use AI (Oct 2026)","url":"https://ben.stolovitz.com/posts/how-use-ai-oct-2026/","discuss":"https://news.ycombinator.com/item?id=50355767","score":168,"comments":152,"date":"2026-11-03T18:11:11.000Z","skills":[]},{"id":"ithome:c2d2844c9ba4","src":"ithome","title":"微軟展示NuGet套件封裝代理技能，開發指引可對應函式庫版本","url":"https://www.ithome.com.tw/news/180214","date":"2026-11-03T18:11:02.000Z","skills":["dotnet","ai-agents","agent-skills"]},{"id":"lobsters:gwyv50","src":"lobsters","title":"kitty 0.50.0","url":"https://sw.kovidgoyal.net/kitty/changelog/#id1","discuss":"https://lobste.rs/s/gwyv50/kitty_0_50_0","score":29,"comments":0,"date":"2026-11-03T17:43:09.945Z","skills":["linux"]},{"id":"hn:50355251","src":"hn","title":"Qwen 3.8 27B on my laptop can interpret model weights, too","url":"https://simonwillison.net/2026/Nov/3/qwen-can-interpret-model-weights/","discuss":"https://news.ycombinator.com/item?id=50355251","score":613,"comments":180,"date":"2026-11-03T17:40:00.000Z","skills":["llm"]},{"id":"hn:50354960","src":"hn","title":"Postman silently auto-installs AI plugins and attempts to share all API data","url":"https://github.com/postmanlabs/postman-app-support/issues/14370","discuss":"https://news.ycombinator.com/item?id=50354960","score":1254,"comments":415,"date":"2026-11-03T17:22:37.000Z","skills":[]},{"id":"ithome:5d14b0ccdb55","src":"ithome","title":"新航受Amadeus資安事件波及，約4.6萬筆訂位紀錄可能外洩","url":"https://www.ithome.com.tw/news/180212","date":"2026-11-03T17:11:25.000Z","skills":["security"]},{"id":"hn:50354582","src":"hn","title":"Ashby (YC W19) Is Hiring EMs","url":"https://www.ashbyhq.com/careers?ashby_jid=695b1ce6-c375-4fad-94ef-61b50a3fbd28&utm_source=hn","discuss":"https://news.ycombinator.com/item?id=50354582","score":0,"comments":0,"date":"2026-11-03T17:00:53.000Z","skills":[]},{"id":"hn:50354358","src":"hn","title":"Stringman, an $800 open-source room scale gripper robot","url":"https://neufangled.com/","discuss":"https://news.ycombinator.com/item?id=50354358","score":581,"comments":193,"date":"2026-11-03T16:47:29.000Z","skills":[]},{"id":"infoq:71a273385a38","src":"infoq","title":"Vitest 5: Prioritises Performance with a Shared Vite Server, Trace View, and Stricter Test Defaults","url":"https://www.infoq.com/news/2026/11/vite-5-release/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global","date":"2026-11-03T16:47:00.000Z","skills":["build-tools","nodejs","testing"]},{"id":"lobsters:rwlg3h","src":"lobsters","title":"Planning with open variable lists in Gecode","url":"https://zayenz.se/blog/post/open-cp-in-gecode/","discuss":"https://lobste.rs/s/rwlg3h/planning_with_open_variable_lists_gecode","score":3,"comments":0,"date":"2026-11-03T16:33:43.582Z","skills":[]},{"id":"devto:4964893","src":"devto","title":"Stop Generating Changelogs from Git Commits: How I Fixed the 'WHY' Problem in ChangelogBot","url":"https://dev.to/johnnylemonny/stop-generating-changelogs-from-git-commits-how-i-fixed-the-why-problem-in-changelogbot-11n9","score":13,"comments":5,"date":"2026-11-03T16:30:00.000Z","skills":["typescript","git"]},{"id":"lobsters:ihvhfk","src":"lobsters","title":"A Second Futamura Projection","url":"https://blog.veitheller.de/A_Second_Futamura_Projection.html","discuss":"https://lobste.rs/s/ihvhfk/second_futamura_projection","score":8,"comments":3,"date":"2026-11-03T16:14:27.370Z","skills":["compilers"]},{"id":"devto:4966470","src":"devto","title":"One Last Post, and a Proper Goodbye","url":"https://dev.to/anchildress1/one-last-post-and-a-proper-goodbye-53a2","score":40,"comments":7,"date":"2026-11-03T16:08:07.000Z","skills":[]},{"id":"githubblog:a9339aac474e","src":"githubblog","title":"Arnis turns any place on Earth into a Minecraft world","url":"https://github.blog/open-source/maintainers/arnis-turns-any-place-on-earth-into-a-minecraft-world/","date":"2026-11-03T16:00:00.000Z","skills":["ai-coding"]},{"id":"lobsters:1gndxr","src":"lobsters","title":"Could a modern chess engine on a Pentium have defeated Kasparov in 1996?","url":"https://nicholas.carlini.com/writing/2026/algorithmic-improvements-chess.html","discuss":"https://lobste.rs/s/1gndxr/could_modern_chess_engine_on_pentium_have","score":42,"comments":9,"date":"2026-11-03T15:44:27.749Z","skills":["gamedev"]},{"id":"hn:50353335","src":"hn","title":"Study estimates 75% of NFL players who died over 15-year span had CTE","url":"https://www.nbcnews.com/health/health-news/study-estimates-75-nfl-players-died-15-year-span-may-cte-rcna605975","discuss":"https://news.ycombinator.com/item?id=50353335","score":259,"comments":230,"date":"2026-11-03T15:38:04.000Z","skills":[]},{"id":"hn:50353229","src":"hn","title":"Kalshi and its co-founders face felony charges for violating Utah gambling laws","url":"https://arstechnica.com/tech-policy/2026/10/trump-admin-sues-utah-to-save-kalshi-from-the-states-total-ban-on-gambling/","discuss":"https://news.ycombinator.com/item?id=50353229","score":473,"comments":465,"date":"2026-11-03T15:29:15.000Z","skills":[]},{"id":"hn:50353192","src":"hn","title":"Google will turn off search for schools that reject AI","url":"https://www.nytimes.com/2026/11/03/us/google-search-schools-restrict-ai.html","discuss":"https://news.ycombinator.com/item?id=50353192","score":612,"comments":430,"date":"2026-11-03T15:25:47.000Z","skills":[]},{"id":"lobsters:e201eb","src":"lobsters","title":"The Ubuntu 26.04 Rust sudo is not compatible with standard sudo","url":"https://utcc.utoronto.ca/~cks/space/blog/linux/Ubuntu2604RustSudoNotCompatible","discuss":"https://lobste.rs/s/e201eb/ubuntu_26_04_rust_sudo_is_not_compatible","score":62,"comments":37,"date":"2026-11-03T15:23:21.757Z","skills":["rust","linux"]},{"id":"lobsters:chypzr","src":"lobsters","title":"Death comes for XSLT","url":"https://dbushell.com/2026/11/03/xslt-rip/","discuss":"https://lobste.rs/s/chypzr/death_comes_for_xslt","score":82,"comments":66,"date":"2026-11-03T15:19:50.214Z","skills":[]},{"id":"hn:50352758","src":"hn","title":"Mac at any scale","url":"https://namespace.so/blog/mac-at-any-scale","discuss":"https://news.ycombinator.com/item?id=50352758","score":380,"comments":212,"date":"2026-11-03T14:53:42.000Z","skills":[]},{"id":"hn:50352757","src":"hn","title":"OpenAI seems to be silently re-enabling model training on Codex chats","url":"https://news.ycombinator.com/item?id=50352757","score":476,"comments":144,"date":"2026-11-03T14:53:41.000Z","skills":["llm","ai-coding"]},{"id":"hn:50352641","src":"hn","title":"There is no posttraining data commons","url":"https://openathena.ai/blog/there-is-no-posttraining-data-commons/","discuss":"https://news.ycombinator.com/item?id=50352641","score":68,"comments":21,"date":"2026-11-03T14:45:47.000Z","skills":[]},{"id":"lobsters:yes2hc","src":"lobsters","title":"Ideas for social networks","url":"https://raphaelkabo.com/blog/social-network-ideas","discuss":"https://lobste.rs/s/yes2hc/ideas_for_social_networks","score":15,"comments":10,"date":"2026-11-03T14:24:08.210Z","skills":[]},{"id":"cloudflare:af5c97bd7711","src":"cloudflare","title":"Introducing Zero Wire, a hub for investigating critical Internet vulnerabilities","url":"https://blog.cloudflare.com/zero-wire/","date":"2026-11-03T14:00:00.000Z","skills":["security"]},{"id":"infoworld:d45ea8e11248","src":"infoworld","title":"Snowflake launches Business Ontology to boost AI agent reliability","url":"https://www.infoworld.com/article/4243932/snowflake-launches-business-ontology-to-boost-ai-agent-reliability.html","date":"2026-11-03T14:00:00.000Z","skills":["snowflake","ai-agents"]},{"id":"devto:4969450","src":"devto","title":"Your Agent Has a Side Door: Testing MCP Policy Beyond the Tool List","url":"https://dev.to/bengreenberg/your-agent-has-a-side-door-testing-mcp-policy-beyond-the-tool-list-1699","score":10,"comments":12,"date":"2026-11-03T13:56:51.000Z","skills":["llm","mcp","security"]},{"id":"devto:4966488","src":"devto","title":"I lost half a day to an n8n workflow that was \"working.\" It never ran.","url":"https://dev.to/aws-builders/i-lost-half-a-day-to-an-n8n-workflow-that-was-working-it-never-ran-43p","score":18,"comments":5,"date":"2026-11-03T13:53:07.000Z","skills":["aws","n8n"]},{"id":"devto:4897934","src":"devto","title":"Rack Before You Remember","url":"https://dev.to/kenwalger/rack-before-you-remember-2jl3","score":8,"comments":3,"date":"2026-11-03T13:53:00.000Z","skills":["llm","system-design"]},{"id":"thenewstack:1c895ab1dfa0","src":"thenewstack","title":"Anthropic speeds up Claude Code with message threads. But your token bill stays the same.","url":"https://thenewstack.io/anthropic-claude-message-threads/","date":"2026-11-03T13:46:14.000Z","skills":["llm","ai-agents","ai-coding"]},{"id":"devto:4969357","src":"devto","title":"I Let AI Build a Feature Without Giving It the Full Context","url":"https://dev.to/harsh2644/i-let-ai-build-a-feature-without-giving-it-the-full-context-6h","score":26,"comments":22,"date":"2026-11-03T13:36:07.000Z","skills":["llm"]},{"id":"devto:4962597","src":"devto","title":"[AI in Action] Rewriting a Daily LINE Bot from Python to Go 1.26 on Cloud Run: 1/4 Resource Usage, Google ADK v1.9.0, and Zero-D","url":"https://dev.to/gde/ai-in-action-rewriting-a-daily-line-bot-from-python-to-go-126-on-cloud-run-14-resource-usage-2o62","score":2,"comments":0,"date":"2026-11-03T13:29:47.000Z","skills":["python","go","gcp","llm"]},{"id":"lobsters:qynpzl","src":"lobsters","title":"openSUSE Leap 16.1","url":"https://en.opensuse.org/Release_announcement_16.1","discuss":"https://lobste.rs/s/qynpzl/opensuse_leap_16_1","score":6,"comments":0,"date":"2026-11-03T13:22:48.304Z","skills":["linux"]},{"id":"hn:50351463","src":"hn","title":"Microsoft fixes a Windows 11 annoyance as PC revenue declines","url":"https://arstechnica.com/gadgets/2026/10/windows-11-gets-right-click-menu-improvements-as-pc-revenue-slides/","discuss":"https://news.ycombinator.com/item?id=50351463","score":74,"comments":172,"date":"2026-11-03T12:58:43.000Z","skills":[]},{"id":"hn:50351298","src":"hn","title":"Why Clip Art Was Everywhere Until It Wasn't [video]","url":"https://www.youtube.com/watch?v=XfLlpxE6AYM","discuss":"https://news.ycombinator.com/item?id=50351298","score":38,"comments":12,"date":"2026-11-03T12:40:06.000Z","skills":[]},{"id":"hn:50351111","src":"hn","title":"The 'Astra can read and write weights to improve Qwen' post is misleading","url":"https://honnibal.dev/blog/astra-read-write-misleading","discuss":"https://news.ycombinator.com/item?id=50351111","score":970,"comments":202,"date":"2026-11-03T12:21:17.000Z","skills":["llm"]},{"id":"infoq:d6d683fe0eb8","src":"infoq","title":"LinkedIn Uses OpenTelemetry to Trace the Member Journey from Tap to Backend","url":"https://www.infoq.com/news/2026/11/linkedin-opentelemetry-journey/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global","date":"2026-11-03T12:00:00.000Z","skills":["ios","android","opentelemetry","observability"]},{"id":"lobsters:bw6uqz","src":"lobsters","title":"git-loom 1.0","url":"https://narnaud.github.io/git-loom/introduction.html","discuss":"https://lobste.rs/s/bw6uqz/git_loom_1_0","score":0,"comments":3,"date":"2026-11-03T11:54:42.031Z","skills":["git"]},{"id":"devto:4966754","src":"devto","title":"FastAPI 0.162.0 fixes a required checkbox that was never actually required","url":"https://dev.to/alexgeorgiev17/fastapi-01620-fixes-a-required-checkbox-that-was-never-actually-required-5boc","score":12,"comments":5,"date":"2026-11-03T11:00:00.000Z","skills":["python","fastapi","rest"]},{"id":"infoq:4d5869a8edae","src":"infoq","title":"Presentation: Beyond the Harness: Canvas for AI Agents","url":"https://www.infoq.com/presentations/canvas-ai-agents/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global","date":"2026-11-03T11:00:00.000Z","skills":["ai-agents","prompt-engineering","system-design"]},{"id":"devto:4968157","src":"devto","title":"Your Website Has a Design System. Does Your Marketing Team Have a Content System?","url":"https://dev.to/yassersoliman/your-website-has-a-design-system-does-your-marketing-team-have-a-content-system-27d1","score":23,"comments":2,"date":"2026-11-03T09:51:30.000Z","skills":["design-system"]},{"id":"devto:4968026","src":"devto","title":"Your Database Has Backups. Have You Ever Tried Restoring One?","url":"https://dev.to/robertadam987_/your-database-has-backups-have-you-ever-tried-restoring-one-404h","score":16,"comments":4,"date":"2026-11-03T09:21:31.000Z","skills":[]},{"id":"devto:4967995","src":"devto","title":"My homepage took 8 seconds to load. I threw a CDN, a cache, and lazy-loading at it. It was still slow.","url":"https://dev.to/infoinlet1/my-homepage-took-8-seconds-to-load-i-threw-a-cdn-a-cache-and-lazy-loading-at-it-it-was-still-1abh","score":12,"comments":4,"date":"2026-11-03T09:16:39.000Z","skills":[]},{"id":"infoworld:26258829f31a","src":"infoworld","title":"How good is your cloud exit strategy?","url":"https://www.infoworld.com/article/4243463/how-good-is-your-cloud-exit-strategy.html","date":"2026-11-03T09:00:00.000Z","skills":[]},{"id":"infoworld:ec5c09830e9e","src":"infoworld","title":"Influencing the agents","url":"https://www.infoworld.com/article/4242958/influencing-the-agents.html","date":"2026-11-03T09:00:00.000Z","skills":["ai-agents"]},{"id":"infoworld:d108b47fccc8","src":"infoworld","title":"Before you buy an AI agent, make it pass an exit test","url":"https://www.infoworld.com/article/4243401/before-you-buy-an-ai-agent-make-it-pass-an-exit-test.html","date":"2026-11-03T09:00:00.000Z","skills":["ai-agents","ai-coding"]},{"id":"stackoverflow:7ecb52943e26","src":"stackoverflow","title":"Oh, your agents need OAuth2, too","url":"https://stackoverflow.blog/2026/11/03/oh-your-agents-need-oauth2-too/","date":"2026-11-03T08:40:00.000Z","skills":["llm","ai-agents","ai-coding","auth"]},{"id":"lobsters:cwxne0","src":"lobsters","title":"Designing a planned switchover for minimum disruption","url":"https://planetscale.com/blog/designing-a-planned-switchover-for-minimum-disruption","discuss":"https://lobste.rs/s/cwxne0/designing_planned_switchover_for","score":2,"comments":0,"date":"2026-11-03T08:20:13.016Z","skills":["distributed-systems"]},{"id":"lobsters:trqbi2","src":"lobsters","title":"Firefox Security & Privacy Newsletter 2026 Q3","url":"https://attackanddefense.dev/2026/11/02/firefox-security-and-privacy-newsletter-q3.html","discuss":"https://lobste.rs/s/trqbi2/firefox_security_privacy_newsletter","score":8,"comments":6,"date":"2026-11-03T08:03:58.461Z","skills":["security"]},{"id":"devto:4967668","src":"devto","title":"Writing code for a computer that is mostly asleep","url":"https://dev.to/remdore/writing-code-for-a-computer-that-is-mostly-asleep-27ok","score":13,"comments":2,"date":"2026-11-03T08:03:42.000Z","skills":["llm","system-design"]},{"id":"github:1443985070","src":"github","title":"KKKKhazix/agent-autoloop：让你的命令行 Agent 在后台自己接活、自己跟进到底；平时不烦你，遇到拿不准的事才发卡片找你拍板。","url":"https://github.com/KKKKhazix/agent-autoloop","score":1675,"date":"2026-11-03T08:02:11.000Z","skills":["typescript","nodejs","ai-agents","mcp","ai-coding"]},{"id":"hn:50349276","src":"hn","title":"Could a modern chess engine on a Pentium have defeated Kasparov in 1996?","url":"https://nicholas.carlini.com/writing/2026/algorithmic-improvements-chess.html","discuss":"https://news.ycombinator.com/item?id=50349276","score":467,"comments":230,"date":"2026-11-03T07:56:21.000Z","skills":[]},{"id":"lobsters:z8wvkd","src":"lobsters","title":"The software industry: annealing, but wrong","url":"https://apenwarr.ca/log/20260531-the-software-industry-annealing-but-wrong","discuss":"https://lobste.rs/s/z8wvkd/software_industry_annealing_wrong","score":1,"comments":1,"date":"2026-11-03T07:39:47.163Z","skills":[]},{"id":"lobsters:wpahfd","src":"lobsters","title":"Why we're moving our warehouse off DuckDB","url":"https://posthog.com/blog/moving-off-duckdb","discuss":"https://lobste.rs/s/wpahfd/why_we_re_moving_our_warehouse_off_duckdb","score":7,"comments":9,"date":"2026-11-03T07:33:25.774Z","skills":["duckdb"]},{"id":"hn:50348962","src":"hn","title":"Nvidia – open-source auto-ontology","url":"https://github.com/NVIDIA/auto-ontology","discuss":"https://news.ycombinator.com/item?id=50348962","score":277,"comments":134,"date":"2026-11-03T07:04:50.000Z","skills":[]},{"id":"lobsters:7fcuxz","src":"lobsters","title":"Why did you choose the nix you nix?","url":"https://lobste.rs/s/7fcuxz/why_did_you_choose_nix_you_nix","score":43,"comments":41,"date":"2026-11-03T03:58:06.895Z","skills":["nix"]},{"id":"github:1443759946","src":"github","title":"govijr/terminal-mac：Entire MacOS running in your terminal.","url":"https://github.com/govijr/terminal-mac","score":771,"date":"2026-11-03T03:22:56.000Z","skills":["swift","bash"]},{"id":"devto:4966218","src":"devto","title":"My Agent Gave the Right Answer. Then It Wrote Down That It Was Wrong.","url":"https://dev.to/kenielzep97/my-agent-gave-the-right-answer-then-it-wrote-down-that-it-was-wrong-311d","score":23,"comments":32,"date":"2026-11-03T02:53:34.000Z","skills":["python","llm","ai-agents"]},{"id":"lobsters:bpnooq","src":"lobsters","title":"Scaling Git at OpenAI","url":"https://openai.com/index/scaling-git-at-openai/","discuss":"https://lobste.rs/s/bpnooq/scaling_git_at_openai","score":1,"comments":1,"date":"2026-11-03T02:18:20.913Z","skills":["llm","git"]},{"id":"devto:4965984","src":"devto","title":"My Harness Reported 0 Findings on 100 Files. All 100 Were Ignored.","url":"https://dev.to/ofri-peretz/my-harness-reported-0-findings-on-100-files-all-100-were-ignored-1okn","score":4,"comments":1,"date":"2026-11-03T02:15:06.000Z","skills":["javascript","testing"]},{"id":"hn:50346981","src":"hn","title":"Show HN: Hacker Times, a New York Times-inspired version of Hacker News","url":"https://hackertimes.ca/","discuss":"https://news.ycombinator.com/item?id=50346981","score":456,"comments":146,"date":"2026-11-03T01:53:34.000Z","skills":[]},{"id":"hn:50346849","src":"hn","title":"DiscImageStudio: burn visible artwork onto CDs, DVDs and Blu-ray discs","url":"https://github.com/JiaFeiMiao-K-Cat/DiscImageStudio","discuss":"https://news.ycombinator.com/item?id=50346849","score":349,"comments":77,"date":"2026-11-03T01:33:43.000Z","skills":[]},{"id":"hn:50346755","src":"hn","title":"Show HN: HackerTV – HN's most-recommended Youtube videos as 24/7 TV channels","url":"https://hackertv.org","discuss":"https://news.ycombinator.com/item?id=50346755","score":319,"comments":65,"date":"2026-11-03T01:18:09.000Z","skills":[]},{"id":"ithome:79473b9ff598","src":"ithome","title":"MIT展示權重空間程式設計，GPT-6 Astra可直接讀寫神經網路權重","url":"https://www.ithome.com.tw/news/180195","date":"2026-11-03T00:11:07.000Z","skills":["machine-learning","llm"]},{"id":"hn:50346153","src":"hn","title":"Intel stock collapse worsens as $3.5T chip rout spreads","url":"https://finance.yahoo.com/markets/article/the-intel-stock-collapse-is-getting-worse--and-the-37-trillion-chip-rout-is-spreading-212154947.html","discuss":"https://news.ycombinator.com/item?id=50346153","score":232,"comments":221,"date":"2026-11-03T00:08:53.000Z","skills":[]},{"id":"thenewstack:b4c2d77f77f5","src":"thenewstack","title":"OpenAI built itself a new Git backend, too","url":"https://thenewstack.io/openai-pando-git-backend/","date":"2026-11-03T00:00:00.000Z","skills":["llm","ai-agents","git"]},{"id":"hn:50345924","src":"hn","title":"Scaling Git at OpenAI","url":"https://openai.com/index/scaling-git-at-openai/","discuss":"https://news.ycombinator.com/item?id=50345924","score":266,"comments":179,"date":"2026-11-02T23:47:56.000Z","skills":["llm","git"]},{"id":"lobsters:aqyfya","src":"lobsters","title":"Expat 2.10.0 released, fixes four vulnerabilities","url":"https://blog.hartwork.org/posts/expat-2-10-0-released/","discuss":"https://lobste.rs/s/aqyfya/expat_2_10_0_released_fixes_four","score":5,"comments":1,"date":"2026-11-02T23:47:22.135Z","skills":["security"]},{"id":"hn:50344958","src":"hn","title":"Anthropic's growth just flattened","url":"https://www.regenerator1.com/p/anthropics-growth-just-flattened","discuss":"https://news.ycombinator.com/item?id=50344958","score":227,"comments":272,"date":"2026-11-02T22:33:20.000Z","skills":["llm"]},{"id":"hn:50344919","src":"hn","title":"The SEC Should Block Anthropic's IPO to Protect the Public","url":"https://www.techpolicy.press/the-sec-should-block-anthropics-ipo-to-protect-the-public/","discuss":"https://news.ycombinator.com/item?id=50344919","score":398,"comments":317,"date":"2026-11-02T22:30:47.000Z","skills":["llm"]},{"id":"devto:4965289","src":"devto","title":"Use it, or lose it 🧠","url":"https://dev.to/fm/use-it-or-lose-it-42l","score":31,"comments":8,"date":"2026-11-02T22:11:07.000Z","skills":["llm"]},{"id":"ithome:d7b991934789","src":"ithome","title":"永豐銀行發生不明轉帳事件，該行證實新網銀系統程式異常，初步清查影響419名客戶、涉及427筆交易","url":"https://www.ithome.com.tw/news/180185","date":"2026-11-02T22:11:06.000Z","skills":[]},{"id":"lobsters:eyu8r2","src":"lobsters","title":"The road to opaque software is paved with good (engineering) intentions","url":"https://tomasp.net/longreads/closing/","discuss":"https://lobste.rs/s/eyu8r2/road_opaque_software_is_paved_with_good","score":7,"comments":0,"date":"2026-11-02T21:42:37.715Z","skills":[]},{"id":"hn:50344181","src":"hn","title":"BYD sold more EVs last month than the US did all quarter","url":"https://electrek.co/2026/11/02/byd-sold-more-evs-last-month-than-the-us-did-all-quarter/","discuss":"https://news.ycombinator.com/item?id=50344181","score":283,"comments":314,"date":"2026-11-02T21:38:49.000Z","skills":[]},{"id":"devto:4964848","src":"devto","title":"Gemma 4 in Rust on TorchTPU: A Native TPU Rig With PyO3 and MCP","url":"https://dev.to/gde/gemma-4-in-rust-on-torchtpu-a-native-tpu-rig-with-pyo3-and-mcp-47j1","score":13,"comments":1,"date":"2026-11-02T21:32:30.000Z","skills":["cpp","rust","llm","mcp","pytorch"]},{"id":"lobsters:wgoato","src":"lobsters","title":"A Decade of Kill Bugs","url":"https://alangrow.com/blog/a-decade-of-kill-bugs","discuss":"https://lobste.rs/s/wgoato/decade_kill_bugs","score":108,"comments":18,"date":"2026-11-02T21:23:24.764Z","skills":["linux"]},{"id":"ithome:939c9d40d7ac","src":"ithome","title":"Hugging Face遭惡意模型濫用，31個儲存庫散布挖礦程式與後門","url":"https://www.ithome.com.tw/news/180184","date":"2026-11-02T21:11:10.000Z","skills":["llm","huggingface","security"]},{"id":"ithome:b4860537c65e","src":"ithome","title":"AI應用開發平臺Langflow修補2項重大漏洞，攻擊者可繞過身分驗證或遠端執行程式碼","url":"https://www.ithome.com.tw/news/180183","date":"2026-11-02T21:11:00.000Z","skills":["security"]},{"id":"thenewstack:5544bc06cebb","src":"thenewstack","title":"Developers are downgrading their AI on purpose — and it’s working","url":"https://thenewstack.io/claude-code-developer-refusals/","date":"2026-11-02T21:03:31.000Z","skills":["llm","ai-coding"]},{"id":"devto:4965005","src":"devto","title":"I Built LLM Explained: 43 Interactive Pages That Take You From Tokens to AI Agents","url":"https://dev.to/amananandrai/i-built-llm-explained-43-interactive-pages-that-take-you-from-tokens-to-ai-agents-2n37","score":11,"comments":0,"date":"2026-11-02T21:03:27.000Z","skills":["llm","ai-agents"]},{"id":"devto:4964878","src":"devto","title":"I Built a Visual System Design Reference — Switch Any Architecture Between AWS, Azure, GCP & Open Source","url":"https://dev.to/amananandrai/i-built-a-visual-system-design-reference-switch-any-architecture-between-aws-azure-gcp-open-55og","score":24,"comments":4,"date":"2026-11-02T20:40:43.000Z","skills":["aws","azure","gcp","system-design"]},{"id":"lobsters:0ec9yk","src":"lobsters","title":"An Introduction to Bε-trees and Write-Optimization","url":"https://www.usenix.org/publications/login/oct15/bender","discuss":"https://lobste.rs/s/0ec9yk/introduction_b_trees_write_optimization","score":27,"comments":1,"date":"2026-11-02T20:26:38.846Z","skills":[]},{"id":"ithome:5ced4c052979","src":"ithome","title":"Cloudflare改造DNS更新流程，處理延遲從7.7秒降至3.3秒","url":"https://www.ithome.com.tw/news/180181","date":"2026-11-02T20:11:46.000Z","skills":["cloudflare","networking"]},{"id":"ithome:9ace1568c4f6","src":"ithome","title":"Drupal揭露已遭利用的Commerce Core模組重大漏洞","url":"https://www.ithome.com.tw/news/180180","date":"2026-11-02T20:11:41.000Z","skills":["security"]},{"id":"ithome:eba49409be7f","src":"ithome","title":"甫修補的WordPress漏洞消息公布，9分鐘後隨即出現嘗試利用活動","url":"https://www.ithome.com.tw/news/180182","date":"2026-11-02T20:11:07.000Z","skills":["security"]},{"id":"hn:50342931","src":"hn","title":"Union Types and Option Types (2025)","url":"https://tibleiz.net/blog/2025-03-16-union-types-and-option-types.html","discuss":"https://news.ycombinator.com/item?id=50342931","score":46,"comments":21,"date":"2026-11-02T20:08:33.000Z","skills":[]},{"id":"lobsters:ezg5mx","src":"lobsters","title":"My favourite laptop","url":"https://blog.jsbarretto.com/post/laptop","discuss":"https://lobste.rs/s/ezg5mx/my_favourite_laptop","score":44,"comments":35,"date":"2026-11-02T19:48:40.520Z","skills":[]},{"id":"lobsters:s1btqo","src":"lobsters","title":"This background sound leaks your exact location","url":"https://youtu.be/UytYrhYLOKI","discuss":"https://lobste.rs/s/s1btqo/this_background_sound_leaks_your_exact","score":101,"comments":7,"date":"2026-11-02T19:42:32.458Z","skills":["security"]},{"id":"lobsters:u7wdqj","src":"lobsters","title":"Sparks of Weight-Space Programming: LLMs can natively read & write neural network weights","url":"https://rikiyat.github.io/blog/weight-space-programming/","discuss":"https://lobste.rs/s/u7wdqj/sparks_weight_space_programming_llms_can","score":50,"comments":16,"date":"2026-11-02T19:24:33.645Z","skills":["machine-learning","llm"]},{"id":"lobsters:qa0owz","src":"lobsters","title":"Stop Hardcoding Your Timeouts","url":"https://alfy.blog/2026/04/23/stop-hardcoding-your-timeouts.html","discuss":"https://lobste.rs/s/qa0owz/stop_hardcoding_your_timeouts","score":64,"comments":26,"date":"2026-11-02T19:22:32.608Z","skills":[]},{"id":"thenewstack:8b9dbc160852","src":"thenewstack","title":"Your AI coding agent now runs on a budget — and it can cut you off mid-task","url":"https://thenewstack.io/22842541cognition-devin-hierarchical-budgets/","date":"2026-11-02T19:03:38.000Z","skills":["ai-agents","ai-coding"]},{"id":"hn:50341462","src":"hn","title":"Ubuntu still has not released patch for Linux 0day RCE in almost 3 weeks","url":"https://freenode.net/article/ubuntu-lts-kernels-still-unfixed-for-critical-cve-2026-98432","discuss":"https://news.ycombinator.com/item?id=50341462","score":612,"comments":205,"date":"2026-11-02T18:39:38.000Z","skills":["linux"]},{"id":"hn:50341174","src":"hn","title":"Astra can read and write weights to improve Qwen","url":"https://rikiyat.github.io/blog/weight-space-programming/","discuss":"https://news.ycombinator.com/item?id=50341174","score":2928,"comments":881,"date":"2026-11-02T18:21:28.000Z","skills":["llm"]},{"id":"lobsters:rzrqj8","src":"lobsters","title":"MNT October 2026 Update","url":"https://mntre.com/media/reform_md/2026-10-31-october-update.html","discuss":"https://lobste.rs/s/rzrqj8/mnt_october_2026_update","score":5,"comments":0,"date":"2026-11-02T18:07:26.256Z","skills":[]},{"id":"thenewstack:c2d2ee67b1a0","src":"thenewstack","title":"Canva’s new design model doesn’t generate images. It writes code to edit them.","url":"https://thenewstack.io/canva-brush-design-editing/","date":"2026-11-02T18:06:26.000Z","skills":["llm","ai-agents"]},{"id":"lobsters:drdxcw","src":"lobsters","title":"There’s a microchip in my toothbrush. But WHY?","url":"https://youtu.be/aq0aTRG8YTE","discuss":"https://lobste.rs/s/drdxcw/there_s_microchip_my_toothbrush_why","score":3,"comments":2,"date":"2026-11-02T17:57:36.731Z","skills":[]},{"id":"hn:50340619","src":"hn","title":"Self-Employed? Solopreneur? NIST Has a Cybersecurity Guide Just for You","url":"https://www.nist.gov/news-events/news/2026/11/self-employed-solopreneur-nist-has-cybersecurity-guide-just-you","discuss":"https://news.ycombinator.com/item?id=50340619","score":327,"comments":91,"date":"2026-11-02T17:47:40.000Z","skills":["security"]},{"id":"lobsters:yd7075","src":"lobsters","title":"Thinking in Traits","url":"https://corrode.dev/blog/thinking-in-traits/","discuss":"https://lobste.rs/s/yd7075/thinking_traits","score":7,"comments":0,"date":"2026-11-02T17:34:20.764Z","skills":["rust"]},{"id":"hn:50340088","src":"hn","title":"Show HN: Subvocal – Talk to your computer without making noise","url":"https://news.ycombinator.com/item?id=50340088","score":817,"comments":388,"date":"2026-11-02T17:16:17.000Z","skills":[]},{"id":"infoq:877b4f251a97","src":"infoq","title":"Google and Meta Open-Source TorchTPU to Bring Native PyTorch Support to Google TPUs","url":"https://www.infoq.com/news/2026/11/torchtpu-native-pythorch-tpu/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global","date":"2026-11-02T17:00:00.000Z","skills":["ai-agents","pytorch","distributed-systems"]},{"id":"infoq:23ae89e15289","src":"infoq","title":"Java News Roundup: TornadoVM 8.0, JNoSQL, Endive, JReleaser, JBang, LangChain4j, Quarkus Almanac","url":"https://www.infoq.com/news/2026/11/java-news-roundup-oct26-2026/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global","date":"2026-11-02T17:00:00.000Z","skills":["java","orm"]},{"id":"thenewstack:cb3d077952a1","src":"thenewstack","title":"OpenAI’s new shared usage limit pits ChatGPT against Codex","url":"https://thenewstack.io/openai-chatgpt-codex-shared-limits/","date":"2026-11-02T16:45:19.000Z","skills":["llm","ai-agents","ai-coding"]},{"id":"hn:50339494","src":"hn","title":"Anthropic's internal AI use, at retail prices, now exceeds its employee pay","url":"https://www.businessinsider.com/anthropic-claude-internal-ai-use-exceeds-employee-pay-tokens-2026-11","discuss":"https://news.ycombinator.com/item?id=50339494","score":352,"comments":269,"date":"2026-11-02T16:40:29.000Z","skills":["llm"]},{"id":"hn:50339397","src":"hn","title":"US boy names that became girl names and vice versa","url":"https://namedaisy.com/blog/boy-names-that-became-girl-names","discuss":"https://news.ycombinator.com/item?id=50339397","score":482,"comments":462,"date":"2026-11-02T16:34:36.000Z","skills":[]},{"id":"lobsters:qvdatp","src":"lobsters","title":"Jailbreaking my car's navigation system just so I can change the time","url":"https://blog.nns.ee/2026/11/02/renault-hack/","discuss":"https://lobste.rs/s/qvdatp/jailbreaking_my_car_s_navigation_system","score":157,"comments":10,"date":"2026-11-02T16:30:58.517Z","skills":["linux","security"]},{"id":"hn:50339288","src":"hn","title":"Jailbreaking my car's navigation system just so I can change the time","url":"https://blog.nns.ee/2026/11/02/renault-hack/","discuss":"https://news.ycombinator.com/item?id=50339288","score":793,"comments":313,"date":"2026-11-02T16:29:19.000Z","skills":[]},{"id":"lobsters:ifznly","src":"lobsters","title":"New Release: Tor Browser 16.0","url":"https://blog.torproject.org/new-release-tor-browser-160/","discuss":"https://lobste.rs/s/ifznly/new_release_tor_browser_16_0","score":10,"comments":0,"date":"2026-11-02T16:28:17.226Z","skills":[]},{"id":"hn:50339221","src":"hn","title":"Show HN: Warsaw in voxels – An interactive 3D map of the city centre","url":"https://p.migdal.pl/warsaw-vibe-voxel/","discuss":"https://news.ycombinator.com/item?id=50339221","score":317,"comments":52,"date":"2026-11-02T16:25:26.000Z","skills":[]},{"id":"lobsters:girvtu","src":"lobsters","title":"The Gift of It's Your Problem Now (2021)","url":"https://apenwarr.ca/log/20211229-the-gift-of-its-your-problem-now","discuss":"https://lobste.rs/s/girvtu/gift_it_s_your_problem_now_2021","score":5,"comments":0,"date":"2026-11-02T16:19:34.964Z","skills":["security"]},{"id":"devto:4963920","src":"devto","title":"This is my first HacktoberFest, and I don't know what to feel.","url":"https://dev.to/francistrdev/this-is-my-first-hacktoberfest-and-i-dont-know-what-to-feel-449f","score":93,"comments":59,"date":"2026-11-02T16:11:59.000Z","skills":[]},{"id":"hn:50338728","src":"hn","title":"Ask HN: Who is hiring? (November 2026)","url":"https://news.ycombinator.com/item?id=50338728","score":244,"comments":230,"date":"2026-11-02T16:01:37.000Z","skills":[]},{"id":"lobsters:c8ayyw","src":"lobsters","title":"Virtual Art Museum built with Three js","url":"https://dostoynikov.bearblog.dev/virtual-museum-for-my-wifes-artworks/","discuss":"https://lobste.rs/s/c8ayyw/virtual_art_museum_built_with_three_js","score":11,"comments":13,"date":"2026-11-02T15:51:17.980Z","skills":["javascript"]},{"id":"hn:50338334","src":"hn","title":"Curiosity Traps","url":"https://www.autodidacts.io/curiosity-traps/","discuss":"https://news.ycombinator.com/item?id=50338334","score":76,"comments":9,"date":"2026-11-02T15:40:04.000Z","skills":[]},{"id":"devto:4954763","src":"devto","title":"Butter Scraped Over Too Much Bread","url":"https://dev.to/aws-heroes/butter-scraped-over-too-much-bread-55jn","score":17,"comments":2,"date":"2026-11-02T15:23:55.000Z","skills":[]},{"id":"lobsters:gu6yyl","src":"lobsters","title":"Polyend releases the Tracker firmware source code","url":"https://backstage.polyend.com/t/tracker-the-biggest-update-yet/25120","discuss":"https://lobste.rs/s/gu6yyl/polyend_releases_tracker_firmware","score":36,"comments":10,"date":"2026-11-02T15:22:16.630Z","skills":["embedded"]},{"id":"lobsters:0mdf8w","src":"lobsters","title":"Securing Internet-Critical Software: How We Could Have Backdoored Bash","url":"https://www.hacktron.ai/blog/hacking-gnu-savannah","discuss":"https://lobste.rs/s/0mdf8w/securing_internet_critical_software_how","score":6,"comments":0,"date":"2026-11-02T15:06:38.656Z","skills":["bash","security"]},{"id":"lobsters:chn4hu","src":"lobsters","title":"Shutting the Door on the XCPE Botnet","url":"https://cloud.google.com/blog/topics/threat-intelligence/shutting-the-door-on-the-xcpe-botnet/","discuss":"https://lobste.rs/s/chn4hu/shutting_door_on_xcpe_botnet","score":3,"comments":0,"date":"2026-11-02T15:02:49.616Z","skills":["security"]},{"id":"hn:50337608","src":"hn","title":"WTF Ubuntu?","url":"https://chalmovsky.com/posts/wtf-ubuntu","discuss":"https://news.ycombinator.com/item?id=50337608","score":1611,"comments":671,"date":"2026-11-02T14:52:00.000Z","skills":["linux"]},{"id":"lobsters:8gsafe","src":"lobsters","title":"Recognizing Keystrokes Using WiFi Devices","url":"https://ieeexplore.ieee.org/document/7875144","discuss":"https://lobste.rs/s/8gsafe/recognizing_keystrokes_using_wifi","score":14,"comments":3,"date":"2026-11-02T14:43:13.576Z","skills":["security"]},{"id":"hn:50337439","src":"hn","title":"Anthropic reports $17B in Q3 revenue, commitments of $895B in revised S-1","url":"https://www.cnbc.com/2026/11/02/anthropic-ant-s-1-quarter-financials.html","discuss":"https://news.ycombinator.com/item?id=50337439","score":237,"comments":284,"date":"2026-11-02T14:38:45.000Z","skills":["llm"]},{"id":"lobsters:jo8vaj","src":"lobsters","title":"SuperVote: 15 year retrospective on an app for sharing political endorsements","url":"https://callejas.com/a/supervote/","discuss":"https://lobste.rs/s/jo8vaj/supervote_15_year_retrospective_on_app","score":8,"comments":0,"date":"2026-11-02T14:38:42.742Z","skills":["java","ios"]},{"id":"lobsters:ldwalv","src":"lobsters","title":"The advantages of mobile Linux over AOSP","url":"https://amosbbatto.wordpress.com/2026/10/19/the-advantages-of-mobile-linux-over-aosp/","discuss":"https://lobste.rs/s/ldwalv/advantages_mobile_linux_over_aosp","score":9,"comments":7,"date":"2026-11-02T14:29:18.834Z","skills":["linux"]},{"id":"hn:50336918","src":"hn","title":"Fujifilm to boost tape production 5x as AI fuels archiving demand","url":"https://arstechnica.com/gadgets/2026/10/fujifilm-to-boost-tape-production-5x-as-ai-fuels-archiving-demand/","discuss":"https://news.ycombinator.com/item?id=50336918","score":466,"comments":193,"date":"2026-11-02T14:02:42.000Z","skills":[]},{"id":"cloudflare:eb6ff7302710","src":"cloudflare","title":"How we halved DNS build delay and cut memory use by 85%","url":"https://blog.cloudflare.com/dns-targeted-zone-builds/","date":"2026-11-02T14:00:00.000Z","skills":["networking","kafka"]},{"id":"lobsters:xrqppo","src":"lobsters","title":"gohawk | Resource-focused static analysis for Go","url":"https://gohawk.dev","discuss":"https://lobste.rs/s/xrqppo/gohawk_resource_focused_static_analysis","score":8,"comments":1,"date":"2026-11-02T13:56:37.409Z","skills":["go"]},{"id":"lobsters:maqsgl","src":"lobsters","title":"What are you doing this week?","url":"https://lobste.rs/s/maqsgl/what_are_you_doing_this_week","score":18,"comments":51,"date":"2026-11-02T13:53:32.064Z","skills":[]},{"id":"infoq:cac07924b2ce","src":"infoq","title":"Uber Builds MCP Gateway to Govern Access to 800+ Servers and 5,000+ AI Agent Tools","url":"https://www.infoq.com/news/2026/11/uber-mcp-gateway-ai-agents/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global","date":"2026-11-02T13:53:00.000Z","skills":["ai-agents","mcp","microservices","rest","grpc","distributed-systems"]},{"id":"devto:4962916","src":"devto","title":"I built a 3D game about my Nigerian childhood (and I'm not a game developer)","url":"https://dev.to/deborahemeni1/i-built-a-3d-game-about-my-nigerian-childhood-and-im-not-a-game-developer-281g","score":32,"comments":7,"date":"2026-11-02T13:31:20.000Z","skills":["llm","gamedev"]},{"id":"hn:50336518","src":"hn","title":"If you love a website, back it up","url":"https://blog.mistys-internet.website/post/2026/10/29/if-you-love-a-website-back-it-up/","discuss":"https://news.ycombinator.com/item?id=50336518","score":655,"comments":152,"date":"2026-11-02T13:25:35.000Z","skills":[]},{"id":"devto:4825846","src":"devto","title":"Next.js Doesn't Render Pages Anymore. It Streams Something Stranger.","url":"https://dev.to/smtahosin/nextjs-doesnt-render-pages-anymore-it-streams-something-stranger-11ij","score":22,"comments":5,"date":"2026-11-02T13:18:42.000Z","skills":["java","react","nextjs"]},{"id":"lobsters:mwqrct","src":"lobsters","title":"Union Types and Option Types","url":"https://tibleiz.net/blog/2025-03-16-union-types-and-option-types.html","discuss":"https://lobste.rs/s/mwqrct/union_types_option_types","score":15,"comments":5,"date":"2026-11-02T12:01:17.292Z","skills":["compilers"]},{"id":"hn:50335615","src":"hn","title":"Supermarket freezers across Europe hit by second suspected cyber-attack","url":"https://www.theguardian.com/world/2026/nov/02/supermarket-freezers-across-europe-hit-by-second-suspected-cyber-attack","discuss":"https://news.ycombinator.com/item?id=50335615","score":410,"comments":464,"date":"2026-11-02T11:50:13.000Z","skills":[]},{"id":"devto:4960734","src":"devto","title":"Does AbortSignal Cancel a Node.js Database Query? 4 Drivers Tested","url":"https://dev.to/shubhradev/does-abortsignal-cancel-a-nodejs-database-query-4-drivers-tested-al0","score":26,"comments":6,"date":"2026-11-02T11:43:10.000Z","skills":["nodejs","postgresql","mysql"]},{"id":"infoworld:981295c04bd5","src":"infoworld","title":"Cursor removes malicious Claude Code extension after SSH backdoor attempt","url":"https://www.infoworld.com/article/4243214/cursor-removes-malicious-claude-code-extension-after-ssh-backdoor-attempt-2.html","date":"2026-11-02T11:42:28.000Z","skills":["llm","ai-coding"]},{"id":"devto:4962723","src":"devto","title":"Two Truths and a Lie: Developer Edition.","url":"https://dev.to/elsie-rainee/two-truths-and-a-lie-developer-edition-k8n","score":20,"comments":19,"date":"2026-11-02T11:35:22.000Z","skills":[]},{"id":"lobsters:yreydk","src":"lobsters","title":"Building a gemini server in python","url":"https://www.willmunn.xyz/gemini/python/2026/10/16/we-have-lift-off.html","discuss":"https://lobste.rs/s/yreydk/building_gemini_server_python","score":11,"comments":0,"date":"2026-11-02T11:25:16.399Z","skills":["python"]},{"id":"lobsters:yv7udx","src":"lobsters","title":"Program","url":"https://schmud.de/posts/2026-11-02-program.html","discuss":"https://lobste.rs/s/yv7udx/program","score":12,"comments":2,"date":"2026-11-02T11:18:07.110Z","skills":[]},{"id":"devto:4960441","src":"devto","title":"Redis 8.12 RC2's SEXPIRE command cuts a set membership check from two round trips to one","url":"https://dev.to/alexgeorgiev17/redis-812-rc2s-sexpire-command-cuts-a-set-membership-check-from-two-round-trips-to-one-2mi4","score":8,"comments":2,"date":"2026-11-02T11:00:00.000Z","skills":["redis"]},{"id":"infoq:7d2b311793b9","src":"infoq","title":"Article: Systemic Approach to Memory, Knowledge, and Context in Agentic AI Architectures","url":"https://www.infoq.com/articles/agentic-ai-context-memory-knowledge/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global","date":"2026-11-02T11:00:00.000Z","skills":["ai-agents","prompt-engineering"]},{"id":"infoq:cb03ddb80b32","src":"infoq","title":"Podcast: Educating an Architect: A Conversation with Luca Mezzalira","url":"https://www.infoq.com/podcasts/educating-architect-conversation-luca-mezzalira/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global","date":"2026-11-02T11:00:00.000Z","skills":["system-design"]},{"id":"lobsters:saskzi","src":"lobsters","title":"My reflex of assuming our servers need ever-growing amounts of RAM","url":"https://utcc.utoronto.ca/~cks/space/blog/sysadmin/ServerRAMGrowthReflex","discuss":"https://lobste.rs/s/saskzi/my_reflex_assuming_our_servers_need_ever","score":24,"comments":10,"date":"2026-11-02T10:33:02.386Z","skills":[]},{"id":"devto:4962109","src":"devto","title":"Securing an Angular Firebase AI App with Email/Password Authentication (Part 1: Emulator, AuthService, and Route Guard) [GDE]","url":"https://dev.to/gde/securing-an-angular-firebase-ai-app-with-emailpassword-authentication-part-1-emulator-4jm","score":7,"comments":9,"date":"2026-11-02T09:45:08.000Z","skills":["angular","firebase"]},{"id":"hn:50334704","src":"hn","title":"Show HN: I've updated my Linux System Call website and API","url":"https://syscall.sh/","discuss":"https://news.ycombinator.com/item?id=50334704","score":232,"comments":55,"date":"2026-11-02T09:29:16.000Z","skills":["linux"]},{"id":"devto:4941092","src":"devto","title":"gp-grid: A Free, Open-Source TypeScript Data Grid for React, Vue, and Angular (No Paywalled Features)","url":"https://dev.to/hadil/gp-grid-a-free-open-source-typescript-data-grid-for-react-vue-and-angular-no-paywalled-5heb","score":91,"comments":4,"date":"2026-11-02T09:05:46.000Z","skills":["typescript","react","vue","angular"]},{"id":"infoq:16fa6d3d1bc7","src":"infoq","title":"Shopify Overexposed Scans GKE Ingresses and Cloud Run for Exposure","url":"https://www.infoq.com/news/2026/11/shopify-kubernetes-ingresses/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global","date":"2026-11-02T09:00:00.000Z","skills":["gcp","kubernetes"]},{"id":"infoworld:5000ed8091ca","src":"infoworld","title":"Seven egregious failures of modern web tech","url":"https://www.infoworld.com/article/4237317/seven-egregious-failures-of-modern-web-tech.html","date":"2026-11-02T09:00:00.000Z","skills":["html"]},{"id":"infoworld:7d30a0ac9bf0","src":"infoworld","title":"How fixing our data infrastructure before it broke us gave back 6,200 engineering hours","url":"https://www.infoworld.com/article/4241788/how-fixing-our-data-infrastructure-before-it-broke-us-gave-back-6200-engineering-hours.html","date":"2026-11-02T09:00:00.000Z","skills":[]},{"id":"infoworld:dbd520f76cde","src":"infoworld","title":"Are AI certifications still worth it? What changed in 2026","url":"https://www.infoworld.com/article/4242723/are-ai-certifications-still-worth-it-what-changed-in-2026.html","date":"2026-11-02T09:00:00.000Z","skills":["llm"]},{"id":"devto:4961856","src":"devto","title":"Codex Was Torching Your SSD and Nobody Noticed for Months","url":"https://dev.to/varshithvhegde/codex-was-torching-your-ssd-and-nobody-noticed-for-months-4c5h","score":15,"comments":14,"date":"2026-11-02T08:57:05.000Z","skills":["ai-coding","security"]},{"id":"lobsters:ihqhia","src":"lobsters","title":"the lost malloc()","url":"https://napcakes.nekoweb.org/posts/malloc/","discuss":"https://lobste.rs/s/ihqhia/lost_malloc","score":35,"comments":5,"date":"2026-11-02T08:46:48.752Z","skills":["c","linux"]},{"id":"devto:4960832","src":"devto","title":"Overbuilding Part 1: Discord Bot MVP","url":"https://dev.to/rpalo/overbuilding-part-1-discord-bot-mvp-3h8n","score":0,"comments":0,"date":"2026-11-02T06:37:21.000Z","skills":["system-design"]},{"id":"hn:50333339","src":"hn","title":"Show HN: Wikihack – HackerTube, but for Wikipedia articles mentioned on HN","url":"https://wikihack.netlify.app","discuss":"https://news.ycombinator.com/item?id=50333339","score":339,"comments":104,"date":"2026-11-02T05:06:30.000Z","skills":[]},{"id":"hn:50333131","src":"hn","title":"Japan's Jimi 'Mundane' Halloween Costumes of 2026","url":"https://spoon-tamago.com/japan-jimi-mundane-halloween-costumes-2026/","discuss":"https://news.ycombinator.com/item?id=50333131","score":186,"comments":32,"date":"2026-11-02T04:31:20.000Z","skills":[]},{"id":"devto:4960076","src":"devto","title":"I shipped my biggest project ever and felt… nothing","url":"https://dev.to/dhananjay_mundhada_02c326/i-shipped-my-biggest-project-ever-and-felt-nothing-585f","score":16,"comments":20,"date":"2026-11-02T03:44:26.000Z","skills":["llm"]},{"id":"lobsters:reerrq","src":"lobsters","title":"A400000 Winners","url":"https://oeis.org/wiki/A400K_Winners","discuss":"https://lobste.rs/s/reerrq/a400000_winners","score":36,"comments":4,"date":"2026-11-02T03:25:15.689Z","skills":[]},{"id":"lobsters:3nasb5","src":"lobsters","title":"The Beginning of BSD Unix","url":"https://fosscomics.com/posts/13.%20BSD%20Unix%20Part%203%20-%20The%20Beginning%20of%20BSD%20Unix/","discuss":"https://lobste.rs/s/3nasb5/beginning_bsd_unix","score":22,"comments":0,"date":"2026-11-02T03:05:24.929Z","skills":["linux"]},{"id":"lobsters:wq34n7","src":"lobsters","title":"The Problem with C++ Safety: Modern C++ Is a Mindset, Not a Standard","url":"https://www.modernescpp.com/index.php/cpp-and-memory-safety-part-2/","discuss":"https://lobste.rs/s/wq34n7/problem_with_c_safety_modern_c_is_mindset","score":6,"comments":24,"date":"2026-11-02T02:26:44.703Z","skills":["cpp"]},{"id":"lobsters:0yxkvs","src":"lobsters","title":"Postgres 19 is late, and it's AI's fault","url":"http://rhaas.blogspot.com/2026/10/postgres-19-is-late-and-its-ais-fault.html","discuss":"https://lobste.rs/s/0yxkvs/postgres_19_is_late_it_s_ai_s_fault","score":52,"comments":20,"date":"2026-11-02T02:19:02.905Z","skills":["postgresql"]},{"id":"hn:50331957","src":"hn","title":"Bones may release proteins that slow aging and extend life span","url":"https://www.science.org/content/article/bones-may-release-proteins-slow-aging-and-extend-life-span","discuss":"https://news.ycombinator.com/item?id=50331957","score":337,"comments":136,"date":"2026-11-02T01:31:07.000Z","skills":[]},{"id":"github:1442356805","src":"github","title":"AssassinCreator/steam-stash-value-report-card：Value your Steam stash in the terminal and print it as a share card: per game, per market, what sold and what sits. One Windows portable bu…","url":"https://github.com/AssassinCreator/steam-stash-value-report-card","score":715,"date":"2026-11-02T00:40:47.000Z","skills":["python"]},{"id":"hn:50331402","src":"hn","title":"OccupySaaS","url":"https://occupysaas.com/","discuss":"https://news.ycombinator.com/item?id=50331402","score":531,"comments":317,"date":"2026-11-02T00:17:27.000Z","skills":[]},{"id":"hn:50330939","src":"hn","title":"U.S. workers took home their smallest share of capital since at least 1947","url":"https://fortune.com/article/why-did-us-workers-just-take-home-smallest-share-of-capital-since-1947-lowest-ever-recorded/","discuss":"https://news.ycombinator.com/item?id=50330939","score":350,"comments":214,"date":"2026-11-01T23:20:31.000Z","skills":[]},{"id":"lobsters:yihs7m","src":"lobsters","title":"Understanding Org's LaTeX previews","url":"https://karthinks.com/software/understanding-org-latex-preview/","discuss":"https://lobste.rs/s/yihs7m/understanding_org_s_latex_previews","score":17,"comments":0,"date":"2026-11-01T22:19:51.068Z","skills":[]},{"id":"hn:50330456","src":"hn","title":"AI delivers 'zero financial payoff' to most companies, Apollo economist says","url":"https://techcrunch.com/2026/10/25/ai-delivers-zero-financial-payoff-to-most-companies-according-to-apollo-economist/","discuss":"https://news.ycombinator.com/item?id=50330456","score":246,"comments":255,"date":"2026-11-01T22:10:45.000Z","skills":[]},{"id":"githubblog:8efc4c266dc3","src":"githubblog","title":"Game Off 2026: The theme is SHIFT","url":"https://github.blog/open-source/gaming/game-off-2026-the-theme-is-shift/","date":"2026-11-01T21:36:00.000Z","skills":[]},{"id":"lobsters:zjjvbo","src":"lobsters","title":"Work on GEFS (the Good Enough File System) for OpenBSD progresses","url":"https://www.undeadly.org/cgi?action=article;sid=20261101115637","discuss":"https://lobste.rs/s/zjjvbo/work_on_gefs_good_enough_file_system_for","score":97,"comments":11,"date":"2026-11-01T20:13:29.256Z","skills":[]},{"id":"hn:50328896","src":"hn","title":"Ask HN: Which TV do you recommend for privacy?","url":"https://news.ycombinator.com/item?id=50328896","score":727,"comments":873,"date":"2026-11-01T19:35:27.000Z","skills":[]},{"id":"devto:4958756","src":"devto","title":"Your Agent Changed Last Night and Nobody Deployed Anything: Skill Drift on Google Cloud Skill Registry","url":"https://dev.to/gde/your-agent-changed-last-night-and-nobody-deployed-anything-skill-drift-on-google-cloud-skill-1mig","score":9,"comments":1,"date":"2026-11-01T19:01:20.000Z","skills":["gcp","llm","ai-agents"]},{"id":"devto:4958770","src":"devto","title":"Can a research review leave a checkable record? Help me break this draft.","url":"https://dev.to/gnomeman4201/can-a-research-review-leave-a-checkable-record-help-me-break-this-35g1","score":13,"comments":16,"date":"2026-11-01T18:59:51.000Z","skills":["python","llm","security","cryptography"]},{"id":"lobsters:cqzwwg","src":"lobsters","title":"London Meetup - Nov 2026","url":"https://lobste.rs/s/cqzwwg/london_meetup_nov_2026","score":50,"comments":8,"date":"2026-11-01T18:47:10.632Z","skills":[]},{"id":"hn:50328251","src":"hn","title":"Mathematics has changed. Let's act like it","url":"https://terrytao.wordpress.com/2026/11/01/mathematics-has-changed-lets-act-like-it/","discuss":"https://news.ycombinator.com/item?id=50328251","score":391,"comments":512,"date":"2026-11-01T18:28:42.000Z","skills":[]},{"id":"lobsters:oqj2zo","src":"lobsters","title":"Introduction to Programming in ATS","url":"https://ats-lang.sourceforge.net/DOCUMENT/INT2PROGINATS/HTML/book1.html","discuss":"https://lobste.rs/s/oqj2zo/introduction_programming_ats","score":20,"comments":9,"date":"2026-11-01T17:59:00.324Z","skills":["compilers"]},{"id":"devto:4958573","src":"devto","title":"🐾 DEV Pet Corner #4: Show Us Your Pets!","url":"https://dev.to/hemapriya_kanagala/dev-pet-corner-4-show-us-your-pets-55jh","score":91,"comments":24,"date":"2026-11-01T17:53:50.000Z","skills":[]},{"id":"lobsters:bzazar","src":"lobsters","title":"Pratt parsing is a black box","url":"https://vinipsmaker.github.io/blog/article/pratt-parsing-is-a-black-box/","discuss":"https://lobste.rs/s/bzazar/pratt_parsing_is_black_box","score":41,"comments":11,"date":"2026-11-01T17:41:53.312Z","skills":["compilers"]},{"id":"hn:50327650","src":"hn","title":"Patrick Stewart taught us what good men do with power","url":"https://www.vox.com/politics/508526/patrick-stewart-jean-luc-picard-star-trek-liberalism","discuss":"https://news.ycombinator.com/item?id=50327650","score":464,"comments":361,"date":"2026-11-01T17:28:16.000Z","skills":[]},{"id":"github:1442056769","src":"github","title":"Balanov/uncut：The lossless, headless coding agent harness. One 7 MB static binary, four tools, plain stdin/stdout, no silent cuts.","url":"https://github.com/Balanov/uncut","score":599,"date":"2026-11-01T17:19:30.000Z","skills":["go","llm","ai-agents","ai-coding"]},{"id":"lobsters:uhlnqx","src":"lobsters","title":"Zig: From Beginner to Slightly Less Beginner","url":"https://www.youtube.com/watch?v=jWCQXBVIyrY","discuss":"https://lobste.rs/s/uhlnqx/zig_from_beginner_slightly_less_beginner","score":20,"comments":5,"date":"2026-11-01T17:19:19.220Z","skills":["zig"]},{"id":"hn:50327266","src":"hn","title":"Frontier Airlines Likely Breached","url":"https://www.reddit.com/r/frontierairlines/comments/1xl20e8/psa_email_scam/","discuss":"https://news.ycombinator.com/item?id=50327266","score":223,"comments":91,"date":"2026-11-01T16:46:33.000Z","skills":[]},{"id":"lobsters:8o9wus","src":"lobsters","title":"A Specialised Haskell Processor on FPGA","url":"https://bathtub-01.github.io/technical/ouros-demo/","discuss":"https://lobste.rs/s/8o9wus/specialised_haskell_processor_on_fpga","score":23,"comments":4,"date":"2026-11-01T16:13:20.448Z","skills":["haskell","embedded"]},{"id":"thenewstack:63298d47b86b","src":"thenewstack","title":"Open-source security in the AI exploit era: Patch without changing a thing","url":"https://thenewstack.io/patchmageddon-open-source-security22842502/","date":"2026-11-01T16:00:00.000Z","skills":["llm","security"]},{"id":"hn:50326821","src":"hn","title":"Show HN: HackerBooks – HackerTube, but for books mentioned on HN","url":"https://hackerbooks.org","discuss":"https://news.ycombinator.com/item?id=50326821","score":1843,"comments":304,"date":"2026-11-01T15:58:28.000Z","skills":[]},{"id":"lobsters:s2qeww","src":"lobsters","title":"An outsider's perspective on Scion and Mononoke","url":"https://typesanitizer.com/blog/scion.html","discuss":"https://lobste.rs/s/s2qeww/outsider_s_perspective_on_scion_mononoke","score":152,"comments":20,"date":"2026-11-01T15:22:36.441Z","skills":["git"]},{"id":"thenewstack:f089639a5124","src":"thenewstack","title":"A step-by-step guide for how to kill the line-by-line code review","url":"https://thenewstack.io/ai-code-review-invariants/","date":"2026-11-01T15:00:00.000Z","skills":[]},{"id":"hn:50326118","src":"hn","title":"Police chief unplugs cameras after Flock ignores contract cancellation","url":"https://www.thedrive.com/news/my-city-canceled-flocks-contract-flock-ignored-it-so-the-police-chief-unplugged-the-cameras","discuss":"https://news.ycombinator.com/item?id=50326118","score":476,"comments":163,"date":"2026-11-01T14:36:13.000Z","skills":[]},{"id":"devto:4955319","src":"devto","title":"Profile Sprawl: Solving a Problem You Didn't Know You Had","url":"https://dev.to/aws-builders/profile-sprawl-solving-a-problem-you-didnt-know-you-had-3gi9","score":3,"comments":0,"date":"2026-11-01T14:35:31.000Z","skills":["llm","agent-skills"]},{"id":"hn:50326099","src":"hn","title":"Lenovo's 'encrypted' fingerprint USB is just an unencrypted SD card in a case","url":"https://www.reddit.com/r/technology/comments/1xl2pr3/lenovos_encrypted_fingerprint_usb_drive_is_just/","discuss":"https://news.ycombinator.com/item?id=50326099","score":576,"comments":179,"date":"2026-11-01T14:34:43.000Z","skills":[]},{"id":"github:1441849727","src":"github","title":"Gezine/CivSwitch：Nintendo Switch userland code execution using Civilization 7 game cartridge","url":"https://github.com/Gezine/CivSwitch","score":560,"date":"2026-11-01T13:30:59.000Z","skills":["javascript"]},{"id":"hn:50325253","src":"hn","title":"Show HN: OmniDiff – Opensource, super fast, content aware Git difftool, in Rust","url":"https://github.com/ivankovic/omnidiff","discuss":"https://news.ycombinator.com/item?id=50325253","score":318,"comments":96,"date":"2026-11-01T13:02:30.000Z","skills":["rust","git"]},{"id":"devto:4957348","src":"devto","title":"I grepped for @ts-ignore and found zero. Then I grepped for the cast nobody bans","url":"https://dev.to/chet103cc/i-grepped-for-ts-ignore-and-found-zero-then-i-grepped-for-the-cast-nobody-bans-723","score":58,"comments":19,"date":"2026-11-01T12:50:06.000Z","skills":["typescript","llm"]},{"id":"devto:4957226","src":"devto","title":"My reflections on raising a daughter in the age of AI","url":"https://dev.to/p0rt/i-use-ai-what-should-i-teach-my-daughter-3efp","score":24,"comments":13,"date":"2026-11-01T12:17:36.000Z","skills":["llm"]},{"id":"devto:4955961","src":"devto","title":"SQLite 3.54 stops rewriting an expression index when the indexed value hasn't changed","url":"https://dev.to/alexgeorgiev17/sqlite-354-stops-rewriting-an-expression-index-when-the-indexed-value-hasnt-changed-56bb","score":10,"comments":0,"date":"2026-11-01T11:00:00.000Z","skills":["sqlite"]},{"id":"lobsters:mni8ri","src":"lobsters","title":"XKCD and Fourier","url":"https://leancrew.com/all-this/2026/10/xkcd-and-fourier/","discuss":"https://lobste.rs/s/mni8ri/xkcd_fourier","score":45,"comments":6,"date":"2026-11-01T10:50:56.504Z","skills":[]},{"id":"hn:50324388","src":"hn","title":"Restrooms along the Norwegian Scenic Routes","url":"https://www.visitnorway.com/plan-your-trip/travel-tips-a-z/norwegian-scenic-routes/worlds-best-toilets/","discuss":"https://news.ycombinator.com/item?id=50324388","score":714,"comments":445,"date":"2026-11-01T10:47:58.000Z","skills":[]},{"id":"devto:4956844","src":"devto","title":"I got rejected from 50 jobs. Then I deleted everything on my resume except one story — and the callbacks started.","url":"https://dev.to/infoinlet1/i-got-rejected-from-50-jobs-then-i-deleted-everything-on-my-resume-except-one-story-and-the-5dj0","score":19,"comments":6,"date":"2026-11-01T10:17:36.000Z","skills":["llm"]},{"id":"devto:4956807","src":"devto","title":"Your AI Agent Trusts Everything It Reads — A Field Guide to Hijacking Claude, GPT, Gemini & Copilot","url":"https://dev.to/rudratosh/your-ai-agent-trusts-everything-it-reads-a-field-guide-to-hijacking-claude-gpt-gemini-copilot-1l6k","score":22,"comments":31,"date":"2026-11-01T10:03:30.000Z","skills":["llm","ai-agents","ai-coding","security"]},{"id":"infoq:74c533c69e8f","src":"infoq","title":"AWS Capacity Largely Sold out through 2027, with On-Demand Headroom Reserved","url":"https://www.infoq.com/news/2026/11/aws-capacity-sold-out/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global","date":"2026-11-01T08:03:00.000Z","skills":["aws"]},{"id":"devto:4956279","src":"devto","title":"Gravespeaker: Giving the Person Behind the Headstone a Voice","url":"https://dev.to/anchildress1/gravespeaker-giving-the-person-behind-the-headstone-a-voice-329e","score":12,"comments":1,"date":"2026-11-01T06:57:10.000Z","skills":[]},{"id":"devto:4955864","src":"devto","title":"From a Simple \"Mark as Seen\" to Feedgrab & Ghostify: Story of My Life!","url":"https://dev.to/fm/from-a-simple-mark-as-seen-to-feedgrab-ghostify-story-of-my-life-33dl","score":27,"comments":7,"date":"2026-11-01T06:37:38.000Z","skills":["llm"]},{"id":"infoq:d25a8b193d36","src":"infoq","title":"File Mover Express: AWS Releases Open-Source Tool for S3 File Transfers","url":"https://www.infoq.com/news/2026/11/aws-s3-file-transfer/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global","date":"2026-11-01T06:32:00.000Z","skills":["aws","linux"]},{"id":"hn:50323123","src":"hn","title":"Resisting Cognitive Surrender","url":"https://knlb.dev/essays/surrender","discuss":"https://news.ycombinator.com/item?id=50323123","score":314,"comments":160,"date":"2026-11-01T06:13:30.000Z","skills":[]},{"id":"hn:50323088","src":"hn","title":"The AI cost of JavaScript frameworks","url":"https://nolanlawson.com/2026/10/28/the-ai-cost-of-javascript-frameworks/","discuss":"https://news.ycombinator.com/item?id=50323088","score":474,"comments":394,"date":"2026-11-01T06:06:19.000Z","skills":["javascript"]},{"id":"github:1441526188","src":"github","title":"mromidev/claude-animated-shorts：Free Claude skill: viral animated story shorts (2D characters in a 3D world) with three.js + Remotion","url":"https://github.com/mromidev/claude-animated-shorts","score":1336,"date":"2026-11-01T05:50:38.000Z","skills":["typescript","web-graphics","llm"]},{"id":"github:1441521221","src":"github","title":"wquguru/cicada：知了 Cicada · 任意会议与直播的实时字幕、同声传译、AI 会议纪要（macOS）。Live subtitles, interpreting and meeting notes for any call or stream on your Mac.","url":"https://github.com/wquguru/cicada","score":846,"date":"2026-11-01T05:41:23.000Z","skills":["swift","swiftui"]},{"id":"github:1441517767","src":"github","title":"caru-ini/stack-diagram：Agent skill: describe your stack in a sentence, get an architecture diagram with official logos","url":"https://github.com/caru-ini/stack-diagram","score":1663,"date":"2026-11-01T05:35:12.000Z","skills":["typescript","agent-skills","ai-coding","system-design"]},{"id":"devto:4956020","src":"devto","title":"Not every ghost is here to scare you. Ward is the friendly one in your group chat","url":"https://dev.to/muhammadmurtuzahussain/not-every-ghost-is-here-to-scare-you-ward-is-the-friendly-one-in-your-group-chat-25g","score":19,"comments":2,"date":"2026-11-01T05:31:36.000Z","skills":["llm"]},{"id":"devto:4955906","src":"devto","title":"Are You a Web Developer or a Browser Expert? 7 Tests I Failed Building a Photo Editor That Never Uploads Your Photos","url":"https://dev.to/akhourianmolkumar/are-you-a-web-developer-or-a-browser-expert-7-tests-i-failed-building-a-photo-editor-that-never-2j97","score":55,"comments":112,"date":"2026-11-01T05:18:13.000Z","skills":["javascript","webassembly","llm"]},{"id":"hn:50322603","src":"hn","title":"We're training a Figma-fluent editing model","url":"https://www.figma.com/blog/training-a-figma-fluent-editing-model/","discuss":"https://news.ycombinator.com/item?id=50322603","score":116,"comments":50,"date":"2026-11-01T04:05:23.000Z","skills":[]},{"id":"lobsters:lt44rt","src":"lobsters","title":"Introducing Kwi, a new KDE terminal emulator","url":"https://blogs.kde.org/2026/11/01/introducing-kwi/","discuss":"https://lobste.rs/s/lt44rt/introducing_kwi_new_kde_terminal","score":145,"comments":67,"date":"2026-11-01T02:56:29.237Z","skills":["linux"]},{"id":"devto:4955562","src":"devto","title":"Here Lies My Toaster","url":"https://dev.to/nazar-boyko/here-lies-my-toaster-1nmm","score":15,"comments":1,"date":"2026-11-01T02:55:51.000Z","skills":["go","llm"]},{"id":"devto:4955502","src":"devto","title":"My Local AI Invented 162 Python Packages. I Reran Everything From Scratch, and 161 Came Back.","url":"https://dev.to/soumyadeepdey/my-local-ai-invented-162-python-packages-i-reran-everything-from-scratch-and-161-came-back-4j73","score":34,"comments":21,"date":"2026-11-01T02:22:52.000Z","skills":["python","llm"]},{"id":"hn:50322173","src":"hn","title":"Brazilian Court Sanctions Lawyers for Prompt Injection in Court Filing","url":"https://jetstream.security/insights/brazilian-court-sanctions-prompt-injection-filing/","discuss":"https://news.ycombinator.com/item?id=50322173","score":347,"comments":218,"date":"2026-11-01T02:19:53.000Z","skills":[]},{"id":"hn:50322022","src":"hn","title":"Leaking Secrets from Air-Gap Computers by Spelling Radio Signals from RAM (2024)","url":"https://arxiv.org/abs/2409.02292","discuss":"https://news.ycombinator.com/item?id=50322022","score":220,"comments":104,"date":"2026-11-01T01:46:29.000Z","skills":[]},{"id":"devto:4955249","src":"devto","title":"All That Glisters Is Softmax: Shiny-Object Interns, Airplane-Magazine Execs, and Why AI Labs Can Only Bake In Half the Scars","url":"https://dev.to/gde/all-that-glisters-is-softmax-shiny-object-interns-airplane-magazine-execs-and-why-ai-labs-can-18af","score":15,"comments":17,"date":"2026-11-01T00:41:17.000Z","skills":["machine-learning","llm","system-design"]},{"id":"hn:50321605","src":"hn","title":"Toit v2.0.0","url":"https://toit.io/blog/toit-v2-0-0/","discuss":"https://news.ycombinator.com/item?id=50321605","score":226,"comments":70,"date":"2026-11-01T00:25:04.000Z","skills":[]},{"id":"devto:4954884","src":"devto","title":"Agent Skills Drift: A Feedback Loop for Keeping One True","url":"https://dev.to/aws-builders/agent-skills-drift-a-feedback-loop-for-keeping-one-true-511","score":2,"comments":1,"date":"2026-10-31T23:02:26.000Z","skills":["llm","agent-skills"]},{"id":"devto:4954870","src":"devto","title":"Agent Skills Drift: A Feedback Loop for Keeping One True","url":"https://dev.to/gde/agent-skills-drift-a-feedback-loop-for-keeping-one-true-2il7","score":16,"comments":9,"date":"2026-10-31T23:02:02.000Z","skills":["llm","agent-skills"]},{"id":"hn:50320995","src":"hn","title":"Memdoor: A team of 5 Qwen3.8-27B models beats Fable 5 on LiveCodeBench Hard","url":"https://github.com/guregodevo/memdoor/tree/main/examples/workflows/team-solve","discuss":"https://news.ycombinator.com/item?id=50320995","score":460,"comments":231,"date":"2026-10-31T22:46:12.000Z","skills":[]},{"id":"hn:50320963","src":"hn","title":"An Italian farmer found some unknown seeds in his attic and planted them","url":"https://www.smithsonianmag.com/science-nature/italian-farmer-found-unknown-seeds-attic-with-nothing-lose-planted-them-result-biblical-180989644/","discuss":"https://news.ycombinator.com/item?id=50320963","score":870,"comments":236,"date":"2026-10-31T22:41:06.000Z","skills":[]},{"id":"devto:4954919","src":"devto","title":"🕯️ Ofrenda: The Ghost in the Machine — An Offering to Abandoned Software","url":"https://dev.to/rajan_mishra_a9f78ad216b4/ofrenda-the-ghost-in-the-machine-an-offering-to-abandoned-software-pk2","score":33,"comments":2,"date":"2026-10-31T22:24:18.000Z","skills":[]},{"id":"devto:4954907","src":"devto","title":"ESA's satellite is dead. Its ghost: 2,123 signals. TabPFN beat the published SOTA; 83¢ of Tinker stopped an LLM speaking for it","url":"https://dev.to/advikdivekar/esas-satellite-is-dead-its-ghost-2123-signals-tabpfn-beat-the-published-sota-83c-of-tinker-3ke1","score":51,"comments":29,"date":"2026-10-31T22:18:15.000Z","skills":["llm"]},{"id":"hn:50320588","src":"hn","title":"ChatGPT and Codex usage limits merging","url":"https://help.openai.com/en/articles/20001625-understanding-chatgpt-and-codex-usage-limits","discuss":"https://news.ycombinator.com/item?id=50320588","score":234,"comments":174,"date":"2026-10-31T21:49:07.000Z","skills":["llm","ai-coding"]},{"id":"github:1441272552","src":"github","title":"Verlintas/NOIR：手机隐私审计：用 adb 扫出 Android 应用的权限、上报端点与数据流向，并给出可回滚的处置。Desktop Android leak audit: permissions, endpoints, data flows, reversible fixes.","url":"https://github.com/Verlintas/NOIR","score":1849,"date":"2026-10-31T21:34:39.000Z","skills":["kotlin","android","kmp"]},{"id":"github:1441267145","src":"github","title":"jyotipmahes/ML-Interview-Prep","url":"https://github.com/jyotipmahes/ML-Interview-Prep","score":544,"date":"2026-10-31T21:25:37.000Z","skills":["machine-learning"]},{"id":"hn:50319510","src":"hn","title":"HackerTube: YouTube built from videos recommended by HN","url":"https://karpathy.bearblog.dev/hacker-tube/","discuss":"https://news.ycombinator.com/item?id=50319510","score":2863,"comments":634,"date":"2026-10-31T19:56:53.000Z","skills":[]},{"id":"infoq:6b8482387261","src":"infoq","title":"Cloudflare’s Post-Quantum GeoKey Manager Enters Closed Beta without Attribute-Based Encryption","url":"https://www.infoq.com/news/2026/10/cf-pq-geokey-manager/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global","date":"2026-10-31T19:56:00.000Z","skills":["cloudflare","machine-learning","security","cryptography"]},{"id":"hn:50319358","src":"hn","title":"Anthropic blocks users for anything touching training larger models","url":"https://twitter.com/jiahaoshao1/status/2116475922190922088","discuss":"https://news.ycombinator.com/item?id=50319358","score":492,"comments":269,"date":"2026-10-31T19:39:19.000Z","skills":["llm"]},{"id":"devto:4954468","src":"devto","title":"I Retested My MoE Offloading Benchmarks. Some of My Conclusions Changed.","url":"https://dev.to/sizzlebop/i-retested-my-moe-offloading-benchmarks-some-of-my-conclusions-changed-6f4","score":33,"comments":29,"date":"2026-10-31T19:33:06.000Z","skills":["machine-learning","llm","inference"]},{"id":"github:1441183469","src":"github","title":"arpanjot-coding/AVault：AVault - Call Recorder (No Root Required) | Privacy-first, hardware-encrypted audio vault for Android 12-16+. Rootless call recording via S…","url":"https://github.com/arpanjot-coding/AVault","score":571,"date":"2026-10-31T19:21:27.000Z","skills":["kotlin","android","security","cryptography"]},{"id":"hn:50319143","src":"hn","title":"TCP Use-After-Free: CVE-2026-98432 / CVSS 9.8","url":"https://atlasum.net/blog/cve-2026-98432-linux-ipv4-tcp-uaf","discuss":"https://news.ycombinator.com/item?id=50319143","score":748,"comments":333,"date":"2026-10-31T19:16:30.000Z","skills":["networking","security"]},{"id":"hn:50319110","src":"hn","title":"Electrification Could Cut Global Energy Use in Half","url":"https://fullycharged.show/podcasts/podcast-361-why-electrification-could-cut-global-energy-use-in-half/","discuss":"https://news.ycombinator.com/item?id=50319110","score":227,"comments":222,"date":"2026-10-31T19:13:34.000Z","skills":[]},{"id":"devto:4954276","src":"devto","title":"Desert Hours: Mapping When Transit Disappears With Amazon Location Service","url":"https://dev.to/aws-builders/desert-hours-mapping-when-transit-disappears-with-amazon-location-service-26m6","score":2,"comments":3,"date":"2026-10-31T19:05:23.000Z","skills":["python","aws"]},{"id":"hn:50318720","src":"hn","title":"It's the memory latency, stupid","url":"https://pivotlake.io/blog/its-the-memory-latency-stupid/","discuss":"https://news.ycombinator.com/item?id=50318720","score":271,"comments":101,"date":"2026-10-31T18:38:16.000Z","skills":[]},{"id":"devto:4954240","src":"devto","title":"Skirmish: A Multiplayer Strategy Game Template in Java","url":"https://dev.to/codenameone/skirmish-a-multiplayer-strategy-game-template-in-java-c5d","score":6,"comments":0,"date":"2026-10-31T18:31:24.000Z","skills":["java","ios","android"]},{"id":"devto:4954082","src":"devto","title":"Every Codebase Has a '// DO NOT TOUCH' File. I Built an AI Necromancer to Summon the Ghost of the Developer Who Wrote It 💀🔮","url":"https://dev.to/dj29/every-codebase-has-a-do-not-touch-file-i-built-an-ai-necromancer-to-summon-the-ghost-of-the-2no5","score":95,"comments":53,"date":"2026-10-31T17:57:27.000Z","skills":["llm"]},{"id":"hn:50318189","src":"hn","title":"UK Green party drops longstanding opposition to nuclear power","url":"https://www.theguardian.com/politics/2026/oct/05/green-party-nuclear-power-policy","discuss":"https://news.ycombinator.com/item?id=50318189","score":246,"comments":336,"date":"2026-10-31T17:37:22.000Z","skills":[]},{"id":"thenewstack:8cabd96e220d","src":"thenewstack","title":"The context problem: How Docusign built agents that understand the business behind contracts","url":"https://thenewstack.io/docusign-contract-ai-agents/","date":"2026-10-31T16:13:35.000Z","skills":["llm","ai-agents"]},{"id":"thenewstack:60c9d662575b","src":"thenewstack","title":"Five years after the fork, OpenSearch is slowly stepping out of AWS’s shadow","url":"https://thenewstack.io/opensearch-foundation-aws-elasticsearch/","date":"2026-10-31T16:02:34.000Z","skills":["elasticsearch","aws","llm"]},{"id":"hn:50317363","src":"hn","title":"Casio Watches of the 1980s","url":"https://www.casio.com/us/watches/50th/Heritage/1980s/","discuss":"https://news.ycombinator.com/item?id=50317363","score":254,"comments":138,"date":"2026-10-31T16:00:48.000Z","skills":[]},{"id":"devto:4916522","src":"devto","title":"Trick or Type Guard? Surviving `unknown` with is-kit 🎃","url":"https://dev.to/nyaomaru/trick-or-type-guard-surviving-unknown-with-is-kit-4oc2","score":89,"comments":21,"date":"2026-10-31T15:16:52.000Z","skills":["typescript"]},{"id":"thenewstack:c1141536e7eb","src":"thenewstack","title":"Developers ask AI which tool to use. Here’s how we track the answer.","url":"https://thenewstack.io/tracking-ai-tool-recommendations/","date":"2026-10-31T15:00:00.000Z","skills":["llm","ai-agents","mcp"]},{"id":"github:1440956372","src":"github","title":"storytold/craft-anything：Craft Anything: understand how any software works, and craft your own.","url":"https://github.com/storytold/craft-anything","score":9574,"date":"2026-10-31T14:50:00.000Z","skills":["rust"]},{"id":"thenewstack:daa3253ac0de","src":"thenewstack","title":"Amazon CEO predicts 6 to 8 AI models will be ‘good enough’ for almost everything","url":"https://thenewstack.io/jassy-bedrock-multimodel-prediction/","date":"2026-10-31T14:30:00.000Z","skills":[]},{"id":"hn:50316531","src":"hn","title":"Malware uses LLMs to rank victims by how much they're worth","url":"https://blog.talosintelligence.com/appraisal-by-ai-model-driven-victim-prioritization-in-the-volta-infostealer/","discuss":"https://news.ycombinator.com/item?id=50316531","score":262,"comments":137,"date":"2026-10-31T14:29:03.000Z","skills":["llm"]},{"id":"github:1440927503","src":"github","title":"zortos293/Lichii：VERY experimental Nintendo Switch 2 emulator","url":"https://github.com/zortos293/Lichii","score":636,"date":"2026-10-31T14:17:26.000Z","skills":["cpp"]},{"id":"thenewstack:10c90594fba9","src":"thenewstack","title":"Shielding the patch gap: The exploit doesn’t wait for Patch Tuesday","url":"https://thenewstack.io/shielding-the-patch-gap/","date":"2026-10-31T14:00:00.000Z","skills":["ebpf","security"]},{"id":"thenewstack:93fc8a5a8266","src":"thenewstack","title":"GPT-6.1 Terra vs. Claude Opus 5.5: Cheaper and faster in three tests at max effort","url":"https://thenewstack.io/gpt-6-1-terra-vs-claude-opus-5-5/","date":"2026-10-31T14:00:00.000Z","skills":["llm"]},{"id":"lobsters:drwd4j","src":"lobsters","title":"Jepsen: ParticleDB 1.1.4","url":"https://jepsen.io/analyses/particledb-1.1.4","discuss":"https://lobste.rs/s/drwd4j/jepsen_particledb_1_1_4","score":182,"comments":45,"date":"2026-10-31T13:39:52.161Z","skills":["testing"]},{"id":"hn:50316100","src":"hn","title":"Jepsen: ParticleDB 1.1.4","url":"https://jepsen.io/analyses/particledb-1.1.4","discuss":"https://news.ycombinator.com/item?id=50316100","score":359,"comments":213,"date":"2026-10-31T13:39:52.000Z","skills":[]},{"id":"hn:50315217","src":"hn","title":"Mystery of 60-Second Fluctuations in Power Grids Solved","url":"https://www.fz-juelich.de/en/news/archive/press-release/2026/mystery-of-60-second-fluctuations-in-power-grids-solved","discuss":"https://news.ycombinator.com/item?id=50315217","score":263,"comments":115,"date":"2026-10-31T11:53:47.000Z","skills":[]},{"id":"hn:50314699","src":"hn","title":"Do the math: How we took over ChatGPT accounts","url":"https://www.parameter.ai/labs/we-found-a-gap-at-openai","discuss":"https://news.ycombinator.com/item?id=50314699","score":365,"comments":177,"date":"2026-10-31T10:30:11.000Z","skills":["llm"]},{"id":"hn:50314666","src":"hn","title":"Molly (Signal fork) has not been updated since 3 months and is vulnerable","url":"https://piefed.world/post/1503394","discuss":"https://news.ycombinator.com/item?id=50314666","score":338,"comments":196,"date":"2026-10-31T10:23:41.000Z","skills":[]},{"id":"hn:50314654","src":"hn","title":"Serbia just elected the world's brainiest parliament","url":"https://www.science.org/content/article/serbia-just-elected-world-s-brainiest-parliament","discuss":"https://news.ycombinator.com/item?id=50314654","score":921,"comments":520,"date":"2026-10-31T10:21:30.000Z","skills":[]},{"id":"devto:4935332","src":"devto","title":"Butu 🧸: a friendly browser companion that gets lonely when you leave your work","url":"https://dev.to/rudas/butu-a-friendly-browser-companion-that-gets-lonely-when-you-leave-your-work-3d9f","score":12,"comments":6,"date":"2026-10-31T10:06:55.000Z","skills":["llm"]},{"id":"github:1440705679","src":"github","title":"deepseek-ai/dsh-superagent-prototype：Towards a More Autonomous Agent System","url":"https://github.com/deepseek-ai/dsh-superagent-prototype","score":17910,"date":"2026-10-31T09:32:46.000Z","skills":["typescript","ai-agents"]},{"id":"devto:4951263","src":"devto","title":"I held a séance for 31 dead websites. The most honest ghost said \"that never made it into my HTML.\"","url":"https://dev.to/kakeroth/i-held-a-seance-for-31-dead-websites-the-most-honest-ghost-said-that-never-made-it-into-my-html-2fj","score":26,"comments":10,"date":"2026-10-31T06:51:46.000Z","skills":["html","llm"]},{"id":"hn:50313661","src":"hn","title":"Digital minimalism","url":"https://vitalik.eth.limo/general/2026/10/31/digital_minimalism.html","discuss":"https://news.ycombinator.com/item?id=50313661","score":359,"comments":271,"date":"2026-10-31T06:16:36.000Z","skills":[]},{"id":"devto:4950698","src":"devto","title":"A Two-Line Function Caught AI Collusion Better Than the AI Did","url":"https://dev.to/ayush_singh_9b0d83152be5b/a-two-line-function-caught-ai-collusion-better-than-the-ai-did-3nmd","score":46,"comments":72,"date":"2026-10-31T04:17:26.000Z","skills":["machine-learning","llm","ai-agents"]},{"id":"github:1440461338","src":"github","title":"zhanghao123vip/ai-manju-skills：21 个题材的 AI 漫剧全流程 Skill：一句点子生成企划案、资产图提示词、分集剧本、分镜与视频提示词。可用于 Claude Code、WorkBuddy、DeepSeek","url":"https://github.com/zhanghao123vip/ai-manju-skills","score":567,"date":"2026-10-31T03:22:12.000Z","skills":["llm","prompt-engineering","ai-coding"]},{"id":"hn:50312756","src":"hn","title":"Tell HN: Scribd Breached","url":"https://news.ycombinator.com/item?id=50312756","score":359,"comments":123,"date":"2026-10-31T02:46:36.000Z","skills":[]},{"id":"devto:4950338","src":"devto","title":"Same Evidence, Different Judgment? A Small Experiment on Implied Conclusions and Evidence Ordering","url":"https://dev.to/gnomeman4201/same-evidence-different-judgment-a-small-experiment-on-implied-conclusions-and-evidence-ordering-ndg","score":11,"comments":11,"date":"2026-10-31T02:22:16.000Z","skills":["machine-learning","llm","rag"]},{"id":"devto:4945564","src":"devto","title":"Singularity News :: CCG","url":"https://dev.to/pengeszikra/singularity-news-ccg-5ejk","score":47,"comments":19,"date":"2026-10-31T02:18:22.000Z","skills":["gamedev"]},{"id":"github:1440406663","src":"github","title":"joeblau/subvox","url":"https://github.com/joeblau/subvox","score":717,"date":"2026-10-31T01:48:19.000Z","skills":["swift"]},{"id":"hn:50312408","src":"hn","title":"Postgres 19 is late because so many more bugs are being found now","url":"http://rhaas.blogspot.com/2026/10/postgres-19-is-late-and-its-ais-fault.html","discuss":"https://news.ycombinator.com/item?id=50312408","score":845,"comments":512,"date":"2026-10-31T01:38:56.000Z","skills":["postgresql"]},{"id":"github:1440340634","src":"github","title":"ashayas/icloud-s3：An S3-compatible object store backed by iCloud Shared Photo Albums. Quota policy: Apple's Shared Album loophole.","url":"https://github.com/ashayas/icloud-s3","score":491,"date":"2026-10-30T23:54:20.000Z","skills":["rust","aws"]},{"id":"hn:50311686","src":"hn","title":"Show HN: To Honor Sir Patrick Stewart, Enjoy the TNG Episode Guessing Game","url":"https://tng.episodle.com/","discuss":"https://news.ycombinator.com/item?id=50311686","score":244,"comments":80,"date":"2026-10-30T23:51:24.000Z","skills":[]},{"id":"devto:4949758","src":"devto","title":"Rewrite Everything in Java: Not Rust","url":"https://dev.to/codenameone/rewrite-everything-in-java-not-rust-5co8","score":6,"comments":0,"date":"2026-10-30T22:46:41.000Z","skills":["java","rust","ios","android"]},{"id":"devto:4944141","src":"devto","title":"How I Made Yet Another Project During a Global Teen Hackathon with Prizes","url":"https://dev.to/tyleruploads/how-i-made-yet-another-project-during-a-global-teen-hackathon-with-prizes-38hc","score":11,"comments":1,"date":"2026-10-30T21:07:45.000Z","skills":["cpp"]},{"id":"devto:4949452","src":"devto","title":"GhostCache: Deleting the file didn't delete the secret","url":"https://dev.to/bipul_chamoli_09b5f0cc719/ghostcache-deleting-the-file-didnt-delete-the-secret-3d5d","score":23,"comments":26,"date":"2026-10-30T20:27:40.000Z","skills":["llm","rag"]},{"id":"hn:50309647","src":"hn","title":"Through Captain Jean-Luc Picard, Patrick Stewart taught us the measure of a man","url":"https://www.bostonglobe.com/2026/10/29/metro/patrick-stewart-picard-star-trek-the-next-generation/","discuss":"https://news.ycombinator.com/item?id=50309647","score":396,"comments":236,"date":"2026-10-30T20:23:30.000Z","skills":[]},{"id":"thenewstack:9be81a98e048","src":"thenewstack","title":"Anthropic just removed one of Claude’s biggest usage limits — but not for everyone","url":"https://thenewstack.io/claude-ultra-session-limit/","date":"2026-10-30T20:14:04.000Z","skills":["llm","ai-coding"]},{"id":"thenewstack:1f5bee1856a2","src":"thenewstack","title":"Busy GPUs can hide slow AI inference on Kubernetes","url":"https://thenewstack.io/ai-inference-kubernetes-observability/","date":"2026-10-30T19:56:41.000Z","skills":["kubernetes","observability","inference"]},{"id":"hn:50309266","src":"hn","title":"The oldest ice disappears and the Stone Age emerges from it","url":"https://www.sciencenorway.no/archaeology-climate-culture/the-oldest-ice-is-disappearing-the-stone-age-is-emerging-from-the-melting-ice/2713921","discuss":"https://news.ycombinator.com/item?id=50309266","score":215,"comments":111,"date":"2026-10-30T19:51:33.000Z","skills":[]},{"id":"devto:4949295","src":"devto","title":"pip install could have been hijacked: I tested every trust store on my Mac against the compromised eMudhra chain","url":"https://dev.to/slabb/pip-install-could-have-been-hijacked-i-tested-every-trust-store-on-my-mac-against-the-compromised-e8f","score":11,"comments":5,"date":"2026-10-30T19:51:27.000Z","skills":["python","security","cryptography"]},{"id":"github:1440160468","src":"github","title":"Arjun-Ingole/hop：Install Linux next to Windows without a USB stick","url":"https://github.com/Arjun-Ingole/hop","score":1482,"date":"2026-10-30T19:40:45.000Z","skills":["bash","linux"]},{"id":"devto:4949247","src":"devto","title":"Your AI is hearing voices. I built the exorcist.","url":"https://dev.to/ronaksarda/your-ai-is-hearing-voices-i-built-the-exorcist-4md","score":25,"comments":5,"date":"2026-10-30T19:39:02.000Z","skills":["llm"]},{"id":"thenewstack:36f1e37ff7b7","src":"thenewstack","title":"What worries Entire co-founder Thomas Dohmke about the future of tech?","url":"https://thenewstack.io/we-are-developers-tech-predictions/","date":"2026-10-30T19:37:46.000Z","skills":["llm"]},{"id":"github:1440151033","src":"github","title":"anthropics/FlashProve：A research prototype for zero-knowledge proofs of AI inference. Not maintained.","url":"https://github.com/anthropics/FlashProve","score":618,"date":"2026-10-30T19:29:59.000Z","skills":["inference","cryptography"]},{"id":"hn:50308697","src":"hn","title":"Bunny CDN Security Incident","url":"https://status.bunny.net/incidents/p6gf1by9kr7m","discuss":"https://news.ycombinator.com/item?id=50308697","score":225,"comments":45,"date":"2026-10-30T19:05:22.000Z","skills":[]},{"id":"devto:4949115","src":"devto","title":"I Built 101 Indian Monuments in the Browser Using Only Code (No 3D Models)","url":"https://dev.to/amananandrai/i-built-101-indian-monuments-in-the-browser-using-only-code-no-3d-models-3000","score":16,"comments":2,"date":"2026-10-30T18:48:22.000Z","skills":["javascript"]},{"id":"devto:4949089","src":"devto","title":"You can't ask the dead what they left behind, so I built a way to find out","url":"https://dev.to/miawab/you-cant-ask-the-dead-what-they-left-behind-so-i-built-a-way-to-find-out-45po","score":20,"comments":2,"date":"2026-10-30T18:40:03.000Z","skills":["llm"]},{"id":"devto:4948961","src":"devto","title":"From One Chatbot to Five Agents: My AWS Agent Engineer Nanodegree","url":"https://dev.to/earlgreyhot1701d/from-one-chatbot-to-five-agents-my-aws-agent-engineer-nanodegree-69i","score":24,"comments":16,"date":"2026-10-30T18:14:42.000Z","skills":["aws","llm","ai-agents"]},{"id":"cloudflare:132cf9739027","src":"cloudflare","title":"4 real? Tracking exploitation and patching of eMudhra’s weak keys","url":"https://blog.cloudflare.com/emudhra-patching/","date":"2026-10-30T17:38:50.000Z","skills":["security","cryptography"]},{"id":"thenewstack:f89748ca4433","src":"thenewstack","title":"Kubernetes just formed a workload conformance group. Here’s why it matters for AI teams.","url":"https://thenewstack.io/kubernetes-workload-conformance-ai/","date":"2026-10-30T17:29:11.000Z","skills":["kubernetes"]},{"id":"hn:50307219","src":"hn","title":"Anthropic may not secure investment-grade rating after IPO, Blackstone says","url":"https://www.ft.com/content/59383c7f-8d82-493f-bf01-d2e862a1018f","discuss":"https://news.ycombinator.com/item?id=50307219","score":326,"comments":296,"date":"2026-10-30T17:27:25.000Z","skills":["llm"]},{"id":"hn:50307190","src":"hn","title":"My favourite PowerMac is a Nintendo Wii","url":"https://virtuallyfun.com/2026/10/29/my-favourite-powermac-is-a-nintendo-wii/","discuss":"https://news.ycombinator.com/item?id=50307190","score":382,"comments":110,"date":"2026-10-30T17:25:15.000Z","skills":[]},{"id":"hn:50307183","src":"hn","title":"Proton's CEO Cancels AI 'Re-Interviews'","url":"https://www.404media.co/protons-ceo-cancels-ai-re-interviews/","discuss":"https://news.ycombinator.com/item?id=50307183","score":304,"comments":259,"date":"2026-10-30T17:24:45.000Z","skills":[]},{"id":"hn:50306442","src":"hn","title":"Show HN: A working Nintendo in ~1GB of Qwen weights","url":"https://github.com/dbreunig/nesformer","discuss":"https://news.ycombinator.com/item?id=50306442","score":297,"comments":153,"date":"2026-10-30T16:40:22.000Z","skills":["llm"]},{"id":"hn:50306008","src":"hn","title":"US tech stocks see sharp falls over AI cost fears","url":"https://www.bbc.co.uk/news/articles/cvwy72e0n72yo","discuss":"https://news.ycombinator.com/item?id=50306008","score":270,"comments":304,"date":"2026-10-30T16:13:02.000Z","skills":[]},{"id":"devto:4918252","src":"devto","title":"My open source project is brand new and already has contributors. Here's what I did.","url":"https://dev.to/nathan_tarbert/my-open-source-project-is-brand-new-and-already-has-contributors-heres-what-i-did-3fb4","score":74,"comments":30,"date":"2026-10-30T16:03:47.000Z","skills":["llm"]},{"id":"devto:4948441","src":"devto","title":"Ofrenda: Yaadon ka Diya — Virtual Remembrance Altar with Open-Weight AI","url":"https://dev.to/vidisha_gupta_/ofrenda-yaadon-ka-diya-keeping-memories-alive-with-open-weight-ai-4oc7","score":25,"comments":1,"date":"2026-10-30T16:01:43.000Z","skills":["llm"]},{"id":"hn:50305693","src":"hn","title":"AI isn't replacing SREs, it's deskilling them","url":"https://newsletter.signoz.io/p/ai-isnt-replacing-sres-its-deskilling","discuss":"https://news.ycombinator.com/item?id=50305693","score":683,"comments":505,"date":"2026-10-30T15:52:18.000Z","skills":[]},{"id":"hn:50305637","src":"hn","title":"Florilegium: Procedural Flowers in LaTeX","url":"https://github.com/kevinraymond/florilegium","discuss":"https://news.ycombinator.com/item?id=50305637","score":383,"comments":53,"date":"2026-10-30T15:48:12.000Z","skills":[]},{"id":"hn:50305573","src":"hn","title":"The federated code forge","url":"https://tangled.org/blog/forge/","discuss":"https://news.ycombinator.com/item?id=50305573","score":333,"comments":100,"date":"2026-10-30T15:44:29.000Z","skills":[]},{"id":"devto:4947163","src":"devto","title":"👻 Ghostlet: While you’re away, the ghosts will play.","url":"https://dev.to/ashtonckj/ghostlet-while-youre-away-the-ghosts-will-play-1909","score":25,"comments":4,"date":"2026-10-30T15:38:40.000Z","skills":["python"]},{"id":"github:1439885901","src":"github","title":"N1nEmAn/sapper-v2：Autonomous pentest legion — AI commander + worker swarm + layered fact-intent graph. 3rd Tencent Intelligent Attack-Defense online champion…","url":"https://github.com/N1nEmAn/sapper-v2","score":684,"date":"2026-10-30T15:12:35.000Z","skills":["python","llm","ai-agents","ai-coding","security"]},{"id":"hn:50305025","src":"hn","title":"Northflank Breached","url":"https://status.northflank.com","discuss":"https://news.ycombinator.com/item?id=50305025","score":485,"comments":363,"date":"2026-10-30T15:10:31.000Z","skills":[]},{"id":"thenewstack:cab7be487d9a","src":"thenewstack","title":"GPT-6.1 Terra vs. GPT-6 Astra: One sacrifices accuracy for lower cost and higher speed at high effort","url":"https://thenewstack.io/gpt-6-1-terra-vs-gpt-6-astra/","date":"2026-10-30T14:59:35.000Z","skills":["llm"]},{"id":"devto:4947139","src":"devto","title":"Neon Realtime vs Supabase Realtime","url":"https://dev.to/kubeden/neon-realtime-vs-supabase-realtime-410g","score":11,"comments":2,"date":"2026-10-30T14:30:24.000Z","skills":["sql","postgresql","supabase"]},{"id":"hn:50304419","src":"hn","title":"Medicare Will Pay $50k for Your Heart Attack. It Should Pay $100 to Prevent It","url":"https://www.medpagetoday.com/opinion/second-opinions/123553?trw=no","discuss":"https://news.ycombinator.com/item?id=50304419","score":308,"comments":291,"date":"2026-10-30T14:27:44.000Z","skills":[]},{"id":"cloudflare:5e6112ff1e03","src":"cloudflare","title":"Cloudflare services for private origins is now generally available","url":"https://blog.cloudflare.com/private-origins-public-to-private/","date":"2026-10-30T14:23:43.000Z","skills":[]},{"id":"hn:50304122","src":"hn","title":"Cisco gives engineer unlimited AI tokens to rewrite legacy code","url":"https://fortune.com/2026/10/30/cisco-president-jeetu-patel-gen-z-27-year-old-unlimited-ai-tokens-rewrite-legacy-code-entry-level-jobs/","discuss":"https://news.ycombinator.com/item?id=50304122","score":316,"comments":393,"date":"2026-10-30T14:08:20.000Z","skills":["network-admin"]},{"id":"devto:4947837","src":"devto","title":"MoE Offloading Isn’t Always Faster: I Tested 5 Models on a 16GB GPU","url":"https://dev.to/sizzlebop/moe-offloading-isnt-always-faster-i-tested-5-models-on-a-16gb-gpu-498a","score":26,"comments":17,"date":"2026-10-30T14:04:55.000Z","skills":["machine-learning","llm"]},{"id":"devto:4947757","src":"devto","title":"Marigold /router - A Private Ofrenda for the Memories We Refuse to Lose","url":"https://dev.to/kumuda/marigold-router-a-private-ofrenda-for-the-memories-we-refuse-to-lose-2e68","score":63,"comments":10,"date":"2026-10-30T14:01:01.000Z","skills":["llm"]},{"id":"hn:50303984","src":"hn","title":"Running a bootstrapped SaaS for 20 years with my brother","url":"https://blog.zamzar.com/2026/10/30/20-years-766-million-files-two-chameleons/","discuss":"https://news.ycombinator.com/item?id=50303984","score":261,"comments":62,"date":"2026-10-30T13:58:42.000Z","skills":[]},{"id":"devto:4766389","src":"devto","title":"What was your win this week?","url":"https://dev.to/devteam/what-was-your-win-this-week-47ci","score":33,"comments":37,"date":"2026-10-30T13:00:00.000Z","skills":[]},{"id":"thenewstack:cbe70540e375","src":"thenewstack","title":"What five P99 CONF talks reveal about database trade-offs","url":"https://thenewstack.io/p99-conf-database-tradeoffs/","date":"2026-10-30T13:00:00.000Z","skills":[]},{"id":"hn:50303172","src":"hn","title":"The $6.3B Binance hack was pulled off in just 20 minutes","url":"https://www.wired.com/story/the-dollar63-billion-binance-hack-was-pulled-off-in-just-20-minutes/","discuss":"https://news.ycombinator.com/item?id=50303172","score":600,"comments":452,"date":"2026-10-30T12:50:01.000Z","skills":[]},{"id":"infoworld:e723aaef019d","src":"infoworld","title":"GitHub bets on multi-agent software development with Copilot overhaul","url":"https://www.infoworld.com/article/4242710/github-bets-on-multi-agent-software-development-with-copilot-overhaul.html","date":"2026-10-30T12:14:16.000Z","skills":["ai-agents","ai-coding"]},{"id":"hn:50302814","src":"hn","title":"US Reps Lead Democratic Resolution Opposing A.I. Bubble Bailout for Big Tech","url":"https://progressives.house.gov/2026/10/reps-casar-waters-lead-democratic-resolution-opposing-a-i-bubble-bailout-for-big-tech-commit-to-protecting-american-people-instead","discuss":"https://news.ycombinator.com/item?id=50302814","score":669,"comments":531,"date":"2026-10-30T12:08:00.000Z","skills":[]},{"id":"devto:4646637","src":"devto","title":"We Need to Talk About How Gross Modern Web Design Has Become (And How We Built an AI to Catch It)","url":"https://dev.to/dj29/we-need-to-talk-about-how-gross-modern-web-design-has-become-and-how-we-built-an-ai-to-catch-it-5gin","score":89,"comments":36,"date":"2026-10-30T11:35:31.000Z","skills":["llm"]},{"id":"infoworld:661bcba11b58","src":"infoworld","title":"Mistral open-sources AI model despite warning it could aid cyberattacks","url":"https://www.infoworld.com/article/4242654/mistral-open-sources-ai-model-despite-warning-it-could-aid-cyberattacks.html","date":"2026-10-30T11:18:47.000Z","skills":["llm","security"]},{"id":"hn:50302334","src":"hn","title":"Backdoors in official Claude Code extensions","url":"https://cyberplace.social/@GossiTheDog/117528831681803563","discuss":"https://news.ycombinator.com/item?id=50302334","score":662,"comments":17,"date":"2026-10-30T11:05:53.000Z","skills":["llm","ai-coding"]},{"id":"hn:50301983","src":"hn","title":"Claude Code VS Code extension with backdoor released on Cursor marketplace","url":"https://doublepulsar.com/anthropic-hacked-to-deliver-remote-access-trojan-to-claude-developer-laptops-worldwide-1148a92baae2","discuss":"https://news.ycombinator.com/item?id=50301983","score":399,"comments":1,"date":"2026-10-30T10:22:51.000Z","skills":["llm","ai-coding"]},{"id":"hn:50301854","src":"hn","title":"Azure's Weakest Link – Five Full Cross-Tenant Compromises","url":"https://www.binarysecurity.no/posts/2026/10/one-root-case","discuss":"https://news.ycombinator.com/item?id=50301854","score":339,"comments":64,"date":"2026-10-30T10:06:15.000Z","skills":["azure"]},{"id":"github:1439522537","src":"github","title":"elvarofficial/teardown：A Claude Code skill that turns any machine into a 3D simulator you can take apart","url":"https://github.com/elvarofficial/teardown","score":1771,"date":"2026-10-30T09:29:01.000Z","skills":["javascript","llm","ai-coding"]},{"id":"hn:50301462","src":"hn","title":"elect.horse","url":"https://elect.horse/","discuss":"https://news.ycombinator.com/item?id=50301462","score":560,"comments":157,"date":"2026-10-30T09:14:34.000Z","skills":[]},{"id":"infoworld:a06faf9e6af9","src":"infoworld","title":"AI agents are upending digital business processes","url":"https://www.infoworld.com/article/4241935/ai-agents-are-upending-digital-business-processes.html","date":"2026-10-30T09:00:00.000Z","skills":["ai-agents"]},{"id":"devto:4945884","src":"devto","title":"Day 28 of Building Crowdwide — More Personalization, Bug Fixes & Still Looking for a Brand Ambassador!","url":"https://dev.to/puneetkumar2010/day-28-of-building-crowdwide-more-personalization-bug-fixes-still-looking-for-a-brand-592b","score":40,"comments":71,"date":"2026-10-30T08:14:27.000Z","skills":[]},{"id":"stackoverflow:19adfdfbe198","src":"stackoverflow","title":"It’s ok that computers are (sometimes) better than us","url":"https://stackoverflow.blog/2026/10/30/it-s-ok-that-computers-are-sometimes-better-than-us/","date":"2026-10-30T07:40:00.000Z","skills":["observability","llm","ai-agents"]},{"id":"hn:50300683","src":"hn","title":"Backdoor in Claude Code for VS Code extension on the Cursor Marketplace","url":"https://phorion.io/blog/offical-claude-code-vsx-compromise/","discuss":"https://news.ycombinator.com/item?id=50300683","score":1010,"comments":553,"date":"2026-10-30T07:09:12.000Z","skills":["llm","ai-coding"]},{"id":"github:1439372976","src":"github","title":"patch-gg/pixelfx：244 pixel art effects, every one a small piece of code. Plus a Claude Code skill to make your own.","url":"https://github.com/patch-gg/pixelfx","score":4384,"date":"2026-10-30T06:43:25.000Z","skills":["javascript","llm","agent-skills","ai-coding","gamedev"]},{"id":"devto:4943171","src":"devto","title":"Undead Agent - My AI Agent Dies, Comes Back, and Tells Me What It Saw","url":"https://dev.to/khushighosh/undead-agent-my-ai-agent-dies-comes-back-and-tells-me-what-it-saw-33c9","score":17,"comments":12,"date":"2026-10-30T05:49:09.000Z","skills":["llm","ai-agents"]},{"id":"github:1439308037","src":"github","title":"alchaincyf/huashu-bird-sticker：花叔开源的全球鸟类贴纸库 · Stickers for all 11,064 living bird species, with names in 43 languages and structured data","url":"https://github.com/alchaincyf/huashu-bird-sticker","score":640,"date":"2026-10-30T05:19:33.000Z","skills":["ai-coding"]},{"id":"github:1439244319","src":"github","title":"ramenvr/autopilot：Play any game","url":"https://github.com/ramenvr/autopilot","score":700,"date":"2026-10-30T03:47:28.000Z","skills":["python"]},{"id":"hn:50298436","src":"hn","title":"Herdr has released native app","url":"https://github.com/herdrdev/herdr-app","discuss":"https://news.ycombinator.com/item?id=50298436","score":365,"comments":265,"date":"2026-10-30T00:42:41.000Z","skills":[]},{"id":"stackoverflow:8e459c6e2bf9","src":"stackoverflow","title":"The reports of Stack Overflow's death are greatly exaggerated","url":"https://stackoverflow.blog/2026/10/29/the-reports-of-stack-overflow-s-death-are-greatly-exaggerated/","date":"2026-10-29T22:30:00.000Z","skills":[]},{"id":"thenewstack:300f75a85334","src":"thenewstack","title":"Sam Altman almost scrapped token pricing. Here’s why he backed off.","url":"https://thenewstack.io/openai-token-pricing-reversal/","date":"2026-10-29T22:19:18.000Z","skills":["llm"]},{"id":"github:1439006206","src":"github","title":"hongye007/open-pose-costume：A bilingual reference studio for poses, costumes, and AI character creation.","url":"https://github.com/hongye007/open-pose-costume","score":601,"date":"2026-10-29T22:05:35.000Z","skills":["typescript"]},{"id":"thenewstack:35ffb899c526","src":"thenewstack","title":"AWS’s Hydro team wants the compiler to catch coding agents’ mistakes","url":"https://thenewstack.io/ai-agents-compiler-guardrails/","date":"2026-10-29T21:53:05.000Z","skills":["rust","aws","ai-agents","ai-coding","distributed-systems","compilers"]},{"id":"hn:50296486","src":"hn","title":"We ran AI agent swarms in Minecraft and Mindustry","url":"https://labs.ycombinator.com/projects/games/index.html","discuss":"https://news.ycombinator.com/item?id=50296486","score":422,"comments":174,"date":"2026-10-29T21:40:28.000Z","skills":["ai-agents"]},{"id":"hn:50296470","src":"hn","title":"Binance-hacker-1029 – $5.6B stolen from Binance","url":"https://arkm.com/explorer/entity/21a94755-f604-45e5-9501-6542e23005e8","discuss":"https://news.ycombinator.com/item?id=50296470","score":1762,"comments":1266,"date":"2026-10-29T21:38:59.000Z","skills":[]},{"id":"thenewstack:9b7c081b7e58","src":"thenewstack","title":"Microsoft’s new Copilot harness makes agents easy — until you want to switch","url":"https://thenewstack.io/microsoft-copilot-harness-foundry/","date":"2026-10-29T20:54:15.000Z","skills":["ai-agents","ai-coding"]},{"id":"devto:4943309","src":"devto","title":"Giving AI Pain: The Architecture of Synthetic Scars & The Rapid-Regret Miner","url":"https://dev.to/gde/giving-ai-pain-the-architecture-of-synthetic-scars-the-rapid-regret-miner-1740","score":25,"comments":40,"date":"2026-10-29T20:32:53.000Z","skills":["linux","llm","ai-coding","system-design"]},{"id":"hn:50295450","src":"hn","title":"A tiny world model running games on a Raspberry Pi Pico 2 W","url":"https://github.com/SheepSeb/tinyworldformer","discuss":"https://news.ycombinator.com/item?id=50295450","score":272,"comments":19,"date":"2026-10-29T20:32:28.000Z","skills":[]},{"id":"devto:4943245","src":"devto","title":"Yes, {} + [] = 0. No, JavaScript Isn’t Broken","url":"https://dev.to/sylwia-lask/yes-0-no-javascript-isnt-broken-14ob","score":170,"comments":126,"date":"2026-10-29T20:08:53.000Z","skills":["javascript","nodejs"]},{"id":"devto:4943189","src":"devto","title":"Something I wanted to see on DEV.to organizations is now a reality. 🚀","url":"https://dev.to/startupcafe/something-i-wanted-to-see-on-devto-organizations-is-now-a-reality-4f4d","score":61,"comments":11,"date":"2026-10-29T19:50:09.000Z","skills":[]},{"id":"hn:50294702","src":"hn","title":"Patrick Stewart has died","url":"https://www.nytimes.com/2026/10/29/arts/television/patrick-stewart-dead.html","discuss":"https://news.ycombinator.com/item?id=50294702","score":3310,"comments":769,"date":"2026-10-29T19:41:39.000Z","skills":[]},{"id":"devto:4943089","src":"devto","title":"A Java IDE in Your Browser, With Your Files in Your Browser","url":"https://dev.to/codenameone/a-java-ide-in-your-browser-with-your-files-in-your-browser-1g9p","score":5,"comments":0,"date":"2026-10-29T19:19:54.000Z","skills":["java","ios","android"]},{"id":"hn:50293047","src":"hn","title":"Alleged Chinese spy had 'close relationship' with Nvidia boss Jensen Huang","url":"https://nypost.com/2026/10/29/business/alleged-chinese-spy-had-close-relationship-with-nvidia-boss-jensen-huang-report/","discuss":"https://news.ycombinator.com/item?id=50293047","score":360,"comments":248,"date":"2026-10-29T17:43:48.000Z","skills":[]},{"id":"devto:4942757","src":"devto","title":"💀I'm the last mail carrier in the land of the dead. An open-weight model writes all the mail.","url":"https://dev.to/minhlong2605/im-the-last-mail-carrier-in-the-land-of-the-dead-an-open-weight-model-writes-all-the-mail-2cal","score":16,"comments":2,"date":"2026-10-29T17:35:48.000Z","skills":[]},{"id":"github:1438732649","src":"github","title":"hyz317/HairDeck：HairDeck: Animation-Ready Stylized Hair Cards from a Single Image","url":"https://github.com/hyz317/HairDeck","score":796,"date":"2026-10-29T17:16:13.000Z","skills":["python"]},{"id":"github:1438724252","src":"github","title":"Pika-Labs/Pika-H3-Flex：Pika H3 Flex: video and audio generation inference","url":"https://github.com/Pika-Labs/Pika-H3-Flex","score":1491,"date":"2026-10-29T17:08:59.000Z","skills":["python"]},{"id":"devto:4942466","src":"devto","title":"Is Tech Actually Welcoming to Beginners, or Do We Just Say It Is?","url":"https://dev.to/sizzlebop/is-tech-actually-welcoming-to-beginners-or-do-we-just-say-it-is-3d6p","score":54,"comments":51,"date":"2026-10-29T16:58:14.000Z","skills":[]},{"id":"hn:50291945","src":"hn","title":"Google Search is now less than half of Alphabet’s revenue","url":"https://www.kadoa.com/companies/insights/google-search-below-half","discuss":"https://news.ycombinator.com/item?id=50291945","score":434,"comments":362,"date":"2026-10-29T16:42:17.000Z","skills":[]},{"id":"github:1438656257","src":"github","title":"rerun-build/rerun：AI coworkers that run your work. Self-hostable, AGPL-3.0.","url":"https://github.com/rerun-build/rerun","score":619,"date":"2026-10-29T16:09:54.000Z","skills":["typescript"]},{"id":"hn:50291054","src":"hn","title":"H.264 Is Magic (2016)","url":"https://sidbala.com/h-264-is-magic/","discuss":"https://news.ycombinator.com/item?id=50291054","score":530,"comments":169,"date":"2026-10-29T15:53:03.000Z","skills":[]},{"id":"github:1438623288","src":"github","title":"heydamir/unslop：A Claude skill that turns vibecoded, AI-looking UI into a designed interface","url":"https://github.com/heydamir/unslop","score":7853,"date":"2026-10-29T15:41:21.000Z","skills":["javascript","llm"]},{"id":"devto:4942139","src":"devto","title":"Sixty Feet, Six Inches of October","url":"https://dev.to/kenwalger/sixty-feet-six-inches-of-october-3e00","score":12,"comments":0,"date":"2026-10-29T15:40:03.000Z","skills":["python"]},{"id":"hn:50290668","src":"hn","title":"I went to Mexico to test-drive the cars Americans can’t buy","url":"https://www.washingtonpost.com/climate-environment/2026/10/27/i-saw-future-driving-mexico-its-off-limits-americans/","discuss":"https://news.ycombinator.com/item?id=50290668","score":329,"comments":401,"date":"2026-10-29T15:30:22.000Z","skills":[]},{"id":"devto:4917790","src":"devto","title":"Stop Using Default Node.js fetch() in Production Without These Two Fixes","url":"https://dev.to/johnnylemonny/stop-using-default-nodejs-fetch-in-production-without-these-two-fixes-4o5","score":20,"comments":13,"date":"2026-10-29T15:30:00.000Z","skills":["javascript","nodejs"]},{"id":"hn:50290652","src":"hn","title":"AI, Lean, and the Future of Formal Verification, with Lean Creator Leo de Moura","url":"https://thedataexchange.media/leo-de-moura-lean-aws/","discuss":"https://news.ycombinator.com/item?id=50290652","score":219,"comments":59,"date":"2026-10-29T15:29:48.000Z","skills":[]},{"id":"github:1438607462","src":"github","title":"sleepy-zone/ai-ref-library-cn：AI 作图素材库 · 中文版（脸 / 姿势 / 服装）","url":"https://github.com/sleepy-zone/ai-ref-library-cn","score":710,"date":"2026-10-29T15:28:16.000Z","skills":["javascript","llm"]},{"id":"hn:50290533","src":"hn","title":"Show HN: Point your camera at a landscape to learn about its geology","url":"https://outcrop.rocks/","discuss":"https://news.ycombinator.com/item?id=50290533","score":261,"comments":55,"date":"2026-10-29T15:22:41.000Z","skills":[]},{"id":"hn:50290177","src":"hn","title":"LLM Voice","url":"https://martinfowler.com/bliki/LLM-Voice.html","discuss":"https://news.ycombinator.com/item?id=50290177","score":610,"comments":336,"date":"2026-10-29T14:57:55.000Z","skills":["llm"]},{"id":"github:1438540053","src":"github","title":"wangzan101/Mika：An on-device AI agent for Android that operates apps and the web to get things done for you.","url":"https://github.com/wangzan101/Mika","score":6274,"date":"2026-10-29T14:34:07.000Z","skills":["kotlin","android","llm","ai-agents"]},{"id":"hn:50289692","src":"hn","title":"Manifestos, Fear, and 'Loser Thinking': Inside Proton's AI Reckoning","url":"https://www.404media.co/manifestos-fear-and-loser-thinking-inside-protons-ai-reckoning/","discuss":"https://news.ycombinator.com/item?id=50289692","score":240,"comments":96,"date":"2026-10-29T14:29:06.000Z","skills":[]},{"id":"martinfowler:739e0b5535e3","src":"martinfowler","title":"Bliki: LLM Voice","url":"https://martinfowler.com/bliki/LLM-Voice.html","date":"2026-10-29T14:28:00.000Z","skills":["llm"]},{"id":"hn:50289418","src":"hn","title":"We're releasing the weights of Mistral Large 4","url":"https://mistral.ai/news/mistral-large-4-oss/","discuss":"https://news.ycombinator.com/item?id=50289418","score":1730,"comments":440,"date":"2026-10-29T14:13:21.000Z","skills":["llm"]},{"id":"devto:4803495","src":"devto","title":"A Message From Our Founder: On the Winding Down of LaaSy™","url":"https://dev.to/kenwalger/a-message-from-our-founder-on-the-winding-down-of-laasy-467a","score":9,"comments":2,"date":"2026-10-29T14:00:00.000Z","skills":["llm"]},{"id":"martinfowler:e73b1e188559","src":"martinfowler","title":"Why are good developers so wary of agentic development?","url":"https://martinfowler.com/rachels-ramblings/good-devs-wary.html","date":"2026-10-29T13:50:00.000Z","skills":["ai-agents","ai-coding"]},{"id":"hn:50288867","src":"hn","title":"‘You Are Done’: The letter sent to King by the F.B.I (2014)","url":"https://www.nytimes.com/2014/11/16/magazine/what-an-uncensored-letter-to-mlk-reveals.html","discuss":"https://news.ycombinator.com/item?id=50288867","score":443,"comments":442,"date":"2026-10-29T13:40:04.000Z","skills":[]},{"id":"cloudflare:470f90e2de1e","src":"cloudflare","title":"Cloudflare DDoS Threat Report 2026 Q3: More swarms, fewer giants","url":"https://blog.cloudflare.com/ddos-threat-report-2026-q3/","date":"2026-10-29T12:55:00.000Z","skills":["security"]},{"id":"hn:50288019","src":"hn","title":"Gemini 4 Carbon is the new #1 on the Artificial Analysis Intelligence Index v5","url":"https://artificialanalysis.ai/articles/gemini-4-carbon-new-number-1","discuss":"https://news.ycombinator.com/item?id=50288019","score":338,"comments":247,"date":"2026-10-29T12:41:56.000Z","skills":["llm"]},{"id":"devto:4938623","src":"devto","title":"I Almost Paid ₹1,499 for Prime Video I Never Use. An Open-Source AI Model Caught It.","url":"https://dev.to/sarvar_04/i-almost-paid-1499-for-prime-video-i-never-use-an-open-source-ai-model-caught-it-1egm","score":63,"comments":47,"date":"2026-10-29T12:37:40.000Z","skills":["llm"]},{"id":"devto:4941101","src":"devto","title":"MiniMax H3 in practice: 9 reference images, 3 audio clips, and what a second of video actually costs","url":"https://dev.to/chet103cc/minimax-h3-in-practice-9-reference-images-3-audio-clips-and-what-a-second-of-video-actually-costs-44a6","score":52,"comments":6,"date":"2026-10-29T12:35:10.000Z","skills":["llm","rest"]},{"id":"hn:50287919","src":"hn","title":"DoorDash to acquire Instacart","url":"https://about.doordash.com/en-us/news/doordash-to-acquire-instacart","discuss":"https://news.ycombinator.com/item?id=50287919","score":489,"comments":654,"date":"2026-10-29T12:33:05.000Z","skills":[]},{"id":"github:1438394948","src":"github","title":"valentderah/totk-pc-recomp：Static recompilation of The Legend of Zelda: Tears of the Kingdom to native Windows and Linux x86-64, with a Vulkan renderer. Game files no…","url":"https://github.com/valentderah/totk-pc-recomp","score":4643,"date":"2026-10-29T12:32:46.000Z","skills":["c","linux","gamedev"]},{"id":"hn:50287898","src":"hn","title":"Hackers expose the identities of more than 40k DHS employees","url":"https://text.npr.org/nx-s1-6021497","discuss":"https://news.ycombinator.com/item?id=50287898","score":281,"comments":79,"date":"2026-10-29T12:31:09.000Z","skills":[]},{"id":"hn:50287775","src":"hn","title":"If IPv4 were land","url":"https://iptrust.co/blog/if-ipv4-were-land","discuss":"https://news.ycombinator.com/item?id=50287775","score":326,"comments":501,"date":"2026-10-29T12:19:00.000Z","skills":[]},{"id":"devto:4940821","src":"devto","title":"Every App Eventually Becomes a Dashboard. Please Make It Stop.","url":"https://dev.to/the_nortern_dev/every-app-eventually-becomes-a-dashboard-please-make-it-stop-37e9","score":27,"comments":24,"date":"2026-10-29T11:53:41.000Z","skills":[]},{"id":"hn:50287448","src":"hn","title":"How Google determines the names for bodies of water in Google Earth (2008)","url":"https://publicpolicy.googleblog.com/2008/04/how-google-determines-names-for-bodies.html","discuss":"https://news.ycombinator.com/item?id=50287448","score":244,"comments":195,"date":"2026-10-29T11:41:18.000Z","skills":[]},{"id":"github:1438326535","src":"github","title":"BryceYuuu/RUN：RUN · 润：海外移居手册（欧洲 36 国 · 110 条路线 · 主要移民地区）","url":"https://github.com/BryceYuuu/RUN","score":3400,"date":"2026-10-29T11:28:43.000Z","skills":["python"]},{"id":"devto:4938557","src":"devto","title":"Deno 2.9's task cache turns a 4-second build into a 10-millisecond skip","url":"https://dev.to/alexgeorgiev17/deno-29s-task-cache-turns-a-4-second-build-into-a-10-millisecond-skip-43bn","score":11,"comments":2,"date":"2026-10-29T11:00:00.000Z","skills":["javascript","deno"]},{"id":"github:1438282469","src":"github","title":"XiaoyeCodes/code-animation-prompts：341 种代码动画风格提示词、196 张参考静帧与离线挑选器，封装为 Claude Code / Codex Skill，支持一键导入与 HTML 视频渲染。","url":"https://github.com/XiaoyeCodes/code-animation-prompts","score":475,"date":"2026-10-29T10:45:47.000Z","skills":["html","llm","agent-skills","ai-coding"]},{"id":"hn:50287001","src":"hn","title":"The US added a record 20.2 GWh of battery storage in just 3 months","url":"https://electrek.co/2026/08/31/the-us-added-a-record-20-2-gwh-of-battery-storage-in-just-3-months/","discuss":"https://news.ycombinator.com/item?id=50287001","score":287,"comments":211,"date":"2026-10-29T10:44:49.000Z","skills":[]},{"id":"hn:50286987","src":"hn","title":"Chained PHP2Shell exploit roots 25 servers, including US Government servers","url":"https://dreamgroup.com/blog/chained-php2shell-exploit-roots-25-servers","discuss":"https://news.ycombinator.com/item?id=50286987","score":332,"comments":166,"date":"2026-10-29T10:42:41.000Z","skills":[]},{"id":"devto:4940232","src":"devto","title":"I Built a Voice Agent That Answers Recruiters For Me","url":"https://dev.to/debs_obrien/my-hire-me-page-can-talk-how-i-built-and-tested-a-voice-agent-2ibn","score":2,"comments":1,"date":"2026-10-29T10:08:08.000Z","skills":["llm","ai-agents","testing"]},{"id":"devto:4919957","src":"devto","title":"No Human Will Ever Write Code Better Than LLMs? Better at What?","url":"https://dev.to/dannwaneri/no-human-will-ever-write-code-better-than-llms-better-at-what-1dme","score":64,"comments":56,"date":"2026-10-29T09:34:19.000Z","skills":["llm"]},{"id":"infoworld:a269affd9504","src":"infoworld","title":"Simplifying .NET toolchain installs with dotnetup","url":"https://www.infoworld.com/article/4241187/simplifying-net-toolchain-installs-with-dotnetup.html","date":"2026-10-29T09:00:00.000Z","skills":["rust","dotnet","linux"]},{"id":"hn:50286197","src":"hn","title":"What we know so far about Spain train crash","url":"https://www.bbc.com/news/articles/cm8xz7pkd0jjo","discuss":"https://news.ycombinator.com/item?id=50286197","score":244,"comments":452,"date":"2026-10-29T08:55:08.000Z","skills":[]},{"id":"hn:50285452","src":"hn","title":"Zero click, silent, remote Android DoS","url":"https://smsofdeath.com/","discuss":"https://news.ycombinator.com/item?id=50285452","score":338,"comments":191,"date":"2026-10-29T07:08:50.000Z","skills":["android"]},{"id":"devto:4938392","src":"devto","title":"Exorcist: a ghost hunter for your package.json","url":"https://dev.to/ibrahimiqbal/exorcist-a-ghost-hunter-for-your-packagejson-4oij","score":10,"comments":0,"date":"2026-10-29T07:08:46.000Z","skills":[]},{"id":"devto:4929852","src":"devto","title":"Ghost in the Shell: Can a Log File Hijack an AI?","url":"https://dev.to/gramli/ghost-in-the-shell-can-a-log-file-hijack-an-ai-3gk","score":129,"comments":115,"date":"2026-10-29T07:02:39.000Z","skills":["llm","prompt-engineering","security"]},{"id":"hn:50285319","src":"hn","title":"Forging a Microsoft Edge Full Chain with Logic Bugs Only","url":"https://blog.orange.tw/posts/2026-10-the-last-proof-of-human-craft-browser-full-chain/","discuss":"https://news.ycombinator.com/item?id=50285319","score":253,"comments":39,"date":"2026-10-29T06:47:28.000Z","skills":[]},{"id":"devto:4938850","src":"devto","title":"I spent a year on dev, and I'm not happy about it...","url":"https://dev.to/heytechomaima/i-spent-a-year-on-dev-and-im-not-happy-about-it-5hk8","score":55,"comments":40,"date":"2026-10-29T06:23:46.000Z","skills":[]},{"id":"github:1438029127","src":"github","title":"NiazMorshed2007/reanimate：A Claude Code skill that reverse-engineers any animation frame by frame, then proves the copy moves the same.","url":"https://github.com/NiazMorshed2007/reanimate","score":1127,"date":"2026-10-29T06:20:59.000Z","skills":["javascript","llm","agent-skills","ai-coding","e2e"]},{"id":"hn:50285154","src":"hn","title":"We won't \"just hang out\"","url":"https://borretti.me/article/we-wont-just-hang-out","discuss":"https://news.ycombinator.com/item?id=50285154","score":225,"comments":366,"date":"2026-10-29T06:20:06.000Z","skills":[]},{"id":"github:1438018242","src":"github","title":"paipiange/nvzhuang：1407 张 AI 女装参考图集与虚拟试穿网站，支持中英检索、OpenAI Images / Gemini / 豆包及自定义 Base URL、API Key、模型。https://github.com/paipiange/nvzhuang","url":"https://github.com/paipiange/nvzhuang","score":2160,"date":"2026-10-29T06:08:00.000Z","skills":["go","llm"]},{"id":"devto:4868221","src":"devto","title":"AI Engineering Is Easy. Do We Really Have to Change How We Work?","url":"https://dev.to/ujja/ai-engineering-is-easy-do-we-really-have-to-change-how-we-work-31n7","score":19,"comments":18,"date":"2026-10-29T06:06:07.000Z","skills":["llm","ai-agents"]},{"id":"github:1437981635","src":"github","title":"MarkBlah/smsofdeath：remote + silent denial of service for all Android phones. https://smsofdeath.com/ for writeup.","url":"https://github.com/MarkBlah/smsofdeath","score":501,"date":"2026-10-29T05:20:26.000Z","skills":["java","android"]},{"id":"devto:4938460","src":"devto","title":"AI Agents Can Get Approval and Still Do the Wrong Thing","url":"https://dev.to/katul1512/ai-agents-can-get-approval-and-still-do-the-wrong-thing-4oon","score":17,"comments":33,"date":"2026-10-29T05:11:45.000Z","skills":["llm","ai-agents","security"]},{"id":"github:1437936317","src":"github","title":"RikiyaT/lm_understand-logs：Complete logs of the experiments in the blog post 'LLMs can understand and write neural network weights'","url":"https://github.com/RikiyaT/lm_understand-logs","score":823,"date":"2026-10-29T04:17:30.000Z","skills":["python","machine-learning","llm"]},{"id":"devto:4938222","src":"devto","title":"El Altar que Habla: A Día de los Muertos Ofrenda Built with Gemma 4","url":"https://dev.to/earlgreyhot1701d/el-altar-que-habla-a-dia-de-los-muertos-ofrenda-built-with-gemma-4-5gij","score":20,"comments":4,"date":"2026-10-29T04:10:22.000Z","skills":["llm"]},{"id":"hn:50284255","src":"hn","title":"Claude Code regularly sends each background agent’s transcript to its model","url":"https://gist.github.com/flamerix-ai/c3905705cc4205e5de3011fa2e74efce","discuss":"https://news.ycombinator.com/item?id=50284255","score":589,"comments":236,"date":"2026-10-29T03:33:42.000Z","skills":["llm","ai-coding"]},{"id":"hn:50282838","src":"hn","title":"Qwenputer: A functioning, deterministic RISC-V CPU inside Qwen3.5","url":"https://divagr.com/blog/qwenputer","discuss":"https://news.ycombinator.com/item?id=50282838","score":705,"comments":147,"date":"2026-10-29T00:25:45.000Z","skills":[]},{"id":"github:1437774066","src":"github","title":"Djihads80/Eglantine：VERY experimental Nintendo Switch 2 emulator","url":"https://github.com/Djihads80/Eglantine","score":3225,"date":"2026-10-29T00:25:18.000Z","skills":["cpp"]},{"id":"devto:4937319","src":"devto","title":"AI for everything besides coding","url":"https://dev.to/cseeman/ai-for-everything-besides-coding-4hen","score":12,"comments":11,"date":"2026-10-28T23:48:46.000Z","skills":["llm"]},{"id":"hn:50282544","src":"hn","title":"GitLab Security Incident: Attempted Exploitation of CVE-2026-97229","url":"https://alpinelinux.org/posts/GitLab-security-incident-CVE-2026-97229.html","discuss":"https://news.ycombinator.com/item?id=50282544","score":256,"comments":122,"date":"2026-10-28T23:45:46.000Z","skills":["gitlab","security"]},{"id":"hn:50282454","src":"hn","title":"StackOverflow now gets fewer than 1000 questions a month","url":"https://data.stackexchange.com/stackoverflow/query/1926661#graph?t=1","discuss":"https://news.ycombinator.com/item?id=50282454","score":857,"comments":755,"date":"2026-10-28T23:35:02.000Z","skills":[]},{"id":"hn:50281044","src":"hn","title":"Formlabs Studio 1 $699 Resin Printer","url":"https://formlabs.com/products/form-studio-1-basic-founders-edition/","discuss":"https://news.ycombinator.com/item?id=50281044","score":227,"comments":188,"date":"2026-10-28T21:19:30.000Z","skills":[]},{"id":"hn:50280974","src":"hn","title":"A Health Update","url":"https://furbo.org/2026/10/28/a-health-update/","discuss":"https://news.ycombinator.com/item?id=50280974","score":351,"comments":62,"date":"2026-10-28T21:13:21.000Z","skills":[]},{"id":"hn:50280864","src":"hn","title":"Leak Exposes 41,000 Homeland Security Workers–Including Undercover ICE Agents","url":"https://www.wired.com/story/massive-leak-exposes-41000-homeland-security-workers-including-undercover-ice-agents/","discuss":"https://news.ycombinator.com/item?id=50280864","score":473,"comments":305,"date":"2026-10-28T21:03:24.000Z","skills":[]},{"id":"stackoverflow:c4728b3f9908","src":"stackoverflow","title":"A JSON schema Is not an AI governance layer","url":"https://stackoverflow.blog/2026/10/28/a-json-schema-is-not-an-ai-governance-layer/","date":"2026-10-28T19:27:07.000Z","skills":["llm"]},{"id":"hn:50277379","src":"hn","title":"Cloudflare Turnstile solver library (no headless browser required)","url":"https://github.com/chris124567/cfsolve","discuss":"https://news.ycombinator.com/item?id=50277379","score":316,"comments":115,"date":"2026-10-28T17:29:23.000Z","skills":["cloudflare"]},{"id":"hn:50276998","src":"hn","title":"Why is this fingerprinting script creating bioweapons?","url":"https://nullpt.rs/fingerprinting-bioweapons","discuss":"https://news.ycombinator.com/item?id=50276998","score":1603,"comments":310,"date":"2026-10-28T17:13:29.000Z","skills":[]},{"id":"hn:50276940","src":"hn","title":"MacBook Pro with PROLED XDR Display and Touch","url":"https://www.apple.com/macbook-pro/proled-xdr-display/","discuss":"https://news.ycombinator.com/item?id=50276940","score":621,"comments":1091,"date":"2026-10-28T17:10:37.000Z","skills":[]},{"id":"hn:50276792","src":"hn","title":"Gemini 4 Carbon","url":"https://blog.google/innovation-and-ai/models-and-research/gemini-models/introducing-gemini-4-carbon/","discuss":"https://news.ycombinator.com/item?id=50276792","score":1018,"comments":803,"date":"2026-10-28T17:01:23.000Z","skills":["llm"]},{"id":"githubblog:6c275e5fd0ef","src":"githubblog","title":"GitHub Universe 2026: Evolving every layer of the stack","url":"https://github.blog/news-insights/company-news/github-universe-2026-evolving-every-layer-of-the-stack/","date":"2026-10-28T16:09:28.000Z","skills":["ai-coding"]},{"id":"githubblog:bedf4f2776b5","src":"githubblog","title":"Octoverse: Commits, pushes, reach new highs in 2026 as developers build with agents","url":"https://github.blog/news-insights/octoverse/octoverse-commits-pushes-reach-new-highs-in-2026-as-developers-build-with-agents/","date":"2026-10-28T16:07:40.000Z","skills":[]},{"id":"devto:4935418","src":"devto","title":"Accuracy vs Speed: Gemma 4 E2B Quantization Tradeoffs, BF16 to Q2_K","url":"https://dev.to/gde/accuracy-vs-speed-gemma-4-e2b-quantization-tradeoffs-bf16-to-q2k-aea","score":11,"comments":10,"date":"2026-10-28T16:02:20.000Z","skills":["llm","inference"]},{"id":"hn:50275887","src":"hn","title":"Meta censored the No Kings Instagram account during a nationwide campaign","url":"https://paulfwalsh.substack.com/p/meta-censored-the-no-kings-instagram","discuss":"https://news.ycombinator.com/item?id=50275887","score":291,"comments":77,"date":"2026-10-28T16:01:53.000Z","skills":[]},{"id":"hn:50275626","src":"hn","title":"Dayjob: Tax – evaluating AI agents on 50 professional tax assignments","url":"https://surgehq.ai/blog/dayjob-tax","discuss":"https://news.ycombinator.com/item?id=50275626","score":266,"comments":174,"date":"2026-10-28T15:46:30.000Z","skills":["ai-agents"]},{"id":"devto:4935546","src":"devto","title":"Mercury 3: When AI Is Fast Enough to Stay in the Loop","url":"https://dev.to/maximsaplin/mercury-3-when-ai-is-fast-enough-to-stay-in-the-loop-3oe5","score":12,"comments":6,"date":"2026-10-28T15:45:10.000Z","skills":["llm","ai-agents"]},{"id":"devto:4857910","src":"devto","title":"I Compared 6 TypeScript Validation Libraries. Here's What Surprised Me 🤔","url":"https://dev.to/nyaomaru/i-compared-6-typescript-validation-libraries-heres-what-surprised-me-325g","score":129,"comments":54,"date":"2026-10-28T15:37:53.000Z","skills":["typescript"]},{"id":"hn:50275373","src":"hn","title":"Archive.today links going forward","url":"https://www.reddit.com/r/Seattle/comments/1xhf6qp/archivetoday_links_going_forward/","discuss":"https://news.ycombinator.com/item?id=50275373","score":220,"comments":164,"date":"2026-10-28T15:31:58.000Z","skills":[]},{"id":"devto:4935381","src":"devto","title":"What I learned building wfreq","url":"https://dev.to/yashksaini/what-i-learned-building-wfreq-52f5","score":23,"comments":3,"date":"2026-10-28T15:10:42.000Z","skills":["rust"]},{"id":"stackoverflow:a0bb68575ab0","src":"stackoverflow","title":"Delivering controlled and concentrated context","url":"https://stackoverflow.blog/2026/10/28/delivering-controlled-and-concentrated-context/","date":"2026-10-28T14:55:00.000Z","skills":[]},{"id":"devto:4930830","src":"devto","title":"Vite+ 1.0 Is Out. You Don't Need ESLint or Prettier Anymore","url":"https://dev.to/erikch/vite-10-is-out-you-dont-need-eslint-or-prettier-anymore-3iko","score":14,"comments":6,"date":"2026-10-28T14:48:04.000Z","skills":["javascript","vue","build-tools"]},{"id":"devto:4932620","src":"devto","title":"How to cut your AI agent's input tokens: what worked, what failed, and a bench to measure yours","url":"https://dev.to/anis_meziani_52aab42304a8/how-to-cut-your-ai-agents-input-tokens-what-worked-what-failed-and-a-bench-to-measure-yours-f90","score":24,"comments":51,"date":"2026-10-28T14:40:29.000Z","skills":["python","llm","ai-agents"]},{"id":"hn:50274409","src":"hn","title":"CNC Stone Carving","url":"https://carmelitegothic.com/cnc-stone-carving/","discuss":"https://news.ycombinator.com/item?id=50274409","score":535,"comments":142,"date":"2026-10-28T14:38:22.000Z","skills":[]},{"id":"hn:50274251","src":"hn","title":"AlpineBSD","url":"https://wiki.alpinebsd.org","discuss":"https://news.ycombinator.com/item?id=50274251","score":250,"comments":246,"date":"2026-10-28T14:30:26.000Z","skills":[]},{"id":"devto:4935157","src":"devto","title":"Last Witness: an AI detective for a dead 1999 website, graded on its ghosts","url":"https://dev.to/p0rt/last-witness-an-ai-detective-for-a-dead-1999-website-graded-on-its-ghosts-4bbe","score":22,"comments":6,"date":"2026-10-28T14:15:37.000Z","skills":["llm"]},{"id":"hn:50273396","src":"hn","title":"Kentucky man becomes the first humanist granted religious exemption from AI","url":"https://religionnews.com/2026/10/26/in-a-first-a-humanist-granted-a-religious-exemption-from-using-ai/","discuss":"https://news.ycombinator.com/item?id=50273396","score":494,"comments":556,"date":"2026-10-28T13:41:30.000Z","skills":[]},{"id":"devto:4878017","src":"devto","title":"Four Ways a Test Can Lie to You","url":"https://dev.to/kenwalger/four-ways-a-test-can-lie-to-you-2ibf","score":51,"comments":69,"date":"2026-10-28T13:32:00.000Z","skills":["llm","ai-agents","testing"]},{"id":"hn:50273171","src":"hn","title":"Emacs Turns 50","url":"https://www.technologyreview.com/2026/10/20/1145399/emacs-turns-50/","discuss":"https://news.ycombinator.com/item?id=50273171","score":522,"comments":245,"date":"2026-10-28T13:25:11.000Z","skills":[]},{"id":"hn:50273104","src":"hn","title":"I'm so bad at billiards that I ended up in the hyperbolic plane [video]","url":"https://www.youtube.com/watch?v=kL9BTbIGxLg","discuss":"https://news.ycombinator.com/item?id=50273104","score":259,"comments":39,"date":"2026-10-28T13:20:05.000Z","skills":[]},{"id":"martinfowler:c9ff3900c5bd","src":"martinfowler","title":"Fragments: October 28","url":"https://martinfowler.com/fragments/2026-10-28.html","date":"2026-10-28T12:55:00.000Z","skills":["llm"]},{"id":"hn:50272749","src":"hn","title":"Evidence of a spying operation by ICE against left-wing social movements","url":"https://www.wired.com/story/ice-is-running-one-of-the-largest-anti-left-surveillance-operations-in-us-history/","discuss":"https://news.ycombinator.com/item?id=50272749","score":1197,"comments":1045,"date":"2026-10-28T12:49:45.000Z","skills":[]},{"id":"hn:50272479","src":"hn","title":"Sleep framework: A new way for LLMs to retain knowledge in continual learning","url":"https://research.google/blog/the-sleep-framework-a-new-way-for-llms-to-retain-knowledge-in-continual-learning/","discuss":"https://news.ycombinator.com/item?id=50272479","score":276,"comments":58,"date":"2026-10-28T12:24:25.000Z","skills":["llm"]},{"id":"infoworld:4d4fe0f6be82","src":"infoworld","title":"Gheist turns GitHub Actions into a secret extraction service","url":"https://www.infoworld.com/article/4241628/gheist-turns-github-actions-into-a-secret-extraction-service-2.html","date":"2026-10-28T12:11:01.000Z","skills":["github-actions"]},{"id":"hn:50272145","src":"hn","title":"US agency approves Amazon Leo’s $11.5B acquisition of Globalstar","url":"https://www.reuters.com/business/media-telecom/us-agency-approves-amazon-leos-115-billion-acquisition-globalstar-2026-10-27/","discuss":"https://news.ycombinator.com/item?id=50272145","score":240,"comments":107,"date":"2026-10-28T11:54:23.000Z","skills":[]},{"id":"devto:4934081","src":"devto","title":"Day 25–26 of Building Crowdwide — Making the UI Minimal!","url":"https://dev.to/puneetkumar2010/day-25-26-of-building-crowdwide-making-the-ui-minimal-2n9k","score":37,"comments":51,"date":"2026-10-28T11:15:06.000Z","skills":[]},{"id":"hn:50271640","src":"hn","title":"Apple's git still trusts the compromised eMudhra certificates","url":"https://emudhra.we-have-a-problem.com/apple.html","discuss":"https://news.ycombinator.com/item?id=50271640","score":1202,"comments":413,"date":"2026-10-28T11:03:40.000Z","skills":["git"]},{"id":"devto:4826046","src":"devto","title":"MQTT Doesn't Have Message Queues. Inside the 2-Byte Protocol Powering Modern IoT.","url":"https://dev.to/smtahosin/mqtt-doesnt-have-message-queues-inside-the-2-byte-protocol-powering-modern-iot-161","score":29,"comments":17,"date":"2026-10-28T10:15:57.000Z","skills":["networking","event-driven","system-design","embedded"]},{"id":"devto:4929802","src":"devto","title":"Are You a Python Developer or a Python Expert? 7 Tests I Failed Building 3 Desktop Apps","url":"https://dev.to/akhourianmolkumar/are-you-a-python-developer-or-a-python-expert-7-tests-i-failed-building-3-desktop-apps-2fp4","score":40,"comments":79,"date":"2026-10-28T10:13:29.000Z","skills":["python","security"]},{"id":"infoworld:ee2c0bdb390b","src":"infoworld","title":"Oracle adds native Snowflake service to OCI to ease data integration","url":"https://www.infoworld.com/article/4241574/oracle-adds-native-snowflake-service-to-oci-to-ease-data-integration.html","date":"2026-10-28T09:58:56.000Z","skills":["mysql","oracle","snowflake"]},{"id":"devto:4921809","src":"devto","title":"Your SaaS Has 10,000 Users. Who Removes Their Access When They Leave?","url":"https://dev.to/hadil/your-saas-has-10000-users-who-removes-their-access-when-they-leave-2676","score":73,"comments":12,"date":"2026-10-28T09:52:39.000Z","skills":["auth"]},{"id":"devto:4933515","src":"devto","title":"What Hermes is fast at, and what it isn't","url":"https://dev.to/remdore/what-hermes-is-fast-at-and-what-it-isnt-39gn","score":13,"comments":4,"date":"2026-10-28T09:38:40.000Z","skills":["javascript","react","react-native"]},{"id":"devto:4933424","src":"devto","title":"I built a bot that scans dev.to for phishing comments. It found a coordinated campaign. dev.to banned 70+ accounts.","url":"https://dev.to/forkcount/i-built-a-bot-that-scans-devto-for-phishing-comments-it-found-a-coordinated-campaign-devto-3mi6","score":2,"comments":0,"date":"2026-10-28T09:13:15.000Z","skills":["javascript","security"]},{"id":"infoworld:5cbded7bb70f","src":"infoworld","title":"Six elements of resilient AI orchestration platforms","url":"https://www.infoworld.com/article/4240704/six-elements-of-resilient-ai-orchestration-platforms.html","date":"2026-10-28T09:00:00.000Z","skills":["ai-agents"]},{"id":"infoworld:0e27fe1e2fbb","src":"infoworld","title":"Eight reasons human developers are better than coding agents","url":"https://www.infoworld.com/article/4241333/eight-reasons-human-developers-are-better-than-coding-agents.html","date":"2026-10-28T09:00:00.000Z","skills":["ai-agents","ai-coding"]},{"id":"infoworld:d3e44c95ac96","src":"infoworld","title":"Attackers compromised 42 GitHub repositories by using files too large to be searched","url":"https://www.infoworld.com/article/4241474/attackers-compromised-42-github-repositories-by-using-files-too-large-to-be-searched.html","date":"2026-10-28T02:54:12.000Z","skills":["ai-coding"]},{"id":"infoworld:961435ba9aba","src":"infoworld","title":"Python jettisons the native JIT, at least for now","url":"https://www.infoworld.com/article/4241003/python-jettisons-the-native-jit-at-least-for-now.html","date":"2026-10-27T15:47:05.000Z","skills":["python","compilers"]},{"id":"cloudflare:54be98d07f34","src":"cloudflare","title":"Introducing the Cloudflare PHP Capture the Flag challenge","url":"https://blog.cloudflare.com/php-ctf/","date":"2026-10-27T13:00:00.000Z","skills":["php","security"]},{"id":"cloudflare:1332586c84a4","src":"cloudflare","title":"What took the Internet offline in Q3 2026","url":"https://blog.cloudflare.com/q3-2026-internet-disruption-summary/","date":"2026-10-27T13:00:00.000Z","skills":[]},{"id":"github:1435695423","src":"github","title":"anhao/ai-pose-gallery-zh：中文版 AI 姿势参考图库 · 1439 组 / 2878 张图片 / 完整汉化 · 零依赖静态画廊","url":"https://github.com/anhao/ai-pose-gallery-zh","score":5855,"date":"2026-10-27T12:24:37.000Z","skills":["typescript"]},{"id":"stackoverflow:64195e00096c","src":"stackoverflow","title":"Elevators, toasters, and the birth of Java","url":"https://stackoverflow.blog/2026/10/27/elevators-toasters-and-the-birth-of-java/","date":"2026-10-27T07:40:00.000Z","skills":["java"]},{"id":"cloudflare:bfdba109b967","src":"cloudflare","title":"Cross-request KV cache exposure in the GLM-5.3 Workers AI model, and our remediation with SGLang","url":"https://blog.cloudflare.com/kv-cache-exposure-remediation/","date":"2026-10-26T22:01:23.000Z","skills":["security"]},{"id":"github:1433297111","src":"github","title":"interplains/Zero-Breach-Toolkit：Free, open-source check for traces of mercenary spyware (Pegasus, Predator, Graphite, Candiru and more) on computers, Android phones and iP…","url":"https://github.com/interplains/Zero-Breach-Toolkit","score":4388,"date":"2026-10-25T14:41:34.000Z","skills":["python","android","linux"]},{"id":"github:1432980411","src":"github","title":"designfuchen/word-atlas：词光 · Word Atlas — Illustrated IELTS vocabulary with 7,298 words, UK/US audio and FSRS review. Open-source app + CC BY 4.0 dataset.","url":"https://github.com/designfuchen/word-atlas","score":4145,"date":"2026-10-25T08:27:22.000Z","skills":["typescript","react","web-graphics"]},{"id":"github:1432967563","src":"github","title":"ccch1mneyyy/dsh-Go：dsh-go — DeepSeek Harness 装进口袋：手机本机运行，也能遥控你的电脑。","url":"https://github.com/ccch1mneyyy/dsh-Go","score":8520,"date":"2026-10-25T08:09:52.000Z","skills":["dart","android","flutter","llm","ai-agents","ai-coding"]},{"id":"ptt:M.1792872763.A.47C","src":"ptt","title":"[心得] PHP 7.1 沒人修？自己把修補編進 RPM","url":"https://www.ptt.cc/bbs/Soft_Job/M.1792872763.A.47C.html","score":1,"date":"2026-10-24T20:12:43.000Z","skills":["php","docker","linux","ai-coding"]},{"id":"ptt:M.1792861305.A.354","src":"ptt","title":"[心得] VIBE 麻將","url":"https://www.ptt.cc/bbs/Soft_Job/M.1792861305.A.354.html","score":3,"date":"2026-10-24T17:01:45.000Z","skills":["swift"]},{"id":"github:1431851693","src":"github","title":"rddmwmddr/android-ad-cleaner：关掉国产安卓手机系统里的广告、热搜、资讯推荐和营销推送。不 root，可还原，支持 AI 智能体一键执行。","url":"https://github.com/rddmwmddr/android-ad-cleaner","score":6210,"date":"2026-10-24T05:35:47.000Z","skills":["python","android","ai-agents"]},{"id":"github:1431545439","src":"github","title":"JustAResearcher/gpu-unlock-ada：GPU tensor unlock source for RTX 4090 and experimental RTX 4070 Ti SUPER; firmware generated locally","url":"https://github.com/JustAResearcher/gpu-unlock-ada","score":4752,"date":"2026-10-23T21:00:53.000Z","skills":["c","embedded"]},{"id":"cloudflare:94660a1aa166","src":"cloudflare","title":"Origin Range Requests: Serving large files without range-request tuning","url":"https://blog.cloudflare.com/origin-range-requests/","date":"2026-10-23T18:22:59.000Z","skills":[]},{"id":"cloudflare:c3aa2fd898c5","src":"cloudflare","title":"Bringing post-quantum cryptography to geographically fenced key management","url":"https://blog.cloudflare.com/post-quantum-geo-key-manager/","date":"2026-10-23T18:06:56.000Z","skills":["cryptography"]},{"id":"ptt:M.1792761416.A.C96","src":"ptt","title":"[心得] 番外：外面忙堵洞，駭客早拿鑰匙走正門","url":"https://www.ptt.cc/bbs/Soft_Job/M.1792761416.A.C96.html","score":19,"date":"2026-10-23T13:16:56.000Z","skills":["php","linux","networking","network-admin","security"]},{"id":"stackoverflow:e2f0aca33288","src":"stackoverflow","title":"Rumors of the SaaS demise are greatly exaggerated","url":"https://stackoverflow.blog/2026/10/23/rumors-of-the-saas-demise-are-greatly-exaggerated/","date":"2026-10-23T07:40:00.000Z","skills":["llm","ai-agents"]},{"id":"ptt:M.1792709592.A.CA3","src":"ptt","title":"[心得] PHP 爆大洞，別人熬夜，我們切一刀下班","url":"https://www.ptt.cc/bbs/Soft_Job/M.1792709592.A.CA3.html","score":5,"date":"2026-10-22T22:53:12.000Z","skills":["php","linux","security"]},{"id":"stackoverflow:730a7bf1d7d5","src":"stackoverflow","title":"The Regression Tests Nobody Writes: Capturing How Software Actually Behaves","url":"https://stackoverflow.blog/2026/10/22/the-regression-tests-nobody-writes-capturing-how-software-actually-behaves/","date":"2026-10-22T19:37:29.000Z","skills":["testing"]},{"id":"githubblog:09be57be38cc","src":"githubblog","title":"How bug bounty sharpens one researcher’s security skills","url":"https://github.blog/security/how-bug-bounty-sharpens-one-researchers-security-skills/","date":"2026-10-22T17:21:30.000Z","skills":["security"]},{"id":"stackoverflow:199762bedd09","src":"stackoverflow","title":"Is AI really reshaping the developer market?","url":"https://stackoverflow.blog/2026/10/22/is-ai-really-reshaping-the-developer-market/","date":"2026-10-22T16:37:39.000Z","skills":[]},{"id":"cloudflare:9873cb1e1a06","src":"cloudflare","title":"Localizing compliance at scale: achieving South Korea’s ISMS certification","url":"https://blog.cloudflare.com/k-isms/","date":"2026-10-22T13:00:00.000Z","skills":["security"]},{"id":"ptt:M.1792654671.A.42A","src":"ptt","title":"[請益] 學弟的Offer請益(南神教/海外新創/其他半導體廠)","url":"https://www.ptt.cc/bbs/Soft_Job/M.1792654671.A.42A.html","score":0,"date":"2026-10-22T07:37:51.000Z","skills":["dsa"]},{"id":"martinfowler:50744548848c","src":"martinfowler","title":"Fragments: October 21","url":"https://martinfowler.com/fragments/2026-10-21.html","date":"2026-10-21T16:51:00.000Z","skills":[]},{"id":"stackoverflow:99a4807a4873","src":"stackoverflow","title":"Building Immersive Virtual Economies: An Introduction to KursarScript (KSPL)","url":"https://stackoverflow.blog/2026/10/21/building-immersive-virtual-economies-an-introduction-to-kursarscript-kspl/","date":"2026-10-21T16:26:42.000Z","skills":[]},{"id":"githubblog:d345d7957a6f","src":"githubblog","title":"The bridge to agent-scale Git infrastructure","url":"https://github.blog/engineering/architecture-optimization/the-bridge-to-agent-scale-git-infrastructure/","date":"2026-10-21T16:00:00.000Z","skills":["azure","git"]},{"id":"cloudflare:ad57fe470f5c","src":"cloudflare","title":"Introducing full transaction detection for Cloudflare WAF","url":"https://blog.cloudflare.com/full-transaction-waf/","date":"2026-10-21T14:10:42.000Z","skills":["network-admin","security"]},{"id":"stackoverflow:c48553dea3bd","src":"stackoverflow","title":"Survey Says: You'll swap the model, but everything you build around it is staying put","url":"https://stackoverflow.blog/2026/10/21/survey-says-you-ll-swap-the-model-but-everything-you-build-around-it-is-staying-put/","date":"2026-10-21T14:00:00.000Z","skills":["llm"]},{"id":"cloudflare:daa5082a90c1","src":"cloudflare","title":"Cloudflare deploys protections against php2shell vulnerability","url":"https://blog.cloudflare.com/php-vulnerabilities-waf-protection/","date":"2026-10-21T13:56:45.000Z","skills":["php","network-admin","security"]},{"id":"cloudflare:1318e449418c","src":"cloudflare","title":"How Commerce.com and Cloudflare are getting storefronts ready for AI agents","url":"https://blog.cloudflare.com/webmcp-commerce/","date":"2026-10-21T13:00:00.000Z","skills":["llm","ai-agents"]},{"id":"github:1428347546","src":"github","title":"l0ng-ai/openidea：The IDE you know, rebuilt in Rust. IntelliJ IDEA–style keymap, tool windows and search-everywhere in a fast native app: editor, code insigh…","url":"https://github.com/l0ng-ai/openidea","score":5882,"date":"2026-10-21T12:23:14.000Z","skills":["typescript","rust","git"]},{"id":"ptt:M.1792564749.A.F7D","src":"ptt","title":"[討論] 在AI浪潮下還需刷leetcode？","url":"https://www.ptt.cc/bbs/Soft_Job/M.1792564749.A.F7D.html","score":28,"date":"2026-10-21T06:39:09.000Z","skills":["dsa"]},{"id":"ptt:M.1792558932.A.27D","src":"ptt","title":"[討論] 在104發面試邀請的HR都在想什麼?","url":"https://www.ptt.cc/bbs/Soft_Job/M.1792558932.A.27D.html","score":14,"date":"2026-10-21T05:02:12.000Z","skills":["python","bash","sqlserver","linux"]},{"id":"cloudflare:8d204ac3a718","src":"cloudflare","title":"8 eMudhra certificates are compromised. Here's what you need to know","url":"https://blog.cloudflare.com/emudhra-certificate-compromise/","date":"2026-10-20T22:20:16.000Z","skills":["security","cryptography"]},{"id":"github:1427401105","src":"github","title":"LNPANDY/NX2Apple：Play your own Switch games on iPhone/iPad — one-click macOS app, no terminal. | 把 Switch 游戏装进 iPhone：图形界面一键构建，不用命令行。Bring your own game.","url":"https://github.com/LNPANDY/NX2Apple","score":3375,"date":"2026-10-20T18:16:07.000Z","skills":["swift","ios"]},{"id":"githubblog:d3ec3a595c33","src":"githubblog","title":"How 3 Java Champions are using GitHub Copilot for increased productivity","url":"https://github.blog/ai-and-ml/github-copilot/how-3-java-champions-are-using-github-copilot-for-increased-productivity/","date":"2026-10-20T16:05:03.000Z","skills":["java","ai-coding"]},{"id":"github:1427126014","src":"github","title":"Jakeschincariol/day-trader-skill：11 Claude skills for day trading: scan thousands of charts, track breaking news, time every entry and exit, and replay every outcome before…","url":"https://github.com/Jakeschincariol/day-trader-skill","score":5060,"date":"2026-10-20T14:17:54.000Z","skills":["python","llm","agent-skills"]},{"id":"cloudflare:c5209e141bd8","src":"cloudflare","title":"Introducing tsrs: A port of TypeScript to Rust","url":"https://blog.cloudflare.com/typescript-rust-port/","date":"2026-10-20T13:00:00.000Z","skills":["javascript","typescript","rust"]},{"id":"github:1426780056","src":"github","title":"pengchujin/aerial-tv：给国产电视的一块干净桌面：参照 tvOS 设计的开源 Android TV 桌面，没有广告，开机自动接管。A tvOS-style launcher for Xiaomi, TCL and other China-market TVs.","url":"https://github.com/pengchujin/aerial-tv","score":9501,"date":"2026-10-20T09:13:06.000Z","skills":["kotlin","android"]},{"id":"stackoverflow:4de222552ddb","src":"stackoverflow","title":"Don't forget about the UI for AI","url":"https://stackoverflow.blog/2026/10/20/don-t-forget-about-the-ui-for-ai/","date":"2026-10-20T07:40:00.000Z","skills":["llm","ai-agents","ai-coding"]},{"id":"github:1426240325","src":"github","title":"JoasASantos/REA-Prompts：REAP - Prompts for you to use REA (Reverse Engineer Anything), get the most out of it, and clone or break down any program","url":"https://github.com/JoasASantos/REA-Prompts","score":3563,"date":"2026-10-19T22:20:47.000Z","skills":["prompt-engineering"]},{"id":"github:1426080579","src":"github","title":"simbasjungles/free-my-tv：A fast, ad-free home screen for Google TV, LG webOS and Samsung Tizen. One button to undo.","url":"https://github.com/simbasjungles/free-my-tv","score":5843,"date":"2026-10-19T19:29:01.000Z","skills":["java","ai-coding"]},{"id":"cloudflare:a26c408d34d1","src":"cloudflare","title":"Cutting our inference bill by 68% by being obsessive about optimization","url":"https://blog.cloudflare.com/obsessive-inference-optimization/","date":"2026-10-19T19:12:53.000Z","skills":["llm","ai-agents"]},{"id":"githubblog:0f3dfef227c0","src":"githubblog","title":"How to continue a GitHub Copilot app session in VS Code","url":"https://github.blog/ai-and-ml/github-copilot/how-to-continue-a-github-copilot-app-session-in-vs-code/","date":"2026-10-19T18:47:22.000Z","skills":["ai-coding"]},{"id":"cloudflare:d6e3fbf6ac8e","src":"cloudflare","title":"Introducing Clairic, a new System One class of extraction models","url":"https://blog.cloudflare.com/clairic-extraction-model/","date":"2026-10-19T17:48:26.000Z","skills":["machine-learning","llm"]},{"id":"stackoverflow:02e499e9f1d3","src":"stackoverflow","title":"Production-grade LLMs and agents: a field guide","url":"https://stackoverflow.blog/2026/10/19/production-grade-llms-and-agents-a-field-guide/","date":"2026-10-19T15:32:01.000Z","skills":["llm"]},{"id":"cloudflare:acdbe7df1a24","src":"cloudflare","title":"Beyond the patch: Protecting your NetScaler gateway against future vulnerabilities","url":"https://blog.cloudflare.com/protect-your-netscaler-gateway/","date":"2026-10-19T13:00:00.000Z","skills":["security"]},{"id":"ptt:M.1792332579.A.190","src":"ptt","title":"[請益] 有ML演算法美國專利在台灣求職會加分嗎？","url":"https://www.ptt.cc/bbs/Soft_Job/M.1792332579.A.190.html","score":4,"date":"2026-10-18T14:09:39.000Z","skills":["machine-learning","dsa"]},{"id":"ptt:M.1792318194.A.B5F","src":"ptt","title":"[心得] Canonical面試PC Platforms Kernel Eng","url":"https://www.ptt.cc/bbs/Soft_Job/M.1792318194.A.B5F.html","score":6,"date":"2026-10-18T10:09:54.000Z","skills":["linux","git"]},{"id":"ptt:M.1792315998.A.172","src":"ptt","title":"[討論] OpenCode 被 hacked","url":"https://www.ptt.cc/bbs/Soft_Job/M.1792315998.A.172.html","score":0,"date":"2026-10-18T09:33:18.000Z","skills":["llm"]},{"id":"github:1424183124","src":"github","title":"xiaoyang111222/cn-math-taxonomy：数学（小学到高中）、英语（三年级到高中）、初中物理的知识图谱：1644 个知识点、2403 条先修边、6723 道题，对齐课标，附自适应前置诊断。","url":"https://github.com/xiaoyang111222/cn-math-taxonomy","score":6473,"date":"2026-10-18T09:04:43.000Z","skills":["python"]},{"id":"github:1423892373","src":"github","title":"Zagitta/gpu-unlock：Your GeForce runs AI at half speed. This fixes it for 20/30/40 series cards. Up to 2× FP16 / BF16 / TF32 tensor throughput","url":"https://github.com/Zagitta/gpu-unlock","score":16003,"date":"2026-10-18T01:28:31.000Z","skills":["c"]},{"id":"github:1423689866","src":"github","title":"ly05010419/MacNativeGames：Play your own Tears of the Kingdom and Breath of the Wild natively on Apple silicon Mac, iPhone and iPad. Not an emulator: the game's ARM64…","url":"https://github.com/ly05010419/MacNativeGames","score":6989,"date":"2026-10-17T19:52:00.000Z","skills":["c","ios"]},{"id":"ptt:M.1792256114.A.010","src":"ptt","title":"[討論] 現在上班比較難進心流了","url":"https://www.ptt.cc/bbs/Soft_Job/M.1792256114.A.010.html","score":5,"date":"2026-10-17T16:55:14.000Z","skills":[]},{"id":"github:1423101235","src":"github","title":"Gathin23/cleanyourtv：Debloat any Android or Google TV over Wi-Fi and get an Apple TV-style home.","url":"https://github.com/Gathin23/cleanyourtv","score":51616,"date":"2026-10-17T08:12:35.000Z","skills":["python","android","ai-coding"]},{"id":"github:1422883896","src":"github","title":"aicodeking/leanrea：One 8 KB skill that replaces REA (Reverse Engineer Anything): plain CLI tools, no MCP. Benchmarked: 38% faster, 35% cheaper.","url":"https://github.com/aicodeking/leanrea","score":3985,"date":"2026-10-17T02:53:24.000Z","skills":["python","mcp"]},{"id":"github:1422597771","src":"github","title":"amosblomqvist/learnharness：Agent harness for learning difficult things.","url":"https://github.com/amosblomqvist/learnharness","score":5245,"date":"2026-10-16T19:35:33.000Z","skills":["typescript","ai-agents"]},{"id":"github:1422474621","src":"github","title":"Revivedx/SavageWindRecomp：Work-in-progress static recompilation of The Legend of Zelda: Breath of the Wild (Switch, v1.9.0) for Windows and Linux. Bring your own dum…","url":"https://github.com/Revivedx/SavageWindRecomp","score":3021,"date":"2026-10-16T17:34:55.000Z","skills":["c","linux"]},{"id":"cloudflare:90fc70b28273","src":"cloudflare","title":"Continuous accountability for Verified bots","url":"https://blog.cloudflare.com/verified-bots-accountability/","date":"2026-10-16T13:00:00.000Z","skills":["llm","security"]},{"id":"github:1421825221","src":"github","title":"deepseek-ai/DeepInfer：DeepInfer: High-performance, large-scale inference framework for DeepSeek models","url":"https://github.com/deepseek-ai/DeepInfer","score":25313,"date":"2026-10-16T07:47:23.000Z","skills":["python","llm"]},{"id":"github:1421822085","src":"github","title":"kingcharleslzy-ai/dsh-purge：dsh-purge Community · DeepSeek Harness 社区维护版：宿主兼容、状态诊断、提示词管理、更新与本机备份回滚。基于小杨 / YuJunZhiXue 的 dsh-purge。","url":"https://github.com/kingcharleslzy-ai/dsh-purge","score":4412,"date":"2026-10-16T07:44:27.000Z","skills":["javascript","llm"]},{"id":"stackoverflow:0b30b6942e9c","src":"stackoverflow","title":"AI says you’re right, formal methods say you’re wrong","url":"https://stackoverflow.blog/2026/10/16/formal-methods-say-you-re-wrong/","date":"2026-10-16T07:40:00.000Z","skills":["llm","ai-agents","system-design"]},{"id":"stackoverflow:a6e4aa4499dd","src":"stackoverflow","title":"MCP standardized tools. Now we need the infrastructure around them.","url":"https://stackoverflow.blog/2026/10/15/mcp-standardized-tools-now-we-need-the-infrastructure-around-them/","date":"2026-10-15T20:39:29.000Z","skills":["llm","mcp"]},{"id":"githubblog:5b6680e2f8b9","src":"githubblog","title":"The next developer interface is ambient intelligence","url":"https://github.blog/news-insights/company-news/the-next-developer-interface-is-ambient-intelligence/","date":"2026-10-15T19:39:27.000Z","skills":["ai-coding"]},{"id":"githubblog:84007b3bda82","src":"githubblog","title":"Staying Evergreen: How we automated secure access and repo hygiene in a shared org","url":"https://github.blog/engineering/platform-security/staying-evergreen-how-we-automated-secure-access-and-repo-hygiene-in-a-shared-org/","date":"2026-10-15T18:00:00.000Z","skills":[]},{"id":"stackoverflow:57b47a464250","src":"stackoverflow","title":"Why your platform team shouldn't build an AI context layer (even though they probably could)","url":"https://stackoverflow.blog/2026/10/15/your-team-shouldnt-build-an-ai-context-layer/","date":"2026-10-15T17:00:00.000Z","skills":["llm"]},{"id":"martinfowler:b774389cd364","src":"martinfowler","title":"When Software Meets Hardware","url":"https://martinfowler.com/articles/software-meets-hardware.html","date":"2026-10-15T13:25:00.000Z","skills":[]},{"id":"github:1420305104","src":"github","title":"Leonxlnx/earshot：Ears for coding agents: let AI hear, review and make sound. CPU-only, open source.","url":"https://github.com/Leonxlnx/earshot","score":3816,"date":"2026-10-15T06:52:46.000Z","skills":["python","ai-agents","mcp","ai-coding"]},{"id":"stackoverflow:d0f514c31b9e","src":"stackoverflow","title":"Your next job doesn’t have a title yet: Emerging role skills Q&A with Cory Hymel of Andela","url":"https://stackoverflow.blog/2026/10/14/your-next-job-doesn-t-have-a-title-yet-emerging-role-skills-q-and-a-with-corey-hymel-of-andela/","date":"2026-10-14T17:12:00.000Z","skills":[]},{"id":"martinfowler:a6374274cc17","src":"martinfowler","title":"Build your slide template","url":"https://martinfowler.com/articles/never-send-slides/build-your-slide-template.html","date":"2026-10-14T14:20:00.000Z","skills":[]},{"id":"github:1418204810","src":"github","title":"InukaAsith/TwinDesk： All your computers and your phone, working as one desk. Screens, apps, files, clipboard, calls, texts, notifications, mouse and keyboard,…","url":"https://github.com/InukaAsith/TwinDesk","score":3305,"date":"2026-10-14T01:19:02.000Z","skills":["javascript","android","linux"]},{"id":"stackoverflow:919820642daf","src":"stackoverflow","title":"Why Your Sandbox Never Quite Matches Production (And Why That's Fine)","url":"https://stackoverflow.blog/2026/10/13/why-your-sandbox-never-quite-matches-production-and-why-that-s-fine/","date":"2026-10-13T16:35:35.000Z","skills":[]},{"id":"github:1417456983","src":"github","title":"HeyPuter/everything：We're rebuilding and open-sourcing the world’s software from scratch.","url":"https://github.com/HeyPuter/everything","score":6971,"date":"2026-10-13T16:18:22.000Z","skills":["javascript"]},{"id":"martinfowler:b9d4e05001a4","src":"martinfowler","title":"The Craft of Practitioner Voice","url":"https://martinfowler.com/articles/practitioner-voice.html#TheCraftOfPractitionerVoice","date":"2026-10-13T14:06:00.000Z","skills":[]},{"id":"martinfowler:56f869f0dea0","src":"martinfowler","title":"Are Harnesses Worth the Cost?","url":"https://martinfowler.com/articles/are-harnesses-worth-the-cost.html","date":"2026-10-13T13:35:00.000Z","skills":["llm","ai-agents","ai-coding"]},{"id":"stackoverflow:79c5e9bdb0e2","src":"stackoverflow","title":"Keep calm and call clone with Rust","url":"https://stackoverflow.blog/2026/10/13/keep-calm-and-call-clone-with-rust/","date":"2026-10-13T07:40:00.000Z","skills":["rust","llm","ai-agents","ai-coding","compilers"]},{"id":"github:1416502082","src":"github","title":"seedds/nxnative：Switch games running natively on iPhone, iPad and Mac: an NSP folder becomes an unsigned IPA (NSO rewriter, Horizon HLE host, NVN→Metal)","url":"https://github.com/seedds/nxnative","score":11973,"date":"2026-10-13T05:20:14.000Z","skills":["python"]},{"id":"github:1416497190","src":"github","title":"mmparko/dsh-purge：DeepSeek Harness 破甲 (mirror of YuJunZhiXue/dsh-purge) — 上游即将删库，此为本仓库全量镜像：含全部分支/73 个 tag/完整提交历史。原作者署名与二开要求见 README 署名章节。","url":"https://github.com/mmparko/dsh-purge","score":3067,"date":"2026-10-13T05:14:47.000Z","skills":["javascript","llm"]},{"id":"github:1416442720","src":"github","title":"microsoft/TokenEconomizer：Experience-Driven Black-Box Cost Control for Coding Agents","url":"https://github.com/microsoft/TokenEconomizer","score":4726,"date":"2026-10-13T04:16:50.000Z","skills":["python","llm","ai-agents","ai-coding"]},{"id":"stackoverflow:a385dbcbdcf0","src":"stackoverflow","title":"Beyond the AI noise: How Stack Overflow is rethinking tech hiring","url":"https://stackoverflow.blog/2026/10/12/beyond-the-ai-noise-how-stack-overflow-is-rethinking-tech-hiring/","date":"2026-10-12T14:00:00.000Z","skills":[]},{"id":"github:1415313946","src":"github","title":"jhaizhou-ops/d2r-mobile：Open-source compatibility layer for Diablo II: Resurrected with the Reign of the Warlock expansion. Runs your own Switch copy natively on i…","url":"https://github.com/jhaizhou-ops/d2r-mobile","score":5099,"date":"2026-10-12T08:41:19.000Z","skills":["c","ios","android"]},{"id":"github:1414685342","src":"github","title":"onehumanbeing/esp32-iphone-agent：Let an AI model use a real iPhone with a $7 ESP32: AirPlay eyes, USB HID hands, any OpenAI-compatible vision model. No Mac, no developer ac…","url":"https://github.com/onehumanbeing/esp32-iphone-agent","score":4339,"date":"2026-10-11T19:10:25.000Z","skills":["c","llm","ai-agents","embedded"]},{"id":"ptt:M.1791697656.A.0E1","src":"ptt","title":"[閒聊] 做了一個 GalGame 陪伴 Leetcode 刷題","url":"https://www.ptt.cc/bbs/Soft_Job/M.1791697656.A.0E1.html","score":40,"date":"2026-10-11T05:47:36.000Z","skills":["dsa"]},{"id":"github:1413898431","src":"github","title":"liseami/CCBaga","url":"https://github.com/liseami/CCBaga","score":3409,"date":"2026-10-11T03:47:06.000Z","skills":["rust"]},{"id":"github:1412548284","src":"github","title":"storytold/craft-launcher：The Craft App Launcher","url":"https://github.com/storytold/craft-launcher","score":4892,"date":"2026-10-09T23:21:59.000Z","skills":["rust"]},{"id":"github:1412112308","src":"github","title":"storytold/figcraft：FigCraft: interface design and prototyping; an open-source, clean-room reimplementation of collaborative design workflows in pure Rust","url":"https://github.com/storytold/figcraft","score":4248,"date":"2026-10-09T16:02:13.000Z","skills":["rust"]},{"id":"stackoverflow:d4c9bec33d1e","src":"stackoverflow","title":"A Treatise on Model Oriented Programming Languages","url":"https://stackoverflow.blog/2026/10/09/a-treatise-on-model-oriented-programming-languages/","date":"2026-10-09T14:59:04.000Z","skills":[]},{"id":"stackoverflow:874f362279f0","src":"stackoverflow","title":"Taking a look under your agent’s hood","url":"https://stackoverflow.blog/2026/10/09/taking-a-look-under-your-agent-s-hood/","date":"2026-10-09T07:40:00.000Z","skills":["datadog","observability","llm","ai-agents"]},{"id":"github:1410929004","src":"github","title":"ARahim3/DigUp：Search your computer by what's in your files: photos, PDFs, documents, recordings, videos and code. On-device on Mac, Windows and Linux, bu…","url":"https://github.com/ARahim3/DigUp","score":6208,"date":"2026-10-08T20:37:51.000Z","skills":["swift","linux","inference"]},{"id":"stackoverflow:d703ae9762c7","src":"stackoverflow","title":"Part 5: Operating an LLM system: observability, cost, routing, and the platform underneath","url":"https://stackoverflow.blog/2026/10/08/part-5-operating-an-llm-system-observability-cost-routing-and-the-platform-underneath/","date":"2026-10-08T20:08:53.000Z","skills":["observability","llm"]},{"id":"stackoverflow:995ffa137fb3","src":"stackoverflow","title":"A green exit code is not evidence that the work happened","url":"https://stackoverflow.blog/2026/10/08/a-green-exit-code-is-not-evidence-that-the-work-happened/","date":"2026-10-08T14:00:00.000Z","skills":["llm"]},{"id":"github:1410124849","src":"github","title":"wheresryan22/anatomy：An agent skill for creating detailed, interactive isometric illustrations of real-world machines and complex systems. Generates polished SV…","url":"https://github.com/wheresryan22/anatomy","score":24621,"date":"2026-10-08T10:12:49.000Z","skills":["javascript","web-graphics","agent-skills"]},{"id":"github:1409893258","src":"github","title":"T-Auto/dsh-ops：A toolkit for low-level operations in DSH, designed to reduce token usage and task execution time / DSH 底层操作工具插件，旨在减少 Token 消耗与任务耗时","url":"https://github.com/T-Auto/dsh-ops","score":5177,"date":"2026-10-08T07:09:25.000Z","skills":["javascript"]},{"id":"github:1409860044","src":"github","title":"t4t5/owly：airdrop for non-apple devices","url":"https://github.com/t4t5/owly","score":3275,"date":"2026-10-08T06:38:33.000Z","skills":["rust"]},{"id":"stackoverflow:5f3a4f46878d","src":"stackoverflow","title":"Part 4: Safety and governance for LLM systems: guardrails, PII, audit, and memory","url":"https://stackoverflow.blog/2026/10/07/part-4-safety-and-governance-for-llm-systems-guardrails-pii-audit-and-memory/","date":"2026-10-07T20:48:55.000Z","skills":["llm"]},{"id":"stackoverflow:ac44ba67d393","src":"stackoverflow","title":"Part 3: Knowing when your agent doesn’t know: the confidence layer","url":"https://stackoverflow.blog/2026/10/07/part-3-knowing-when-your-agent-doesn-t-know-the-confidence-layer/","date":"2026-10-07T20:40:29.000Z","skills":["llm"]},{"id":"stackoverflow:1a4240ca375b","src":"stackoverflow","title":"Part 2: Evals as a deployment gate — and how to know when they drift","url":"https://stackoverflow.blog/2026/10/07/evals-as-a-deployment-gate-and-how-to-know-when-they-drift/","date":"2026-10-07T20:31:12.000Z","skills":["llm"]},{"id":"stackoverflow:ad1aae2024e5","src":"stackoverflow","title":"Part 1: Make your AI agents boring: the determinism layer","url":"https://stackoverflow.blog/2026/10/07/part-1-make-your-ai-agents-boring-the-determinism-layer/","date":"2026-10-07T20:14:49.000Z","skills":["llm","ai-agents"]},{"id":"stackoverflow:7855c463b0d7","src":"stackoverflow","title":"Part 6: An operating system for coding agents: the disciplined build","url":"https://stackoverflow.blog/2026/10/07/part-6-an-operating-system-for-coding-agents-the-disciplined-build/","date":"2026-10-07T20:09:22.000Z","skills":["llm","ai-agents","ai-coding"]},{"id":"stackoverflow:d141ddc838c2","src":"stackoverflow","title":"Implementing a Modular Master-Agent Telemetry & Diagnostic Framework in Python: Prime-Sentinel Command (PSC)","url":"https://stackoverflow.blog/2026/10/07/implementing-a-modular-master-agent-telemetry-and-diagnostic-framework-in-python-prime-sentinel-command-psc/","date":"2026-10-07T20:03:47.000Z","skills":["python","distributed-systems"]},{"id":"github:1409246014","src":"github","title":"tangency-labs/solidcraft：SolidCraft: an open-source parametric 3D CAD application built in pure Rust. Desktop, web, and automation through MCP.","url":"https://github.com/tangency-labs/solidcraft","score":13493,"date":"2026-10-07T18:57:48.000Z","skills":["rust","webassembly","mcp"]},{"id":"github:1409013846","src":"github","title":"Fei2411/DS-Bot：A team of long-lived bots for DeepSeek Harness, with main bots, bot-to-bot messages and group chats.","url":"https://github.com/Fei2411/DS-Bot","score":5443,"date":"2026-10-07T15:37:36.000Z","skills":["javascript","llm"]},{"id":"github:1408489772","src":"github","title":"storytold/wordcraft：An open-source, clean-room reimplementation of Microsoft Word in pure Rust","url":"https://github.com/storytold/wordcraft","score":17249,"date":"2026-10-07T08:34:24.000Z","skills":["rust"]},{"id":"github:1408486424","src":"github","title":"storytold/soundcraft：An open-source, clean-room reimplementation of Avid Pro Tools in pure Rust","url":"https://github.com/storytold/soundcraft","score":4068,"date":"2026-10-07T08:31:31.000Z","skills":["rust"]},{"id":"github:1408465463","src":"github","title":"nullmoth/nvidia-macos-driver：Metal driver for NVIDIA GeForce cards on macOS Sequoia","url":"https://github.com/nullmoth/nvidia-macos-driver","score":4085,"date":"2026-10-07T08:13:12.000Z","skills":["rust"]},{"id":"github:1408294296","src":"github","title":"storytold/deckcraft：Presentations and slide shows: an open-source, clean-room reimplementation of Microsoft PowerPoint in pure Rust. Part of the ArtCraft Craft…","url":"https://github.com/storytold/deckcraft","score":4595,"date":"2026-10-07T05:27:21.000Z","skills":["rust"]},{"id":"github:1408289866","src":"github","title":"storytold/cadcraft：CADCraft: computer-aided design and drafting — an open-source, clean-room AutoCAD-style app in pure Rust","url":"https://github.com/storytold/cadcraft","score":7597,"date":"2026-10-07T05:22:31.000Z","skills":["rust"]},{"id":"github:1408285582","src":"github","title":"storytold/gridcraft：GridCraft: an open-source, clean-room spreadsheet (Microsoft Excel-style) in pure Rust. By ArtCraft.","url":"https://github.com/storytold/gridcraft","score":7125,"date":"2026-10-07T05:18:16.000Z","skills":["rust"]},{"id":"github:1408099862","src":"github","title":"alejandrobujan/tendedero：Screenshots, hung out to dry. A tiny native macOS app that hangs every screenshot on a line at the top of your screen.","url":"https://github.com/alejandrobujan/tendedero","score":2986,"date":"2026-10-07T01:29:54.000Z","skills":["swift"]},{"id":"github:1407951147","src":"github","title":"google-research/harness2","url":"https://github.com/google-research/harness2","score":22541,"date":"2026-10-06T21:48:11.000Z","skills":["python"]},{"id":"stackoverflow:7901b1bb40f2","src":"stackoverflow","title":"“Impossible to Hide Secret …”: Uncovering Security and Privacy Issues in LLM-Native IDEs","url":"https://stackoverflow.blog/2026/10/06/impossible-to-hide-secret-uncovering-security-and-privacy-issues-in-llm-native-ides/","date":"2026-10-06T20:04:14.000Z","skills":["llm","security"]},{"id":"stackoverflow:2414dd06ef37","src":"stackoverflow","title":"Tales from the 2026 Developer Survey results","url":"https://stackoverflow.blog/2026/10/06/tales-from-the-2026-developer-survey-results/","date":"2026-10-06T17:00:00.000Z","skills":["ai-coding"]},{"id":"github:1407504032","src":"github","title":"zhongerxin/iPhone-use：让 Codex 通过 USB 操作真实 iPhone：引导安装、App 自动化、实时屏幕与截图回退。","url":"https://github.com/zhongerxin/iPhone-use","score":4893,"date":"2026-10-06T15:09:33.000Z","skills":["python","ai-coding"]},{"id":"stackoverflow:781b25b87e10","src":"stackoverflow","title":"The results of the 2026 Developer Survey are here!","url":"https://stackoverflow.blog/2026/10/06/the-results-of-the-2026-developer-survey-are-here/","date":"2026-10-06T14:00:00.000Z","skills":[]},{"id":"github:1406706284","src":"github","title":"alchaincyf/huashu-art-motion：艺术动画skill：35种艺术风格、9种解说语法，用代码让画动起来。","url":"https://github.com/alchaincyf/huashu-art-motion","score":6185,"date":"2026-10-06T04:49:37.000Z","skills":["javascript"]},{"id":"ptt:M.1791194647.A.BF2","src":"ptt","title":"[討論] 和自己的專案不熟怎麼辦？","url":"https://www.ptt.cc/bbs/Soft_Job/M.1791194647.A.BF2.html","score":12,"date":"2026-10-05T10:04:07.000Z","skills":[]},{"id":"martinfowler:f6ff5f6917ea","src":"martinfowler","title":"Fragments: October 4","url":"https://martinfowler.com/fragments/2026-10-04.html","date":"2026-10-05T04:28:00.000Z","skills":["llm"]},{"id":"ptt:M.1791110065.A.8D6","src":"ptt","title":"[請益] 徵求平行大量開發用的小工具的試用者","url":"https://www.ptt.cc/bbs/Soft_Job/M.1791110065.A.8D6.html","score":0,"date":"2026-10-04T10:34:25.000Z","skills":["llm","ai-coding","git"]},{"id":"stackoverflow:f5e1795cd4c2","src":"stackoverflow","title":"Constraints that make developers faster","url":"https://stackoverflow.blog/2026/10/02/constraints-that-make-developers-faster/","date":"2026-10-02T07:40:00.000Z","skills":["llm","ai-agents"]},{"id":"stackoverflow:507fa3447e36","src":"stackoverflow","title":"A look back before we look forward: A Developer Survey retrospective","url":"https://stackoverflow.blog/2026/10/01/a-look-back-before-we-look-forward-a-developer-survey-retrospective/","date":"2026-10-01T14:47:33.000Z","skills":[]},{"id":"stackoverflow:27c381a6ee86","src":"stackoverflow","title":"Organizations need decision-grade knowledge. AI makes it urgent.","url":"https://stackoverflow.blog/2026/09/30/organizations-need-decision-grade-knowledge-ai-makes-it-urgent/","date":"2026-09-30T17:00:00.000Z","skills":["llm","ai-agents"]},{"id":"stackoverflow:c902b8666578","src":"stackoverflow","title":"Anyone can start building verified knowledge with Stack Internal","url":"https://stackoverflow.blog/2026/09/30/anyone-can-start-building-verified-knowledge-with-stack-internal/","date":"2026-09-30T16:00:00.000Z","skills":[]},{"id":"martinfowler:5c34efbd94af","src":"martinfowler","title":"Principles for effective slides","url":"https://martinfowler.com/articles/never-send-slides/slide-principles.html","date":"2026-09-30T14:14:00.000Z","skills":[]},{"id":"stackoverflow:1c123e697ce0","src":"stackoverflow","title":"Getting ready for 2026 results: A look back on Developer Survey findings","url":"https://stackoverflow.blog/2026/09/30/getting-ready-for-2026-results-a-look-back-on-developer-survey-findings/","date":"2026-09-30T14:00:00.000Z","skills":[]},{"id":"martinfowler:6102ac4cd82d","src":"martinfowler","title":"Bliki: Sensible Default","url":"https://martinfowler.com/bliki/SensibleDefault.html","date":"2026-09-29T13:43:00.000Z","skills":["cicd","git"]},{"id":"martinfowler:7344bae708cb","src":"martinfowler","title":"Fragments: September 29","url":"https://martinfowler.com/fragments/2026-09-29.html","date":"2026-09-29T12:41:00.000Z","skills":["ai-agents","ai-coding"]},{"id":"stackoverflow:25b70738af7f","src":"stackoverflow","title":"Your phone is AI’s newest hardware","url":"https://stackoverflow.blog/2026/09/29/your-phone-is-ai-s-newest-hardware/","date":"2026-09-29T07:40:00.000Z","skills":["llm","ai-agents"]},{"id":"ptt:M.1790662327.A.80D","src":"ptt","title":"[心得] Django + 雲端無頭沙盒防詐平台 v1.0.2","url":"https://www.ptt.cc/bbs/Soft_Job/M.1790662327.A.80D.html","score":1,"date":"2026-09-29T06:12:07.000Z","skills":["django","gcp","cloudflare","e2e"]},{"id":"stackoverflow:377040812400","src":"stackoverflow","title":"Why model versioning is not enough for production AI","url":"https://stackoverflow.blog/2026/09/28/why-model-versioning-is-not-enough-for-production-ai/","date":"2026-09-28T18:24:12.000Z","skills":["llm","mlops"]},{"id":"ptt:M.1790397299.A.743","src":"ptt","title":"[討論] 關於一個claude ai 討論的line 群","url":"https://www.ptt.cc/bbs/Soft_Job/M.1790397299.A.743.html","score":23,"date":"2026-09-26T04:34:59.000Z","skills":[]},{"id":"martinfowler:1edd9ca3b0b4","src":"martinfowler","title":"Fragments: September 24","url":"https://martinfowler.com/fragments/2026-09-24.html","date":"2026-09-24T15:35:00.000Z","skills":[]},{"id":"martinfowler:563a504a8ec7","src":"martinfowler","title":"Healthy Feedback","url":"https://martinfowler.com/articles/healthy-peer-feedback.html","date":"2026-09-24T14:10:00.000Z","skills":[]},{"id":"ptt:M.1790237193.A.BB4","src":"ptt","title":"[討論] Rails world 2026 keynote - DHH","url":"https://www.ptt.cc/bbs/Soft_Job/M.1790237193.A.BB4.html","score":2,"date":"2026-09-24T08:06:33.000Z","skills":["rust","ruby","rails","ai-agents"]},{"id":"ptt:M.1789969134.A.E10","src":"ptt","title":"[心得] AI公司的面試題庫","url":"https://www.ptt.cc/bbs/Soft_Job/M.1789969134.A.E10.html","score":2,"date":"2026-09-21T05:38:54.000Z","skills":["llm"]},{"id":"ptt:M.1789647875.A.659","src":"ptt","title":"[心得]個人開發：用 Django 與雲端沙盒拆解詐騙","url":"https://www.ptt.cc/bbs/Soft_Job/M.1789647875.A.659.html","score":7,"date":"2026-09-17T12:24:35.000Z","skills":["django","gcp","machine-learning","llm","security"]},{"id":"ptt:M.1789636489.A.BF4","src":"ptt","title":"[請益] 一銀與遠傳 offer 選擇","url":"https://www.ptt.cc/bbs/Soft_Job/M.1789636489.A.BF4.html","score":47,"date":"2026-09-17T09:14:49.000Z","skills":[]},{"id":"ptt:M.1789473136.A.90F","src":"ptt","title":"[討論] Hermes Agent Desktop也更新太多次了吧?","url":"https://www.ptt.cc/bbs/Soft_Job/M.1789473136.A.90F.html","score":8,"date":"2026-09-15T11:52:16.000Z","skills":["llm","inference"]},{"id":"ptt:M.1789349287.A.685","src":"ptt","title":"[請益] 博士畢業後發展請益 and 影像相關","url":"https://www.ptt.cc/bbs/Soft_Job/M.1789349287.A.685.html","score":10,"date":"2026-09-14T01:28:07.000Z","skills":["computer-vision"]}]}