Nampa proyek anyar · tim mung senior · utamane kerja jarak jauh PWN-ALL · Studio piranti lunak kustom

Piranti lunak ing Rust lan Python sing luwih awet tim sing wis ngluncurake.

Kita minangka studio sing mung diisi para senior sing nggawe piranti lunak kustom nganggo loro basa kanthi sengaja: Rust, ing ngendi salah iku larang, lan Python, ing ngendi alon ngluncurake iku larang.

Rata-rata p99 perbaikan liwat 40 migrasi
Panurunan memori 0% vs garis dasar JVM / Node
Layanan ing produksi 0 wiwit 2024
Insiden keamanan sing dikirim 0 sajrone sajarah kita sakabehe
Tim sing percaya karo kode kita
01 Rong basa. Ora lima.

Siji tumpukan, dipilih kanthi sengaja.

Agensi poliglot katon apik ing pitch deck. Ing produksi, kuwi ateges telung sistem build, papat varian null, lan kuburan layanan sing setengah dirawat. Kita milih loro basa sing nyakup 95% beban kerja nyata — lan kita dadi banget, banget trampil ing loro-lorone.

Jalur panas · sistem · keamanan

Karatan

9.6 skor kecocokan internal

Aman memori tanpa pengumpul sampah. Bebas data-race nalika kompilasi. Pemeriksa kode paling galak sing bakal sampeyan duwé — lan sawise ngidini sampeyan liwat, layanan sampeyan ora bakal mbangun sampeyan ing dina Minggu.

Nalika kita nyoba nggayuh

  • Layanan pambayaran & apa waé sing nyentuh dhuwit utawa PII
  • Gateway API panas kanthi SLA lima sembilan
  • Mesin pencocokan latensi rendah, dagang, wektu nyata
  • Modul WebAssembly sing dikirim menyang browser
  • Piranti CLI & daemon sing kudu miwiti ing milidetik

Kompromi sing ora bakal kita pura-pura ilang

  • Wektu siap kerja kanggo karyawan anyar: kira-kira 2–4 minggu nganti produktif
  • Wektu kompilasi ing workspace gedhe (kita ndandani nganggo sccache)
  • Ékosistem luwih enom tinimbang Java — wis mateng ing panggonan sing penting
Lem · data · ML · kecepatan

Python

9.3 skor kecocokan internal

Jalan paling cepet saka papan tulis menyang sistem sing bisa digunakake. Ekosistem paling sugih ing donya kanggo data, ML, lan otomasi. Python modern — 3.12, uv, ruff, pydantic, FastAPI — iku basa sing tepat, berjenis, lan cukup cepet kanggo umume apa sing sampeyan butuhake.

Nalika kita nyoba nggayuh

  • Piranti internal, dasbor, panel admin
  • ETL, pipa data, Airflow / Dagster / Prefect
  • ML — pelatihan, panyajian, evaluasi
  • Otomatisasi & integrasi karo API vendor
  • MVP sing dirilis kuartal iki, ora taun ngarep

Kompromi sing ora bakal kita pura-pura ilang

  • Throughput siji-inti 20–50× luwih alon tinimbang Rust
  • Memori luwih dhuwur saben panjalukan — fatal kanggo sawetara beban kerja
  • Tiping dinamis dadi masalah tanpa mypy / pydantic sing ketat
Rust ing ngendi kesalahan iku larang. Python ing ngendi alon-alon ngluncurake iku larang. Siji tim. Zero dogma.
02 Angka, dudu swasana

Rust & Python vs. tersangka biasané.

Tutul metrik kanggo nyorot ing endi saben basa dumunung. Skor 0–10, dirangkum saka tolok ukur kita dhewe lan sumber umum (Techempower R22, CLBG, migrasi nyata sing wis kita kirim).

Kriteria Karatan Python Maju C++ Java Node.js
Kinerja mentah (p99, siji inti) 10 3 7 10 7 5
Kaamanan memori & lomba data 10 9 8 2 8 7
Wektu kanggo prototipe sing bisa digunakake 5 10 7 3 6 8
Ambané ékosistem 8 10 7 9 10 9
Konsekuensi tanpa luh 10 6 9 Papat Enem 7
Biaya operasi saben panyuwunan 10 5 8 9 5 6
Kasedhiyan bakat senior 6 10 7 8 10 9
10-taun pangopènan 10 8 8 5 8 5
03 Saka → Menuju

Apa sing owah nalika sampeyan migrasi.

Pilih basa wiwitan. Delengen pengaruhe yen pindhah menyang Rust utawa Python. Angka-angka iku median saka 40 proyek migrasi pungkasan kita, dudu omongan marketing.

Saiki ana ing

C / C++

Cepet, ya. Nanging saben null pointer iku potensi CVE, saben thread iku potensi data race, lan sistem build-mu iku pakaryan full-time kanggo wong liya.

Rasa lara khas
  • CVE keamanan memori
  • Tindakan sing ora ditemtokake
  • Semrawut sistem pambangunan
Pindhah menyang

Rust

Throughput ×6.4
Jejak memori −78%
Kerusakan wektu mlaku −99%
Tagihan komputasi saben wulan −65%

Paling apik nalika sampeyan saiki urip karo bug null-pointer, data races, utawa memori sing tuwuh tanpa wates. Rust njaga kacepetan lan mbusak jebakan sing nyebabake kesalahan.

Pindhah menyang

Python

Kacepetan pangembangan ×3.1
Baris kode −55%
Wektu kanggo ngeculake −60%
Overhead wektu mlaku +40%

Paling apik nalika biaya sejatine yaiku wektu rekayasa, dudu CPU. Tukar throughput mentah kanggo lingkaran umpan balik sing luwih cendhak, pustaka sing luwih sugih, lan kode sing pancen bisa diwaca manungsa.

Carane kita ngukur angka-angka iki

Median saka 40 migrasi sing wis rampung antara 2023 lan 2026. Throughput diukur ing lapisan aplikasi (p50 end-to-end ing beban realistis, dudu microbenchmarks). Memori yaiku RSS ing kahanan stabil. Biaya yaiku komputasi on-demand saben wulan ing AWS/GCP, kanthi kahanan liyane padha. Asil saben individu beda-beda — kita uga nerbitake asil sing ora miturut rencana, yen dijaluk.

04 Angka tanpa tandha bintang

Panjaluk saben detik ing beban nyata.

Beban kerja sing padha — validasi JSON → query Postgres → render — diukur ing siji mesin AMD Ryzen 7. Iki dudu microbenchmarks. Sumber & metodologi ↓

  1. 1 Rust · Axum
    21,030 req/s
  2. 2 C# .NET · ASP.NET Core
    14.707 req/s
  3. 3 Node.js · Fastify
    9,340 req/s
  4. 4 C++ · Drogon
    7.200 req/s
  5. 5 Go · Gin
    3,546 req/s
  6. Enem Python · FastAPI (Uvicorn)
    1,185 req/s
  7. 7 PHP · Laravel
    299 req/s

Waca iki kanthi bener: Python ana ing ngisoré bagan iki, lan kuwi ora apa-apa. Kita ora mbukak FastAPI ing jalur sing paling sibuk. Kita mbukak ing panggonan sing 1.185 req/s wis kira-kira 10× luwih saka kabutuhan beban kerja, lan jam kerja insinyur luwih regane tinimbang siklus CPU. Metodologi: AMD Ryzen 7, Linux, Docker, instansi tunggal, siji kerangka populer saben basa. Angka-angka iku rata-rata saka pirang-pirang tes.

05 Biaya nyata saka kode sing rusak

Apa sing saktenane nggawe sampeyan rugi nalika outage.

"Five nines" dudu marketing. Ing ngisor iki biaya sakjam downtime sing ora direncanakake, miturut industri — karo sumber. Kita mbangun Rust ing ngendi angka-angka iki manggon.

Biaya sing ditambah wiwit sampeyan mbukak bagean iki
Keuangan / kesehatan $0 ~$83k/menit · $5M/jam
Otomotif $0 ~$38k/menit · $2,3M/jam
Perusahaan gedhe $0 $23,750/menit · $1.4M/jam
Perusahaan menengah $0 ~$5k/menit · $300k/jam
Keuangan & kesehatan $5M+ saben jam

Vertikal kanthi risiko paling dhuwur. Platform dagang, sistem penyelesaian, lan sistem klinis bisa ngluwihi $5 yuta saben jam nalika ana gangguan serius — sadurunge biaya regulasi utawa litigasi diétung.

Sumber: studi Gartner 2024 Fortune 500; ITIC 2024 Biaya Wektu Mandheg saben Jam.
Manufaktur otomotif $2,3 yuta / jam

Siji jalur produksi sing mandheg kobong watara $640 saben detik. Gangguan CrowdStrike ing Juli 2024 mung kanggo Delta Air Lines ngentekake $380 yuta sajrone limang dina.

Sumber: Analisis industri Erwood Group 2025; Postmortem Antithesis CrowdStrike.
Perusahaan gedhe (rata-rata) $1,4 yuta saben jam

Angka BigPanda 2024 kanggo perusahaan gedhe: $23,750 saben menit. ITIC nglaporake 41% saka perusahaan gedhe rugi antara $1M lan $5M saben jam wektu mati.

Sumber: riset BigPanda 2024; ITIC 11th Annual Hourly Cost of Downtime.
Global 2000 (Oxford Economics) $400 milyar / taun

Total biaya sing didhelikake saka downtime sing ora direncanakake ing 2.000 perusahaan paling gedhé ing donya, miturut studi Oxford Economics 2024 — kanthi rata-rata dampak $200 yuta saben perusahaannalika pendapatan, produktivitas, lan perbaikan dijumlahake.

Sumber: Oxford Economics 2024, "Biaya Sembunyi Downtime".
Ukuran Sedheng & Gedhe (jam tipikal) $300k+ / jam

Survei ITIC 2024: luwih saka 90% perusahaan menengah lan gedhe saiki nganggep siji jam downtime sing ora direncanakake luwih dhuwur saka ambang iki — durung kalebu sanksi hukum, sipil, utawa peraturan.

Sumber: Laporan Biaya Wektu Mandheg saben Jam ITIC 2024.
Cilik & Sedheng (SMB) $25k–$150k / jam

Panliten gabungan ITIC / Calyptix 2025 nemokake akèh SMB kelangan sak iki saben jam; Siemens nglaporake SMEs sing kena gangguan bisa ngalami nganti $150.000/jam. Rata-rata kedadeyan gangguan suwene 87 menit.

Sumber: ITIC + Calyptix 2025; Siemens True Cost of Downtime 2024.
06 Pakaryan sing dipilih

Telu proyek. Telu geni sing beda.

Dianonimake miturut NDA, rinci manut asil. Iki minangka proyek sing bakal kita tunjukake dhisik marang calon panuku teknis.

  1. Kasus 01 Python Database Kripto GDPR

    Brankas data fintech: 4× luwih cilik, 5,5× luwih cepet, patuh sacara global.

    Klien nduwèni klaster Postgres 1.8 TB sing kebak kolom warisan, indeks mati, lan BLOB sing dienkripsi inline sing wis tuwuh sajrone pitung taun. Kripto mlaku ing pustaka lawas sing wis kadaluwarsa lan ditandhani ing telung audit kapisah. Risiko regulasi nyata; para auditor padha ngubengi.

    Apa sing wis kita lakoni

    • Audit skema lengkap + panggunaan, mbusak kolom lan indeks sing ora digunakake, ngenalake partisi sing bener.
    • Migrasi pipeline kripto saka pustaka warisan menyang tumpukan AEAD modern sing wis diaudit kanthi kunci sing ganti.
    • Konversi enkripsi inline BLOB dadi enkripsi amplop sing dirujuk + KMS khusus.
    • Nyelarasake retensi data & alur akses subjek karo GDPR, CCPA, lan APPI.
    Asil

    Data sing padha, sapapat saka tagihan panyimpenan, throughput 5,5 kaping, lan laporan kesehatan sing resik kanggo regulator sabanjure sing teka.

  2. Case 02 Rust C++ → Rust Keamanan Panyimpenan

    Layanan C++ ditulis ulang nganggo Rust: luwih saka 100 bug kelas CVE diilangi sajrone 9 minggu.

    Layanan pangolahan file sing langsung diakses pangguna ing C++, ambruk saben 4–5 dina lan dibenerake langsung saben wektu. Audit kita nemokake luwih saka 100 bug nyata: jalur denial-of-service, buffer overflow, penanganan panjalukan tanpa wates. Error 503 ing jam puncak dadi ritual saben minggu. Ing sisih panyimpenan, unggahan pangguna wis numpuk dadi rawa file duplikat sing ngerusak kapasitas bucket.

    Apa sing wis kita lakoni

    • Nulis ulang sakabehe nganggo Rust (axum + tokio) kanthi validasi input sing ketat lan watesan sumber daya sing ditemtokake.
    • Tes adhedhasar properti + cargo-fuzz ing saben parser lan wates format kawat.
    • Lapisan panyimpenan beralamat isi kanthi deduplikasi nalika nulis.
    • Peluncuran blue-green ing mburi jendela integrasi 4 jam, tanpa wektu mati.
    Asilé

    Layanan saka "ringkih lan dipatch saben minggu" dadi "kita ora perlu maneh ndeleng pager". Biaya panyimpenan mudhun kanthi dedupe, tiket dhukungan babagan kesalahan lan 503s saya sepi, lan rewrite mau wis mbayar dhéwé sajrone triwulan.

  3. Case 03 Rust Python eBPF / XDP CRM · 4k pangguna

    Enterprise CRM, dibangun maneh: 18 server → 5, ngurangi biaya 60%+.

    CRM internal nglayani luwih saka 4.000 pangguna ing IAM, SOC, logging terpusat, obrolan, pembagian file, VoIP lan data sing dienkripsi end-to-end. Wolulas server, Cloudflare ing pucuk, lan tagihan awan sing terus mundhak sanajan jumlah karyawan ora owah. Kita mbangun maneh jalur kritis nganggo Rust, njaga Python ing lapisan integrasi lan pelaporan, lan masang filter eBPF/XDP langsung ing ngarep ingress.

    Apa sing wis kita lakoni

    • Layanan Rust kanggo otentikasi (IAM), pesen wektu nyata, sinyal VoIP, transfer file.
    • Python kanggo antarmuka admin, pelaporan, korelasi acara SOC, integrasi karo API vendor.
    • Bot eBPF/XDP lan panyaringan penyalahgunaan ing kernel — nggantèkaké Cloudflare kanggo beban kerja iki.
    • Pipa logging terstruktur ditulis ulang nganggo skema zero-copy.
    Asil

    Telulas server luwih sithik, ora ana maneh item Cloudflare, tim SOC weruh sinyal sing luwih resik liwat saluran logging, lan CFO mandheg takon pitakon angel bab anggaran infra.

07 Kepiye kita saktenane makarya

Puterake tombol. Delengen rencana owah.

Saben proyek ngimbangi kacepetan, biaya, lan keandalan. Prakiraan limang tahap ing ngisor iki dikalibrasi miturut median industri (penemuan 2–6 minggu, arsitektur 1–4 minggu, implementasi 4–20 minggu, penguatan 2–8 minggu, penyerahan 1–2 minggu — saben laporan 2024–2026 saka NIX United, Agilie, SOLTECH, OTG Lab). Geser slider; rencana bakal ngetung bobot maneh sacara langsung.

01

Penemuan

3 minggu

Waca kodenmu, wawancara tim operasimu, dhaptarake sing durung dingerteni, pilih basa miturut saben komponen.

  • Wawancara domain & audit kode
  • Daftar risiko & target SLA
  • Keputusan basa saben layanan
02

Arsitektur

2 minggu

Kontrak sadurunge kode. OpenAPI / protobuf, model data, topologi panyebaran, kerangka runbook.

  • RFC kanggo saben kontrak umum
  • Model data + rencana migrasi
  • Baseline infra-minumaké kode
03

Implementasi

8 minggu

PR cilik, CI ijo wiwit dina kapisan, deploy saben merge, ditinjau dening senior kapindho.

  • Rust: axum · tonic · sqlx
  • Python: FastAPI · Pydantic · SQLAlchemy
  • Demo mingguan + changelog
04

Pengerasan

3 minggu

Fuzzing, tes adhedhasar properti, tes beban nglawan lalu lintas nyata, model ancaman.

  • cargo-fuzz · proptest · hypothesis
  • tes beban k6 sing digandhengake karo SLO
  • Tinjauan keamanan & audit ketergantungan
05

Serah terima

1 minggu

Runbook, giliran on-call, ADR, lan tim sing wis tau ngirim iki sepisan.

  • Runbook + matriks on-call
  • Log ADR & diagram arsitektur
  • Dhukungan sawise peluncuran 30 dina
08 Masalah sing padha, loro basa

Kaya apa tampilan endpoint sing padha ing saben basa.

Jupuk pangguna, validasi input, simpen menyang Postgres, baliake JSON. Ganti antarane basa — loro-lorone kode nyata sing bakal kita kirim.

SQL_CREATE_USER = "insert into users(email,name) values(lower($1),$2) returning id,email,name"
Name = Annotated[str, StringConstraints(strip_whitespace=True, min_length=1, max_length=120)]

class UserIn(BaseModel):
    email: EmailStr
    name: Name

class UserOut(UserIn):
    id: int

@router.post("/users", response_model=UserOut, status_code=201)
async def create_user(u: UserIn) -> UserOut:
    try:
        row = await pool.fetchrow(SQL_CREATE_USER, str(u.email), u.name)
   except UniqueViolationError as exc:
        raise HTTPException(status_code=409, detail="email wis ana") from exc
    if row is None:
        raise HTTPException(status_code=500, detail="insert gagal")
    return UserOut.model_validate(dict(row))
#[derive(Deserialize, Validate)]
#[serde(deny_unknown_fields)]
pub struct UserIn {
    #[validate(email)]
    pub email: String,
    #[validate(custom(function = "valid_name"))]
    pub name: String,
}

pub async fn create_user(
    State(pool): State<PgPool>,
    ValidatedJson(u): ValidatedJson<UserIn>,)
 -> Result<(StatusCode, Json<UserOut>), ApiError> {
   let user = sqlx::query_as!(UserOut,
        "insert into users(email,name) values(lower($1),$2) returning id,email,name",
        u.email.as_str(),
        u.name.trim(),
    )
    .fetch_one(&pool)
    .await
    .map_err(ApiError::from_db)?;

    Ok((StatusCode::CREATED, Json(user)))
}
Baris kode
16 22
Throughput
1,185 panyuwunan saben detik 21,030 req/s
latensi p50
21.0 ms 1.6 ms
RAM nalika diam
41,2 MB 8,5 MB
Kita bales sajrone 1 dina kerja. Ora guyon.

Sampeyan wis maca kabeh kaca.
Ayo padha mbangun iki.

Critakna apa sing salah karo tumpukanmu, utawa apa sing pengin kowe bangun saka awal. Kowe bakal entuk pendapat teknik sing sejati — dudu materi penjualan.

  • Ora ana insinyur junior. Ora ana offshoring.
  • Pilihan rega tetep kanggo gawean sing wis ditemtokake cakupan.
  • NDA ditandatangani sadurunge kita njaluk apa-apa.