1 puan yazan GN⁺ 2024-11-30 | 1 yorum | WhatsApp'ta paylaş

Startup’ta muhasebe sistemi kurarken hata yapmamak

  • Fintech şirketlerinde para akışını kaçırmamak işin temelidir. Ancak bazı startup’larda her işlemde birkaç sentin kaybolduğu durumlar yaşanır.
  • Startup’lar genellikle "çalışır hale getir, doğru hale getir, hızlı hale getir" felsefesini izler ve çift taraflı kayıt sistemini kurmaz.
  • Bu hatalar kullanıcı şikayetlerine yol açar ve şirketin büyümesini engeller.
  • Sorunu çözmek için müşteri destek ekipleri hatalı işlemleri manuel olarak telafi etmeye çalıştı.

Muhasebe sisteminin önemi

  • Para hareket ederken oluşur ve bunu takip etmek karmaşıktır.
  • Tek taraflı kayıt sistemi fon akışını gösterir, ancak bunun nedenini açıklayamaz.
  • Çift taraflı kayıt sistemi paranın hem kaynağını hem de hedefini izleyerek bu sorunu çözebilir.

Çift taraflı kayıt sisteminin veri modeli

  • Çift taraflı kayıt sistemi üç varlıktan oluşur: hesap, kayıt ve işlem.
  • Hesap, değerdeki değişimi gösterir; kayıt ise hesaplar arasındaki para akışını temsil eder.
  • İşlem, kayıtların doğru şekilde eşleşmesini garanti eder.

İki muhasebe sistemi

  • Muhasebe sistemi dışarıdan görülen ledger arayüzüdür; mühendislik sistemi ise ledger’ın uygulamasıdır.
  • Muhasebe sistemi yüksek erişilebilirlik ve düşük gecikme isterken, mühendislik sistemi güçlü tutarlılık ve veri doğruluğu gerektirir.

Kayıtların çalışma şekli

  • Kayıtlar üç durumdan birinde olabilir: beklemede, iptal edilmiş veya kaydedilmiş.
  • Kayıtlar her zaman beklemede oluşturulur ve iptal edilen kayıtlar kaydedilmiş kayıtlarla değiştirilebilir.

İşlemlerin çalışma şekli

  • İşlemler yalnızca kayıtlar kaydedildiğinde veya iptal edildiğinde kaydedilir.
  • Bir işlem kısmen başarısız olursa, telafi kayıtlarıyla anlamsal olarak geri alınabilir.

Hesapların çalışma şekli

  • Hesaplar birden fazla kayıtla ilişkilidir ve toplam bakiye, tüm kayıtların ayrı bakiyelerinin toplamıyla eşleşmelidir.
  • Toplam bakiyenin hesaplanma biçimi, hesabın normal bakiyesine göre değişir.

Sonuç

  • Ledger, teknik olmayan bir alan gibi görünen zor bir bilgisayar bilimi probleminin açık bir örneğidir.
  • Çift taraflı kayıt sistemi kurmak uygun bağlam olmadan zordur, ancak bunu yapmak daha iyi kararlar alınmasını sağlar.

1 yorum

 
GN⁺ 2024-11-30
Hacker News görüşü
  • Synapse müşterileri söz konusu olduğunda çok miktarda para ortadan kayboldu. Bankalar fon akışını sıkı biçimde yönetmek zorunda, ancak fintech şirketleri tüm fonları FBO hesaplarında topluyor ve bunları izlemek için bir ledger kuruyor. Synapse örneğinde, ledger’da kayıtlı müşteri bakiyeleri gerçek FBO hesabındaki fonlardan daha yüksekti. Bunun dolandırıcılıktan ziyade hatalı bir ledger’dan kaynaklanmış olması daha olası. Parayı fintech mevduat hesaplarına yatırmak yerine gerçek bankaları kullanmanız önerilir. Fintech’ler sık sık mevduatların FDIC sigortası kapsamında olduğunu iddia eder, ancak bu koruma yalnızca temelindeki banka iflas ederse geçerlidir.

  • Google’da çalışırken güvenilirlik ya da doğruluktan ödün vererek ölçeklenebilirlik kazanma anlayışını öğrendiğini söylüyor. Yüz milyonlarca sorguyu işlerken bazılarının başarısız olabileceği kabul ediliyor; bu da mühendislik yaklaşımındaki farkı gösteriyor. Gmail’i açtığınızda sık sık hata oluşabiliyor, ama kullanıcılar sayfayı yenileyerek sorunu çözüyor. Depolamanın dayanıklılığı %99.99999 ise, 2 milyar müşteriden 200’ü rahatsızlık yaşayabilir.

  • Mühendislik liderliğinde alan bilgisinin önemini vurguluyor. Bir finans şirketinde çalışacaksanız finansı anlamanız gerekir; gazetecilikte ya da ticarette de durum aynıdır. Başarılı organizasyonlar, teknik ekip mülakatlarına alanla ilgili teknik olmayan sorular da dahil eder.

  • Doğru yeteneği işe almak önemlidir. Veri yapıları ve algoritmaları iyi bilen birini işe almaktan çok, gerçekten ihtiyaç duyulan şeyi inşa edebilecek kişileri işe almak gerekir. Mühendislerin başka alanlarda eğitim alması faydalı olabilir. Problem çözme ve mühendislik, sektörün derinlemesine anlaşılması ve alan uzmanlarıyla iş birliği yoluyla gerçekleşir.

  • Bir internet/telekomünikasyon girişiminde faturalama sistemi kurma deneyimini paylaşıyor. Faturalama mantığını iki ayrı yerde kurduğu için bunları senkron tutmak zordu. Hataları önlemek için faturaları manuel olarak gözden geçirdi ve çift mantık sayesinde hataları engelledi. Bu deneyim, çift taraflı muhasebenin önemini anlamasını sağladı.

  • Tek girişli muhasebe sistemini savunan birçok görüş var. Tek girişli muhasebe daha kolay olabilir, ancak çift taraflı muhasebe kullanmak daha iyidir. Programcılar için muhasebe ile ilgili kaynaklar arıyor.

  • "make it work, make it right, make it fast" ilkesinin yanlış anlaşıldığını söylüyor. "make it right" ikinci aşamadır ve sistem doğru çalışana kadar iş burada durur. Optimizasyon ancak tüm sorunlar çözüldükten sonra başlar.

  • Test yoksa, işlemlerde para kaybetme sorunu yaşanabilir. Finansal sistemler kurarken bunu normal görmek yanlıştır.

  • Bankanın bir bölümünü yeniden icat etmeye çalışıyorsanız, zaten doğrulanmış sistemlere bakmak iyi olur. Örneğin ABD’deki küçük ve orta ölçekli finans kuruluşlarının kullandığı temel bankacılık mevduat işlem şemalarına bakılabilir.

  • Parayla uğraşan yazılımlar son derece dikkatli ele alınmalıdır ve geçmişteki hatalar kabul edilmelidir. Birleşik Krallık Posta Ofisi skandalı, bu tür sorunların gerçek dünyadaki sonuçlarını gösteriyor.