Image for post
Image for post
Photo by Proxyclick Visitor Management System on Unsplash

Startuplar yapıları gereği hızlı hareket eden şirketlerdir. Büyük kurumlara göre üstün yanlarından biri de buradan gelir. Çalışan sayısının az oluşu, karar alırken düşünecekleri veya bağlı oldukları etkenlerin azlığı onlara hız ve esneklik kazandırır. Bu yüzden de büyük şirketlerde dönen bürokrasiye staruplarda çok rastlamazsınız. Kararlar hızlı alınıp hemen uygulanır. Bir vizyon ortaya konur ve bunu gerçekleştirmek için gerekli misyon takip edilerek ürün geliştirilir. Ürüne markette bir yer bulabilmek için ortaya birçok hipotez atılır. Daha çok deneme yanılma yöntemi ile gidilerek fikirler hayata geçirilir ve gelen geri bildirimlere göre bir sonraki aşamaya geçilir.

Denenecek çok fazla şeyin olması demek startup laboratuvarlarında birçok deneyin yapılacağı anlamına gelir. Deneyler de bir kişinin hızlı gelişmesi ve öğrenmesi için en iyi yöntemlerdendir. Bu yüzden bir yazılımcı olarak birçok deney yapma imkanına ve bu denemelerinizin sonuçlarını hızlıca görme imkanına kavuşursunuz. Denemelerin başarılı olup olmamasına bakmaksızın size neler katacağına odaklanırsınız. Başarılı olursa sizin ve küçük ekibinizin mutluluğunu derinden hissedersiniz. Fakat başarısızlık sonucu birçok insan demoralize olabilir. Fakat denemelerin doğasında bu vardır. Birçok şey dener başarısız olur ve sonunda tek bir doğru deneme ile başarıya ulaşırsınız. Bu bilinçle, başarısız olsanız bile öğrendiklerinizin yanınıza tecrübe olarak kaldığını görmekte fayda var. …


Image for post
Image for post
Photo by Annie Spratt on Unsplash

Bir yazılımcı olarak kod nedir diye hiç düşündün mü? Etrafta duyduğun basmakalıp tanımlar haricinde sen kodu nasıl tanımlardin? Problemleri çözmek için bilgisayara verdiğin digital talimatlar mı? Yoksa tekrarlı işleri otomasyona bağladığın, aklındaki fikirleri digital ortama aktarmanı sağlayan yardımcı bir araç mı?

Basmakalıp tanımlamaları bir kenara bırakarak biraz da Kod’un gerçek yüzüne ve çok önemli olmasına rağmen yazılımcılar tarafından fazla değer görmeyen bir tanımına bakalım.

Bildiğin gibi sen dahil her yazılımcının yazılan kodlarla gitgelli bir ilişkisi var. Yazmaktan keyif aldığın kodlar yeri geliyor başının tatlı belası haline gelebiliyorlar. Yazılan her kod yönetilmeli, buglardan arındırılmalı, güncelliğini ve sürdürülebilirliğini koruması için düzenli olarak bakımı yapılmalıdır. Bu yüzden yazılım alanında karşılaştığın problemleri kod yazmadan çözebiliyorsan kodun getirdiği birçok külfetten de kurtulmuş oluyorsun. …


Bugünlerde yazılıma yeni başlayacak olan yazılımcılara verilecek tavsiyeler hakkında düşünüyorum. Tavsiye vermek için yetkili olan kişi ben miyim bilmiyorum ama sağolsun etrafımda beni seven ve yaptığım bazı işleri takdir eden arkadaşlarım tecrübelerimden yararlanmak için bana sorular soruyorlar. Ben de meslekteki 12 yıllık deneyimim boyunca yaptığım hatalar ve öğrendiklerime göre naçizane bilgimi aktarmaya çalışıyorum.

“Mesleğe yeni başlayan yazılımcılara ne gibi tavsiyeler verirdin?” gibi bir soru alınca bu konu hakkında biraz düşündüm. “Mesleğe ilk başlarken bana hangi tavsiyelerin verilmesini isterdim?” sorusunu da kendime sordum. …


Startup fikri bulmak için en çok verilen tavsiyelerden biri de kendi problemlerine odaklanmak. Eğer kendi problemini çözen bir ürün geliştirebiliyorsan oyuna 1–0 önde başlamış oluyorsun. Daha ilk günden bir müşterin var ve o da sensin.

Ben de startup fikirleri ararken bu tavsiyeye uyarak kendi problemlerime odaklanmak istedim fakat startup için uygun bir problemim olmadığını gördüm. Ya kendi problemlerimi görmekte güçlük çekiyordum ya da problemlerim çok küçük çaplıydı ve bir startup başlatacak boyutta ve olgunlukta değillerdi.

Sonradan biraz araştırma yapınca aslında bu işlerle ilgilenen bir çok insanın aynı dertten muzdarip olduğunu anladım. Genelde bu tip durumlarda beynini etrafındaki problemleri görmek için programlaman gerektiği söylenir. Günlük hayatta tekrar tekrar yaptığın işler, birisi bunu benim yerime yapsa çok iyi olurdu dediğin işler vs. aslında senin için potansiyel birer startup fikri. Ama tek başına beynini bunun için programlamak da yeterli değil. …


Image for post
Image for post

Geliştirdiğimiz Linkwind projesinin duyurusunu buradaki yazı ile yapmıştım. Bilmeyenler için fazla vaktinizi almadan projenin ne olduğunu birkaç cümle ile açıklamak istiyorum.

Linkwind projesi tek satır kod dahi yazmadan kendi HackewNews benzeri link paylaşım ve tartışma platformunuzu kurmanızı sağlayan bir SAAS(Software as a service) platformu. Linkwind websitesine girip hesabınızı oluşturuyorsunuz ve platformunuz saniyeler içerisinde kullanıma hazır hale geliyor. Detaylı bilgi için Linkwind websitesini ziyaret edebilir veya buradaki yazıyı okuyabilirsiniz.

Bu yazıda da projeyi geliştirirken hangi teknolojileri kullandığımızı, front-end ve back-end tarafını hangi diller ile kodlağımızı ve uygulamayı hangi platformda nasıl host ettiğimizden bahsedeceğim. Geliştirilen bir projede hangi teknolojilerin ne amaçla ve hangi spesifik probleme çözüm olarak kullanıldığı gibi tecrübelerin çok yararlı olduğunu düşünüyorum. …


Image for post
Image for post

Boş zamanlarımızı değerlendirmek, yeni teknolojiler öğrenmek biraz da kendimizi test etmek için verdiğimiz mücadelenin nihayet sonuna geldik. Eğer bu yazıyı okuyorsanız başladığımız yan projeyi bilgisayarımızdaki tozlu disk sektörlerinde çürümeye terketmeden yayına almışız demektir.

Yol boyunca karşılaştığımız zorlukları, öğrendiğimiz dersleri ve edindiğimiz tecrübeleri bu yazı ile sizlere aktarmak, biraz da ucundan projemizi sizlere tanıtmak istiyoruz.

Söz konusu olan bitiş çizgisine kadar gelip, projeyi yayınlamak olunca yazılım alanında ne kadar tecrübeniz olursa olsun işin içine farklı disiplinler girdiği için bir çok yazılımcı bu noktaya gelemeden projeyi terkedebiliyor. …


Image for post
Image for post
www.linkwind.co

Başlığın biraz clickbait göründüğünün farkındayım fakat içinde herhangi bir uydurma haber yok. Biraz sizin dikkatinizi çekebilmek biraz da geliştirdiğimiz projeyi en iyi anlatan cümlenin bu olduğunu düşündüğümüz için böyle bir başlık seçtim. Çok değil, sadece kıymetli zamanınızdan bir kaç dakikaya talibim.

Size bir yan proje olarak başlayan, açık kaynak kodlu Linkwind projesini tanıtmak istiyorum. Başlıktan da kolayca anlayabileceğiniz gibi Linkwind projesi kendi HackerNews sitenizi tek bir satır kod dahi yazmadan kurmanızı sağlayan bir SAAS platformu.

HackewNews’i bilmeyeniniz yoktur. Özellikle yazılımcıysanız. Bilmeyenler için kısaca açıklayayım. HackerNews daha çok teknoloji ağırlıklı olmak üzere, faydalı ve ilgi çekici olduğu düşünülen linklerin paylaşıldığı, bu linklere upvote ve downvote vererek veya yorum yazarak etkileşimde bulunabildiğiniz bir haber sitesi. Bu sitede daha çok diğer websitelerinde ve bloglarda paylaşılan yazıların linkleri paylaşılıyor. …


Image for post
Image for post
Photo by Sai Kiran Anagani on Unsplash

Bir süredir yan proje olarak bir SAAS yazılımı geliştiriyoruz. Projeyi bitirdikten sonra bir blog serisi olarak baştan sona karşılaştığımız problemleri ve çözümlerini kaynak kodu da paylaşarak anlatmayı düşünüyoruz.

Proje multi-tenant bir SAAS yazılımı olduğu için platformda hesap oluşturan her bir müşteriye benzersiz bir sub-domain tahsis ediliyor. Örnek olarak; diyelim ki platformumuz example.com domaini üzerinde host ediliyor. Bir kullanıcı x isminde bir hesap oluşturduğunda kendi platformuna erişim için x.example.com şeklinde bir domaine sahip oluyor. Bu problemin çözümünü bir örnek ile buradaki yazımda anlatmıştım.

Bu problemin üstesinden geldikten sonra karşımızda çözmemiz gereken yeni bir problem vardı: Kullanıcılar platformlarına erişim için kendilerine ait bir custom domaini kullanabilmeliydiler. Birkaç günlük araştırma ve kodlamanın ardından custom domain desteğinin geliştirmesini tamamladık. Bu makalede de çözümü dilim döndüğünce anlatmaya çalışacağım. …


Image for post
Image for post
Photo by Blake Connally on Unsplash

Bir süredir geliştirmekte olduğum yan proje için çözmem gereken basit bir problem vardı: Platform üzerinde hesap oluşturan her bir müşteriye kendilerine özel bir domain nasıl oluşturabilirdim?

Bir örnek verelim: Diyelim ki kişilere kendi bloglarını oluşturmalarını sağlayan medium benzeri bir platform geliştirdiniz. Bloglarını oluşturmak isteyen kişiler sisteme gelip kendi isimleri ile blog oluşturabiliyor ve bu bloglarını onlara özel bir domain ile servis edebiliyorlar. Örnek olarak blog oluşturmayı sağlayan platformun domaini example.com ise ve siz x ismi ile bir blog oluşturduysanız platform tarafından size otomatik olarak x.example.com olarak bir domain sağlanıyor. Çözmeye çalıştığımız problem kaba taslak bu şekilde. Dilerseniz çözümün detaylarına geçelim.

Ben kendi projemde domain provider olarak namecheap, server olarak digitalocean üzerinde bir linux droplet, web uygulamasını servis etmek için nginx ve projemde de Go programlama dilini kullandım. Bu yüzden örnek çözümü anlatırken bunlar üzerinden ilerleyeceğim. Şunu söylemekte yarar var. Bu problemin çözümünde kullandığımız servislere herhangi bir bağımlılığımız yok. Siz dilediğiniz servis sağlayıcıları kullanabilirsiz. …


Image for post
Image for post
Photo by Blake Connally on Unsplash

Günlük tam zamanlı işlerinin dışında yan projeler yazılımcıların boş zamanlarında belki de en çok keyif aldıkları aktivitelerden bir tanesi. Özellikle günümüzde değişimin çok hızlı olduğu yazılım sektöründe, her gün yeni bir teknolojinin ortaya çıkması öğrenmeye aç ve meraklı yazılımcıları cezbediyor. Bu yeni teknolojinin tadına bakmak ve onu öğrenmek istiyoruz.

Yan projeleri bizim yeni teknolojiler üzerinde deneylerimizi yapabileceğimiz laboratuvar ortamları gibi düşünüyorum. En iyi öğrenme metodunun yaparak öğrenme olduğunu bildiğimiz için hemen bir yan proje başlatıp bu yeni teknoloji ile ilgili ilk temelleri atmaya başlıyoruz.

Bazen yan projeleri farklı amaçlar doğrultusunda da başlatabiliyoruz. Özellikle üretmenin, yararlı olmanın ve birşeylere katkıda bulunabilmenin önemli olduğu günümüz dünyasında yan projeleri insanların karşılaştıkları problemleri çözmek için de kodlayabiliyoruz. Bazen boş zamanlarımızda geliştirdiğimiz açık kaynaklı proje insanların derdine deva olabiliyorken, bazen de geliştirdiğimiz yan proje hiç hayal bile etmediğimiz bir noktaya gelebiliyor. …

About

Hüseyin Polat Yürük

Yazılımcı • Girişimlerle ilgili • Programlama üzerine yazar • Tek bir basit kural: İlerle • Medium EN: @hpolatyuruk • Blog: https://huseyinpolatyuruk.com/tr

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store