Canlı: Hiç Bitmeyen Hackathon
Bir yıl önce bana ön uç geliştirici araçları alanında üç kişilik bir girişimde çalışarak üniversite kaydımı sileceğimi söyleseydin gülerdim.
Son 3 ay, zihniyetimi tamamen değiştirdi. Bu stajyerliğe, yalnızca büyük bir şirkette kariyerin nasıl bir şey olduğunu bildiğim için, girişimler konusunda tereddüt ederek geldim. Fikir oluşturma ve kod tabanı kurulumundan dağıtım ve pazara açılmaya kadar kendi şirketimi nasıl kuracağıma dair net bir planla geldim.
Vivid ekibi bunu gerçekleştirdi. Düşündükten sonra, başlangıç aşamasındaki startup'lar ile Big Tech arasındaki birkaç temel fark tüm farkı yarattı.
- Dikkat. Vivid'de öğrenmeme büyük önem verildi. Üzerinde çalışmak istediğim şeyi seçmem, sorular sormam ve öğrenmek istediğim her şey hakkında konuşmam için teşvik edildim. Jorge'nin monorepoyu nasıl yapılandırdığıyla ilgilendiğimden bahsetmiştim ve ertesi gün Vite, Turborepo, pnpm ve daha fazlasının artıları ve eksileri hakkında iki saatlik bir tartışma yaptık. Bu, Vivid ekibinin bir kanıtı olsa da, doğal olarak daha küçük bir ekip dikkat çekiyor. İşim doğrudan şirketin başarısına bağlıydı, bu yüzden elimden gelenin en iyisini yapmama yardım etmek herkesin çıkarınaydı.
- Öğrenme genişliği. Erken aşamadaki bir şirkette, üzerine inşa edilecek yerleşik bir kod tabanı yoktur. Dağıtım betikleri ve veritabanı bağlantı dizeleri gibi şeyleri hafife almaya o kadar alışmıştım ki, ama birdenbire kendimi bu şeyleri ayarlayan kişi olmak zorunda buldum. Bence daha büyük şirketlerde bir konuyu çok derinlemesine araştırıyorsunuz, ancak bir başlangıçta, ürününüzün her parçası için kapıda bir ayağınız olması gerekiyor.
- Kod Kalitesi. Başlangıçlar genellikle kötü kod kalitesiyle ünlü olsa da, Vivid'de durum kesinlikle böyle değildi. En iyi kod uygulamaları hakkında çok şey öğrendim, PR'larımı düzeltmeler için sayılamayacak kadar çok kez geri gönderdim. O zamanlar sancılı olsa da, artık kesinlikle daha iyi bir mühendisim ve kapsamlı kod incelemesinin önemini anlıyorum.
- Eğlence! Son olarak, Vivid'de staj yapmak şimdiye kadar bir işte yaşadığım en eğlenceli şeydi. Aryaman, Jorge ve Alberto ilk haftadan itibaren çok rahat bir ortam oluşturdular ve şimdi gerçekten harika arkadaşlarımla bir hackathon projesi üzerinde çalışıyormuş gibi hissediyorum. Diğer işlerde, işten akşam 5'te çıkmak için can atıyor olurdum, ama burada kendimi burada kalmaktan ve istediğim zamana kadar çalışmaktan mutlu buluyorum.
Aryaman, Jorge ve Alberto ile tanıştığım aynı WeWork çatısındaki ikinci lansman partimize sadece birkaç saat uzaklıkta bu yazıyı yazarken, keşke ben de vazgeçip Vivid'e katılmak için bir Big Tech teklifi alsaydım. Bunun yerine, üniversitedeki son yılım için Columbia'ya geri dönüyorum, yanıma dört yeni arkadaşımı alıyorum ve öğrendiklerimle bir şeyler inşa etme isteği duyuyorum.
Canlı girin
Aryaman, Jorge ve Alberto ile ilk kez çatı katındaki bir WeWork partisinde Big Tech iş tekliflerinden geri döndüklerinde yüz yüze tanıştım. Aryaman ile bir hafta önce sadece kısa bir kahve sohbeti yapmış biri olarak, üçünün üzerinde çalıştıkları konu hakkında sahip oldukları heyecanı görmenin çok ferahlatıcı olduğunu düşündüm.
Microsoft stajımdan yeni çıkmıştım ve bir önceki yaz Meta ile staj yapmıştım. Big Tech'te hayatın nasıl olacağına dair iyi bir fikrim varmış gibi hissettim ve bundan nefret etmesem de büyük bir parçam bir startup'ta çalışmanın nasıl olacağını merak etti. Vivid ekibinin birinci sınıf öğrencisi halimin rüya tekliflerinden vazgeçtiklerinde sevinmelerini izlemek bir uyandırma çağrısıydı - ne kaçırdığımı görmem gerekiyordu.
Bir ay sonra, 2023 baharında Vivid'in ilk stajyeri olarak katılmak için bir teklif mektubu imzalamam şaşırtıcı değildi.
Pivot
Neyle karşılaşacağımı bilmeden Vivid'deki ilk günüme girdim.
1. gün, en büyük sürprizle karşılaştım: Vivid artık Styler'ı yapmıyordu - sadece birkaç ay önce çatıda bana gösterdikleri amiral gemisi ürünleri. Şirkete inanılmaz derecede benzersiz bir zamanda katıldığımı fark ettim - sıfırdan bir şirket kurmanın ne demek olduğunu ilk elden deneyimlemeye başladım.
Ekip şirket için yeni yönler üzerinde fikir yürütürken hemen beyin fırtınası oturumlarına atıldım. Ortalıkta savrulan fikirlere hızla ayak uydurdum ve bir fikri diğerinden daha iyi yapan şeyin tüm ayrıntılarını özümsedim.
Beyin fırtınası oturumlarımızdan birkaç önemli çıkarım:
- İnsanların gerçekten ihtiyaç duyduğu bir ürün oluşturmak önemlidir . Aracınızın ekipteki her kişinin üretkenliğini %10 artırması fark etmez — hiç kimse mevcut iş akışını küçük bir iyileştirme için bozmaya istekli değildir. Bunun yerine, %200 üretkenlik artışı yaşayan iki veya üç mühendis varsa, aracınız çok daha sağlam olacaktır.
- Rakipler bir fikri diskalifiye etmez. Ne kadar küçük olursa olsun başka bir şirket benimkine benzer bir fikir üzerinde çalışmaya başlasa, onun peşinden gitmemem gerektiğini düşünürdüm. Ama şimdi, bu şirketlerin var olduğunu, çözülmesi gereken gerçek bir sorun olduğunun kanıtı olarak görüyorum.
- Uzun vadeli vizyon önemlidir. Kötü bir fikirden vazgeçmek de öyle. Vivid'in Styler'ı bir kenara attığını duyduğumda şaşırdım. Bir kullanıcı olarak, sağlam bir kullanım senaryosuna sahip, iyi uygulanmış bir ürün olduğunu düşündüm. Şimdi, Styler ile öngörülebilir uzun vadeli bir hedef olmadığını ve şirketin büyümesi için dönmenin gerekli olduğunu anlıyorum. Batık maliyet yanılsamasına bakılmaksızın, net bir yolu olmayan bir fikirden uzaklaşabilmek, yeni başlayanların hızlı hareket etmesi için gereklidir.
Aşağıda, Vivid ekibine yaptığım ilk kod katkısının bir görüntüsü var!

Vivid'deki ilk iki haftanın sonunda, React'in tek bir satırını nasıl yazacağımı bilmemekten sıfırdan bir sayfa oluşturabileceğime güvenmeye başladım - 12 haftalık geçmiş stajlarda kazandığımdan daha fazla öğrenme.
Canlı Senkronizasyon
Stajımın ikinci parçası Vivid Sync tarafından tanımlandı. Geliştiricilerden tasarımcılara geçişte önemli sürtüşmeler olduğunu zaten biliyorduk. Ancak bir müşteri görüşmesi sırasında, bir mühendislik lideri önemli bir içgörü paylaştı - bu sürtüşmenin tek bir temel nedeni vardı. Zamanla, Figma kitaplıkları kod havuzlarından ayrılmaya başlar ve bu da tasarımcılar ve geliştiriciler arasında sürekli yanlış iletişimlere neden olur.
Fikrin ortaya çıkmasından sonraki bir hafta içinde, bir tasarım ortağı bulduk ve temelde Figma bileşenlerini Github Sorunları aracılığıyla bir kod tabanına bağlayan bir görev yönetim sistemi olan ürünü oluşturmaya başladık.
Şuna benzeyen web kullanıcı arayüzünü oluşturmakla görevlendirildim:


Ama yine de, fikrin ve ürünün harika olduğunu düşünsem de, ürünü tasarım ortağımıza teslim ettikten sadece bir hafta sonra, yine en baştan toplantı odasına döndük.
Beyin Fırtınası Pt. 2
Vivid Sync'in ölümcül bir kusuru vardı — müşterinin sorununu çözmedi. Son kullanıcı, boşa harcanan mühendislik süresini sınırlama vaadiyle motive oldu. Styler'dan farklı olarak Vivid Sync, Figma ve Code arasında uçtan uca bir senkronizasyon oluşturmak olan net bir uzun vadeli vizyona sahipti, ancak teslim edilen ürün mühendislere zaman kazandırmadı - aslında toplam miktara katkıda bulundu. bakım çalışmaları için görevler oluşturarak çalışır.
Ekip, tasarım ortağımız için olabildiğince hızlı bir şeyler inşa etmeye odaklanmıştı, ancak geçmişe bakıldığında, Sync'in anlık katma değerinin yeterince yüksek olmayabileceğine dair en başından beri açık uyarılar vardı.
Bu sefer olacaklara hazırlıklıydım. Fikir tartışmalarına aktif olarak katılmayı kendime hedef edindim. Hipotez sayfaları yazmayı, rekabetçi araştırmalar yürütmeyi ve belirli bir fikre daraltılan farklı düşüncenin gelgitlerini yönetmeyi öğrendim. En önemlisi, fikrimin küçük bir ekipte ne kadar etkili olabileceğini öğrendim.
Kodlamak için Figma
GitHub taahhüt geçmişim, fikir oluşturmak için tam olarak ne kadar zaman harcadığımızı açıkça ortaya koydu - 3 hafta. Doğrudan müşteriler için en yüksek değere yönelmeye karar verdik - Figma tasarımlarını kullanılabilir ön uç koduna dönüştürdük. Net bir uzun vadeli vizyon vardı, doğrudan son kullanıcının sorunlu noktasına hitap ediyorduk ve hepimizin inancı çok daha yüksekti.
İş inşa etmeye geldiğinde, yeni kullanıcı katılımının sorumluluğunu üstlendim. Katılımın amacı, Vivid'in zaten kullanıcının kod tabanında bulunan bileşenleri kullanarak kod oluşturmasına izin vermekti.
Temel teknik zorluk, kullanıcının kod bileşenlerini almak ve bunları karşılık gelen Figma varlıklarına bağlamaktı, böylece Figma varlığı her kullanıldığında, koddaki doğru bileşeni çağırabilirdik. Aracımızın bu bileşenleri hatasız çağırabilmesi için bileşen özelliklerinin de eşleşmesi gerekiyordu.
İlk katılım özelliğinin birkaç farklı parçası vardı:
- Github Uygulaması . Github Uygulaması bir depoya bağlanır ve bağlı depodaki tüm .tsx dosyalarını bir REST API aracılığıyla döndürür
- Python Mikro Hizmeti . Flask ile oluşturulan Python mikro hizmeti, kod bileşenlerini anlamsal olarak Figma bileşenleriyle eşleştirmek için bir NLP eşleştirme algoritması kullanır.
- Kod Geçiş Paketi . Kod geçiş paketi, Github Uygulaması ile Python Mikro Hizmetini birbirine bağlamamı sağlıyor. Github Uygulamasından .tsx dosyaları aldı ve eşleşen bileşenleri Python mikro hizmetinden döndürdü.
- İlk Katılım Maç Platformu. Son olarak, kullanıcı arabirimi, eşleşmelerin yapılmasına ve arka uçtaki bir veritabanına gönderilmesine izin verdi.
Eğlenceli Fotoğraflar!




