• yatirim/getiri orani dusunuldugunde son derece verimli bir is kolu. ozellikle de gunumuz kosullarinda minimal yatirim ile cok verimli, yuksek gelir getiren projeler uretmek gecmise gore cok daha kolay.

    ornegin, aklinizda "lan soyle bir site olsa ne guzel olurdu, soyle soyle yapardim" gibi bir fikriniz var fakat bunun icin sunucu, o sunucuyu yonetecek isgucu, yazilimi gelistirecek is gucu gibi kaynaginiz yoksa isiniz eskiye nispeten cok daha kolay.

    yazilimi kendiniz gelistirebiliyorsaniz ne guzel, bir programlama dili biliyorsaniz ne ala, bir sonraki adima gecebilirsiniz. yok bilmiyorum diyorsaniz ve ogrenme yoluna gitmeyecekseniz -ki gitmenizi tavsiye ederim- campus london gibi co-working space'lerin orneklerinin turkiye'de de oldugunu duyuyorum, atlayin gidin bir tanesine bir sure takilin, insanlarla tanisin, gorusun. ben bunu bu tip bir kaynaga gereksinim olmamasina ragmen ve sinirli vaktimle yapiyor, "keske yirmili yaslarimdaki kadar bosa harcayacak zamanim olsa" diye hayiflaniyorsam, bosa harcadiginiz zamanlari dusunup "acaba onun yerine ne yapabilirim?" diyorsaniz, bence daha fazla vakit kaybetmeyin.

    diyelim ki bu isi hallettiniz, bir iki kisi bir araya geldiniz [bu asamada kabul goren gorus, ucten fazla kisinin uygun olmadigi yonundedir. yine de siz bilirsiniz] programlama dili biliyorsunuz, sunucu lazim. amazon web services ne gune duruyor ? adamlar ec2 uzerinde 1 sene sure ile, micro type sunucuyu ucretsiz veriyorlar. gelistirme ortami icin yeterli. ustelik sistem yonetimi derdiniz de yok. zaten dusundugunuz sey bir senede masrafini cikaracak kadar gelir getirmiyorsa, cok buyuk olasilikla o kadar da isabetli bir karar degildir demek. bakin %100 demiyorum ama cok buyuk olasilikla oyle.

    alin bir micro-type ubuntu linux, uzerine bir couchbase bir tomcat sunucusu atin, isinizi gorur. couchbase'i key-value store olarak kullanip, persistence store olarak da parse.com'u kullanin. adamlar gelistirme surecinde asla erisemeyeceginiz miktarda [1 milyon] api request'i ucretsiz veriyorlar zaten. para kazanmadan, sizden para almiyorlar yani. trafik icin istemediginiz kadarini facebook size sagliyor, facebook connect ile kullanici login sorununu da cozuyorsunuz, trafigi de sagliyorsunuz. oturup java ile istediginiz kodu yazarsiniz, sadece zamaninizi ayiracaksiniz.

    burada bahsettigim tool'lar alternatifsiz de degil, baska diller, baska tool'lar da kullanabilirsiniz. dil olarak php biliyorsaniz o da olur, ruby isterseniz o da olur. open source yazilim dunyasi size neredeyse sinirsiz cozumler sunuyor. login icin facebook olur, google olur, twitter olur bir suru cozum var.

    yazilim gelistirerek gelir elde etmek eskisinden cok daha kolay ve hizli. baska hic bir yerde olmadigi gibi turkiye'de de bir silikon vadisi olmayacak, bosa beklemeyin. ama silikon vadisi'ne ihtiyaciniz olmadigini da bilerek bosa vakit kaybetmeyin.
  • jeremy daly adlı bir yazılım geliştirici profesyonel kariyerinin 24. yılı için 24 tavsiyede bulunmuş. özellikle yazılım geliştirmeye yeni başlayacak kişiler için gayet faydalı tavsiyeler var.

    https://youtu.be/ae-c_wyhy_u

    24. işinizi hayatınızın etrafında planlayın, yani hayatınızı merkeze koyun ve işi onun etrafında planlayın. 20'li ve 30'lu yaşlarımın başında haftada 70+ saat çalıştım. bununla "başarılarım" arasında bir bağlantı olduğundan emin olsam da, aile ve arkadaşlarla kaçırılan zaman için çok fazla pişmanlık var.

    23. t şeklinde bir insan olun. 3 tür bilgi vardır: bildiğin şeyler, bilmediğini bildiğin şeyler ve bilmediğini bilmediğin şeyler. birkaç şeyde uzmanlaşın ve diğer birçok şeyin temellerini öğrenerek bilgelik kazanın.

    22. karşındakine 5 yaşındaymış gibi açıklama yapma. iş/teknoloji alanında çevrenizdeki çoğu insan, uzmanlık konuları hakkında konuşabilecek akıllı, eğitimli profesyonellerdir. karmaşık konuları onlara patronluk taslamadan iletmenin yollarını bulun.

    21. teknik olmayan bilgi düşündüğünüzden daha önemlidir - birlikte çalıştığım en harika teknoloji uzmanlarından bazıları avukat, muhasebeci ve öğretmen olarak başladı. sizin (ve diğerlerinin) sahip olduğu alan uzmanlığını kullanın ve masaya yatırın.

    20. çeşitlilik çok önemlidir - dünya görüşlerinize, algılarınıza ve en önemlisi statükoya meydan okuyun. ırk, coğrafya, cinsiyet, yaş ve sosyoekonomik durum, teknoloji ile nasıl etkileşime girdiğimizi etkiler. onları görmezden gelin.

    19. henüz her şeyi bilmiyor olsanız bile ilk adımı atın - yaparak öğrenin, hata yapın, onlardan öğrenin ve büyümeye devam edin. kursları izlemek ve belgeleri okumak için ömürler harcadım, ancak siz uygulayana kadar hiçbir şey katmıyorlar.

    18. kod bir varlık değil, bir yükümlülüktür - kodun test edilmesi, dökümante edilmesi ve sürdürülmesi gerekir - tümü önemli bir maliyetle. sizi rakiplerinizden farklılaştıran şeyleri oluşturun ve gerisini satın alın.

    17. eski olan her şey yeniden yeni - yaptığınız her şey daha önce yapılmış olabilir. orada bulunanlardan ders alın ve öğrenin, bilgiyi sentezleyin ve mevcut teknolojinize uygulayın.

    16. verilerinizden daha önemli bir şey yoktur - arayüzler ve altyapılar gelir ve gider, ancak verileriniz tarihsel kayıt ve nihai gerçeğin kaynağıdır. sık sık yedekleyin* ve bütünlüğünü ne pahasına olursa olsun koruyun.

    15. değerinizi anlayın - para için iş yapma zamanının bir aptalın işi olduğunu anlamam biraz zaman aldı. bu muhtemelen kariyerinizin başlarında kaçınılmazdır, ancak uzmanlık kazandıkça, sağlanan değerden zamanı ayırın.

    14. kiss, yani keep it simple stupid. bir sürece veya sisteme her karmaşıklık eklediğinizde, yönetilmesi daha zor hale gelir, onu sürdürmek için doğru insanları bulmak ve kullanıcıların kullanmasını sağlamak daha da zorlaşır. kabalıktan kurtulun ve basitliği arayın.

    13. mikroservisler her zaman cevap değildir - 100'lerce monolitik uygulama, soa'lar*, mikro hizmetler ve serverless uygulamalar oluşturdum. mikroservisler için bir zaman ve yer var, ancak yeni bir şeye başlıyorsanız, muhtemelen bu değildir.

    12. güvenlik her zaman aklınızda olmalıdır - 2007'de yaşadığım bir sql injection ile ilgili hâlâ kabuslar görüyorum. bir geliştirici tek bir input'u unuttu ve bir hacker botu her ürün sayfasına komut dosyaları enjekte etti.

    11. hızlı, sık ve kibarca başarısız olun - başardığımdan daha fazla başarısız oldum, ancak her başarısızlık öğrenmek ve büyümek için bir fırsattır. ne kadar hızlı başarısız olursak, o kadar hızlı öğreniriz. başarısızlığı sürecin bir parçası olarak kabul edin, ona sahip çıkın ve alçakgönüllülükle yapın.

    10. projeler ters gidecek, kesintiler olacak, strateji değişiklikleri yönetimden veya müşteriden gelecek. değişmeyen tek şey değişimdir. kabul edin ve elinizdekilerle en iyisini yapın.

    9. stresi nasıl yöneteceğinizi öğrenin - teknoloji sinir bozucu ve geliştirici tükenmişliği gerçek. zaman ayırın, egzersiz yapın, teknolojiyle ilgili olmayan bir hobi bulun. birçok kez stres beni tutkumun peşinden koşmayı neredeyse bırakmaya itti. bunun sana olmasına izin verme.

    8. multi tasking bir efsanedir - konu değiştirme bana binlerce saatlik üretkenliğe mal oldu. takviminizi bloke edin ve varlığınızın her zerresiyle onu savunun.

    7. haters gonna hate. yani nefret edenler nefret edecek. eleştirilerle karşılaşacaksınız, bazıları haklı olacak, çoğu olmayacak. iyi bir insan olun, başkalarına saygılı davranın ve işinizi en iyi şekilde yapın.

    6. her şey zaman alır - bir süre önce, imkansız derecede uzun yapılacaklar listemin üstesinden gelmek için "ilerleme" zihniyetine geçtim. başarı bir gecede olmayacak, ancak çabanın tutarlılığı, sürekli yatırım ve uzun vadeli taahhütler şansı artıracaktır.

    5. iletişim kurarak öğrenin - düşüncenizi netleştirmenin, onu ifade etmeye çalışmaktan daha iyi bir yolu yoktur. bloglar ve dökümanlar yazın, konferanslarda veya şirket toplantılarında konuşun ve alanınızdaki diğer kişilerle sohbet edin.

    4. yanılıyor olma ihtimaliniz yüksek - algınızın deneyimlerinizle sınırlı olduğu ve bir şeyleri gözden kaçırıyor olma ihtimalinizin yüksek olduğu varsayımıyla başlayın. diğerleri de yanılıyor olabilir tabi. aynı fikirde olmayın, anlaşın ve fikirleri test edin.

    3. daima soru sorun - soru sormaktan asla korkmamalısınız! bu ister açıklayıcı bir soru olsun, ister tanıdık olmayan bir kısaltmanın kodunu çözmeyi, ya da sadece "neden?" sorusunu sormak olsun, kafa karışıklığını ortadan kaldırarak projenin başarı şansını artıracaksınız.

    2. deneyim için kestirme bir yol yoktur - mütevazi olun, akıl hocalarından tavsiye alın, kendi yeteneklerinizin sınırlarının farkına varın. ders almanın veya kitap okumanın sizi bir uzman yapmadığını anlayın. uzmanlık (çok) zamanla gelir.

    1. insanlar insandır, onlara öyle davranın - ister uygulama kullanıcıları, iş arkadaşları veya twitter eleştirmenleri olsunlar, hepsi insan deneyimine sahip benzersiz bireylerdir. nazik olun, empati kurun, düşünce çeşitliliğini benimseyin ve iyilik için bir güç olun.
  • projeyi "tamamlama" konusunda zenon paradokslarının içinde yaşıyormuşsun hissi veren süreç.

    ne diyor zenon paradoksları; " bir ok atalım, ok her seferinde geriye kalan yolun yarısını gitsin. hedefe varır mı?"

    aynı durum yazılım geliştirmede de yaşanıyor. öncesinde yapılacakları listeliyorsun. sonra bunları yazmaya başlıyorsun. ve her işi tamamladığında, o işten dolayı birkaç bug, yeni fikir, yeni özellik karşına çıkıyor. onları da halledeyim dersen onlar da başka işler yaratıyor.

    bu durumda bir proje ne zaman biter?
  • insanın sağlığını bozan ve yavaş yavaş vücudunun içine eden iş. yaklaşık iki buçuk senedir yazılım geliştiriyorum ve şimdiden boyun ağrıları çekiyorum. göz kuruluğu, göz alerjisi, bilek uyuşması, beyin eyyorlaması da cabası. işimi severek yapıyorum ama bazen dayanılmaz olabiliyor.
  • yazilim sistemlerinin gereklerinin belirlenmesi, tasarlanmasi, kodlanmasi, test vb islemlerinin gerceklestirilmesinde uygulanan cesitli sureclerin tumu.
  • benim için her zaman bir çocukluk hayaliydi. özellikle oyunlara olan ilgim sebebiyle oyun geliştirmek veya geliştirilen bir oyunun parçası olmak.

    varlıklı bir ailenin çocuğu değildim, teknolojiye olan ulaşımım kısıtlıydı. mezun olur olmaz para kazanmak durumundaydım hayatta kalabilmek için. küçük bir yerde yetiştim, dolayısıyla etrafımda bu iş ile ilgilenen hiç insan olmadı. haliyle de olabilecek en kısa yöntemle para kazanma yöntemini seçtim ve kolay iş bulabileceğim, direkt olarak para kazanabileceğim, kendimi geliştirmek için kurs , ekstra eğitim vs. gibi ek para ödemem gerekmeyen, herkesin anlayabileceği dille çok daha garanti bir meslek seçtim ve onun üzerinden devam ettim.

    içinde hep kalır derler ya, aha işte öyle bir şeydi benim için. velhasıl artık mevcut kariyerimde belli bir noktaya geldim, iyi kötü bir gelir elde ettim, kendi ailemi düze çıkardım, evlendim barklandım, hayatımı belli bir noktaya getirdim kısacası. işte bu noktada 18 yaşındaki çocuk içeriden tekrar beni rahatsız etmeye başladı.

    ilk başta bu yaştan sonra bir yazılım dili öğrenemem herhalde diye basit drag&drop tarzı oyun geliştirebildiğiniz oyun motorları ile denemelerim oldu. udemy'den kurslar aldım, youtube'dan videolar izledim, denedim, kimi zaman yaptım, kimi zaman yapamadım. baktım hayal ettiklerimi yapamıyorum. yaptığım şey hayal ettiğim şey değil, başka yapılmış örneklerin bir imitasyonunu yapmak. şöyle bir ekstra mekanik eklemek istiyorum dediğimde yazılım tarafında olan boşluğum sebebiyle tam anlamıyla ortada kalıyordum. çünkü yazılımın nasıl çalıştığını, algoritmasını, dilini bilmiyordum. aklımda aslında her yazılımcının yapabileceği basitlikte, lakin yapılmamış bir algoritmaya sahip bir oyun vardı ama dediğim gibi bilmiyordum. buna uyan bir örnek olmayınca da oradan kopyalayamıyordum. kendime çok sinirlendiğimi hatırlıyorum iki satır kod yazmayı öğrenemedin diye. hayatımda hiç bir zaman kendimi bu kadar cahil ve çaresiz hissetmemiştim. bir şeyi bilmeye çalışmak ama bilmemek...

    1-2 yıl öyle uğraştım boş vakitlerimde ama kayda değer bir ilerleme kaydedemedim. hatta vazgeçtim. lakin eğer o oyuncağı gerçekten istiyorsa, içinizdeki çocuğu susturmak hiç kolay değil arkadaşlar. susmuyor, rahatsız ediyor, hayattan keyif almanızı engelliyor, yoktan anlamıyor. kendimle savaş verdim, hayatımı önceleyeyim dedim ama olmadı.

    en sonunda artık dayanamadım, gittim yazılım dili ile alakalı kurs aldım. parası ne ise verdim. bu yaşta ve bu vakitsizlikle kendi başıma sadece google'dan arayarak öğrenmek için çok geç olduğunu farkettim. işimi bırakabilirdim, birikimimle bir süre yaşayıp bunu kendi başıma da öğrenmeye çalışabilirdim ama bakmam gereken bir evim, sorumluluklarım vardı. çıkan sonuçtan memnun kalmazsam mağdur edebileceğim insanlar vardı.

    geçen hafta kursun ikinci ayına girdiğimiz vakitlerde izinli olduğum zamanda oturdum pc başına. öğrendiğim şeyleri oraya döktüm. bahsettiğim oyunu bir demo seviyesinde de olsa, görsel olarak hiç bir şey içermemesine rağmen yazdım. debug modda çalıştırıp sorunsuz şekilde çalıştığını gördüğümde 35 yaşındaki koskoca adamın gözleri doldu, 18 yaşına geri döndü. oğlunun aylardır istediği bisikleti en sonunda dişinden tırnağından arttırarak alıp en sonunda ona veren bir baba gibiydim. hem gururlu hem mutluydum. çalışıyordu. kafamda tasarladığım şeye yakındı, her şeyden önemlisi mekaniklerini sadece kod ile yazabilmiştim.

    hani böyle youtubeda aptal motivasyon videoları gibi oldu farkındayım ama yaşadığım hissi anlatamam arkadaşlar. herkesin tutkuları farklıdır, mutlaka herkesin "ya şunu yaparak hayatta kalabilseydim keşke" dediği bir çocukluk hayali vardır . kendim de o tünelden geçtiğim için hayat yolunda o tarafa dönüş, vakit ayırma çok zor farkındayım ama yaptığınızda hissettiğiniz şey çok farklı. onu anlatmak için yazıyorum tüm bunları.

    bakalım yolun henüz başındayız. iyi kötü bir şeyler yaptık diye öğrenme bitmedi, hatta daha yeni başlıyor. bir gün bu işten para kazanacak mıyım, içinde olduğum bir oyunu milyonlarca insan oynayacak mı? "süpermiş ya tavsiye ediyorum" diye yorum yapacak mı?hiç sanmıyorum. lakin olay o değil. olay, 18 yaşındaki çocuğu susturmak, bir kişi bile kullanmasa da tamamen sizin kontrolünüzde gelişen bir çocukluk hayalini somut bir şeye dönüştürmek. 18 yaşındaki çocuğun hayalinin peşinden koşmaya başladım.
  • getirdigi psikolojik yipranmanin * farkina varmak ve yaralari sarmak icin bir sureligine detoksunu yapmak faydali olabilir. kasim ayinin sonunda bu yana son isimden ayrilarak calismaya ara verdim. bunun adina tatil ya da toparlanma sureci denilebilir. ozellikle uzun projeler sonrasi bitkinlik ve bir de pandemi surecinin sebep oldugu uzun sure kapali bir yerde karalarak olusan anksiyete ve depresyon * sonrasi ilac gibi geldi. insan zaman zaman bu bahsettigim psikolojik yipranmalarin farkina varabilmesi icin oncellikle mevcut durumu kabullenmesi gerekiyor. yazilim gelistirme detoksunu herkese siddetle tavsiye * ediyorum.
  • 1971 yılında gerald weinberg'in çıkardığı the psychology of computer programming kitabında bahsettiği bir yazılım geliştirme metodolojisi olan egosuz programlama konusuna değindim.

    https://youtu.be/b7srsw1ezmu

    (bkz: #106020858)
hesabın var mı? giriş yap