Browsing archives for 'Yazılım'

Türkiye e-Dönüşümü Tamamladı mı?

Eğitim,Proje Felsefesi,Yazılım 15 Mayıs 2011 | 0 Comments

Türkiye e-Dönüşümü Tamamladı mı?

10 sene önce popüler proje teklif konularından biri “e-dönüşüm” dü. Internetin ülkemize gelmesi ile hızlı bir e-dönüşüm sürecine girilmişti!

Kimine göre bu e-dönüşüm, muhasebe yazılımı, kimine göre web sitesi kimine göre de otomasyon sistemleriydi. Fakat bu e-dönüşümden en çok yararlanma, excel tabloları ile iş görme ve e-posta kullanma şeklinde oluştu.

Yazılım sektörünü tam anlamayan iş verenler ve patronlar bu 2 araç ile şirketlerinin e-dönüşüm sürecini tamamladılar. Aslında bu işe yaradı. Evet 10 sene önce işe yaradı. Artık bana göre 2. e-dönüşüm devri başlıyor. Hem kamuda hem özel sektörde.

Öncelikle e-posta ve excel büyüyen firmaların ihtiyaçlarına cevap veremiyor, geçmişe dönük raporlamalarda yetersiz kalıyor. Diğer yetersizlik oluşan taraf ise müşteri ilişkileri. İnsanlar artık internet üzerinden bir çok işleme alıştı, doğal olarak bunu her firmadan bekliyor. Sadece adres tarifi için web sitesi kullanımı bitti.

Küçük bir poliklinik dahi hastalarına online randevu “hizmeti” sunabiliyor. Bunun yanında hemen hemen her firmanın tedarikçisi ya da ürün temin ettiği bir firma ürün ya da hizmetini online bir kanaldan sunmaya, mütakabat yapmaya başladı. Bu örnekler arttıkça firmalarda kendilerini daha farklı sistemlere ihtiyaç duyar halde buluyor.

İlk başvurulan hazır yazılımlar fakat, muhasebe ya da CRM’de olduğu gibi paketler her firmanın ihtiyacını çözemiyor. İşte tam da burada 2. e-dönüşüm devri başlamış oluyor. Yazılım sekötrü için sevindirici bir haber ama, sektör kendi içinde buna hazır değil.

Özellikle yetişmiş eleman yönünden çok büyük eksik var. Herhangi bir üniversite ya da kurs bitirenler dahi piyasada işe yarar duruma ancak 1.5-2 senede gelebiliyor. Çok uzun bir süre!

Firmaların kendi yapılarını değiştirerek kurumiçi eğitimlerle bunu aşmaları gerek. Bu büyük iş potansiyeli kalifiye eleman açığı nedeniyle sekteye uğrayabilir. Özellikle meslek ve teknik liseleri ile yüksekokulların müfredatlarını gözden geçirip 5-10 sene önceki teknolojilerden ivedelikle kurtulması gerek.

Kişisel olarak kendimizi geliştirmek en büyük önceliğimiz olmalı….

Tagged in

Girişimcilik Nedir?

Proje Felsefesi,Yaşam,Yazılım 25 Aralık 2010 | 0 Comments

Girişimcilik Nedir?

Girişimcilik kelimesinin çeşitli karşılıkları var. Özünde “risk” alarak birşeyler başarma anlamına geliyor. Fakat bu ülkede bir projede başarılı olup kendince tanımlar üreten ya da sürekli girişimciliği ruhuna aykırı olarak belli bir kalıba sokmaya çalışan insanlar olduğunu düşünüyorum.

Girişimcilik, herkesin kendine, kendi yolunu çizmesidir. Daha önce başarılı olmuş girişimcilerin dahi bu yolu “O”nlar adına çizmeye hakkı, zaten de gücü yoktur. Ancak yoldaki tabelaları değerlendirme, ipuçlarını bulma adına fikir verebilirler. Son günlerde e-tohum ve sosyal medyada Ersan Özer ve EBİ gibi firmaların girişimcilerinden sıklıkla duyduğumuz şey: “Çalışırken girişim” yapamazsın!

Gönül ister ki her şey istediğimiz gibi olsun. Ailesel ve sosyal etkenler hep istediğimiz gibi gitsin, ama burası da Türkiye! Neden böyle söylediğimi biraz sonra KOSGEB’in girişimcilik!! programını yazınca anlayacaksınız.

Başlangıçta çalışırken girişim yapılmaz “sloganını” kabul etmiyorum. Bu tanım “girişimcilik ruhuna” terstir, ihanettir. Burada ahkam kesecek değilim çalışırken şöyle olacak şeklinde. Her girişimci kendi yolunu çizer. Cebinde parası olsa 5 yılda yapacağını 2 yılda yapar ama KOSGEB bile girişimciliği tersten anladıysa girişimcilik için en doğrusu “kendi şartlarına göre” kendi “yollarını” belirlemeleridir.

KOSGEB Girişimciliği

Öncelikle ben tüm fikirlerimi ve eleştirilerimi internet sektöründeki girişimcilik üzerine yazıyorum. Benim eldiven, çatal üretimi ile işim olmaz. Ki zaten bu sektör KOSGEB tarafından desteklenen bir girişimci! alanı.

Son günlerde gazetelerde KOSGEB’in bedava para dağıttığı ile ilgili bir çok haber yer aldı. Ben de nedir öğrenmek için KOSGEB’i aradım ama telefonlar hep meşgul. Sonra biraz araştırınca şu sonuçlara vardım:

  • 27 Bin Tl’lik hibenin 5 bin’i şirket kurulumu, 10 bin’i demirbaş masrafları, kalan 12 bin ise 12 ay boyunca malzeme alımı için.
  • 10 binliralık malzeme aldığınızda bunun tamamı değil sadece yarısı karşılanıyor. Yani siz ilk 15 bin TL’yi kullanmak için cebinizde 30 bin TL olmalı ve bunun tamamını harcamalısınız. Kalan 12 bin TL içinde durum aynı ve bunu sadece malzeme için kullanabiliyorsunuz.
  • Sigortası olan katılamıyor ki katılsa da hafta 2 gün 9-16 arası bir eğitime gitmek şart. Yani dolaylı olarak çalışan bu destekten faydalanamaz.
  • 1 yıl sonunda 70 bin TL’lik kredi de sadece malzeme alımı için kullanılabilir.

Şöyle bir bakınca plastik çatal üreten binlerce atölyeye bir yenisini katmak için uygun bir destek. Ama Türkiyedeki tüm plastik çatal üreticilerinin cirolarından fazla vergi çıkaracak bir web girişimi için yetersiz ve yalış bir destek türü. Anlaşılan KOSGEB’deki kişilerin internetten anladıkları e-mailden öte değil. Kendilerini yetkili mercilere havale ediyorum ve sizinle işim olmaz diyorum.

Şu an AB desteklerini araştırıyorum. Aslında sırf bu internet sektörüne ne kadar destek veriliyor öğrenmek için. Bir de geriye lokal girişimlere yatırım yapmayan Dragonlar, sosyal ağları baştan geri çeviren e-tohum yatırımcıları ve adı bilinmeyen “melek” yatırımcılar kalıyor.

Bir Hindistan olamıyoruz….

Tagged in ,

Türkiye’den Facebook Çıkaracak Kim?

Facebook,Proje Felsefesi,Yazılım 8 Aralık 2010 | 2 Comments

Türkiye’den Facebook Çıkaracak Kim?

Bu başlığı inploid.com‘a yatırım yaparken Baybars Altuntaş’ın yaptığı “Türkiye’den Facebook Çıkaralım” cümlesine atıfta bulunarak yazdım. Uzun süredir girişimci ve yatırımcı grupları takip ediyorum. Her iki tarafın da ana fikirlerine hakimim diyebiliriz. Ülkemizden hep bir facebook ya da muadili büyüklüğünde bir proje çıkarma çabası ya da hayali var. Fakat bazı odak problemleri mevcut ve aslında işin çözümü sorunun içinde saklı. Facebook nasıl ortaya çıktı? Kim tarafından? Hangi şartlarda?

Mark Zuckerberg. Kimdir?

Kendisi bir yazılımcıdır!

İşte bizden de ancak bir yazılımcı aynı boyutta proje çıkarır. Mesleğe uzak olanlar gülebilir. Ama ülkemizdeki her 100 yazılım uzmanından en az 10′ nunda bu tarz bir proje fikri vardır.

Kesinlikle vardır!!

Alphan Manas’ın hayalini kurduğu e-tohum toplantılarında yatırımcıların sıraya gireceği projeler VAR!

Problem nerede?

Erzan Özer, FF üzerinde yayınladığı bir dökümanda şuna değinmiş:

Girişimci olmayı kafaya koy
Benim deneyimlerim, “Maaşımı almaya devam edeyim, bir yandan da bir şeyler
yapayım” zihniyetiyle kayda değer işler çıkmadığını gösteriyor. Elinizi taşın altına
koymanız lazım. Eğer üzerine bir hayat kuracak bir işe sahip olmak istiyorsanız
hayatınızı bu yola adamalısınız.
Ersan Özer’in konumu gereği bunu söylemesi vatandaşlık görevi.
Şimdi olayın diğer tarafına bir bakalım.
Projesi var dediğimiz yazılım uzmanları doğal olarak kritik pozisyonlarda çalışmaktalar. Ve ülkemizde kritik pozisyonda çalışan yazılım uzmanlarının üzerindeki yük abartısız normalin 4-5 katıdır. Günde 10-15 saat çalışırlar. Ve bu ilgili kitlemizin büyük bir çoğunluğu çalıştıkları firmayı “sırtlarında taşırlar”
Aslında yazıyı burada kesmem yeterli, taraflar alacağını aldı…..
Sürekli konuşup çözüm bulamadığımız bir konu bu. Hayal kurmayacağım….
Not:  Siz siz olun networkünüzü kendi meslek alanınızdaki kişilerden oluşturun. İşinize yarayacaktır!

Tagged in , , , ,

Dragons’ Den Programında inploid.com yatırım aldı.

İnceleme,Yazılım 3 Aralık 2010 | 0 Comments

Dragons’ Den Programında inploid.com yatırım aldı.

Programdan önce Alphan Manas facebook sayfasında siteyi paylaştığında yatırım aldığını anladım. Site hakkındaki görüşlerime hemen geçiyorum ama Alphan Manas’ın bu paylaşımda söyledikleri benim daha önceki bir yazımda yazdıklarımı doğrular nitelikte idi. Alphan Manas global ölçekte olmadığı sürece internet yatırımlarına girmeyeceğini söylüyordu. Bunu bir çok etkinlikte dillendirince ilgili makaleyi yazma ihtiyacı duydum ve ana fikir olarak ülkemiz internet potansiyelinin göz ardı edildiğini söyledim. İlgili makaleden bu konuda net fikirlerimi öğrenebilirsiniz.

Ama yine söylüyorum, öncelikle ülkemizdeki proje sahiplerinin yüzünü Türkiye’ye dönmeleri ve buradan aldıkları ivme ile Avrupa ve diğer ülkelere sıçramalarını daha uygun görüyorum. Evet Facebook’ta güncel olarak şu an 23 823 200 kullanıcı var ülkemizden. Bu hiç azımsanacak bir rakam değil. Çoğu Avrupa ülkesindeki kullanıcıdan daha fazla. Neyse bu konuda söyleyeceklerimi belirtmiştim zaten, konuya dönelim.

İki genç yazılımcı arkadaşın çabalarının meyvesini vermesi beni mutlu etti. Bir yazılımcı ve proje yöneticisi olarak sevindim gerçekten.

Projenin var olan hali ile ilgili eleştirilerimi madde madde yazmak istiyorum. Muhtemelen görünen ve iş planında olan şeylerdir. Ama bir kenarda not olarak dursun:)

  • Logo’nun keisnlikle değişmesi gerekiyor. Yaklaşım korunarak yeniden tasarlanması gerekiyor.
  • Navigasyon konusunda ciddi bir problem var. Üye olduktan sonra karşımıza  çıkan ilk ekran çok çok önemlidir. Öncelikle kullanıcılara bir kendimizi anlatmamız gerekir. Bu anlamda üyelik öncesi ve sonrasında bir tanıtım turu sayfasının yapılması keisnlikle gerekiyor.
  • Sorular seçmece tek tek gelmesi yerine belki insanların facebook ve friendfeed’ten alışık oldukları gibi belli sayıda son soru alt alta gelip cevap verilebilir ve cevap verilen soru alta kayabilir. Bende oluşan ilk istek cevap verdiğim bir soruya verilen diğer yanıtları merak etmek oldu, ama 2-3 click sonra bu sonuca ulaşabildim.
  • En önemli bölüm bence “diyaloglar” kısmı ama o çok ulaşılamaz kalmış üstte. Bu ve altındaki menüler sol taraftaki menünü üzerine açık şekilde yerleştirilebilir. Böylece hızlı erişim sağlanmış olur. Ek olarak cevap verilmiş sorularda burada ajax ile uyarı şeklinde gösterilebilir.Yani navigasyona çalışmak gerekiyor.
  • Prje asp.net ile yazılmış. İlerideki kullanıcı sayıları göz önüne alınırsa tabi hedefleriniz dünya ligine çıkma isteğiniz vs, kodunuzu optimize etmeniz gerekmekte. Yapıyı MVC frameworküne dönüştürüp ileride kullanıcılara alt isimler vermek mantıklı olabilir. Bu aynı zamanda viewstate gibi gereksiz yüklerden de sizi kurtarır ve firma içi kullanımlar için özel tema gerçekleştirilmesini de kolaylaştırır.
  • Ek olarak yapıyı tamamen ajax yapısına çevirmekte fayda var. Bunun için jQuery ya da ext js core gibi bir framework seçebilirisniz. İşinizi hızlandırır.

Bunlar dediğim gibi iş listesinde olabilecek başlıklar, eklemek istediğim önemli gereksinimler var. 2 başlık altında. Facebook ve Mobil.

  • inploid.com facebook’a rakip değil. Çoğu kişi bunu anlamış ama böyle bir şey yok. Baybars Bey’de bunu anladı programda ama ben kendim inplod’i dikey bir sosyal ağ olarak konumlandırıyorum. Ve bu dikey sosyal ağın kesinlikle ama kesinlikle facebook connect ile üyelik seçeneği olması gerekiyor. Bu kiliması olmayan araç satmaktır bana göre. Facebook bir platform email gibi insanların hayatlarında bir gerçektir. Onunla savaşamazsın. Eğer facebook connect ile insanların sisteme girmesi sağlansa idi eminim o üye sayısı 3-4 katı olurdu ki arkadaşlar facebook üzerinde reklam verdiklerini belirttiler. Bir soru girdiğimde bu hemen benim facebook akışımda çıkmalı, buradan bana cevap vermek isteyen kişiler/arkadaşlarım anında üye. Aynı şekilde bir cevap yazdığımda anında profil akışımda, merak edenler üye! Bu olmalıydı. Facebook olmadan bu proje büyümez maalesef.
  • Mobil: Web tabanlı da olsa bir mobil arayüz olmalı. Bu anlamda sencha touch’ı öneririm. iOs ve Android için tek kod ile geliştirme yapılabiliyor. Burada iş bir adım öteye gidecek ve lokasyon işin içine girecektir. Lokasyon nedir? Geleceğin sosyal ağ yapı taşı, hammaddesi.

Bazı süreçleri geçtikten sonra çok başarılı olacağına inanıyorum fakat sanki biraz önce başlanmış bu pazarlama sürecine. Umarım dragonların desteği ile hakettiği yere gelir.

Ekleme:

Programdaki sunumdan sistemin insanların ilgi alanını anlayarak bu yönde sorular getirme eğiliminde olduğunu duydum. Eğer facebook ve twitter entegrasyonu yapılırsa insanların bu hesaplarda paylaştıkları kişisel bilgilerinden bir algoritma ile analiz yapılarak bir “tecrübe profili” çıkarılabilir ve her gün de güncellenebilir. Ek olarak kişilerin kendi bloglarındaki etiketlerden de yararlanarak bu profil derinleştirilebilir.

Tagged in ,

Amele

Proje Felsefesi,Yazılım 24 Kasım 2010 | 0 Comments

Yahoo e-posta template’lerini karıştırırken bir grup için yazdığım bir yazı çıktı karşıma. Tarih 16 Nisan 2005

Merhaba,
Degerli grup uyeleri bu maili bir yazilimci olarak son bir kac ayda gorusmelerde yasadigim sorunlardan ve Tukiyedeki sistemi yurtdisiyla karsilastirinca yasadigim hayal kirikliklarini bir nebze olsun gidermek icin yaziyorum.
Net neler ifade edecegimi tam olarak bilemedigim icin basliklar altinda yazacagim. Birazda burda yazdiklarimi arkadaslarla surekli konustugumuz icin artik acilmanin zamani geldi diye dusunuyorum!
Degismeyen Tek Sey Degisimin Kendisidir !
Is yasaminda uzak degil soyle bir 10 yillik surecleri karsilastirdigimizda gelisen teknolojinin insan hayatina yansimasininda etkisiyle is yapma metodolojilerinde surekli bir degisiklik yasamaktayiz.Bunu Turkiye’de cok fazla gorebileceginizi sanmiyorum ama kendi kendine eleme ve yuceltme sistemi olan dunyanin buyuk ulkerinde daha net gorulebilir.AB ile iliskilerin en sicak oldugu bir donemde O’nlari tanima bagbinda edindigimiz yeni tecrubeler gosteriyor ki Ab ulkelerinde bizim uyguladigimiz is gelistirme sisteminden cok farkli bir moda var.
Bu akima moda dememin nedeni surekli kendini yenilemesidir.
Fakat ulkemize baktigimizda 10-15 yil onceki piyasada calisan ve bugun yonetici olmus insanlarimizin bu modayi umursamadan hala 10 yil onceki is sureclerini uygulamaya calismalari beni gercekten uzen bir durum.
Ozellikle yazilim sektorunde bu yoneticilerin soz sahibi olmasi ve calisanlarinda surekli degisen yeni universite megzunu genclerden olusmasi ister istemez orta vadede sorunlar cikariyor.Yeni mezun ve universite de dunyadaki kurumsal sirketlerin calisma yontemlerini sindirmis ve kariyer gunlerinde sirketlerin anlattiklariyla kendi hayallerini yaratmis gencler is hayatina basladiklarinda yakin tarih olarak gordukleri sahnelerle karsilasinca baslangicta bir hayal kirikligi yasamakta ve orta vadede sorunlar cikmaktadir.
Fakat bu degismeyen moda yuzunden cikan sorunlar genellikle teknik olarak calisan insanlarda on plana cikmaktadir.Pazarlama ve isletme alanlarinda konu sosyal ve kisisel iliskilere dayandigi icin pek fazla sorun cikmamaktadir.

YAZILIM,INSAAT,FIRSAT,SOMURU

Turkiyedeki yazilim sektorunde calisan grubuna baktigimizda ozellikle kriz doneminde issiz kalan insanlarin en rahat gecis yaptiklari sektor oldugundan dolayi kalifiye eleman sikintisinin bu gunlerde bas gosterdigini goruyorum.
Yazilimi standart b2b,b2c web tasarim, db giris formlari olarak dusundugumuzde bu kisilerin umduklarini buldugunu dusunuyorum.Bunu goren diger arkadaslari da yaslari ne olursa olsun yazilim sektorune akin etmeye devam etti.Hatta mobilyaci dukkaninda mobilya satan elemanlar bile!
Hal boyle olunca yazilim camiasinda sistemsiz is yapan insan cogaldi. Birde is yapma modasina sahip olmayan insanlarin yonetici olmasindan dolayi bu tarz yazilim firmalariyla sorun yasamayan sirket kalmadi sanirim. Bu calisma mantigiyla ilerlenince sirketlerde bunu pekistirmek icin aile ve dost kavramlari one suruldu.Sirkette bir kriz olmadiginda her iki tarafinda mutlu oldugu bu ortamda gergin durumlarda aile ve dost iliskileri on plana surulerek somurulen yine calisanlar oldu.
Gelismis ulkelerdeki is yapma modellerine baktigimizda calisma yolunun,projelendirmenin, is paylasiminin ,dokumantasyonun on planda oldugunu goruruz. Fakat ulkemizde projeler genellikle GECEKONDU mantigiyla baslanir ve amele gozuyle bakilan yazilimcilarin bir anda,bir gecede,bir gunde,bir haftada bu isi bitirmeleri istenir.Evet bu is bir sekilde bitirilir.Ama bu gecekonduya bir asma kat cikilmasi istendiginde ya da bir balkon yapilmasi istendiginde gecekondu bunu kaldiramaz ve coker.Ya da gecekonduya yanlardan eklemeler bastan atilmayan kolonlar ilave edilir.Tabi bir haftada biten gecekondu insaatina ekleme 1 ay surunce bu sefer isveren ve yazilimci karsi karsiya gelir.Hakli cikmamanin bir son oldugunu dusunen isveren bir gunah kecisi bulmak zorundadir.Tabi bu gunah kecisi icin secilmis aday bizim yazilimcidir.Bu noktada yazilimcinin farkli sektorden gelmesi ya da akademik egitim almasi farketmez.Isten ayrilan yazilimci artik kendine guveni sarsilmis bir haldedir ve uretkenlik yetenegi boyle birkac olaydan sonra kaybolacaktir.

KURUMSALLIK ve KORKULAR

Sizin kurumsallık tanımınız nedir?
Herkesin iş tanımının belli olması mı?
Sosyal aktiviteler mi?
Ailenizin isyerinde degil evde olmasi mi?
Sirkettekilerin yaptiklari isin bilincinde olmasi ve bunu direkt uretime yansitmalari mi?
Planlama?
Disiplin?
Saygı?
Hoşgörü?
…….
Hangisi ya da hangileri?
Bence basta dinamizim.Surekli kendini yenileme. Planlama.
Ama sirketlemize baktigimizda bunlar sadece zaman kaybi olarak gorulmekte.Cunku bunlari yapmayarak kisa vadede daha iyi para kazanabilmekteler.
Fakat orta ve uzun vadede bir urun ve birlikte bir itibar kazanmak istiyorlarsa bu pek uygun olmuyor.Cunku orta ve uzun vade de sirket kisa vadeli planlarla yaptigi islerin artigini temizlemekle ya da yeni eklemelerle ya da daha kotusu mahkemelerle ugrasmaktalar.
Aslinda bir is kapip bundan parayi vurayim sonra da kapatir giderim dusuncesiyle ise bakinca mantikli gorunuyor.Fakat ulkeye bir istihdam saglamak icin ya da piyasada benimde yerim olsun diye bakiyorsaniz cok yanlis ama bir turlu fark edilemeyen bir sistem.
Bakiyorsunuz elinde uzun vadeli isleri olan fakat bir turlu dokumantasyon ve is plani yapmayan bununla birlikte kazancini ancak kendisinin goren isverenler tek proje arsivi olan yazilimci kadrosunun surekli degisim gostermesine sessiz kalmakta.Hatta bu degisikligin surekli ise aldiklarin insanlarin kendi sorunlari yuzunden olduklarini savunmaktalar.Ama donupte kendilerine bakma cesaretini bir turlu gosterememekteler.

SUCLU KIM?YAZILIMCILAR MI?ISVERENLER MI?

Bir yazylymcy olarak igneyi once kendime batirmak istiyorum.
Bir zamanlar bir moda baslamisti Turkiyede.Hala da suruyor kimileri acisindan.
Ben yazilimciyim!Makinayim! Gucluyum! Superman’im! Motorum! Yorulmam! Yemem! Icmem! Her kosulda Calisirim! Her durumda ise gelirim(ama istedigim zaman)!
Bu moda baya sukse yapmisti bir zamanlar. Yazilimcilar gece gunduz zaman ve mekan sinirlamasi olmadan Einstein ‘nyn izafiyet teorisini kanitlar gibi calismaya basladilar.Bu hem erkek/kiz arkadasindan ayrilan hem sosyal uyumsuzluk problemi olanlar hem de icinde calisma hirsi olanlar icin cok tatmin edici bir calisma duzeniydi.Tabi isverenler icinde desteklenen, (affedersiniz) gaz verilen bir yontemdi.Bu is bir sure sonra kulture donustu.Artik is ilanlarinda “esnek calisma saatlerine uygun..”, “kendini gelistirme yetenegi olan..” … gibi ek notlarla ilanlarda eklendi. Bende bu sekilde calisan zamaninda sinir tanimaz bir yazilimci olarak(kanitlarim var.Gece gunduz yol yordam zaman siniri olmayan.3 gun uyumadan calisan biri olarak yaziyorum) gelecek adina Turkiye yazilim camiasina buyuk zarar verdigimi dusunuyorum. Ama bunun farkina baslangicta varamadim.Somuruldum.Is nasil yapiliri degil.Is nasil yapilmazi ogrendim.Herkes gibi.
Ama bu siralarda biz insaniz demeyi beceremedik.Pesimizden gelenler bunun acisini cekti, cekecekte!
En basta yazilimcilar icinde calizma azmi olan insanlar bu damgayi kendilerine vurdular.Bu damgayi cikarmasi zor olacak…..
Bundan yaralanan isverenler pek de az degil.Kurumsallik icin birinin cikip ben koyun degilim demesi gerek.
Bir dusunun yaptiginiz bir projenin insan gibi calirak ve bir de insanlik disi calisarak ne kadar surede bitecegini.
Bu arada calisan ailelerinin yasadiklarini dile getirmiyorum.

TEKNIK YETKINLIK,KORKU,MBA,MASTER,YONETICILIK

Ben ve cogu insan bu sektorde yasadiklari sorunlar, ya insaat, truzim sektorunde calismis bir kisinin yazilim sirketi kurmasindan ya da hic bir teknik yetkinligi olmayan piyasada calisma cesaretini gosteremeyen ve surekli yuksek lisans master, MBA yapan insanlarin direkt isin basina gecmesinden kaynaklandi.
Aradaki en buyuk sorun yazilim isinin gercekten planlanmasi gereken bir is oldugunun taraflardan birinin benimsememesi.Ek olarak karsilikli anlayisin, iletisimin saglanamasi.
Bunu herkes sirketinde musterileriyle ya da pazarlamaci arkadaslarla yasamistir eminim.Arada bir tamnponun bir turlu saglanamamasi.

ISE VERILEN DEGER,KRIZ.

Türkiye bir kriz yasadi. Bu kriz cogu bakimdan bir cok bilgi ve tecrube kazandirdi.
Hepimiz bilirsiniz.Krizden bir sure sonra hala kriz naralari atan insanlar vardy.Bunlara kac kisi kurban gitti somuruldu acaba?
Ya da krizden sonra el altindan o havayi calisanlarina solutan artan karlary bir turlu yansitmayan insanlar,isverenler her yerde.Calisanlarda kriz zamaninda bir eziklik, bir urkeklik benimsedi bir turlu kurtaramadi kendilerini.

SON SORULAR

Yazilimcilar kendilerini nerede goruyorlar?
Bu duzen ne kadar surecek?

Bu ise noktayi koyacak olan ve kendi degerlerini artiracak olan yine yazilimcilardir.
Siz kendinize verdiniz kadar ancak saygi gorursunuz!
Herkes lutfen kendine sorsun.
Ben amele miyim?

Yazılım: Mesleğimden nefret ediyorum….

Yaşam,Yazılım 7 Ekim 2010 | 0 Comments

Evet bu cümleyi bugün kurdum…

Neden mi?

5 dk’da proje isteyen, düzenleme isteyen, sınırlı veri ve imkan ile gediklerinin kapatılmasını isteyen ve seneler önce yaptığım projelere destek isteyen ve her nasılsa istediği anda sizi emre amade isteyen insanlar nedeniyle.

3-4 gündür grip oldum ve yatıyorum. Grip hariç tüm hastalıklarda ve ağır depresyonel durumlarda dahi çalışırım ama grip beni bitiren bir hastalıktır, karşı koyamıyorum.

Bu süre zarfında insanların istekleri durmadı. Kimi 5 ay önce şöyle bir düzenleme yapalım demiş, ortadan kaybolmuş, şimdi aniden emrine amade istiyor kimi 5 dk’da beşiktaş. Evet nefret eder oldum.

Şöyle bir hayatımı gözden geçirince bunların zaman kaybı olduğunu ve gerçekten elinde yeteneği olan yazılım uzmanlarının “kendi” projelerine yatırım yaptıkları takdirde 1-2 senelik vadede daha rahat ve geri dönüşünün daha büyük olacağını düşünüyorum. Almasın kimse dışarıdan proje. Alıyorlarsa da kendi şartlarında alsınlar ve projelerinin 2-3 sene geçmişten peşlerinden gelmesini istiyorlarsa buna bir destek süresi koysunlar. 6 ay ya da 1 yıl. 2-3 senede otomobiller eskiyor. Bir yazılım projesine destek verilecekse de “ağır” şartlarda verilmeli. Bu yazım yazılımcılar için, müşteri beni şu aşamada hiç ama hiç ilgilendirmiyor.

En ufak bir yazılım projesini dahi yaparken beyin kalmıyor bizlerde. Bu iş dışarıdan görüldüğü gibi “kebap” değil. Hiç bir zamanda olmayacak. Yaratıcılık ve yetenek isteyen bir sektör. Kişisel kaprisler altında sömürülmek ancak birlikte batmaya neden olur.

Yazılımcı arkadaşlara sesleniyorum:

  1. Hafta sonunu kendinize ayırın. Ayrı bir telefon kullanın.
  2. Gece bir saatten sonra telefon kabul etmeyin; telefonunuzu kapatmayın ama açıkça aranmak istemediğinizi belirtin.
  3. Bir iş yaparken açıkça başlama şartlarını belirtin.
  4. Freelance çalışıyorsanız ve yeni bir iş alıyorsanız en az3 katı süre verin. Kabul edilmezse yapmayın.
  5. Kendi projelerinize odaklanın; vardır kesinlikle
  6. Kendinize nereye gidiyorum şeklinde düşünmek için zaman ayırın
  7. Sosyalleşin! Xing,ff etkinliklerine katılın. Olmadı siz etkinlik düzenleyin
  8. Kendi değerinizi bilin ve size daha küçük davranılmasına izin vermeyin.
  9. Alttan almayın. Ukela ve kibirli olun. Ben alçakgönüllü olmakla hep kaybettim. Ezilen değil, ezen olun.
  10. İşinizi düzgün yapın ve kararlı durun

devam edecek bu maddeler….

Kendinize bir yol haritası çizin. Gelirinizi bir yere aktarın. Gece yaşamı, pahalı oyuncaklar bir yere kadar. Birikim ve proje yatırımları en güzel aktarım araçlarıdır.

Bu benim yazılım manifestomdur. İsteyen kabul eder isteyen etmez….

Yazılım Öğrencileri için Yol Haritası

Eğitim,Yazılım 5 Eylül 2010 | 0 Comments

Yazılım Öğrencileri için Yol Haritası

Bugüne kadar birçok öğrenci ile bir şekilde karşılıklı çalışma ve konuşma fırsatı buldum.(Meslek liseliler için konuşuyorum) Kendim de liseden başlayarak bu mesleğin eğitimini almış biri olarak bugünün hızlı gelişimi içinde öğrencilerin kaybolduğu fikrindeyim. Bırakın öğrencileri okul müfredatları tam olarak içerik oluşturabilmiş değil. Şöyle ki, yazılım bölümünde Flash eğitimi verildiğine şahit oldum. Üniversite müfredatları daha sıkı kontrol edildiği ve esnek olmadığı için liseleri bu konuda daha şanslı görüyorum. Bu bakımdan bu mesleğe lisede başlamış şanslı insanların kafalarındaki bazı sorulara cevap bulmalarını sağlamak için biraz teknoloji tanımı yapmaya karar verdim.

Tanımlar Karmaşası

Bir öğrenci bu mesleğe adım attıktan sonra belli tanımlar duymaya başlar. Ve bu tanımların, teknolojilerin sonu gelmez gibi görünür.

Yukarıdaki zihin haritasında ufak bir tasvir yaptım. Bir öğrencinin karşı karşıya kalabileceği tanımlar ile ilgili. Bu teknolojilerin içinden bir şekilde öğretmenlerin ya da çevrenin telkini ile genel bir yol/teknoloji seçilir ve öğrenci iş hayatına atılınca seçiminden ya mutlu olur ya da mutsuz olup başka teknolojilere geçiş yapar.

Öncelikle buradaki teknolojileri belli bir kategoride yeniden şekillendirmek gerek.

Bu şekli incelersek, bir öğrencinin en başta 2 seçim yapması gerek. 1. Hangi işletim sisteminde yoğun olarak çalışacak, 2. Hangi platformda geliştirme yapılacak.

Seçim yapmak bu kadar kolay değil tabi. Öncelikle aldığınız eğitim zaten sizin adınıza otomatik bir seçim yapmış olacak. Burada yazdığım bilgileri kullanarak bu eğitimle birlikte kendinizi geliştirip kendinizi sağlama alabilirsiniz:)

Belli konularda sizi yönlendirmek istiyorum.

Veritabanı

Hangi platformu seçerseniz seçin kesinlikle veritabanı konusunda kendinizi geliştirmeniz gerekecek. Aslında burada iş biraz kolay. Temelde kendinizi SQL dilinde geliştirseniz yolun çoğunu almış olursunuz. SQL bir standarttır, ne Microsoft, ne de Oracle tekelindedir. Bu aşamadan sonra Microsft MSSQL ya da mySql üzerine yoğunlaşabilirsiniz.

İki ürün de piyasada fazlasıyla kullanılmakta. Benim tavsiyem MSSQL ile başlayıp, Mysql’i de öğrenmeniz. MSSQL ile Stored Procedure, Trigger gibi kavramları öğrendikten sonra mySql’de de kolayca bunlara adapte olabilirsiniz. mySQL 5 ile birlikte stored procedure ve trigger desteği de geldi.

İşletim Sistemi

Bu seçim bir bakıma sonraki seçim olan programlama dili seçiminde de belirleyici olacak. Ülkemiz açısından bakılırsa hem linux hem de windows üzerinde bir birine yakın şansta fırsat var. İşletim sistemi olarak aslında otomatik olarak windows’u seçtiğimiz aşikar. Bu yarışa şimdi MAC’te katıldı.

Tavsiyeme gelecek olursak Windows derim. Windows’u seçip dil olarak PHP’de seçerseniz aslında linux üzerinde de yazılım geliştirebilirsiniz. PHP tüm platformlarda destek vermektedir.

Platform

Web, Masaüstü, Mobil. Yeni teknolojilerle birlikte ibre çoktan web platformuna kaydı. Sözü fazla uzatmadan tabiki WEB platformunu tavsiye ediyorum. Web tabanlı yazılım dilleri ile mobil platformlara uygun projelerde geliştrebilirsiniz. Ama tavsiyem mobil platform dillerini de yakından takip edin. Gelecek Mobil platforma kayıyor. Ama ülkemiz için daha niş bir alan sayılır.

Yazılım Dili

En fazla tartışmanın yaşandığı alan işte burası. Ben PHP ile’de profesyonel kod geliştirdim, Daha sonra çalıştığım otomasyon sistemleri nedeniyle .Net’e geçiş yaptım. Burada anlatmak istediğim aslında diller arasında geçiş yapmak ileride çok ta zor değil. Ama eğer bir dil öğrenecekseniz en iyi şekilde, kusursuzca öğrenin. Hep söylerim, en iyi dil, en iyi bildiğin dildir.

İleride nasıl olsa geçiş yapabilirsiniz, fakat PHP öğrenirken de bilgisayarınız visual studio kurulu olsun, onda da basit bir kaç kod yazmış olun. Diğer teknolojilerden bihaber olmayın.

Sonuç

Yazılım sektöründe bir sabitlik, bir yerinde sayma olamaz. Her zaman hem de çok kısa süreler içinde yeni bir dil öğrenmek zorunda kalabilirsiniz. Ama kendinize bir uzmanlık alanı seçmeniz gerekiyor. Ben yazılım hayatıma visual basic ve pascal ile başladım. Ardından asp,php,.net şeklinde ilerledi. Yeri geldi action script’ te öğrendim. Kendinize bir kısıtlama koymayın.

Eğer web tabanlı bir yol seçecekseniz ki artık mecbursunuz, Html, CSS ve Javascript kesinlikle çok iyi bilmeni joker diller:) Bundan kaçış yok!

Aslında iş sadece dil öğrenmek ile bitmiyor. Algoritma becerinizi de geliştirmeniz gerekmektedir. Eğer algoritma tecrübeniz ve yeteneğiniz varsa, programlama dili öğrenmek için işte size bir-iki tavsiye:

1. Dilin syntax’ını öğrenin

2. Değişken tanımlamalarını öğrenin

3. Fonksiyon tanımlama ve çağırma yöntemlerini öğrenin

gerisi gelecektir.

Ama, ne öğrenirseniz en iyi şekilde öğrenin. Unutmayın gelecekte en çok dili bilen değil, uzman olan başarılı olacaktır.

Uzmanlık için şimdiden emin adımlarla kendi yol haritanızı çıkarın, gerekirse öğretmenlerinizle konuşup bir kaç yıl içinde öğreneceğiniz dilleri öğrenip en baştan çalışmaya başlayın.

Şimdiden kolaylıklar dilerim…

Tagged in , , ,

Gel de Öğrenme! : jQuery Ajax

Ajax,jQuery,Yazılım 4 Eylül 2010 | 0 Comments

Gel de Öğrenme! : jQuery Ajax

Bu makalenin amacı jQuery ile ajax kullanımını en ince ayrıntısına kadar öğrenmek. Öğrenmeden kastım proje içinde kullanabilmek. jQuery ve server tarafında asp.net kullanacağım. Yazıyı anlayabilmek için genel jQuery ve asp.net bilgisine sahip olmak yeterlidir.

Proje Oluşturma

Önce projemizi oluşturalım. Visual Studio 2010′da “New Project” ile boş bir web projesi ekliyoruz.

Ben tüm geliştirmemi c# ile yaparım. Yandaki fotoğraftaki gibi projemizi oluşturuyoruz. Burada .Net sadece merkezde kullanmak için. İlgili asp.net sayfaları yerine kendi kullandığınız dili rahatlıkla kullanabilirsiniz. Her zaman söylerim “en iyi yazılım dili, en iyi bildiğin dildir”.

Projemizi oluşturduktan sonra, öncelikle ne yapacağız bunu bir planlayalım. Benim bu örnekte hedeflediğim ana konular şu şekilde:

  1. Ekrana basit bir mesaj yazan temel uygulama (simple_ajax.aspx sayfası içinde)
  2. $.ajax metodlarını işleyeceğimiz açıklamalı bir örnek.(edu.aspx)
  3. Ajax ile form gönderme işlemi. (formpost.aspx)

Planımız bu şekilde, başlayalım…

Öncelikle projeme ilgili dosyaları ekleyeceğim. Bu örnek için şöyle bir yol izleyeceğim. Her dosya adında bir javascript dosyasıda ekleyeceğim ki anlaşılır olsun. Projemin bu aşamasının ekran görüntüsü aşağıda.(En son tüm kodları yayınlayacağım.)

Boş dosyalarımızı oluşturduktan sonra, sırasıyla örneklerimize başlayalım.

Temel Ajax Komutları (simple_ajax.aspx)

Yukarıdaki ekran görüntüsünde gördüğümüz gibi VS 2010′da yeni bir web projesi eklediğimizde  Script klasörü altında jQuery’nin son sürüm dosyaları yükleniyor. Eğer siz farklı bir versiyonda bu dosyaları göremiyorsanız jQuery resmi web sitesinden indirebilirsiniz.

Tüm örneklerde ajax betiklerinin çağıracağı dosyaları xhr klasörü altında toplayacağım. Ayrıca dosya tipi olarak “Generic Handler” kullanacağım. Bu dosyaların aspx’den tek farkı sadece kodda ürettiğimiz html’i ekrana döndürmesi. Ekstra kod ya da tag barındırmıyor. Ajax geri dönüşleri için ideal. Gözünüz korkmasın, kullanımı çok basit.

Önce bu dosya içinde bir butona basınca ekrana “Merhaba”  mesajını döndürmesini sağlayalım.

Önce xhr klasörü altına “simple_1.ashx” adında dosyamızı ekliyoruz.

İçeriği aşağıdaki gibi:
[code lang="csharp"]

public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
context.Response.Write("Merhaba");
}
[/code]
ContentType ile geri dönüş tipimizin basit html olduğunu belirttik. Aslında projemizi çalıştırdığımızda ve bu ashx dosyasını başlangıç sayfası yaptığımızda ekrana sadece “Merhaba” yazdığını görebiliriz:

Şimdi javascript kodumuzu yazmaya başlayalım. simple_ajax.aspx dosyası içine koyacağımız bir linke basınca ekrana “Merhaba” mesajını getirmeye çalışacağız. HTML kodumuz:

[code lang="html"]
Basit Mesaj Çıkart!
[/code]

Javascript kodumuz, simple_ajax.js içine yazıyoruz.

[code lang="javascript"]
$(document).ready(function () {

$("#test1").click(function () {

$.ajax({
url: 'xhr/simple_1.ashx',
success: function (data) {
alert(data);
}
});

return false;

});

});
[/code]

Eğer ilk defa jQuery ile çalışıyorsanız yukarıdaki kodda anlamakta zorlanacağınız alanlar olabilir. Ben sadece iki satırı açıklayacağım, diğer bölümler belki jQuery giriş makale konusu olabilir.

1.satırdaki $(document).ready(function ()… tanımı jQuery’ye has onload fonksiyonuna karşılık gelen bir ifadedir. Yani html sayfası yüklendiği anda buradaki javascript komutları çalıştırılır.

3.satırdaki $(“#test1″).click ifadesi id değeri text1 olan nesnenin click olayına bir atama yaptığımızı gösterir. Bu a nesnesi olabileceği gibi bir image ya da div’ de olabilir. Burada ince bir nokta var. Sona yazdığım return false ifadesi nesnemiz bir anchor yani “a” ise, standart click işlemini iptal eder. Yani href özelliğinde yazan sayfa adresine yönlendirilme yapılmaz.

Asıl konumuza gelirsek yukarıdaki örnekte $.ajax fonksiyonu ile ajax dünyasına adım attık. Kullandığımız bir kaç özellik aslında anlaşılacağı üzere şöyle:

url: Bu parametre ile hangi sayfanın çağırılacağını belirtiyoruz.

success: Bu özelliğe atanan fonksiyon ile geri dönen değeri alıp ekrana alert ile gönderdik.

Dikkat ederseniz burada sayfa çağırma işlemi için GET ya da POST metodumu kullanılacak belirtmedik. Şimdi bunu öğrenelim. Bir adım daha ileri gidip ajax isteklerimizi ve geri dönüşleri takip etmeyi öğreneceğiz. Bunun için Firefox kurup, eklenti olarak Firebug’ı kurmalıyız. Bunları edindikten sonra sayfamızı firefox’ta çalıştırıp firebug ile giden-gelen dataya bakalım.

Firebug’ı ilk defa kullananlar için şunu belirtelim. Eklentiyi çalıştırmak için F12 tuşuna ya da pencerenin sağ altında beliren böcek simgesine tıklıyoruz. Bundan sonra ajax takipi için yukarıda ki fotoğrafta olduğu gibi “Net” başlığının yanındaki ok işaretine basıp, Etkin seçeneğini seçmemiz gerekiyor. Ardından eklentimiz isteiğimiz gibi çalışmaya başlayacaktır. Firebug olmasa Firefox’u asla kullanmayacağımı da satır arasında belirtmek istiyorum.

Yanıt sekmesine tıkladığımızda sadece “Merhaba” kelimesinin yazdığını görebiliriz. Bu basit örneğimiz bu kadar.

$.ajax metodları (edu.aspx)

contentType:  Gönderilen verinin tipini belirtir. Bazı durumlarda json,xml ya da html olarak belirtmek gerekebilir.

dataType: Server tarafından dönen verinin tipidir. JSon, HTML, Script, Xml olabilir.

cache: Bu çok kullanılabilecek bir özellik. Browserlar genellikle ajax için cache tutma eğilimindedir. Ne var ki bazı durumlarda bunu istemeyiz. İşte bu özelliği “false” yaparak cache’i devre dışı bırakabiliriz.

beforeSend: Benim en çok kullandığım fonksiyonlardan biridir. Ajax ile istekte bulunmadan önce çalışmasını istediğiniz kodlar varsa bu fonksiyon altına yazabilirsiniz.

timeout: Önceden buyana, tüm request işlemlerinde bir timeout sınırı vardır. Eğer serverdan çağırdığımız data yüklüyse ve timeout süresini uzatmak istersek bu özelliği kullanmamız yeterlidir. Saniye cinsinden verilir.

type: Temelde browser tarafından baktığımızda ajax bir post işlemidir. Post işleminin 2 tipte yapıldığını belirtmiştik. POST ve GET tipleri. Bazı durumlarda standart GET metodu yerine POST kullanmak istersek bu parametre aracılığı ile bunu değiştirebiliriz.

Temel olarak en çok kullanabileceğimiz özellikler bunlar. Şimdi örneklerimize geçelim.

İlk örneğimiz, “beforeSend” ile ilgili olacak. Önce xhr klasörü altına edu1.ashx dosyasını ekliyoruz. İçeriği aşağıdaki gibi.

[code lang="csharp"]

public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            System.Threading.Thread.Sleep(5000);
            context.Response.Write("Merhaba "+DateTime.Now.ToString("dd.MM.yyyy HH:mm"));
        }
[/code]

Bu kod, 5 saniye bekledikten sonra geri Merhaba ve o anki zaman bilgisini dönüyor.edu1.ashx sayfasını çağıran javascript kodunun ilk halide şu şekilde.

[code lang="javascript"]

$(document).ready(function () {

    $("#eduBStest").click(function () {

        $.ajax({
            url: 'xhr/edu1.ashx',
            beforeSend: function (data) {
                $("#log1").append("Gönderim başlatılıyor
");
            },
            success: function (data) {
                $("#log1").append("Gönderim bitti. Gelen data:"+data+"
");
            }
        });

        return false;

    });

});
[/code]

HTML Kod:

[code lang="html"]

begoreSend test

 

[/code]

Html kodda belirtilen “eduBStest” id’li linke basınca yukarıda verdiğimiz javascript kodu çalışacaktır.

Bu kodda öncekinden farklı şekilde beforeSend fonksiyonu eklenmiş durumda. Şu an yaptığımız ajax gönderimine başlamadan önce “log1″ id’li div içine “Gönderim Başlıyor” mesajı yazmak ve aynı şekilde gönderim tamamlandığında dönen datayı da eklemek. Linke tıkladıktan sonra 5 saniye bekleyecek ve ardından dönen datayı div içine yazacaktır.

Bu örneği çalıştırdıktan sonra F5 ile browserı refresh ettiğimizde ve tekrar denediğimizde, 5 sn bekleme süresinin kaybolduğunu ve hemen bir değerin ekrana yazıldığını görebiliriz. Muhtemelen cache sorunu oluştu demektir ve hemen cache parametremizi devreye alabiliriz.

Yeni javascript kodumuz şu şekilde olacaktır.

[code lang="javascript"]

$(document).ready(function () {

    $("#eduBStest").click(function () {

        $.ajax({
            cache:false,
            url: 'xhr/edu1.ashx',
            beforeSend: function (data) {
                $("#log1").append("Gönderim başlatılıyor
");
            },
            success: function (data) {
                $("#log1").append("Gönderim bitti. Gelen data:"+data+"
");
            }
        });

        return false;

    });

});
[/code]

cache ifadesini “false” değeri ile ekleyince sorunumuz ortadan kalktı.

type metodu ile ilgili örnek

Şimdi ileride kesinlikle ihtiyacınız olacağını düşündüğüm “type” metodu ile ilgili bir örneğe geçiş yapalım.

Yine xhr klasörü altına edu2.ashx adında bir dosya ekleyelim. Dosyamızın kodu şu şekilde:

[code lang="csharp"]

public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            context.Response.Write("Metod: " + context.Request.HttpMethod);
        }

[/code]

HTML Kodumuz:

[code lang="html"]

type="POST"

POST metodu ile istekte bulun!

 

type="GET"

GET metodu ile istekte bulun!

 

[/code]

Javascript Kodumuz:

[code lang="javascript"]

$("#eduPostTest").click(function () {

        $.ajax({
            cache: false,
            type: 'POST',
            url: 'xhr/edu2.ashx',
            beforeSend: function (data) {
                $("#log2").append("
Post isteği gönderildi
");
            },
            success: function (data) {
                $("#log2").append("Gönderim bitti.Dönen cevap:" + data + "
");
            }
        });

        return false;

    });

    $("#eduGetTest").click(function () {

        $.ajax({
            cache: false,
            type: 'GET',
            url: 'xhr/edu2.ashx',
            beforeSend: function (data) {
                $("#log3").append("
GET isteği gönderildi
");
            },
            success: function (data) {
                $("#log3").append("Gönderim bitti.Dönen cevap:" + data + "
");
            }
        });

        return false;

    });
[/code]

İlk örnekte yaptığımız gibi ilgili linklerin click event’ lerini özelleştirdik ve edu2.ashx dosyasına yönlendirdik. Bu dosya sadece kendisine gelen isteğin metod tipini geri döndürüyor.

Böylece az-çok bir şeylerin altından kalkabilir duruma geldik. Temel metodları öğrendik. Şimdi ufak bir form işlemi yapalım.

Ajax ile form gönderme işlemi. (formpost.aspx)

Öncelikle html kodumuz aşağıdaki gibi:

[code lang="html"]

Form Gönderme Örneği

Ad Soyad
Telefon

[/code]

Javascript Kodu:

[code lang="javascript"]

$(document).ready(function () {

    $('#demoForm').submit(function (e) {

        $.ajax({
            type: "POST",
            url: "xhr/saveform.aspx?t=js",
            data: $('#demoForm').serialize(),
            dataType: "html",
            cache: false,
            contentType: "application/x-www-form-urlencoded; charset=utf-8",
            success: function (msg) {

                alert(msg);

            }
        });

        e.preventDefault();

    });

});

[/code]

Yine ajax metodu kullanıyoruz ama burada ince bir kaç nokta var. Öncelikle “data” değişkeni ile form içeriğindeki verileri göndermemiz gerekiyor. Bunun için,
data: $(‘#demoForm’).serialize()” kodunu kullanıyoruz. Bu jQuery’nin bize sağladığı bir kolaylık. id’sini verdiğimiz form içindeki değerleri serialize ederek form tipine dönüştürüyor. Böylece saveform.aspx içindeki kodlar hem standart form post işlemi ile hem de ajax post ile çalışıyor. Yani yazdığımız bu kod javascript motoru disable edilmiş bir tarayıcıda da rahatlıkla çalışır.

Son olarak  saveform.aspx kodlarımıza bakalım:

[code lang="csharp"]
 protected void Page_Load(object sender, EventArgs e)
        {
            string namesurname = Request.Form["txtNameSurname"];
            string phone = Request.Form["txtPhone"];

            Response.Write("Ad soyad:"+namesurname+" - Telefon:"+phone);
            Response.Flush();
            Response.End();

        }
[/code]

Mükemmel! Artık ajax projelerimizin vazgeçilmez bir parçası olabilir.

Biraz Felsefe…

Her işte olduğu gibi bu sektörde ve meslekte de planlama çok önemlidir. Ajax hayatı kolaylaştıran bir teknolojidir ama bilinçsiz kullanım içinden çıkılamayacak problemlere neden olabilir. Bu nedenle ajax yöntemine tam olarak haklim oluncaya kadar bildiğimiz şekilde kodlarımızı yazmaya devam edelim derim. Öncelikle güvenlik kaygıları yüksek olan işlerde bu şekilde düz ajax metodları kullanmak tehlikeli olabilir.

Ne yaptığımızı, nasıl yaptığımızı tam olarak öğrenip hakim olmadan çok karmaşık projelerde ajax kullanmaya başlamayalım.

AJAX, aslında bir yöntemdir, teknolojidir. Ne jQuery ne de Microsoft tekelinde değildir. Ek olarak extjs gibi bir çok framework ajax teknolojisini destekler. Ajax kodlama yaparken dikkat etmeniz gereken bir diğer noktada SEO optimizasyonudur.

Bu makale ile ilgili sorularınızı yorum olarak alabilirim…

Sonraki heycan verici serüvende buluşmak üzere…..



ÖRNEK KODLAR
 
DEMO



Tagged in , ,

Freelancer Yol Haritası

Proje Felsefesi,Yazılım 3 Mart 2010 | 5 Comments

Yazılım kariyerimin yaklaşık 2 yılında freelance çalıştım. Bu yazıyı yazmamın amacı bugünlerde çevremde bana yöneltilen sorulara toptan bir cevap vermek. Özünde ülkemizde problemli durumda olan bu çalışma yönteminin yazılım geliştirici yanını ele alacağım. Doğal olarak bu gözden bakacağım. Tabi ki diğer taraftan bakınca da yazılım geliştiricilerden kaynaklanan problemler vardır, ama nihayetinde ben kendi açımdan konuyu ele alacağım. Ve çok kere yerli yazılım uzmanları ile problem yaşayanların, yüzlerini görmedikleri bir Hintli ile mucizevi bir disiplin içinde çalıştığına şahit olmuşumdur:) Yani yerli yazılım uzmanlarını sömürmeye çalışırken, yabancı bir yazılım uzmanına bir renk değişikliği bile yaptıramayıp yine de mutlu olmaları ve bundan bahsederken (adamlar çok disiplinli, ciddi yaklaşıyorlar vb) büyük bir keyif almaları hep ilgimi çekmiştir.

Konuyu çeşitli başlıklarda ele alacağım.

1. Proje Analizi

Ne olursa olsun amaç projeyi tamamlamak ve paramızı tam olarak almak ise, en küçük bir işte dahi proje analizine ihtiyacımız var. Proje analizi kafadan hayal kurularak yapılan bir eylem değildir. Kağıt ve kaleme dayanır. Nihayetinde bir fiyatlandırma politikası da oluşturur.  Sizden bir müşteriniz acele fiyat dahi istese çekinmeden kağıt kalemi alıp özet bir proje planı hazırlayabilirsiniz.

Bu plan için çeşitli araçlar kullanabilirsiniz. Örneğin:

Mind Map: Zihin haritası dediğimiz bu teknik ile karışık bir projeyi okunabilir hale getirip, yazılımla ilgilenmeyen bir kişi ile dahi tartışabilirsiniz. MindMeister.com, XMind, MindJet gibi farklı araçları kullanabilirsiniz. Kesinlikle kullanılmalı…

Excel: Özellikle proje sürecini yansıtmada ve ödeme takvimi için kolay anlaşılabilir bir araç olarak kullanılabilir.

ZOHO: zoho.com‘ dan ulaşacağınız güçlü hizmetler ile bir çok işinizi tek merkezde halledebilirsiniz. Zoho Business üyesi olarak 10 kullanıcıya kadar ücretsiz yararlanabilirsiniz. E-Posta, Writer (Word benzeri bir uygulama), Sheet (Excel benzeri bir araç), Task, Show (ower Point aracı), Notebook (Proje notlarını ve planlamasını yapabilirsiniz), PM (Proje yönetim aracı) ve daha bir çok web tabanlı uygulamayı kendi yararınıza kullanabilirsiniz.

Zamanla bu ve benzeri araçlarla kendinize bir proje analiz kültürü oluşturmakta ve bu kültürü sürekli güncel tutmakta fayda var. Yazılım süreci sanıldığının aksine çok karmaşık ve çok çok zor iştir. Bu iş yükümüzü mümkün olduğunca iyi analiz etmeli ve müşterimizle paylaşmalıyız. Bilgisayar karşısında oturarak 2 saatte yapılan bir eylem gibi algılandığında, hiç bir proje karşılıklı fayda ile bitirilemez.

Proje analiz sürecinde yapılacakları şu şekilde sıralayabiliriz.

Tüm proje en ince noktasına kadar analiz edilmeli

Bu adım aslında aldığımız bir işte sürecin kapsamının tam olarak sınırlarını çizer. Projeye başlamadan önce müşterimiz ile bu sınırlar üzerinde mutabık kalır ve planın bir örneğini de onaylatır sanız sorun yaşama olasılığı düşer. İnanın her projede müşterimizin aklına, yatağına yatınca ekstra fikirler gelir, buna çok müsait bir iş dalıdır yazılım, ama biz de projeperestlik yapıp bu fikirleri düşüncesizce uygulamaya kalkarsak ne kendimiz mutlu oluruz ne de müşterimiz. Burada kilit nokta, projemizi modüler (geliştirilebilir) bir yapıda tasarlayıp yeni isterleri müsait bir dille, ekstra bir faza atmaktır. Tabi belkide projeyi altüst edecek, iş yükünü veya süresini arttıracak bu istekleri müşteriniz mevcut sürece dahil etmeye çalışabilir. O zaman yapılması gereken, analiz dokümanını çıkarıp projeyi yeniden şekillendirmek ve fiyat değişikliğini açıkça bildirmektir.  Girişimci ve yazılım uzmanları asla pısırık olmamalı, sonra zaten kısa olan ömürlerini boşa harcamış olurlar. Zaten proje analizinin ana amacıda bir net duruş göstermek ve projeye karşı saygı uyandırmaktır.

Tasarım netleştirilmeli

Zorlu ama gerçekten çok çok gerekli bir adımdır. Özellikle daha önce bir web sitesi ya da proje yazdırmamış kişiler aşırı derece de kararsız olabilirler. Siz tasarım netleştirmeden bir projeye başladığınızda, müşteriniz bir arkadaşından aldığı bir eleştiriyi veya tavsiyeyi, sanki projenin tamamı yanlışmış gibi yanlış bir ifade tarzı ile anlatabilir. Öncelikle bu gibi durumlarda sakin olmalı ve müşterinizi de endişelendirmeden dinleyerek, doğru veya yanlış yönleri gerekirse uzun uzun anlatmalısınız. Bir çok kez müşterinizin bir arkadaşı, ya da belli bir zamanda birlikte olduğu 3. bir kişi sizin emeğinizi bir anda yok sayıp, çay ya da sigara sohbetinde harcayabilir. Tüm alt sayfaları ile baştan belirlenmiş bir proje tasarımı sizi bir çok tehlikeden kurtarabilir.

Ekstra durumlar belirtilmeli

Projelerin büyük bir çoğunluğu bu ekstra durumlar nedeniyle yok olur gider.  Bir yazılım uzmanı için ekstra durumlar ne kadar büyük bir problemse, müşteriniz için de o denli önemsiz olabilir. Bazen bu ekstra durumlar nedeniyle başladığınız gecekondu inşaatı, 2-3 katlı temelleri sağlam atılmamış bir apartmana dönüşebilir. Unutmayın ki bu bina çökerse tek günah keçisi siz olabilirsiniz.İşinizi sağlama alın. “İş başka, aşk başkadır”

Kapasite belirlenmeli

Her uygulama belli bir kapasitede çalışması için dizayn edilir.  Bunu belirleyen sınırlar, veritabanı yazılımı ya da boyutu, server donanım özellikleri, server bant genişliği vb olabilir. Burada sorumluluk tamamen size ait. Belli kullanıcı sayıları ile bu değişkenleri eşleyip bir plan hazırlamalısınız. Böylece müşteriniz hangi hangi durumda nasıl bir yatırım yapması gerektiğini bilir. Tabi bu limitleri belirlerken %10′luk bir tolerans koymayı unutmayın.

Platform Belirlenmeli

Yazdığını uygulama hangi tip serverda çalışır, hangi tarayıcılara destek verir, gerektiğinde client’ lar da hangi programlar kurulu olmalıdır. Bunları net olarak belirtmeli ve mümkünse yazılımınız kendisi bu kısıtlar haricinde uyarı mesajı vermelidir. Örneğin yaptığınız bir web sitesi altyapı olarak AJAX teknolojilerine bağımlı ise ve başlangıçta IE6 desteği vermeyeceğinizi müşteriniz ile konuştuysanız, ilk girişte browser versiyonunu kontrol edip kullanıcıyı yeni tip tarayıcılara yöneltmekte ve durumu uygun bir dille açıklamakta büyük fayda vardır.

Çalışacak kişi sayısı belirlenmeli

Eğer sizden başka kişilerinde çalışması gerekecekse bunu açıkça ortaya koymanızda fayda var. Böylece ücretlendirme ve proje takvimi daha net belirlenir. Eğer projenize farklı kişileri de dahil edecekseniz proje süresini %10 arttırmakta fayda var. Ve mümkün olduğunca proje temel yapısını siz tasarlayıp kodlamalısınız.

Gerekli belge ve dökümanlar belirlenmeli

Özel geliştirilen bir yazılım projesi “paket uygulama” değildir. Bu çok yanlış bir tabirdir. Bu proje sahibi yaşadığı sürece ya da sahibinin beyninde canlı kaldığı sürece hayatta olacaktır ve büyüyecektir. Her yazılım uzmanının proje geliştirdiği her sektörde uzman olması söz konusu olamaz. Mutlaka içerik yönetimi ve hesaplama araçlarının sonuç kontrollerini uzman müşteri temsilcisi (müşteriniz tarafındaki) yapmalıdır.  Bu amaçla oluşturulacak içeriğin sorumluluğu her zaman müşteri dedir.

Karşılıklı görevler paylaştırılmalı

Bir proje her zaman bir ekiple bitirilir. Tek başına proje bitirmek imkansızdır. Bu nedenle müşteri, test ekibi, saha kullanıcıları gibi görev kademeleri belirlenip hangi aşamada kime ihtiyaç duyulduğu netleştirilmeli.

2. İş Planı

Sevdiğim bir söz: “İş planı hazırlamak, bilim kurgu alt türüdür.”

Kesinlikle bu kadar senelik tecrübeme dayanarak doğru diyebileceğim bir sözdür. Öncelikle Plan kavramını kendi hayatımıza oturtmamız gerekiyor. Bu kadar zor bir meslek yaparken, Amerikan filmlerindeki dağınık, ayyaş, kendinden geçmiş yazılımcı tiplerine aldanmamak gerekir. Bunların hepsi yalan. Ne kadar zeki olursanız olun o tiplemelerin altından başarı çıkmaz.(Başarı=Bitmiş proje) Belki 2-3 numara yapabilirsiniz, sohbetlerde güzel konuşmacı olabilirsiniz ama önemli olan kişisel markanızın ticari değeri olup olmadığıdır.

Kısaca iş planı kesinlikle gerekli. Yine kağıt kalemle yapılan bir eylemdir. Yukarıda saydığımız araçları kullanabilirsiniz.

Acil eylem planı yapın

Acil eylem planı nedir? Ekstra durumlar için yapılan B,C,D,E,…. planlarıdır. Madem bu kadar zor ve riskli bir iş yapıyorsunuz her zaman projeye özel veya genel acil eylem planlarınız olmalı. Öncelikle bu eylem planlarını oluştururken, proje süresinin gece ve gündüz birlikte hesaplanarak verilmemiş olması çok önemli. Her zaman insani bir çalışma temposu içermeyen süre belirlemeleri kriz yaratır. İş hayatımda bazı yöneticilerimin gece ve gündür birlikte hesap ederek iş planı yaptıklarını gördüm ve inanın hepsi başarısız oldu ya da istenilen verimde ürünler olmadı.

Takvim aksama raporu çıkarın

Bir projedeki en ufak pürüz takvimi aksatır. Geç başvurulan bir hosting üyeliği, gerekli belge ya da dokümanların gelmemesi, geç gelen tasarım ögeleri, geç gelen müşteri onayları. Bu süreçleri en ince noktasına kadar takvime yansıtmakta fayda var. Örneğin siz veritabanı tasarımını bitirdikten sonra 10 Mart’ ta tasarımın hazır ve onaylanmış olacağını düşünerek bir plan yapmışsanız ancak tasarım gelmemişse, ya tasarım gelinceye kadar geçecek sürenin takvimi öteleyeceğini belirtmeli ya da bu olasılığı düşünüp tasarım 10 Mart’ta hazır olmazsa 5 günlük veritabanı bağlantı class’larının yazılmasına geçileceğini ve ardından tekrar tasarıma ihtiyaç duyulacağını belirtmelisiniz.  Burada küçük bir not düşmek gerekirse takvim başlangıçta tarihlere bağımlı olmamalı. Süreler gün ve hafta olarak verilmelidir. Tabi olabilecek tatil ve yıllık izinlerde hesap edilmeli. Tatilde yazarım gibi yaklaşımlardan kaçınılmalıdır. Yüksek ihtimal o tatiller sadece size ait değil, aile ve dostlarınızla ortaktır.

Görev ve sorumluluklar açıkça belirtilmeli

Planladığınız gecekondunun apartman olarak ortaya çıkmaması için müşterinize sizin tam olarak hangi görev ve sorumlulukları yerine getireceğiniz belirtilmeli. Örneğin projenin adisyon kesme bölümü için bir demo yazıcıya ihtiyacınız varsa bunun hazır olmasını sağlamak müşterinizin görevi olabilir ve proje başlangıcından sonra hangi tarihte ihtiyaç duyacağınızı açık ve net olarak ortaya koymalısınız. Baştan projeyi almak için “belki şuradan bir printer ödünç alırım” ya da bir emulator bulur denerim gibi yaklaşımlara hiç girmemek lazımdır. Hem zaten mümkün olduğunca gerçek ortamda kullanılacak cihazlarla projeyi test etmelisiniz.

3. 3.Parti Etkenler

İşte başınız çok ağrıtacak bir başlık. Zamanında benim başım gerçekten ağrımıştı. Nedir bu etkenler? Hosting firması, diğer çalışma arkadaşlarınız, 3.parti veri sağlayan firmalar, donanım sağlayıcılar vs vs.

En basitinden örnek vermek gerekirse bir hosting firmasının harddiskinin yanması ve müşterinizin girdiği dataların kaybolması başınızı gerçekten ağrıtabilir.  Müşteriniz bu durumda bir günah keçisi arayacak ve çoğunlukla bu sorumluluğun satın aldığı hosting servisinde olduğunu bilmeden sizin yazılım nedeniyle bu kaybın yaşandığını düşünecektir. Bu nedenle başlangıçta 3.parti kişi ve kurumların görevleri muhatabınıza ÖĞRETİLMELİ.

Özellikle backup seçenekleri konusunda müşterinizi yönlendirmenizde fayda var. Tabi backup sadece serverda değil sizim çalıştığınız makinada da gereklidir. Sonuna gelmiş bir projenin kodlarının bozulması ya da silinmesi hayatınızı kabusa çevirebilir. Bu noktada çeşitli ücretli veya ücretsiz servisler çok işinize yarayabilir. Ben şahsen Microsoft Live Mesh kullanıyorum. İncelemenizde fayda var.

4. Hukuki Altyapı

Bu kadar emek verdiğiniz bir proje üzerindeki haklarınızı kesinlikle korumanız gerekmektedir. Burada kastettiğim yazılım kodları değil. Bence bir yazılım projesindeki en değersiz materyal yazılımın kodlarıdır.   Asıl bahsettiğim ve korunması gereken sizin emeğinizdir. Bu emeğin karşılığını almak için kendinizi hukuki olarak koruma altına almalısınız. Basit bir a4 üzerinde yazılan bir sözleşme dahi bunun için yeterli olacaktır. Piyasada başka iş yapacak müşteri yokmuş gibi bir yaklaşım sizi zaman zaman belli kişilere köle yapabilir.

5. Ödeme Takvimi

Ben ilk freelance çalıştığım sıralarda baştan bir güven oluşması amacıyla peşin ödeme almazdım. Bir takım kulakları çınla yası kişiler bunu kullanmak istediler. Kesinlikle karşı tarafa da CİDDİ bir iş yaptığını hatırlatmak adına bu ödeme alınmalı. Maksimum %40 seviyede bir ön ödeme her iki tarafa da bir iş disiplini getirecektir. Zaten bir yazılım projesine gönül vermiş bir kişinin bu ödemeyi rahatlıkla yapacağını düşünüyorum. Çok önemli bir husus fiyatlandırma dır. Daha sonrada emeğinizi almadığınız fikrine neden olacak bir miktar ya da sonraya bırakılan bir ödeme %90 başarısızlıkla sonuçlanlanacak bir proje gerektirir.

6. Tehlikeli Cümleler

Özellikle yeni iseniz bu cümlelerden kaçının:

  • Biz sana daha çok müşteri buluruz…
  • Daha çok iş yapacağız…
  • Bu iş bir tutarsa…
  • 1-2 aya uçuracağız bu projeyi…
  • Bu sitenin aynısından yaptıracak en az 5 kişi var…
  • Param yok beni idare et…
  • Ben de para kazanmayacağım bu işten…
  • Çok beklentimiz yok zaten bu projeden,… mecburiyetten…
  • Ortak olalım!

Son Söz

Kişisel tecrübelerime dayanarak yazdığım bir yazı oldu bu iş. Hem kendimin hem de ilgili muhatapların kulağına küpe olmasını diliyorum bunların. Ben dahi yakın zamanda belki dostluk ilişkilerine güvenerek bazı hatalara düşebiliyorum. Çalıştığımız insanlar isteyerek ya da istemeyerek kendilerinden beklenmeyecek şekilde davranabiliyorlar. %100 olmasa da büyük oranda sizin yararınıza gelişecek bir proje süreci için yazdım bunları. Özellikle dostluk ve akrabalık bu kuralları yok saydırabiliyor ya da esnetebiliyor. İşin ilginç yanı bu dostluk ve akrabalık ilişkilerini bozmamak için bu kurallara %100 uyulması gerektiğini düşünüyorum.

Tagged in , , ,

Para Gerektiren Girişimler!

Proje Felsefesi,Yazılım 1 Temmuz 2009 | 2 Comments

Para Gerektiren Girişimler!

Proje Koordinatörü olarak çalışıyorum….

Doğal olarak 1 yılda 10′ larca proje elimden geçiyor. Nasıl başarılı olur nasıl olmaz bir film izler gibi görüyorum. Yakın arkadaşlarımdan Ali Bülbül ile bazen konuştuğumuz bir konu var.

Kimi girişim sahiplerinin, e-tohum vb toplantılarda  paraya gerek yok şeklinde ahkam kesmeleri, ülkemizde başarılı olması muhtemel kişileri yanlış yönlendirdiği kanaatindeyim.

Burada baştan belirtelim, babası dedesi, hastahane, tekstil atölyesi sahibi olan arkadaşlar için zaten bir sorun olmaz. Ama e-tohum’da söz alan kişiler zenginlik seviyesi belirtmediğine göre, Samsun’ dan, Adana’ dan, Ordu’ dan gelen çocukta bu öğütlerle muhattap.

Bir girişim için ne gerekli? Bir internet girişimi…

  • Yazılım
  • Hosting
  • Tasarım
  • Domain
  • Lisans
  • Yemek
  • Ulaşım
  • Telefon Konuşmaları
  • Bilgisayar
  • Internet Bağlantısı
  • Cafe buluşmaları

evet en temel kalemler bunlar. Bu kalemlerden ücretsiz elde edebilecekleriniz ve edemeyecekleriniz var.
Ama tamamı bedava değil. Bu maddelerin çoğu günlük yaşam süreci içinde ortak kullanabileceğimiz şeyler.
Yazılımını ve tasarımını kendisi yapan bir 2 arkadaşın maaliyet tablosu nasıl olur:

  • Hosting – 100 TL
  • Domain – 15 TL
  • Yemek – 30*12*10 TL
  • Ulaşım – 30*12*5 TL
  • Telefon – 12*20 TL
  • Internet – 12* 30TL
  • Bilgisayar – 2*1000 TL

Çok çok minimal bir hesap. Yıllık ya da ilk yıl 8.115 TL minumum bir paraya ihtiyaç var.

Tabi yazılım ve tasarımı dışarıya yaptırmanız, lisanslı ürün kullanmanız gibi durumlarda bu rakam en 30.000 TL olacaktır.
Ek olarak projeyi yapmakla da bitmediği için projeden sonraki pazarlama ve yazılımın daha kaliteli bir hosting ya da servera taşınması maliyetleri arttıracaktır.
Bu maliyetlere ek olarak, bir işte çalışmayarak kaybettiğiniz maaş ve sosyal haklarda eklenirse, “girişim için paraya ihtiyaç yok ” anlamsız kalır.

Ne yapmalı?

Sizi destekleyecek bir aile bireyi, öğrenciler için bulunmaz fırsattır. Diğer türlü belli bir süre piyasada çalışıp sizin fikirlerinize değer veren ve çevresi olan arkadaşlar edinmeniz de bulunmaz fırsatlar yaratır.
Fakat bu noktada uyanık olmakta fayda var, sizin fikilerinizi kullanmak isteyen insanlar kesinlikle çıkacaktır.
Başarılı girişimler….

Tagged in , , ,

Ukala!

Yazılım 15 Şubat 2009 | 1 Comment

Ukala!

Senin Mesleğin Nedir?

Belki de bir yazılım uzmanı ya da tasarımcının en çok zorlandığı şey, özellikle memleketinde ya da aile içinde mesleğini söylemektir. İçinde bilgisayar geçen bir iş tanımında bizim insanımızın anladığı genellikle bilgisayar satış ve tamiratı oluyor. Gerçekten hala meslek tanımlamada zorlanılan durumlarla karşılaşmak mümkün. 

En Güzel İş Bilgisayarcılık!

Bu yazıya bir süre ara vermiştim. Bir vesileyle ortaokul ve liselilerin olduğu bir ortamda mesleklerle alakalı sohbetler oldu. En çok dikkatimi çeken şey gençlerin “bilgisayarcılık” işini çok rahat ve akşama kadar oturulan bir meslek olarak görmeleri.

Sonuç olarak bu mesleği yapan herkes bilir ki gerçekten zor ve zahmetlidir. Konunun özüne dönersek, ukalalık ve kafasına göre çalışma durumuna. Bunu bu kişilerle çalışanların kesinlikle kabullenmesi gerekir. Bu mesleğin özü, zihinsel faaliyetlerin parmaklarla nakşedlmesi olduğu için doğal bir ukalalık ve çalışma yöntemi kaçınılmaz.

Ukalalık tanımının özünde, insanların bizlerin konuştuklarını anlamaması yatıyor. Eğer bir tarafın konuştuğu, ortamdakiler tarafından anlaşılmazsa, bu kişi diğerleri açısından ya saygın biridir ya da ukaladır! Ben konunun özüne bu şekilde bakıyorum, isteyerek ve kasıtlı yapılmış bir hareket olarak görmüyorum.

İlham! konusu da diğer doğal bir sonuçtur. Özellikle yaratıcı faaliyetlerin zorlamayla ortaya çıkması mümkün değil. Bir ressamın kafasına silah dayayarak, şahaserler yapmasını bekleyemezsiniz.  Bu “Programcılık Sanatı” çinde böyledir.

Bu işin br çözümü yok, zamanla tarafların birbirini anlaması ve empati kurması sonucu, tahmin edilesi davranışların benimsenmesi ile çözülemeyecek sorun göremiyorum.

Tagged in

Yazılım Sektöründe Görev Karmaşası

Yazılım 12 Şubat 2009 | 1 Comment

Baştan bilmekte fayda var. Türkiye’ de Yazılım ve buna bağlı kollar bir sektör değildir. Ticaret odasında sektör olarak ayrı geçmez. Türkiye’ de yazılım ile ilgili standartlar yoktur.(/Dünya standartları bilinmez,uygulanmaz)

Durum böyle olunca bir çok alt birimi bünyesinde barındıran yazılım sektöründe, bu birimlerin varlıkları ve bu birimlerde görev yapanların ünvanları kayıptır. Bu da çoğu projede bir görev karmaşası oluşturur.

Yazılımda Görev Tanımları Neden Net Olmalıdır?

Bu iş ve süreçleri doğal olarak zor bir süreç olduğundan en ufak karmaşa bile işin/projenin gidişatına balta vurur. Bu işin tamamı yüksek oranda beyin eforu ve odaklanma gerektirdiği için, kanıtlanmış insan beyni teorilerine göre, beyin sadece ve net ortamda daha sağlıklı karar verebilmekte ve bireyler verimli olabilmektedirler.Şimdi yazılım alt birimleri ve yardımcı brimleri arasındaki karmaşa nedenlerine bakalım.

Yazılım Uzmanı-Tasarımcı İlişkişi

İşte sürekli tartışılan bir ikili. Biri yuvarlak tasarımlar yaptıkça diğeri isyanları oynardı 10 sene önce. Ek olarak 10 sene önce tasarımcılar kendilerini daha çok bir desinatör olarak görür html, css yapısına karışmazlardı. Bu zamanlarda programcılık,  windows tabanlı ilerlediği için programcılar da html ve css kodlamasına girmek istemezlerdi.

Bugün her iki kesim de html ve css işine girmek zorundalar. Artık desinatör tasarımcılardan Web Master tasarımcılara bir geçiş yaşadık. Win. programlamadan web programlamaya da bir geçişte kaçınılmaz oldu ve her iki taraf html ve css paydasında ortak çalışablir duruma geldi. 

Genel olarak tecrübelerime baktığımda desinatör ruhlu tasarımcıların html ve css kodlama da başarısız olduklarını görüyorum. Kendini kodlama da geliştirmeye hevesli tasarımcıların kod kalitesi bakımından daha başarılı olduğuda bir gerçek. 

İş css standartları ve programlama mantığına geldiğinde tasarımcı altyapısına sahip kitlenin nedense büyük bir başarısızlık içinde olduğunu düşünüyorum. Şöyle ki iki farklı sayfada birbirinin aynı olan bir üyelik ve yardım alanı için farklı css tanımlaması yapılabiliyor. Halbuki programcılık mantığında baktığında bu tekrar eden kesimler bir şekilde koda include edilir ve fazla kodlamadan kaçılır. Bu php,asp ya da asp.net farketmez.Böyledir.

Şu an yaşandığına inandığım bir karmaşa ise erişilebilirlik. Erişilebilirlik özünde daha sade ve anlaşılabilir bir yapıyı barındırdığı halde, bazen tasarımsal değerlerle çakışmaktadır. Bu çakışma tasarımların içerik olarak flash gerektirmesinden, zor yüklenen yüklü sayfalara kadar kendini gösterebilir.

Yazılım Uzmanı – Proje Yöneticisi İlişkisi

Ben genellikle programcıları ikiye ayırırım. “Şahin Programcı” dediğim ne söylense yapan birazda memur davranışı sergleyen kesim ve ne söylersen yapmayan önce düşünen “Aykırı Programcılar”.

Bu bahsettiğimiz PY ile ilşkide sorun genellikle Aykırı Programcılar ile yaşanmaktadır. Her ne kadar tanım için “sorun” metnini kullansakta aslında bu bahsettiğimiz bildiğimiz anlamda sorun değil. Kastettiğim süreçte bir pazarlık katmanının oluştuğu. PY çoğu şey için AP(aykırı programcı)’ yi ikna etmesi gerekiyor. Bu da iş sürecine yen bir katman eklemektedir. Ben bu olayı her zaman olumlu gören bir insanım. Özellikle arge gerektiren işlerde çok önemli bir süreçtir.

Fazla uzatmadan bu yazının ana konusuna dönersek, yazılım sektörüne! iş gücü yetiştiren eğitim kurumlarının, olayın disiplininden uzak bir eğitim verdiğine inanıyorum. Bu, sektörde çalışanları bilinçsiz olarak kariyer basamaklarına itmekte ve kişi kendini beğenmeyeceği ummadık bir yerde bulabilmektedir.

Peki bu sorunu çözmek kimin işi. Öncelikle her zaman dediğimiz gibi eğitim sistemini adam etmek gerekir. Bunun içinde şu an piyasada çalışanlarla işbirliği yapılmalı. Diğer taraftan, var olan çalışanlar içnde sertifika ve seminerler düzenlenmeli, olayın bilinci aşılanmalıdır.

Belirtmeden geçmekte fayda var, yazılım sektöründe çalışan kişileri belli alışkanlıklardan vazgeçirmek zordur. Bu işin kaynağına inmekte, eğitimide bazı standartları aşılamakta fayda var.

Tagged in