Bilmek istediğin her şeye ulaş

Uzun süredir farklı formatta bir sosyal paylaşım sitesi kurmak için kafa yoruyordum. Nihayet projem için gerekli ciddi sermaye desteğini buldum. Ekip arkadaşlarımı nasıl bir organizasyon yapısı ile oluşturmalıyım? Tasarım, işletim maliyetleri hakkında fikirleriniz nelerdir?

Şu anda maliyetlerimi kalem kalem netleştirmeye çalışıyorum. Geniş bir kullanıcı kitlesine hitap edeceğine inandığımız bu proje de, tecrübelerinizden faydalanmak istiyorum. Ben nesne tabanlı (delphi, SQL) projeler geliştiriyorum. Web tabanlı uygulamalarda hangi programları tavsiye edersiniz. Ekip arkadaşlarımı nasıl bir organizyon yapısı ile oluşturmalıyım. Tasarım, işletim maliyetleri hakkında fikirlerinizi paylaşmanızı rica ederim. TeşekkürlerDüzenle
Ben de bir süredir bir sosyal ağ geliştiriyorum, bu aralar kapalı betaya açacağım. Konu ile alakalı olduğum için yetkin yanıt verebilecekler arasındayım sanırım.

öncelikle türkiyede şöyle bir senaryo işliyor; "türkiyeden çıkan x sosyal ağı yayına başladı" gibi bir başlık görüyorsun webrazzide, siteye girip baktığında trafiği kaldıramayıp çökmüş oluyor. Bu senaryoda, site çok kullanışlı ve özel bir şey olsa bile, bu ilk deneyimle, siteye gelmiş olan early adapter'ları bir daha kazanmasına imkan yok.

dolayısıyla sosyal ağ gibi birşey yapıyorsanız standart sitelerdeki altyapıları kullanmamalısınız. Hele ki apache+php+mysql kombinasyonundan kesinlikle uzak durun. Zaten açık kaynak kullanacağınızı var sayıyorum.

çoğu kişi farkında değil ama facebook, twitter, google kendi altyapısında kullanmak üzere ürettiği çoğu aracı github üzerinden açık kaynak hale getirmiş durumda. Sizin bunları kullanıp kendi sosyal ağınızı yapmamanız için hiçbir sebep yok. ben projede ağırlıklı olarak facebook teknolojilerini kullanıyorum. Dil olarak Python, Veritabanı olarak da mongodb.

yazılım geçmişiniz yok ise bence vaktinizi harcamayın derim. Tüm sosyal ağlar min. 5 yıl sonra reklam modeli vs oturtup gelir getirmeye başlıyor. 5 yıl iyi seviyedeki yazılımcılara milyon dolar/lira para gömerek bu günlere geldi tüm sosyal network siteleri, türkiyede bu yapılır mı? Kendiniz yazılımcı iseniz büyük çilelere katlanıp projeyi bir yere kadar götürebilirsiniz. Ama başkasına yaptırmak, dediğim gibi size büyük paralara ve zamana mal olur.
  • Paylaş
6

Murat Çokyiğit, Katkınız için teşekkür ederim Mehmet Bey. Farklı kaynaklardan yazılım tarafı ile ilgili değişik yorumlar almaya çalışıyorum. Hepsini değerlendirdikten sonra oluşturacağımız ekip ile, doğru bir yol haritası belirleyebileceğimizi düşünüyorum. Bu konuda da katkınız olabilirse sevinirim. İyi top oynayamasam da, belki iyi bir teknik direktör olabilirim.

Odfi, mehmet bey neden "apache+php+mysql" bu kombinasyonu tavsiye etmediniz daha detaylı olursa açıklama makbule geçer, yazılımcı değilim bir tasarımcı olarak soruyorum...

Necmettin Begiter, Mehmet Bey'in yerine ben cevaplayayim. Apache+PHP+MySQL Turkiye'de agirlikla kullanilan teknolojiler ama dunya bunlarin otesine geceli cok oldu. Nginx Apache'den daha az sistem kaynagiyla daha fazla is yapiyor. PHP -diger dillerle karsilastirildiginda- programciyi yavaslatan bir dil. MySQL de uzun suredir gelistirilmiyor. Turkiye'deki hosting firmalari daha PHP OpCache'i bilmiyor mesela.. Oyle olunca da performans yerlerde..

Mehmet Köse, Esasen Türkiye'de php o kadar yaygın ki, bunları yazılımcı ortamında söylersen taşlarlar. Çoğu insan içinde yaşadığı fanusun dışarısını göremiyor. bunda yazılımcılarımızın türkçe dışında kaynak okumuyor olmaları büyük etken tabiki. Bu işin mekkesi silikon vadisi. en basitinden google trends'den arama yaparsanız şu an türkiyede kullanılan dillerin orada artık popüler olmadığını görürsünüz.

Necmettin Begiter güzel açıklamış. Sosyal ağ dediğiniz şey çok fazla istek alan bir yapı. O yüzden C10K nedir, çözüm olarak neler önerilir buna bakmanız lazım. web server tarafında nginx, uygulama server tarafında python veya node.js tarafında bazı frameworkleri kullanmanız lazım. herhangi bir sitenin yüksek diyebileceği trafiği sizin çok çok rahat kaldırıyor olmanız lazım.

ki bu kadar trafik alırken gelir modeliniz de olamayacak eğer çok dahice bir fikirinz yoksa bu konuda. dolayısıyla çok maliyetli. hiçbir yatırımcı mesela sosyal ağa yatırım yapmaz bu yüzden. yani çoğu yatırımcı. inploid şanslı bir proje mesela.

Mehmet Köse, tabi ölçekleme de önemli. kullandığınız servisi sunuculara kolayca dağıtabiliyor olmanız lazım. twitter ilk çıktığınca sadece 16 server üzerinde çalışıyordu diye okumuştum. *sadece kelimesine dikkat.

Necmettin Begiter, Evet, Turkiye'de tek sunucu anlayisi var. Onu da geceyim, olceklenebilirlik bir yana; Memcache nedir, Redis nedir, bilen az, kullanan daha da az. Onbellekleme dedigin zaman diske yazilan HTML dosyalari anlasiliyor. Uzucu ama durum bu.

Ben bu sektördeki 6 yıllık tecrübeme dayanarak söylemek istiyorum ki şunları;

Öncelikle mehmet beyin söylediklerinin %90 'nına katılmıyorum.
Bir sosyal paylaşım sitesi düşünceniz varsa fikir bakımından da özgün olmanız gerekiyor twitter, facebook gibi benzeri framework örnekleri üzerinden bu sektöre girecekseniz bence hiç teşebbüs etmeyin derim. Bana saçma geliyor açıkçası madem bir proje fikriniz var farklı olmalısınız ki siz diğer 1 numaralı sosyal ağları ya da şöyle diyeyim rakiplerinizi alt edecek o rakiplerinizdeki tercih sebebi kullanıcıları kendi üzerinize çekmelisiniz. Rakipleriniz dedim diğer sosyal ağlara ki öyle olmalı, öyle görmelisiniz yoksa bu dalda pek yaşayacağınızı sanmıyorum. Eğer derseniz ki bana 1000 kullanıcı yeter bu kişilerin bana ve siteye getirdiği tekil ziyaretçi ibaresi benim işimi görür ben anlarım ki kâr amaçlı bir düşünce içindesiniz. Öncelikle böyle girişimlerde bu tarz maddi kazancı 2. 3. Hatta 4. 5. Planda bırakmanız kanısındayım. Benimde bu tarz bir fikrim var buna dayanarak bir kaç düşüncemi size yansıtmak istedim. Diğer yandan necmettin beyin söylediği şeylere kısmi yerlerde katılıyorum takım lideri vs vs. bu tarz projelerde 1 'den fazla kişi ile çalışıyorsanız bir organizelik kesinlikle şarttır. Diğer yandan fikir ayrılıkları ya da ikna olmamakla beraber proje'nin gidişatı baltalanmış olur. Ha diyeceksiniz ki fikir ayrılığı hep kötü sonuçlar mı doğurur hayır tabi ki. Mesela benim kafamdaki sosyal ağ projesinde bir çok zıt düşünceler sayesinde geniş kapsamlı bir fikir ortaya çıkarmış oldum. Plan süreciniz ne kadar uzun olursa çıkan projede bence çok iyi olacaktır. Her şey sabit ve amaçlar belli şekilde iyi sonuçlar çıkacağına inanıyorum. Gerçekten işini seven kişilerle çalışmanız sizin için iyi olacaktır. Front end, backend uzmanlarınız kendi alanında profesyonel olmalı ama bir backend uzmanı'nın gerek grafik gerek front end konusunda da tavsiye verecek bakış açısını farklı yöne çekecek bilgisi olması kanısındayım. Kendi üzerimden örnek verecek olursam 6 yıllık sektördeki pozisyonum olmasına rağmen bir eğitimim yok ama çok kez başıma gelen şeyler oldu bu yılların tecrübesiyle bilgisayar mühendisleri mi ararsınız ben uzmanım diyenler mi ararsınız necmettin beyin yaşadığı şeyleri kısmen bende yaşadım gerçekten insan düşünüyor. Bu yüzden kendimi her konuda eksik görerek backend uzmanı olsam da yüksek yüzdede, front end ve diğer yazılımlar hakkında sürekli araştırmalar yapmaktayım. Projelerimi hayata geçirecek kadar bilgiyi edindikten sonra temiz bir sonuç çıkarmayı hedefledim hep. Giden aylar olsun, yıllar olsun bir hedefe koşmak gerçekten iyi bir his veriyor. Bu siteye de ben google üzerinden "Türkiye'deki sosyal ağlar" tarzından bir arama ile geldim ve bakmak için siteye ve içeriğine üye oldum ve size yazıyorum.

inancım o ki umarım gerçekten önem verdiğiniz bir projedir ve sadece facebook, twitter benzerliği ile ilerleyeceğiniz bir proje değildir. Onun dışında son olarak söylemek istediğim şey maddiyat konusu... Bu konuda gerçekten sermayeyi bulduysanız sahipseniz uzmanlarınız gerçekten hak ediyorsa bilgisi ve geleceği istediklerini vermekten çekinmeyin derim.

Bunların dışında bir sorunuz ya da fikir danışmak isterseniz yardımcı olmak isterim. . .
  • Paylaş
2

Mehmet Köse, 1-twitter ve facebook bir framework değildir. bahsettiğim projeler facebook ve twitter ekiplerinin kendi altyapılarında kullandığı ama herkesten saklamak yerine açık kaynak yaptığı, hali hazırda milyonlarca kişinin anlık kullandığı ve bu trafiği kaldırabilen repolardır. örneğin facebook 30 milyon dolar ödeyip tornado'yu satın aldı, biraz daha geliştirdi ve açık kaynak yaptı. şu an bu framework'ü kullanmak bedava. onu diyorum. mesela react.js çok güzel proje. al değiştir kullan arayüzde mesela. bunlara facebook milyon dolar yatırım yapıyor. o projelerde onlarca kişilik ekip çalışıyor ve nereden baksan senelik maliyetleri kelle başı 200-250 bin dolar. sen bunu bedavaya kullanabiliyorsun, değiştirebiliyorsun, paylaşabiliyorsun. müthiş.

2- 6 yıllık tecrübe demişsin de, hepimiz ne 10 yıllık yazılımcılar, 30 yıllık hocalar gördük. özellikle teknoloji sektöründe her şey 1-2 yıl içinde yenilenir. memurluk veya bankacılık değil bu. haliyle zamanının rockstar'ı php, apache de sırasını yeni yetişen gençlere veriyor. ayak uydurmak lazım.

3 - özgün fikir vs bunlar herkesin dilinde olan şeyler. pek tabiki herkesin bildiği şeyler. devrik cümlelerden dolayı gerisini okumuyorum. okursam editlerim.

Ahmet Dede, Sen kelimeleri atlayarak okumuşsun belli ki bazı yerlerde de cümlenin sonuna giderek sondan başa doğru okumuşsun anlaşılan ki cümlelerim devrik gelmiş. Sana okuman için şöyle yap böyle yap diyecek değilim ki okuman da yorum yapman da gerekmiyor. Katılmıyorum dediğim için direk atlayarak buraya hemen bir şeyler yazayım demişsin belli ki. Önemsemiyorum düşünceni ama söylemek istiyorum ki ben twitter ve facebook sitelerine framework demedim söylemiş olduğum paylaşımlar framework dedim. Framework nedir sen öncelikle bunu bir kavra ondan sonra bana gelip yorum yap bence. Bu sektör de bu tarz düşünceler yüzünden bir çok alana kayan şeyler var. Hazır sistemlerin çıkması, senin gibi insanların ne var uğraşıyorsun kafa yoruyorsun bunu yapmak için benzer bir yapı var zaten gel bunu indir düzenle kullan işte demesiyle çok farklı yerlere gitti bu sektör çok.. Biraz kendinizi sıfır yazılımlarla geliştirmeyi deneyin en azından geliştirmeyi geçtim biraz düşünün de fikirleriniz gelişsin biraz hayal perest olun hayal gücünüz gelişsin belki o zaman insanlığı geçiyorum kendinize bir faydanız, katkınız olsun. Nedir bu laf söyleme çabası gerçekten anlamıyorum beni sinirlendirdin durduk yere. Demişsin gereksiz bir şekilde 6 yıllık tecrübeme 10 yıllık yazılımcılarız hocalar tanıdık bunu söyledin de ne oldu ? Sen çıkan yenilikler için ne yapıyorsun ki bana böyle bir cümle kuruyorsun ? 1-2 yıl içinde değişiyor her şey diyorsun sence bu değişimi sağlayan yeni şeyler düşünen kişiler mi yoksa hazır yapılmış şeyler var bunları indir düzenle diyen kişiler mi senin gibi ? Muhattabım olamayacak derece de fikirlerin yerler de ama yinede cevap yazıyorum sana burada paylaşım yapan arkadaşa yardımda bulunmak fikir vermek için şahsi düşüncemi paylaşmışken sen demek ki kendini yetersiz hissediyorsun ki fikrine katılmadım diye pat hemen yorum yok şöyle yok böyle sen önce oku, bir yorum yapacaksan önce oku. Cümlelerim devrik değil senin algıların devrik yorumlamış yazımı. Umarım bir daha gereksiz yorumlar yapmazsın kendini fikrini geliştirdiğinde konuşup arkadaşa yardımcı olacak tartışmalar da bulunabilir ki biz buna halk arasında beyin fırtınası deriz. Cümlenin sonuna gelmişken de belirteyim ki yazımın başı burası değil en başa git yazıların oradan okumaya başla devrik gelmemesi için de kelimeleri atlayarak okuma elinle takip et okuduğun yerleri.

  1. Daha once web projeleri yonetmediysen teknik bir yonetici/ karar mercii/ ekip abisi olacak birine ihtiyacin var. Hakkinda kapsamli bilgi sahibi olmadigin bir konuda ekip arkadaslarinin soylediklerinin dogrulugundan emin olamazsin. Javascript bilmiyorsan yazilimcin Javascript'le bu olmaz dediginde hareket alanin kisitlanir. Bilen, durust birini teknik yonetici/ karar noktasi/ ekip abisi yaparsan bu konuda aklinda suphe kalmaz.
  2. Ama onun soylediklerini dinlemeyeceksen oyle birini ise alip onun vaktini calma. Basima geldi, oradan biliyorum. Teknik bilgisi benden dusuk bir ustum vardi ve teknik konularda ben onu ikna etmeye calisiyordum. Oysa benim sozume guvenip ona gore hareket etmesi gerekirdi.
  3. Ekibine paranin alabilecegi en iyi bilgisayarlari al (Macbook Prolar veya iMac'ler). Gerekli yazilima ve servislere para harcamaktan cekinme.
  4. Ekibin basinda duracak teknik lider sunucu yonetiminden de anlarsa cok iyi olur. Masraflari azaltmis olursun. Ya da profesyonel birinden disaridan destek alin.
  5. Genis bir kullanici kitlesi diyorsun. Teknoloji tercihleriniz ne olursa olsun paylasimli barindirma hizmeti ve yurticinden VPS alma. 50 kisiyi bir yerden bir yere tasiyacaksan taksi degil otobus kullanmak gerekir ;)
  6. Bir web uygulamasi projesi icin 'web tabanli uygulama' degil, programlama dili tercihi, veri depolama tercihleri, sunucu tercihleri gibi tercihler onem arzeder. Bu konularda tecrubeli birini bulmalisin. Webe uygulama yaziyorsan (orn. Bir sosyal paylasim sitesi) tercihlerini dogru yapmadiginda sonradan duzeltmek cok zordur.
  7. Mutlaka bir surum yonetim sistemi kullanin. Yazilimcilarinizi bu konuda egitin.
  8. Kod yazmaya ya test ya davranis yazarak baslayin. Plansiz is beladir. Direkt koda girismeyin. Herkes test ya da davranis yazabilirse ne ala ama Turkiye sartlarinda zor. Ekipte bu konularda bilgili biri mutlaka olmali. Ekip abisi dedigim olay.
  9. Yazilan kodlari gozden geciren biri mutlaka olsun (teknik yonetici/ karar mercii/ ekip abisi demistim).
  10. Kod yazim kurallariniz onceden belli olsun. Kod yazim kurallari derken neyi kastediyorum? Duz yazi yazarken cumle sonlarina nokta konur mesela. O noktalar okudugunu daha kolay anlamani saglar. Delphi'deki begin/end'i dusun. O begin end hep fonksiyon tanimiyla ayni hizada olur. Neden? Okuyan daha kolay anlasin diye.
  11. Ekip olarak kac kisi dusunuyorsunuz bilmiyorum ama yazilim ekibin surum yonetim sistemleri, test ya da davranis yazimi gibi konularda tecrubeli degilse iki yazilimcidan fazlasi herkes icin iskencedir.
  12. Tam zamanli tasarimciya cogu zaman ihtiyac yoktur, web gelistirici arkadas(lar) in HTML/ CSS/ JS bilgisi iyi olsun yeter.

Daha soylenebilecek cok sey var ama zamaninda is arasinda gonderemedigim mesaji su an tamamlayamiyorum : s
Bu konuda yazilmis bir suru kitap var, bir tane de benim yazasim geldi simdi dusunurken.
  • Paylaş
4

Murat Çokyiğit, Yorumlarınız için teşekkür ederim Necmettin Bey. Konu hakkındaki tecrübelerinizden daha fazla faydalanabilmemin yolu varsa sevinirim.

Necmettin Begiter, Buraya soru sorarak olabilir simdilik.. Is-guc dolayisiyla is-guc disinda pek birseye vakit kalmiyor ama buraya yanit yazmayi sevdigim icin ozellikle hosuma giden sorulari yanitsiz birakmamaya calisiyorum.

Murat Çokyiğit, Proje için gerekli finansman desteğini bulduğum için, süreçte doğru yol haritasını belirleme safhasındayım.
Farklı konsepti gereği; 1 milyon kullanıcı ve üstü planlanan bu proje de, önümdeki 2 aylık zaman dilimi süreç planlamasına ayrılmış durumda.
Doğru ekip arkadaşları, doğru mimari, doğru ekipman ve doğru yazılım araçları tespiti için çalışıyorum.
Proje uzun soluklu olacağı için, başlangıçta sağlam temel atmak istiyoruz.

Necmettin Begiter, Başarı diliyorum. Planlamaya 2 ay ayırmayı beni umutlandırdı açıkçası. Türkiye'de planlı başlayan iş bulmak çok kolay değil zira. Yardımcı olabileceğimiz konular olursa elimizden geleni yaparız. En azından aklınıza takılan sorular olursa buralardayız :)

Fikir veren bütün değerli katılımcılara teşekkür ederim.

Gelen yorumlar da "facebook twitter tarzı ise" ifadesi ortak nokta olarak vurgulanmış.
Bir zamanlar “İcat edilebilecek her şey icat edildi” (Charles H. Duell, Amerikan Patent Dairesi başkanı. 1899) diyen insanlar vardı. Veya "tek akıllı sen misin? " diye hayata bakanlar.

Düşüncelerini saf inanç temeli üzerinden “acaba” dürtüsüyle inşa etmeye çalışanlar,
muhatapları tarafından çoğunlukla silkelenmiştir. Oysa her iş ilk adımla başlar. Yani 1 ile.
Sıfırların sağa mı yoksa sola mı yazılacağı da süreç yönetimi ile ilgilidir.

Biz bir proje geliştirdik. Bilinen konseptlerin dışında, fayda-maliyet-dönüşüm ilişkisi gerçekçi olan,
sadece lokal olmayıp, evrensel potansiyeli bulunan bir sosyal paylaşım projesi. Zaten böyle olmasaydı, melek yatırımcı bulma sürecimiz bu kadar hızlı neticelenmezdi.

Yol haritamızda ki planlama ise;
1-Proje kurgusunun tanımlanması ve hazırlanması (tamamlandı)
2-Yatırımcı görüşmeleri ve finansal destek sağlanması (tamamlandı)
3-Doğru ekip, doğru mimari, doğru yazılım araçlarının belirlenmesi (2 ay)
4-Kanvas metodu ile proje beta sürümünün hazırlanması (8-10 ay)
5-Feedback analizleri ve iyileştirmeler.
6-Kazanç modelleri optimizasyonu.
7-Proje export analizleri, test uygulamaları.

Farklı platformlar da, bu planlamaya uygun olarak çalışmalarımız devam ediyor.
Projemize bu çerçeve de gelebilecek her türlü katkı bizi mutlu edecektir.
Özellikle devam eden 3. Safha için öneriler ve teklifler bizi mutlu edecektir.
Teşekkürlerimle
  • Paylaş
Sonraki Soru
HESAP OLUŞTUR

İstatistikler

91 Görüntülenme7 Takipçi4 Yanıt