İlk projemiz piyasa.com yayında, sırada ikinciel.com ve etkinlik.com var

Geçenlerde yeni bir serüvene başladığımızdan bahsetmiştim. Bu serüven ilk meyvesini verdi ve piyasa.com beta olarak yayın hayatına başladı. GENEL olarak, ilk projemizi geliştirirken şirket içinde oldukça zevkli bir geliştirme süreci yaşadık. Çıkan sonuçtan oldukça memnunuz. Daha geliştirilecek çok eklentisi ve alacak çok yolu olmasına rağmen, hem mevcut alanadının gücünü, hem veri madenciliği konusundaki deneyimimizi, hem Hamide Yüce gibi oldukça yetenekli bir yazılımcının aramızda olmasını, ve son olarak da Türkiye’de sayılı tasarımcılar arasında gördüğüm Ahmet Emin Yüce‘nin katkılarını toplayınca önümüzdeki günlerin piyasa.com açısından olumlu geçeceğini düşünüyorum.

 

Bunun yanında ana gemimiz olacak olan ikinciel.com ve diğer bir “fırkateyn” adını verdiğimiz yan projemiz olacak olan etkinlik.com ile birlikte, 2012 yılının GENEL açısından iyi bir yıl olacağını umuyorum. Projelerimiz bunlarla sınırlı olmayacak elbette. Sektöre yeni bir soluk ve daha fazla canlılık getirmek hedeflerimiz arasında.

 

 

 

Tüm bu süreçleri gerçekleştirirken nahoş durumlarla da karşılaştık ama açıkcası bunlarla zaman kaybetmeden işimize odaklanmayı başardık diyebilirim.

 

Yol alırken onların deneyimlerinden faydalanıp, saygın bir rekabet ile kendimizi ispatlamaya çalışacağız.  Bu rekabetin sektördeki tüm şirketlere, pazarın gelişmesi noktasında faydası olacağını düşünüyoruz.

 

Özetle düştük yollara, yanımıza tüm dostların iyi dileklerini alarak…

19 Yıllık serüvenim

1992-2011 19 Yıllık serüvenim…

Blogumda bir “hakkımda” yazısı bulundurma ihtiyacı duymadım uzun süre. Aslında ne yazacağımı da çok iyi bilmiyordum. Kendimi iyi anlatabilen biri olamadım hiçbir zaman (Bkz:Disleksi). Ama yazmak… Yazdıkça, yazılanları düzelttikçe ister istemez elimde bunu yapabilecek bir araç oluştu. Tepkiler çoğunlukla olumluydu, bu beni daha çok yazmak için şevk etti. Yazılım ile ilgili konular yazılımın kendisinden ibaret olmamaya başladı ve sektöre yönelik analizlerin “yazılımcı”nın gözünden aktarılmasının insanların beklentileri arasında daha çok olduğunu gördüm. 19 yıldır bu sektörün ortasında, kıyısında ama hep içindeydim. Bu süreç insanı hem yıpratıyor hem de olgunlaştırıyor. Yüzlerce insanı, onların davranış kalıplarını, korkularını, sevinçlerini ezberleminizi sağlıyor. Sanırım deneyim dedikleri bu olsa gerek.

1992 ->

Lise 2′deydim. 1992 yılında Mersin’de atari salonlarının müdavimlerinden 14 yaşında bir çocuktum. Ama atari salonlarında tek yaptığım oyun oynamak değildi. Makinenin içini merak edip, kurulumları izleye izleye, ilgimi ekrandan cihazın kendisine kaydırmaya başlamıştım. Bir süre sonra oyun kurulumlarını, cihazın işleyişini, ufak birkaç komutu öğrenerek bu ilgiyi bir meslek haline dönüştürmeye başladım. Atari salonlarında çalışmaya başladım, hemen hemen tüm mevcut atari makineleri öyle böyle elimden geçmeye başladı. Ufak harçlıklar da işin ikinci plandaki güzel yanıydı. Ama o harçlıklar yine cihaza gidiyordu. Çoğu zaman okula yürüyerek gidip gelmek bile buna engel olamadı. Yediğim dayaklar da başka bir yazının konusu olacak kadar çoktu :)

Babam bundan oldukça rahatsızlık duymuş olacak ki bit pazarından bir “Atari 2600″ aldı. O zamanlar için artık “demode” sayılabilecek bu makine bile beni benden aldı desem yanlış olmaz. Bir Commodore 64 olmasa da Mersin gibi bir yerde buna sahip olmak bile her çocuk için harika bir armağandı. Ama kurbağayı nehrin karşısına geçirmek, Street Fighter karşısında hala tercih edilebilir bir şey değildi benim için. Çok sürmedi ve yine atari salonlarına dönüş yaptım.

1994 ->

Sınav tercihlerinde kendine çok güven duymak açıkta kalmama neden oldu. O sene ek kontenjan ile hiç istemediğim bir bölüme Hacettepe Jeoloji Mühendisliğine girmek zorunda kaldım. Ama Ankara o zamanlar PC ile daha haşır neşir olabileceğim bir ortam sundu. Bazen arkadaşlarımın başlarının etini yiyerek PC’lerini birkaç günlüğüne alıyordum. Onlarca disketten oluşan dandik programlardan, balon içine harf yazmaktan ibaret olan çizim uygulamalarına, oyunlara kadar her şeyi kurmak, üzerinde çalışmak, bozulana kadar komut kombinasyonlarını denemek hastalık haline gelmişti. Bunu okulun kütüphanesinde bulduğum bilgisayar kitapları izledi. Okula hangi ara gittim, neler yaptım, hangi kızlarla çıktım, hangi sinema filmlerini izledim çok iyi hatırlamıyorum ama 16-18 yaşlarından bana kalan en güzel anılar bunlardı. Bu sırada artık az çok “bilgisayarcı” damgasını yemiştim. Çevremdekilerin gidip geldiği kurumlara ufaktan hizmetler vermeye başladım. Ankara Tabip Odası iyi bilgisayarlara sahip olan bir yerdi ve sık sık gitmeye başlamıştım. Donanım artık çocuk oyuncağı haline gelmişti. Tüm PC yi en ufak parçasına kadar ayırıp, sonra yine toplamak sık yaptığım işlerdendi. Ama işletim sistemi ve programlama her zaman ön plandaydı.

1998 ->

Hacettepe’yi bırakarak Doğuş Üniversitesi’ne girdim. Biraz tehlikeli bir karardı. Bursu kaybetmem durumunda okulu tamamen bırakmam gerekecekti ama o tehlikeyi hiç yaşamadım sonraki yıllarda. Doğuş Üniversitesi elde edebileceğim en iyi bilgisayar diyarını bana sundu. İki bilgisayar eğitimi alan arkadaşımla aynı evde kalmaya başladık (Serdar Temel şu an Temel Bilgisayar’ın ve harcamalarim.com projesinin sahibi, Mehmet Ali Özbay kısaca Mali, HU Texas Learning and Computation Center’da yazılım geliştirici). Sadece saatlerce süren Age of Empires partileri için değil, Visual Basic ve Delphi başta olmak üzere birçok konuda bana sağladıkları bilgi havuzu için onlara ne kadar teşekkür etsem azdır. Bu sırada Tarsus’taki bir firmaya freelance web işleri yapmaya başladım. Oradan alacaklarım karşılığında bir PC de elde etmiştim. Okulun bilgi işlem departmanında “fiili” olarak çalışır buldum kendimi. Daha sonra o zamanın iyi firmalarından birinde okuldan arta kalan zamanlarımda web geliştirmeye başladım. Bir işi kaybetmemek için bilmediğim halde biliyorum dediğim Macromedia Flash’ı bir gecede öğrenmek zorunda kaldığımı hatırlıyorum. O gece çıkan işi firma beğenmişti. Bu sırada maalesef ve üzülerek söylemeliyim ki ismini hatırlayamadığım bir arkadaşım sayesinde Linux ile tanıştım. Sistem yönetimi yapan bu arkadaşı izlemek yanında oturup bir şeyler kapabilmek oldukça zevkliydi. O zamanlar sorularımdan baya bunalmış olmalı :) Bu iş deneyimi benim için dönüm noktasıydı. Yeni kapılar açılmıştı önümde. Mali konuda da deneyim kazanmaya başlamıştım. İlk defa paramı alamama ile yüzleştiğim oldu. İlk defa buna nasıl tepki vereceğimi öğrenmeye başladım. Birçok iyi firmanın ilk websitelerini veya ilk değişikliklerini yapıyordum. Bu arada ASP serüvenine son vererek PHP’ye geçiş yaptım. ASP bana Internet yazılımında iyi bir arkadaş olmuştu, onun zayıflıkları yazılımcıyı güçlendiren, sorunları çözmek için daha çok çaba göstermesini sağlayan bir etki yaratır. 2002 yılında Python ile tanıştım. İlgimin çoğu kısmını Zope oluşturuyordu. Yahoo Groups’ta bulunan piton adlı grubu takip etmeye başladım ancak 50-60 kişilik bu grup maalesef çok yetersiz kalıyordu. Zope desteği olan yerli hosting firmaları da bulunmuyordu. O zamanlar ivme Python açısından pek olumlu değildi Türkiye’de.

2003 ->

Yüksek Lisans başvurularımın kabul edilmesi üzerine ODTÜ Bilişim Sistemleri ve Felsefe bölümlerine kayıt yaptırdım (O zamanlar iki bölüme kayıt yaptırabiliyordunuz). Bu arada ilk 5 rakamlı işimi aldım ve Pratisyen Hekimlik Derneği’nin üye veritabanını ve sitesini hazırladım. Bunu çeşitli Tabip Odalarından gelen site talepleri izledi. Oldukça verimli zamanlarımdı. Okulda Java ve Netbeans konusunda kendimi geliştirmeye başladım. Kaldığım yurttan birkaç arkadaşımızla DC++ için sunucular kurup, yönetmeye başladık. 2003-2005 arasında ODTÜ yurtlarında kalıp film/dosya paylaşımı yapan herkesin başta Kaan, Hanifi ve ben olmak üzere birkaç kişiye teşekkür borcu var :) mymetu.com projesini yapmaya başladık ama maalesef yoğun iş ve okul temposundan o projemiz askıda kaldı. thefacebook.com ortalıkta yoktu henüz ama onunla işleyiş olarak farkı olmayacaktı (tamam tamam öyleydi ama beceremedik sonuçta :) gülmeyin hemen).

2005 ->

Askerde supermen bilgisayarcı muamelemesi görmek suretiyle maruz kaldığım eziyetin haddi hesabı yoktur. Notepad’te html kodlamak (Karanet’te siteler statikti), Paint’te logo hazırlamak, Excel’de 9. Kolordu için muhasebe programı yazmak, işlemcisinin var olup olmadığı tartışılır bilgisayarları ayağa kaldırmak bunlardan bir kaçıydı. Askerden döndükten 3 gün sonra yeni işime başladım. Turkcell’in çözüm ortağı olan bu firmada başta mesajlaşma sistemleri olmak üzere Telekomünikasyon konusunda oldukça büyük deneyimler elde ettim. Bu süreçte öğrendiğim bir çok şey için Turkcell’in çözüm ortaklarından 3G Bilişim’in kurucusu Levent Yıldırım’a da bir teşekkür etmeden geçmeyeceğim. J2me ile ileride devam etmesem de oldukça haşır neşir olduğum bir süreç yaşadım.

2007 ->

Bir süre freelance çalışmaya başladım. Bu sırada Ostim’de bir firmanın bilgisayar ve yurtdışı görüşmelerini yapmaya başladım. Ebay’de, GittiGidiyor’da yurtdışından gelen konteynerların bir köşesine attırdığım elektronik ürünleri sattım. Ama bu süreç çok uzun sürmedi ve Ankara’nın en büyük ajanslarından birinin ilanına Bilgi İşlem Müdürü olarak başvurdum. Ajans’ta çalışanlar bilir; işler çok stresli, tempolu ve bazen de hoş olmayan süreçlerle ilerler. Ama bu firmanın bana kattığı çok şey vardır. Kişilik olarak biraz sert bir mizaç edinmemi sağlamıştır ama olaylara daha sakin yaklaşmamı da sağlamamıştır. Sektörde olan hiçbir şeye kolay kolay şaşırmayacak bir düzeye taşımıştır beni. İnsanları yönetmenin, onlar ile şirket arasında adil bir terazi olmanın ne kadar güç olduğunu da orada öğrenmiş oldum. Kod yazmak, sistemleri yönetmek bir rutindi ama bir yazılımcının maaşının arttırılmasını talep etmek, şirketin olumsuz bir isteğini diğer çalışma arkadaşlarıma, onların ruh hallerini dikkate alarak kabul ettirmeye çalışmak; işte asıl yorucu olan bu süreçti. Bu süreçte tanıdığım ve her zaman birlikte çalışmaktan mutluluk duyduğum Tümay Çeber, Ahmet Emin Yüce, Hamide Yüce ve Adem Kıvanç Filtekin’in adlarını da anmadan geçmeyeyim. Kriz ile birlikte bu çalışma ortamı daha çok katlanılmaz hal alınca 2009′da pılımı pırtımı toplayıp Mersin’e yerleştim. Bu yıllarda cember.net’in üzerimdeki etkisini de es geçemem. Hayat boyu devam edeceğim dostluklar edindim. Sektörü çok yakından tanıma fırsatım oldu, insan ilişkilerinin ne kadar önemli olduğunu gördüm. Outsource birçok iş almamı da bu siteye borçluyum.

2009 ->

Artık tek başımaydım. hayatımın en yoğun kod yazma sürecine girdim. 2 yıl boyunca ortalama 18-20 saat kadar çalıştım. Yüzlerce uygulama, bir o kadar sistem yönetim işleri, veri madenciliği işleri yaptım. Bir şirkette veri madenciliği üzerine çalışmak üzere kalkıp İstanbul’a gittim. Maalesef işler göründüğü gibi değildi. Firma zor süreçler geçiriyordu bu yüzden Mersin’e yeniden dönmeye karar verdim. Ama o şirkette oldukça kaliteli yazılımcılarla tanışma fırsatım oldu. Yılmaz Uğurlu, Emre Yılmaz, Timu Eren, Umut Aydın, Cihan Okyay bunlardan birkaçıdır. Mersin’e döndükten sonra bir firma kurma düşüncesi ile Kosgeb kurslarını tamamladım. Maalesef yazılımcı bulamadım ve kaynaklarım tükeniyordu. Bunun üzerine bir de 147 kiloya ulaşınca ve artık ölüm kapımı tıklamaya başlayınca, başka bir çözüm yolu gözükmedi ve Ankara’da bir firmada çalışmaya başladım. Orada da işler dışarıdan göründüğü gibi değildi. Bu sefer şirket sahibi sorunun bende olduğunu ve bir firmada kolay kolay mutlu olamayacağımı söyledi. Diğer konularda oldukça yanılgı içerisinde olduğunu düşünsem de bu konuda haklı olabilirdi.

2011 ->

Biraz da bu öneriyi dinleyerek iki arkadaşımla Eylül ayında kendi firmamızı kurduk. Bu Pazartesi serüvenimiz başlıyor ve bilgisayar başına oturuyoruz. Bu süreçte kariyerlerini bırakıp aramıza katılan yazılımcı ve tasarımcı arkadaşlarımız da oldu. İdeallerle, gerçekleri birbirine karıştırmadan, kendimizi ve sektörümüzü büyültecek oldukça güzel başarılara imza atacağımıza adım gibi eminim. Şairin dediği gibi:

“Büyük aşklar yolculuklarla başlar ve serüvenciler düşer yollara…”
Ahmet Telli

Düştük biz de yollara…

02.10.2011

WHMCS 4.4.2 için Yeni Garanti Bankası 3D Secure Ödeme Modülü

WHMCS için Garanti Bankası’nın yeni sistemine uygun şekilde hazırlanan 3D Secure ödeme modülü için ilk alpha’yı yayınlıyorum. Bunu test için eklediğimi belirteyim. Henüz ödeme sisteminde kullanıma almayın. Test sonuçlarını yorum olarak ekler ve karşılaştığınız problemleri iletirseniz, kısa zamanda varsiyon 1′i yayınlamış oluruz:

3dsecure.rar

Kod (v.0.9) üzerinde son değişiklik 22 Nisan 2011 22:40

WHMCS 4.4.2 için Yeni Garanti Bankası Sanal Pos Ödeme Modülü

Kod WHMCS üzerinde test edilmedi ama edildi ve ödeme ve geri iade özellikleri başarıyla çalıştı. Development Kit’e uygun hazırlandı. İyi kullanımlar…

Kod Altan Tanrıverdi ve Tümay Çeber tarafından yazılmıştır. GNU-LGPL kapsamında kullanabilirsiniz. Bu kodun ionCube vb. uygulamalar ile kriptolanması veya satışa sunulması söz konusu olamaz.

garanti_new.php adı altında modules klasörüne kopyalayın. Aktive etmeden önce kod içerisindeki yorumlara göz gezdirmenizde ve varsa değişiklik yapmanızda fayda var.

Test sonuçlarını veya düzeltmelerinizi yorum olarak eklerseniz seviniriz.

garanti_new.rar

Kod (v.1.1) üzerinde son değişiklik 4 Mart 2011 14:50

3D Secure ödeme modülü için: 3D Secure

Ubuntu üzerine nginx kurulumu

Tam olarak hangi sitelerden derlediğimi hatırlamıyorum ama bash script olarak yedeklerimde bulunan komut yığınını paylaşmak istedim. Ubuntu üzerine en hızlı şekilde nginx kurmak için aşağıdaki komutları girmeniz yetecektir:

1. Ubuntu’yu güncellemek

sudo apt-get update
sudo apt-get upgrade

2. nginx, spawn

sudo apt-get install php5-cgi nginx spawn-fcgi

3. nginx’i başlatma

sudo service nginx start

4. nginx ayarları

sudo sed -i '47s/#location/location/g' /etc/nginx/sites-available/default
sudo sed -i '48s/#fastcgi/fastcgi/g' /etc/nginx/sites-available/default
sudo sed -i '49s/#fastcgi/fastcgi/g' /etc/nginx/sites-available/default
sudo sed -i '50s/#fastcgi_param/fastcgi_param/g' /etc/nginx/sites-available/default
sudo sed -i '50s/scripts/var/www/nginx-default/g' /etc/nginx/sites-available/default
sudo sed -i '51s/#includefastcgi/include fastcgi/g' /etc/nginx/sites-available/default
sudo sed -i '52s/#}/}/g' /etc/nginx/sites-available/default

5. fastcgi otomatik çalıştırma

sudo sed -i 's/exit 0//usr/local/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -C 10 -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid/g' /etc/rc.local
sudo echo 'exit 0' >> /etc/rc.local

6. fastcgi port 9000′ini dinlemesi için

sudo spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid

7. nginx’i yeniden başlat

sudo service nginx restart

8. /var/www/nginx-default/ altında bir PHP dosyası yaratarak test edebilirsiniz.

9. MySQL kurulumu

sudo apt-get install mysql-server mysql-client php5-mysql

10. nginx tekrar çalıştırma

sudo service nginx restart

16 yaşında olsaydım…

Uyarı: Bu yazıdan hoşlanmayan meslektaşlarım olabilir, çünkü, konulara kişisel bakış açımı içermektedir. Yer alan önerilerden faydalanmak isteyenler, yazıyı okurken çeşitli önyargılarım ve kalıplarım olduğunu göz önünde bulundurmalıdırlar.

Uzun süredir arayış içerisinde olan genç yazılımcı adaylarının sektöre yönelik sorguladıkları ama net cevap alamadıkları sorular var. Bu sorulardan ben de payıma düşeni alıyorum ve ne yazık ki bizden beklenen cevaplar net olmadığından bir nevi tatminsizlik sürüyor. Nereden başlamalıyım? Hangi programlama dilini tercih etmeliyim? Hangi platformda, hangi IDE ile yazılım geliştirmeliyim?, Sektörde nasıl iyi bir işe sahip olabilirim? Ne kadar maaş alırım? Hangi Framework’ü kullanmalıyım? vb. onlarca soru yıllardır çeşitli platformlarda dillendiriliyor. Söylediğim gibi göreceli yaşlı yazılımcıların bu konuda, size önerileri olabilir ama net cevaplar verip kesin yönlendirmeler yapmaktan hep kaçınılır. Doğrusu da budur. Diğer taraftan “senin yerinde olsaydım” ibaresi ile başlayan cevaplar da yanlış sayılmaz ki birazdan ben de öyle yapacağım.

Hayatta birçok şey programlamanın size yaşattığı duyguyu yaşatamaz. Evet birilerini çok seversiniz, bir futbol takımına fanatik olarak bağlısınızdır, ailenize taparsınız, sosyal olaylara, bilime, sanata veya herhangi bir alana yönelik ilginiz çok yoğun olabilir ama bu ilk cümledeki yargıyı değiştirmeyecektir. Bir yazılımı yaratma duygusu yaşayabileceğiniz en büyük hazlardan biridir. Yazılımcının her şeyden önce en iyi bildiği yapısal model psikanalizdir ve denek olarak kendini koyar. İd’de saklı arzuları sayesinde haz duyar ve doyuma ulaşmaya çalışır, Ego ile ayaklarını yere indirmeye çabalar, hazzı enerjiye dönüştürür ve planlamaya girişir, sonunda da Süperego ile bir öğrenme sürecine girer ve izlemesi gereken yolları belirler. Bu sürecin ikinci aşamasına gelmiş yazılımcı adayının önünde yukarıda saydığımız sorular belirir. Bu o kadar zor bir süreçtir ki yapılacak en ufak öneri, öneriyi yapan tarafından çok önemli olmasa da alan açısından hayati olabilir.

Yazının amacını çok bulanıklaştırmadan konumuza dönelim. Kendimi 16 yaşında yazılıma gönül vermiş biri yerine koymaya çalıştım. Gelmiş olduğumuz nokta yeterince bulanık zaten, onlarca alan, programlama dili, framework vs. içinde boğulur gibi oluyoruz. Seçim gerçekten zor görünüyor. İlgi alanın ne ise ona göre hareket et gibi muğlak öneriler yerine daha elle tutulur öneriler yapmaya çabalayacağım.

16 yaşında olsaydım şunları yapardım:

1. Amaç Belirleme
İyi para kazanıp, iyi bir yaşam standartına ulaşmak mı? Sağlam yazılımlar üretip adımı duyurmak mı? vb. Elbette liderlik kitaplarındaki sığ söylemleri kullanmak değil niyetim ama hiçbir amacınızdan utanmayın, bunlar sizin yegane motivasyon araçlarınızdır. Daha iyiye yönelik olmayan hiçbir çaba size başarıyı getirmeyecektir.

2. Üniversite Eğitimi
İmkanım varsa Bilgisayar, Elektronik veya ilgili alanlarda yüksek öğrenim şansı yakalamaya çalışırım. Bu imkanı yakaladığınızda şanslı bir azınlık içerisinde olduğunuzun farkına varmalısınız. Derslere kredi olarak bakmak yerine, okul dışında binlerce TL vererek ancak alabileceğiniz eğitimler olarak bakın. Örneğin ODTÜ’de 135 saatlik bir Java eğitimi için 2500-3000 TL ödemek zorundasınız.

3. A’dan Z’ye C Kılavuzu
Kaan Aslan‘ın “A’dan Z’ye C Kılavuzu” adlı kitabını almak. Amacımız sadece C programlama dilini öğrenmek değil, belki de yazılımcı adaylarına yapılmış en iyi öğütleri ve bu dünyayı tanıtmaya yönelik metinlerden birini okuma şansını bulmak. Bu kitabın ilk 50 sayfası size yazılımı, onun sınıflandırılmasını, programlama dilleri ve kategorilerini, işletim sisteminin ne demek olduğunu ve bir yazılımcının bilmesi gereken tanımları sunacaktır. Bunların yanında C programlama dilini öğreten en iyi kitaplardan biridir ve sanırım Türkçe kitaplar içinde birincisidir.

4. İşletim Sistemi Seçimi
Unutmayın, burada “ben olsam” ibaresiyle bu yazıyı yazıyorum ve Linux dışında bir platformu asla seçmezdim. Bu bağnaz bir fanatiklik değil tam aksine daha önce yaşanılan deneyimlerden elde edilen bir sonuçtur. Biz, bir son kullanıcı gözüyle işletim sistemi tercihi yapmıyoruz, hedeflediğimiz amaçlara en uygun ortamları belirlemeye çalışıyoruz ve Linux’un yazılım dünyasına sunulmuş bir hediye olduğunu görmek gerekiyor. Hayatınızın 1 yılını Linux’a harcamakla başlayın eğer ileride Sistem Yöneticiliği yapmaya niyetiniz yoksa bir yazılımcı olarak hemen hemen gerekli tüm alışkanlıklarınız yerine oturmuş olacaktır.

5. Alan Seçimi
Amacınız iyi bir yaşam standartı belirlemek veya parayla alakalı olmayan şeyler olabilir, iyi bir haberim var bunların seçtiğiniz alan ile hemen hemen hiçbir ilgisi olmayacak, seçtiğiniz alanda ne kadar iyi olduğunuz en önemli kriterdir. Sanayi üretimine yönelik yazılımcılık, oyun, sistem, mobil, Internet yazılımcılığı vs. buna karar vermek zorunda kaldığınız bir nokta olacaktır. Hepsinde uzmanlaşma şansınız maalesef olmayacaktır. Bazı durumlarda kaymalar yaşabilirsiniz ancak bu oldukça sıkıntılı bir süreç olacaktır.

6. Programlama Dili Seçimi
Alan belirlemeniz bu konuda seçim yapmanızı kolaylaştıracaktır. (Kaan Aslan’dan alıntılayayım) Unutmamanız gereken şu: sizi iyi bir yazılımcı yapacak şey, çok fazla programlama dili bilmeniz değil, bildiğinizi etkin kullanabilmenizdir. Kitapta yazan ve yanında çalışma fırsatı bulduğumuz yazılımcı abilerimizden öğrendiğimiz bir yol vardır: bir alçak, bir orta ve bir yüksek seviyeli programlama dili öğrenmek. Eğer kafanızda net bir alan belirleyemediyseniz bunu gerçekleştirene kadar C ile devam edin. Ben olsam Assembly, C, Go (veya C++ veya Python) üçlemesini tercih ederdim. İş olanaklarına bakılırsa Java, PHP, C# programlama dilleri de her zaman iyi tercihler olacaktır, bunu gözden kaçırmayın. ( Şu adresten bu konudaki eğilimi takip edebilirsiniz: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html )

7. IDE Seçimi
Yeni başlayan bir yazılımcı adayı olarak tercih ettiğim dillere en uygun olmasa da hepsini bir arada kullanabileceğim bir IDE daha yerinde olurdu. Örneğin NetBeans; Java, C/C++, PHP ve ek olarak ayrı bir kurulum ile Python’a destek veriyor. İyi bir tercih. Hangi IDE’yi kullanırsanız kullanın eğer kullanım kılavuzunu es geçiyorsanız onu, çok büyük oranda etkisiz kullanıyorsunuz demektir. Mutlaka okuyun ve kendinize uygun şekilde özelleştirin. Renk seçiminden, kısayol ayarlarına kadar her şeyi özelleştirin.

8. RegEx
Düzenli İfadeler sadece programlama değil, aynı zamanda sistem üzerinde elinizi güçlendirecek bir yardımcıdır. Öğrenme süresi/Fayda oranının en düşük olduğu kavramlardan biridir ve 1 aylık bir öğrenme süreci sonucunda çok güçlü bir araca sahip olacaksınız.

9. Git
Linux’un yaratıcısı Linus Torvalds tarafından yazılan Git, kaynak kodu yönetimi ve versiyon kontrol aracı olarak bilginize eklemeniz gereken bir araçtır.

10. OOP
Nesne yönelimli programlama meslek hayatımızda çok önemli bir yere sahip hale gelmiştir ancak OOP konusunda kritikleri okumak ve yargılarımızı tek bir görüş ile oluşturmamak gerekiyor. OOP dışında mevcut olan programlama yaklaşımlarını incelemeyi gözardı etmeyin. Alexander Stepanov, Paul Graham gibi önemli isimlerin bu konudaki kritiklerine göz geçirmekte fayda olacaktır.

11. Framework
Seçtiğiniz programlama dillerine göre fazla alternatifiniz olmayabilir ancak bir framework seçerken neye imkan tanıdıkları yanında neye cevap veremediklerini de öğrenin. Framework hakkında yazılan olumlu şeylerden çok olumsuz şeyler size fikir verir. Unutmayın bir araç hakkında yapılan söylemlerin çoğu onu kullanmamış veya yeni kullanmaya başlamış kişilerden gelebiliyor ve bu çok sık rastlanan bir durum.

12. Şirket Seçimi
Şirket seçmeyin, yazılımcı seçin. Bir yazılım şirketini iyi yapan ilk kriter orada çalışan diğer yazılımcılardır. İlk zamanlar ne yazık ki bunu siz belirleyemeyeceksiniz. İyi olmayan şirketlerde çalışmak zorunda kalacaksınız, bunun ne kadar süreceği, sizin göstereceğiniz gelişime bağlıdır. Alacağınız maaşı da yine belirleyen siz olacaksınız. Ama bu süreci atlatırken yasal/etik olmayan hiçbir sürece boyun eğmeyin. Düşük sigorta, maaş vb. kısıtlamalara olur çekmeniz hayatınızda geri dönülmeyecek hasarlara yol açabilir. İyi bir yazılımcı sadece ürettiği program ve kodlar ile değil takındığı tavır, dürüstlük ve gördüğü saygı ile de belirlenir.

13. Ne kadar kazanabilirim?
Büyük ihtimalle 2000 – 10000 TL arası kazanacaksınız. Junior olsanız dahi bunun altındaki ücretlere tenezzül etmeyin. Yazılım çoğunlukla lüks işidir ve bunun üreticileri sizlersiniz. Çok net olarak şunu bilin, aldığınız eğitimi ve bilgi birikiminizi şirketler karşılamak ZORUNDADIR. Çünkü bu bilginizi kullanan onlardır, ucuza satmayın. Çok iyi referans olabilecek ve/ya çok iyi olduğunu düşündüğünüz bir şirket dahi olsa kabullenmeyin. Eğitim sürecine sizin veya ailenizin yaptığı yatırımları düşünün ve aynı sürede bu yatırımı geri alabiliyor olmanız gerektiğini bilin. Junior olarak 2000-2500 TL, Yazılımcı olarak 2500-5000 TL ve Senior olarak 5000 TL üstü idealdir. Bulunduğunuz şehire göre hayat standartınız değişmemek şartıyla beklentilerinizi kendiniz düzenlemelisiniz.

14. …

Junior kime denir?

Hızlı bir giriş yaparak baştan yazalım: Junior, söz konusu yazılım dili konusunda bilgisi olmayan, yeni başlamış, öğrenmeye hevesli vb. tanımlarla ifade edilen yazılımcı değildir.

Junior yazılımcı, söz konusu alanda eğitim almış ama iş deneyimi olmayan kişidir. Peki söz konusu özelliklere sahip insanlar kimler? Onlar yazılımcı adaylarıdır ve kendilerine “alaylı” diye hitap ettiklerine sıkça şahit oldum.

Junior yazılımcılar iş deneyimleri olmadığından, işe başladıkları zaman büyük projelerde ana geliştirici olarak çalıştırılmazlar. Bunun iki nedeni vardır: 1. Hata yapma ihtimalleri yüksek olduğundan, bu gerçekleştiğinde kendilerine olan güvenlerini yitirmelerini engellemek, 2. Zamanlarını bir projeyi gerçekleştirmeye çabalamak yerine, bu projenin gelişim sürecini izlemelerini ve bazı alanlarda katkı sunmalarını sağlayarak deneyim kazanmalarının önünü açmak. Tabi her şey Junior için değil. Firma açısından da işlerin sarpa sarmasını engellemek bir 3. neden sayılabilir.

Yani söz konusu olan yazılım dili hakkında eğitimden kaynaklı bilgi eksikliği değil, deneyimden kaynaklanan bilgi eksikliğidir. Bu yazıyı yazmama neden olan LKD Listedeki bir tartışmaydı. PHP alanında Junior yazılımcı aranan bir ilanda, başvuru yapan kişiye OOP sorulmuş ve buna veryansın ediliyordu. Junior yazılımcının OOP bilgisini sorgulamak abes değil çok yerinde bir davranıştır. Çünkü genelde başladığı şirkette test ve hata ayıklama süreçlerinde yer alır. OOP konusunda fikri olmayan bir Junior yazılımcı bu süreçleri nasıl yapacaktır?

Junior’a tavsiyeler:

Kendi deneyimlerimden yola çıkarsam, ortalama 2 yıllık “Junior” olma süreci ile ileride, taşlarını çok zor değiştirebileceğiniz bir temel inşa edeceksiniz. Size çok bağımlı olmayan firmalar sizin için en iyi tercihler olacaktır. Çalışmaya başladığınız firmada size gerekli zamanı vermeyip, başınızı kodlar içerisine gömmenizi istiyorlarsa, araştırma yapmanıza olanak sağlamıyorlarsa oradan uzaklaşın. Başvuracağınız firmada çalışan yazılımcıları araştırın, ilgi alanlarını inceleyin, size yakın bulduğunuz yazılımcıların olması çok önemlidir.

Her Senior yazılımcı yanında önyargılarını da taşır. Her dediklerini alın ama mutlak doğru kabul etmeyin ve kendiniz de araştırmaya devam edin. Size verilen sorumlulukları aşan işlemlerde bulunmayın, bunu yapmak istiyorsanız önce onay alın.

Not: Yazı zamanla geliştirilebilir.

Bana bir PHPci lazım, o da bu gece lazım!

Son zamanlarda PHP Yazılımcısı arayan firmalardan oldukça sık duyulan bir serzeniş var: “Ortalıkta PHP yazılımcısı olduğunu söyleyen çok ama ilanlara başvuran yok”. Bu serzenişe genelde iki tür cevap veriliyor: “Aslında iyi bilen yok” veya “Kendinize bakın önce” şeklinde. Bu sorun ve verilen cevaplar ne kadar yerinde birlikte inceleyelim.

PHP öğrenilmesi en kolay yazılım dillerinden biridir. Aslında “biriydi”. O yüzden onu bilen veya gerçekten bildiğine inanan insan sayısı oldukça fazladır. Ancak PHP yerinde saymadı ve nesne yönelimli programlamaya daldıkça, “coder”lar pıtır pıtır düşmeye başladı. Diğer taraftan 10 yıl önce PHP’yi bilinçli/bilinçsiz küçümseyen big brother dillerin kullanıcıları da isteyerek veya istemeyerek bu dilin kapsama alanına girmeye başladılar. Bu PHP’nin daha yaygın(!) ve saygın hale gelmesini sağladı. Yaygın ifadesinin yanına özellikle ünlem attım çünkü bu, Türkiye’de dünyaya paralel ilerlemedi. Prosedürel PHP yazanlar bir türlü Nesne Yönelimli PHP’ye adapte olamadılar. Sınıflar, nesneler ve frameworkler arasında boğulanlar, ilerlemeye bir türlü ayak uyduramayanlar çok fazlaydı. Diğer taraftan prosedürel PHP hala para kazandırıyor ki bence bunda bir sakınca yok. C de bir prosedürel dildir ve dillerin Pele’si olduğu konusunda itirazı olan olmaz sanırım. Prosedürel PHP kullananlara bu işi bilmiyor, en ufak şeyi framework ile yapanlara biliyor denildiği bir ortam yaratılmış durumda ve buna bizzat PHP dünyasının katkı sunması oldukça garip.

Altını çizerek belirteyim: Nesne yönelimli PHP yazan, framework konusunda bilgili, design pattern nedir ne değildir bilen, bootstrap dediğinizde aval aval bakmayan vs.. vs.. yazılımcılar mevcut sektörün yükünü kaldıramazlar. Firmalar paşa paşa prosedürel PHP yazılımcıları çalıştırmak zorundadırlar. Diğer taraftan bu tür yazılımcılar da çanların kendileri için çaldığının artık farkına varmalıdırlar. Çünkü sektör uyandı!

Yazımızın amacına dönersek, bir firma PHP yazılımcısı ararken hangi yöntemleri uygulamalı ve hangi yöntemlerden kaçınmalı? Bunları madde madde listeleyelim:

1. İhtiyacınız olmayanı talep etmeyin:
Senyor, uzman vb. PHP yazılımcısı ilanları verilip, o insanlara yalnızca html kodu değiştirmek, redaksiyon yaptırmak, imaj çizdirmek, css yazdırmak gibi işler yaptırıldığına çok tanık oldum ve bizzat ben de yaşadım. Açıkcası ücreti iyi olduktan sonra firmaya gerekli uyarımı yapar, yanlış yaptıklarını belirtir ama ısrar ederlerse devam eder(d)im. Bu konuda neye ihtiyacı olduğunu bilmesi gereken firmadır. Bir ilan hazırlanmadan önce varsa firmada bulunan bir uzmandan, yoksa tanıdık yazılımcılardan, hatta sosyal ağlardaki bağlantılarınızdan fikir almakla başlayabilirsiniz. Slogan oldukça basit: Tarla sürmek için Ferrari kullanmayın!

2. İhtiyacınız olanı talep edin:
Firmanın yürüttüğü projelerde spesifik çözümlere ihtiyaç duyuyorsanız bunu belirtmeniz gerekir. Bir PHP yazılımcısı, PHP ile ilgili tüm yan alanları, programları, veritabanlarını, içerik yönetim sistemlerini v.b. bilemez. Eğer bu tür spesifik ihtiyaçlarınız varsa bunları öğrenmesi için zamana ihtiyaçları olduğunu bilmeniz gerekir. Eğer bu zamanı verecek durumda değilseniz bunu baştan belirtmeniz gerekir. Örneğin Magento üzerine kurulu sisteminize modül geliştirmeniz gerekiyor. “PHP yazılımcısı arıyoruz” şeklinde verilen bir ilanın size getireceği başvurularda verim %5 ise “Magento için modül geliştirecek PHP yazılımcısı arıyoruz” ilanı %100′e yakın bir verim sağlayacaktır. Smarty, Zend Framework, Linux vs. projenizin sınırları varsa bunları mutlaka belirtin.

3. Tam-Zamanlı / Freelance
Çalıştırdığınız insanın bilgi birikimi, sağlayacağı verimi doğrudan etkilese de bazen ihtiyacınız olmayan bilgi brikimini de karşılamak zorunda kalabilirsiniz. Örneğin çalışmayı planladığınız yazılımcı, aynı zamanda bir Sistem Yöneticisi ise onunla tam zamanlı çalışmak istediğinizde, bu bilgisini de satın almanızı talep edecektir, ister kullanın ister kullanmayın! İşte bu noktada biz freelance/outsource çalışmayı keşfettik. Bu “İhtiyacın kadar öde” sisteminin oldukça güzel bir yansıması aslında. Madde 2′de yer alan ihtiyaç tablosu eğer size Freelance çalışma olanağı veriyorsa bunu mutlaka kullanın! Bu konudaki tüm önyargılarınızdan kurtulun. Diğer taraftan bu çalışma şekline uygun olmayan durumlarda, maliyetlerden kurtulmak için bu yönteme başvurmaktan da kaçının! 1 yıl sürecek kapsamlı bir proje için Freelance çalıştırmayın, 1 ay sürecek modül yazımı için tam zamanlı yazılımcı ilanı vermeyin.

4. Söz konusu maaşsa gerisi teferruattır:
Das Kapital’i okumuş olmaya gerek yok. Hiçbir çalışanınız firmaya karşı sizinle aynı duyguları beslemez, besleyemez. Bilgisini satarak geçinen insanlar için paranın değeri, diğer her türlü işçiden farklı değildir. Burada dengeyi kurması gereken yine firmadır. Vereceğiniz maaş, karşıdan almayı istediğiniz verime paralel olmalıdır.

5. Önce araştırın:
Zend Framework üzerine kurulu bir projede çalışacak bir PHP yazılımcısına ihtiyacımız var diyelim. Yapılan ilk şey hemen bir ilan hazırlayıp yayınlamak oluyor. Bu alışkanlığı değiştirelim ve yeni bir yöntem ekleyelim. Google Türkçe sayfalarda “Zend Framework” şeklinde arama yaparsak karşımıza belirli isimler/blog adresleri gelecektir. Bunların çoğunun laf kalabalığı olduğunu anlarsınız, eledikten sonra elinize birkaç isim geçer, örneğin: Elvin Şiriyev, Gökçe Yalçın, M.Ozan Hazer vs. Bu isimler ile direkt irtibata geçmeniz aradığınız yazılımcıya ulaşmanızı sağlayabilir. Belirli bir konunun uzmanları aynı konunun diğer uzmanlarını iyi tanır ve çoğunlukla iş durumlarını da bilirler.

6. İlan:
İlana bakış açınız, “ihtiyacım olan elemanı bulma” amacından ibaret ise yanlış yoldasınız demektir. Bir ilan, 3 ana amaca hizmet etmeli: 1. Aradığınız yazılımcıyı bulmak, 2. Markanızın / firmanızın / projenizin bilinirliliğini arttırmak, 3. Rakiplerinizi tedirgin etmek. Kötü hazırlanmış bir ilan ise bu 3 amacı bir kenara itmekle kalmayıp, hem firmanıza zarar verecek hem de eğer sosyal bir ortamdaysanız sürüsüyle tepki çekecektir.

PHP yazılımcı ilanlarına özgü yapılan bazı hataları listeleyelim, bunlardan uzak durmanız başarı şansınızı arttıracaktır:
Bunu hazırlarken kariyer.net teki PHP yazılımcı ilanlarından faydalanacağım.

Örnek: “Tercihen PHP, .NET,  Smarty Template Engine konusunda min. 1 yıl deneyimli. CSS, HTML, JavaScript konularında bilgi sahibi”

PHP ve .NET’in ikisini de bilen yazılımcılar elbette mevcut ancak bu ilanı görünce aslında firmanın neye ihtiyacı olduğu belli olmuyor. .NET’in kullanım alanı neresidir? Smarty tasarım ve yazılım süreçlerini ayırmak için faydalanılan bir araçtır, css, html, js ve PHP’yi bu yazılımcı hazırlayacaksa kullanım amacı nedir? gibi. Bunların net olarak belirtiliyor olması gerekir aksi takdirde ne istediğini bilmiyor damgası yersiniz.

Örnek: “Üniversitemizin Bilgi İşlem Daire Başkanlığı’nda görevlendirilmek üzere;
* Üniversitelerin Bilgisayar, Elektrik – Elektronik Mühendisliği veya benzeri bölümlerinden mezun
* İleri seviyede “Nesne Yönelimli Programlama ve İlişkisel Veritabanı” konusunda bilgi ve tecrübesi bulunan
* PHP, PostgreSQL, MySQL, Javascript, AJAX, HTML ve CSS bilgisine sahip
* Tercihen C#, Flash, ActionScript ve Photoshop konusunda deneyimli
* Yüksek sunu ve iletişim becerisi olan
* Planlama, organizasyon ve motivasyon becerilerine sahip
* Yoğun çalışma temposuna ayak uydurabilecek
* Askerlik görevini tamamlamış
* Bay
Uzman PHP Geliştiricisi aranmaktadır.”

İlan her şeyden önce rahatsız edici bir ilan. Her şeyin en iyisini beklediğini belirtiyor ve açık kapı bırakmıyor size. Türkiye’nin en iyi PHP yazılımcıları dahi bu ilanın birkaç maddesinde takılıp düşeceklerdir. “Bay” ifadesiyle başlayalım. Neden bay istendiğine dair bir ifade yok, dolayısıyla ilan verenin önyargılı olduğunu varsayabiliriz sanırım. “Yoğun çalışma temposu”, yani fazla mesai; bunu belirtirken her ne kadar ayrı bir yanlış da olsa “yüksek maaş” gibi süspansiyonlar bile kullanılmamış. “PHP, PostgreSQL, MySQL, Javascript, AJAX, HTML ve CSS bilgisine sahip, tercihen C#, Flash, ActionScript ve Photoshop konusunda deneyimli”. İlanlarınızda ekstra diller ve programları saydırma amaçlı “tercihen” kalıbından kaçının. Olursa bal kaymak olur ama onu karşılamayız demektir bu. Son zamanlarda ilana gelebilecek eleştirileri engellemek amacıyla kullananlar da var. Bu kadar alana ihtiyacınız varsa bunları bir kişiye yükleyemezsiniz, alınacak personel sayısını arttırmak zorundasınız. Şansınız yaver gitti de “tercihen” dedikleriniz dahil hepsini bilen bir yazılımcı/tasarımcı/veritabanı uzmanı yaşıyor diyelim: BU İLANA BAŞVURMAYACAKTIR! O halde amacınıza engel koymayın. “Tercihen” kalıbını gerçekten gerekli ve amacına uygun yerlerde kullanın.

Örnek:
Grafik tasarım, web tasarımı ve uygulama konusunda en az 3 yıl deneyimli,
HTML, XHTML, XML, CSS, Javascript, ASP, PHP, Python konularında deneyim sahibi,
Photoshop, Flash, Fireworks, Freehand, Indesign, Dreamweaver uygulamalarını kullanabilen,
MySql, SQL Server veritabanlarını kullanarak uygulama geliştirebilen,
SEO Arama Motoru Optimizasyonları, Adwords ve Adsense konularında deneyimli,
Web raporlama yapabilen,
Yeni teknolojileri öğrenmeye meraklı, araştırma yapabilecek düzeyde İngilizce bilgisine sahip olan.

#!!@!!@%&#

Yok böyle biri, kariyer.net bu tür ilanlar sayesinde hala en çok kazanan sistemlerden biri. Bu ilandan kariyer.net dışında kimse çıkar sağlayamaz. Kendinizi komik duruma düşürmemek için ne hakkında konuştuğunuzdan haberdar olun.

Bu örneklerin sonu yok, kariyer sitelerinde arama yaparak diğer örnekleri de inceleyebilirsiniz. Peki doğrusu nedir?

İlan 4 kısımdan oluşmalıdır.

A. Başlık:
Net olmalı ve amaca hizmet etmelidir. “Zend Framework Uzmanı PHP Yazılımcısı”, “E-Ticaret sistemleri geliştirecek PHP Yazılımcısı”, “API uygulamarı geliştirecek PHP Yazılımcısı” vb.

B. İhtiyaçlarımız:
Zend Framework uzmanı,*
MySQL uzmanı,
Simple Cloud API konusunda deneyimli veya kendisini geliştirebilecek,
Tercihen askerliğini tamamlamış yazılımcı arıyoruz.

* Başlığa, arama motorları ve listemede dikkat çekmesi için, PHP ibaresini ekledik ama burası artık yazılımcıya hitap ettiğiniz bir alan olduğundan ayrıca PHP yazılımcısı gibi ibarelere gerek yoktur. OOP bilen, MVC bilen gibi ekstra laf kalabalığına hiç girmeyin. Zend Framework ifadesi bunların hepsini kapsamaya yeterlidir.

C. Çalışma Alanı: Yine aşırı ayrıntıya kaçmadan, yazılımcının ne yapacağı belirtilmeli.
Müşterilerimiz için hazırladığımız içerik yönetim sisteminin, cloud hosting üzerinde verimli çalışmasını sağlayacak modüller yazılması.

D. Firma ve Başvuru:
Eğer ilanımız kariyer sitelerinde değilse, ilanın sonuna firmanız hakkında bir bilgi yazısı, iletişim bilgileri ve bu ilan için başvuru yollarını belirtir notlar düşülmeli.

İlanımızın son haline bakalım:

Zend Framework Uzmanı PHP Yazılımcısı

Zend Framework uzmanı,*
MySQL uzmanı,
Simple Cloud API konusunda deneyimli veya kendisini geliştirebilecek,
Tercihen askerliğini tamamlamış yazılımcı arıyoruz.

Müşterilerimiz için hazırladığımız içerik yönetim sisteminin cloud hosting üzerinde verimli çalışmasını sağlayacak modüller yazılması.

Başvurular ik@abcde.com’a yapılacaktır.

ABCDE Şirketi
1999 yılında kurulan …. şu alanlarda faaliyet göstermektedir. Lorem Ipsum
+90 212 111 11 11
www.abcde.com

Bu tür bir ilan ile sadece aradığınız personele daha hızlı ulaşmış olmaz, diğer yazılımcıların gözünde de olumlu bir imaj çizmiş olursunuz. Ne istediğini bilen ve net bir firma! Bunun getirileri zamanla hiç ummadığınız kadar çok olabilir. Diğer taraftan, yazının başında ifade ettiğimiz sorunların çözümü de sağlanmış olacaktır. PHP yazılımcısı arıyorum dediğiniz bir ilana bilgi düzeyi ne olursa olsun çok geniş bir aralıkta başvurular olacaktır. Ancak yukarıdaki ilana bahsedilen istekleri bilmeyen biri başvuruyorsa büyük ihtimal bu yanlışlıkla olmuştur ve kendini hemen ele verir.

Diğer bir konu ise bizim ünvanımızın ne olduğu. “PHP yazılımcısı”. doğru kullanım budur, “uzmanı”, “programcısı” veya “geliştiricisi” de denilebilir. Ama “coder”, PHPci, “PHP bilen”, “PHP’den anlayan” gibi ibareleri kullanmayın.

7. İş görüşmesi:
İlan sonrası iş görüşmelerinde kaçınmanız gereken sadece birkaç konu var:
A. İş görüşmesinde yazılımcıya hisse önermeyin. (Verecekseniz bunu işi kabul ettikten sonra verin. İşi kabul etmesi için bir kriter olarak sunmayın)
B. Projenizin ne kadar süper olduğunu söyleyip, daha 10 dakika önce projenizi öğrenmiş birinden bunu onaylamasını beklemeyin.
C. İleride maaşın artar, bizimle büyürsün, kendini geliştirirsin gibi ifadeler kullanmayın.
D. Kişisel soru sormayın: Memleketi, ailesi, inançları, politik görüşleri.
E. Önyargılı olmayın: siz bir psikolog değilsiniz. Yazılımcının iş görüşmesindeki 30 dakikalık tavırlarını, “liderlik” kitaplarındaki saçmalıklar ile değerlendirmeyin. Örnek olarak disleksi kaynaklı konuşma sorunu yaşayan biri olarak bu tavırla çok sık karşılaştım.

8. İşe başladıktan sonra:
A. Yazılımcının tutkusu sizin işinize veya firmanıza değil, kendi yeteneğine ve bilgisine dayanır. Kira derdine düşen, faturasını ödeyemeyen birinden bu tutkuyu beklemeyin.
B. Kendisini geliştirmesi için fırsat tanıyın. Mesai sırasında eğer ekranda hep kod görüyorsanız artık o yazılımcıyı kaybetmişsiniz demektir. Arasıra herhangi bir IT makalesini okuduğuna tanık oluyorsanız işler doğru gidiyor demektir.
C. Kızıştırın. Oradan buradan yeni bir teknoloji hakkında konuşulduğunu duydunuz diyelim. Bu konuda araştırma yapmasını ve size sunmasını talep edin. İlk zamanlar yazılımcı açısından sıkıcı olacaktır ama bir süre sonra bunun meyvelerini birlikte toplarsınız.
D. Sadece bir yazılımcı ile çalışmaktan kaçının. Birden fazla yazılımcı oto-denetim yaratır ve psikolojik olarak rahatlama yaşarlar.

Not: Yazı henüz tamamlanmamıştır.

PHP ile IBAN Doğrulama

IBAN doğrulaması gerektiren bir proje için geliştirdiğim fonksiyon aşağıda bulunuyor. Continue reading →

PHP Türkçe Fonksiyonlar

Internette mevcut olan versiyonlarından tam verim alamadığımdan yazdığım strtoupper(), strtolower(), ucwords() ve ucfirst() fonksiyonlarının tam karşılıkları… Continue reading →