Bilmek istediğin her şeye ulaş

Aslan Akali,

Web Developer

Elifweb.com şirketi yöneticisi

Nisan 2014

Aslan Akali bir yanıt verdi.

Yazılımcıysanız internetten yeni bir programlama dili ya da teknoloji öğrenmek için (mobil uygulama, vs.) hangi sitelerden yararlandınız? Faydalı oldu mu? Böyle bir sitede olmasını istediğiniz bir özellik var mı?

Örneğin Android öğrenmeye başlarken bir kitaptan faydalandım. Temel konuları 1 hafta içinde çözdükten sonra ufak tefek uygulamalar yapmaya çalıştım. Bunu yaparken Google'da İngilizce kelimelerle aramalar yaptım. Bizimkiler matbaa çağında tıkanmış halen. Sonuç olarak uygulamayı adım adım tamamladım ve yeni uygulamalara yöneldim.

Şu sıralar da Blender'a merak sardım. Bunu öğrenmeye başlarkense youtube'da temel konuları anlatan bir video serisi buldum. Burdan başlayıp video'da izlediklerimi uyguladım.

Yani Türkçe başla ve belli bir raddeye geldikten sonra İngilizce devam et. İngilizcem kötü gibi bir durum varsa kafaya takmamak lazım. Ufak tefek projeler geliştirirken araştırmalarında okumalık temel ingilizce ve translate yeterli oluyor.
Nisan 2014

Aslan Akali bir yanıt verdi.

Profesyonel bir siteyi fikrini kaptırmadan güvenilir bir şekilde nasıl yaptırabilirsin?

Bugüne değin en az 300-400 site sıfırdan kodlamışımdır. Bir yazılımcıda fikir boldur. Elimin altında tasarımı hazır onlarca kendime ait proje varken etik konusunu geçtim gidip bir müşterimin projesini çalmaya uğraşmam. Hadi çalacak kadar adi bir insan oldum diyelim buna o projeyi yaptıran kadar çok önem vermem vakit ayırmam. Bu nedenle bu tarz endişeler anlamsız. Fakat çok farklı çok yeni bir projeniz varsa patentlersiniz fikri. Buna rağmen endişeniz yazılımcı değil pazarlamacılar ve sektör rakipleridir.
Nisan 2014

Aslan Akali bir yanıt verdi.

Yazılıma yeni başlamaya karar verdim, nereden ve nasıl başlamalıyım? Yaklaşık 100 kişilik bir arkadaş grubumuz var ve kendi aramızda haberleşmek için Twitter benzeri bir site kurmak istiyoruz, bunun için neler bilmek gerekir?

Fantastik cevaplar gelmiş. Projen masaüstü bir yazılım değil web yazılımı. C-C++ vb yerlerden başlaman vakit kaybı olur.

Eğer eğitim tavsiyesi isterse phpprogramlama.com'u bir incele. Ben tek başıma hallederim dersen HTML, CSS ile görmek istediğin görüntüyü çıkarmaya çalış. Photoshop ve ya Gimp üzerinde de tasarlayabilirsin. Youtube'da Photoshop website design, Gimp website design gibi aramalar yapabilirsin. Bu tasarım HTML ve CSS için sana bir ön görüntü olacak. Bu ön görüntüye bakarak HTML, CSS iskeleti oluşturacak bazen arka plan vb. görselleri buradan kopyalayacaksın.

Tasarımını hazırladıktan sonra beğenmeyeceksin. Fazla kafayı takmayıp niteliğe bak. Yoksa o proje çıkmaz. Benim başıma geldi nitekim... Zamanla değiştirir geliştirirsin.

Bu esnada kullanıcılara yönelik küçük animatif aksiyonlar olmasını ve ya kullanım kolaylığı sağlayacak şeyler yapmak için Javascript - JQuery kodları arasında bulacaksın kendini.

Aylar geçtikten sonra PHP/MySQL ile spagetti kodlama yapmaya çalışacaksın. Çalışmalısın. Paldır küldür OOP içine dalmamalısın. Yapısal programlama temeliyle başlamak daha kolay ve şevk verici olacaktır. Ekrana bazı içerikler yazdıracak bunları güncelleyebileceğin bir alan oluşturacaksın vs. Sonrasında kullanıcı kayıt ve giriş alanlarını kodlamaya çalışacak sessionlarla, cookielerle tanışacaksın. Unutma pratik olarak yapmadan sırf okuyarak vaktini harcamamalısın. Yapmaya çalışmalı ve o an yapmak istediğin şeyi yapabilmek için okumalısın. Arada fazladan bir şeyler okuman ve kendini geliştirmen kaçınılmaz olacaktır.

Site hazır olduğunda yani belki 8 ay belki 1 yıl belki 2 yıl sonra kodlarının çok karışık olduğunu görecek ve sistemli hale getirmek isteyeceksin. Bu etapta kütüphanelerini "class" olarak değiştirip gruplayıp sınıf yapısını öğrenmeye başlayacaksın. Bu sana yetersiz geldiğinde Frameworkleri incelemeye başlayacaksın. Slim, Laravel ve Codeigniterin genel yapılarını anlamaya çalışabilirsin. Tabi o zaman daha iyi bir Framework olabilir. Bunlardan birinde karar kılar ve sistemini baştan kodlarsın.

Teorik olarak amacına uygun olmayan şeylerle başlarsan bunlar senin şevkini kırar. Web yazılım ile masa üstü yazılımcılık bambaşka. Temel mantıkları ise elbette benzer. Fakat diğer şeylerle zaman harcama çünkü bu isteğini yapman çok zaman alabilir tek başına. Eğitim bile alsan en az 4 ay nefessiz çalışman gerek.

İlk inploidim bu olsa gerek umarım faydalı olur. :)