Önce özete göz atDersin sonundaki özet, okumaya başlamadan önce yol haritası olarak.
- Türkçede bildiğin terim İngilizce cümlede farklı fiil ve vurguyla gelir.
- İşin yolculuğu: ticket, backlog, sprint, branch, commit, PR, review, merge, staging, production, release.
- Ters gidince: bug, blocker, blocked, hotfix, roll back, tech debt.
- Kısaltmalar harf harf: PR, QA, CI, ETA; yazışmada EOD, WIP, LGTM.
- Terim fiildir: I deployed it, I opened a PR; etmek ve atmak çevrilmez.
- Bilmediğin kısaltmayı sor: What does that stand for?
Merak sorusu
Emre Ankara'daki bir yazılım şirketinde arka uç geliştirici olarak dört yıldır çalışıyor. Şirketi Berlin ve Dublin'deki iki ekiple birleşti ve bu sabah ilk ortak toplantıya giriyor. Ekip lideri Lena kameraya gülümsüyor ve hızla konuşmaya başlıyor: "Quick update: the payment PR is still blocked, QA found a bug on staging, so we're not shipping it this sprint. Declan, what's the ETA on the hotfix?"
Emre bu sözcüklerin çoğunu Türkçe konuşurken her gün kullanıyor: "PR açtım", "staging'e attık", "hotfix çıkıyoruz". Ama İngilizce bir cümlenin içinde, bu hızla duyunca yarısını kaçırıyor. Bildiği terimleri neden İngilizcede tanıyamıyor ve onları kendi cümlelerinde nasıl kullanacak?
Anlatım
Tanıdık sözcük, yabancı cümle
Türkiye'deki yazılım ekiplerinde birçok terim zaten İngilizcedir; Türkçe cümlenin içine yerleşmiş, Türkçe eklerle çekimlenmiştir: "merge'lemek", "deploy etmek", "commit atmak". Bu büyük bir avantajdır, ama iki tuzak taşır. Birincisi, sözcüğü Türkçe bir cümlede tanımak ile İngilizce bir cümlenin akışında yakalamak farklı becerilerdir; İngilizcede sözcük başka sözcüklerle birleşir ve vurgusu değişir. İkincisi, Türkçeye girmiş bir terim İngilizcede hangi fiille, hangi edatla kullanıldığını öğretmez. "PR atmak" İngilizcede "throw a PR" olmaz; "open a PR" ya da "raise a PR" denir.
İşin yolculuğu: biletten canlıya
Bir yazılım ekibinin günlük sözlüğünü ezberlemenin en kolay yolu, bir işin baştan sona izlediği yolu İngilizce anlatabilmektir. İş genellikle bir "ticket" olarak başlar: bir görev, bir hata ya da yeni bir özellik, yani "feature". Bilet "backlog" denen bekleyen işler listesinde durur ve bir "sprint" içinde birine atanır: "It's assigned to me." Geliştirici kendi "branch"inde çalışır, değişikliklerini "commit" eder ve bitince bir "pull request", kısaca "PR" açar.
PR'ı bir başka geliştirici inceler, yani "review" eder. Her şey yolundaysa onaylar ve değişiklik ana dala "merge" edilir. Ardından kod önce test ortamına, "staging"e gider ve "QA", yani kalite güvencesi ekibi onu test eder. Sorun yoksa canlı ortama, "production"a ya da kısaca "prod"a "deploy" edilir. Kullanıcıya ulaşan sürüm bir "release"dir ve bir özelliği kullanıcıya ulaştırmaya gündelik dilde "ship" denir.
İşler ters gidince
Toplantıların büyük kısmı, işlerin ters gittiği yerler hakkındadır. Bir hata "bug"dır; onu bulan "reports" eder, düzelten "fixes" eder. İlerlemeyi durduran bir sorun "blocker"dır ve bir iş başka bir işi beklediğinde "blocked" olur. Canlıdaki acil bir hatanın hızlı düzeltmesi "hotfix"tir. Yeni bir sürüm sorun çıkarırsa önceki sürüme dönülür: "We rolled back the release." Aceleyle yazılmış ve sonra düzeltilmesi gereken kod için de sık bir ifade vardır: "tech debt", yani teknik borç.
Kısaltmalar ve okunuşları
Toplantılarda ve yazışmalarda kısaltmalar çok sık geçer. Çoğu harf harf okunur: "PR" pi-ar, "QA" kyu-ey, "CI" si-ay, "ETA" i-ti-ey. "ETA" bir işin tahmini bitiş zamanını sorar: "What's the ETA on this?" Yazışmada sık görülen birkaç kısaltma daha var: "EOD" gün sonu, "WIP" süren iş, "LGTM" ise "looks good to me", yani bir incelemenin sonunda verilen onay. Konuşmada "repo", "prod" ve "dev" gibi kısaltılmış sözcükler de tek bir sözcük gibi söylenir.
Bir kısaltmayı anlamadığında sormak her ekipte olağandır ve kimse bunu bir eksiklik saymaz: "Sorry, what does that stand for?" Yeni bir ekipte ilk haftalarda bu soruyu sormak, yanlış anlaşılmış bir görevden çok daha ucuzdur.
Fiiller ve zamanlar
Bu terimlerin çoğu İngilizcede hem ad hem fiildir: "a deploy" ve "to deploy", "a fix" ve "to fix", "a merge" ve "to merge". Toplantıda en çok kullanılan zaman, biten işi anlatan "present perfect"tir: "I've fixed it", "We've merged the PR". Planlanan işler ise "going to" ya da şimdiki zamanla anlatılır: "I'm going to deploy it after lunch", "We're shipping it on Thursday."
Türkçe köprüsü
Türkçede bu terimlerin bir kısmı ekle fiile çevrilir: "deploy'lamak", "merge'lemek", "push'lamak". İngilizcede ise aynı sözcük doğrudan fiil olarak çekimlenir: "I deployed it", "She merged it", "Did you push your changes?" Türkçe alışkanlıkla bir yardımcı fiil eklemek, "I did deploy" ya da "I made merge", İngilizcede ya vurgulu ya da yanlış bir anlam verir.
Bir de vurgu farkı var. Türkçede "deploy" çoğu zaman ilk hecesi vurgulu söylenir; İngilizcede vurgu ikinci hecededir: "de-PLOY". "Release" da aynıdır: "re-LEASE". Vurgusu yanlış bir sözcük, doğru yazıldığı hâlde hızlı bir toplantıda tanınmayabilir. Kendi bildiğin terimleri İngilizce vurgusuyla birkaç kez sesli söylemek, onları dinlerken de tanımanı kolaylaştırır.
Gerçek hayattan örnekler
Toplantıdan sonra Emre kendine küçük bir sözlük yazıyor, ama sözcükleri tek tek değil, duyduğu cümlelerle birlikte. "Blocked" sözcüğünün yanına Lena'nın cümlesini, "ETA" sözcüğünün yanına Declan'a sorulan soruyu yazıyor. Kısaltmaların yanına da nasıl okunduklarını not ediyor.
Ertesi gün kendi güncellemesini önceden hazırlıyor ve toplantıda sırası geldiğinde sakin bir sesle söylüyor: "Yesterday I fixed the timeout bug and opened a PR. Today I'm going to work on the refund endpoint. No blockers." Lena başını sallıyor ve Declan sohbet penceresine kısa bir mesaj yazıyor: "Reviewed your PR. LGTM."
Sık yapılan hata
Yaygın yanlış✗ "I made deploy yesterday" ya da "I threw a PR." Türkçedeki "deploy etmek" ve "PR atmak" kalıplarını birebir çevirmek.
✓ "I deployed it yesterday" ve "I opened a PR." İngilizcede terimin kendisi fiildir ya da kendine özgü bir fiille kullanılır. Hata, Türkçede yerleşmiş "etmek" ve "atmak" kalıplarını İngilizceye taşımaktan gelir.
Yeni ekiplerde sık görülen bir başka tuzak da anlaşılmayan kısaltmanın üstünden geçip yanlış işe koyulmaktır. "What does that stand for?" sorusu yeni bir ekipte her zaman yerindedir.
Mini alıştırma
- "PR atmak" İngilizcede nasıl söylenir?
- Bir iş başka bir işi beklediği için ilerleyemiyorsa hangi sözcük kullanılır?
- "Staging" ile "production" arasındaki fark nedir?
- "What's the ETA on this?" sorusu neyi sorar?
- "Deploy" sözcüğünün İngilizcede vurgusu hangi hecededir?
Cevaplar
- Open a PR ya da raise a PR.
- Blocked; işi durduran sorunun kendisi ise blocker.
- Staging canlıdan önceki test ortamıdır; production kullanıcıların kullandığı canlı ortamdır.
- İşin tahmini bitiş zamanını.
- İkinci hecede: de-PLOY.
Sesli tekrar görevi
Ardından bir işin yolculuğunu baştan sona İngilizce anlat: bilet, branch, commit, PR, review, merge, staging, production. Her terimi İngilizce vurgusuyla söylediğinden emin ol, özellikle "de-PLOY" ve "re-LEASE".
Özet kartı
- Türkçede bildiğin terim İngilizce cümlede farklı fiil ve vurguyla gelir.
- İşin yolculuğu: ticket, backlog, sprint, branch, commit, PR, review, merge, staging, production, release.
- Ters gidince: bug, blocker, blocked, hotfix, roll back, tech debt.
- Kısaltmalar harf harf: PR, QA, CI, ETA; yazışmada EOD, WIP, LGTM.
- Terim fiildir: I deployed it, I opened a PR; etmek ve atmak çevrilmez.
- Bilmediğin kısaltmayı sor: What does that stand for?
Sonraki derse köprü
Lena toplantının sonunda Emre'ye ilk görevini veriyor: QA'nın bulduğu ödeme hatasını yeniden üretmek ve bir hata kaydı yazmak. Aynı gün Declan'ın açtığı bir PR'ı da incelemesi gerekecek. Bir hata kaydını başka bir ekibin anlayacağı biçimde yazmak ve bir kod incelemesinde kırıcı olmadan yorum yapmak sıradaki ders.