Skip to content

Social Network Badges

Posts under Programlama Category

3G vb. teknolojiler, yeni ve daha akıllı cihazlar, sektörün devlerinin pazar paylarını kaybetmemek adına yaptıkları donanım ve yazılım yatırımları mobil Internet’in hızla yayılmasına ve bir mobil yaşam tarzının oluşmasına sebep oldu. Sosyal ağların ve özellikle Facebook ve Twitter’in getirdiği sürekli merak ve takip isteği bu yaşam tarzını iyice yerleştirdi. Artık iş hayatı da, eğlence de avuç içi kadar ekranlarda yaşanıyor.

Yeni nesil akıllı telefonlar hayatımıza “mobil uygulama” kavramını da soktu. iPhone’un çıkışıyla yazılım dünyasının seyrini değiştiren mobil uygulamalar, geliştiricileri ve şirketleri radikal kararlar almaya zorladı. Mobil uygulama geliştirme firmaları kuruldu, binlerce geliştirici kariyerini mobil uygulamalara yönlendirdi, mobil uygulamalara yönelik projeleri yöneten ajanslar ortaya çıktı. Bir çok kurumsal şirket kullandığı finansal uygulamaların mobil sürümlerini geliştirme yolları aramaya başladı. Araştırma kuruluşlarının raporlarında 2015 yılı itibariyle 25 milyar dolarlık bir mobil uygulama ekonomisi oluşacağı tahmin ediliyor.

Serbest ekonominin bir sonucu olarak bu alanda da birden çok alternatif ortaya çıktı. Google’ın ücretsiz Android işletim sistemi telefon üreticilerince tercih edilince, pazar payı hızla Apple platformunun önüne geçti. Microsoft ve Nokia yerlerini kaybetmemek adına güçlerini birleştirip Windows Phone işletim sistemli cihazlar üretmeye başladı. RIM firması iş dünyasında lider olduğu Blackberry cihazlarının özelliklerini ve çeşitlerini arttırarak hakimiyetini koruma derdine düştü. Samsung’un Google’a bağımlı kalmamak adına geliştirmeye çalıştığı Bada işletim sistemi varolma mücadelesi veriyor.

Peki, mobil yazılım işinde yer almak istiyorsanız bunların hangisine uygulama geliştireceksiniz? Hepsine birden geliştirecekseniz; tek tek donanım ve yazılım yatırımları yapıp, her biri için işgücü mü yetiştireceksiniz?

Mobil telefonların yanında, dokunmatik tabletlerin özellikle iş dünyasında kullanımı hızla artıyor. Uygulama geliştirirken tabletlerin boyutlarını da dikkate almanız gerekiyor. Aynı uygulamanın hem telefon hem tablet sürümlerini mi geliştireceksiniz?

Bu sorular mobil işletim sistemi pazarına yeni oyuncular girdikçe daha çok artacak. Dolayısıyla kariyerini mobil alanda devam ettirmek isteyen yazılımcıların, yazılım şirketleri ve kurumsal kullanıcıların doğru yatırımları yapması önemli hale geliyor.

Önünüzde birkaç alternatif var:

  • Sadece bir platform için uygulama geliştirmek: Bireysel geliştiriciler ve küçük yazılım şirketleri için tercih edilebilir bir seçenek… Ama aynı uygulamanın farklı platform için geliştirme ihtiyacı olduğunda bir dezavantaj haline geliyor.
  • Her platform için ayrı uygulamalar geliştirmek: Bu seçenek, Apple iOS uygulamaları için Mac bilgisayarlara ve Objective C bilen elemanlara sahip olmak, Android uygulamaları için Java ve Android SDK bilmek, Windows Phone için C# yatırımı yapmak demek… Eğer işi mobil yazılım geliştirmek olan bir firmaysanız, tercih edilebilir seçeneklerden biri… Ancak maliyeti yüksek…
  • Tüm platformlar için ortak yazılım geliştirmek: Kulağa hoş gelen ancak kendi zorluklarını içinde barındıran bu seçeneğin önündeki en büyük engel, cihaz ve işletim sistemi üreticilerinin ortak bir paydada buluşmuyor olması. Örneğin, Apple 2010 yılı ortalarına kadar Objective C dışında yazılan uygulamaların App Store’da yer almasına onay bile vermiyordu. Ayrıca, cihazlardaki GPS, sensörler vb. donanım özelliklerinin hepsini ve cihaz farklılıklarını desteklemek başlı başına bir problem… Yine, ortak uygulamanın hangi teknoloji ve dillerle geliştirileceği de bir başka sorun…

Uygulama geliştirme yöntemini ve platformu seçmek tabiri caizse buzdağının görünen yüzü… Eğer oyun ve eğlence uygulamaları geliştirecekseniz, çok kapsamlı bir özellik listesine ihtiyacınız olmayacaktır. Ama iş dünyası ve kurumsal mobil uygulamalar için; normal fonksiyonların yanında Internet’e bağlı olunmayan zamanlar için offline depolama, güvenlik ve erişim yönetimi,  raporlama ve loglama, merkezi veritabanlarına bağlantı yönetimi, web servisleri gibi özellikleri de dikkate almanız gerekiyor.

Bir diğer süreç de geliştirilen uygulamaların yayınlanması… Apple, (kurumsal iç dağıtım hariç) iOS uygulamaları için App Store dışında kuruluma izin vermiyor. App Store’da bir uygulamanın yayınlanması ise ancak belli kriterleri sağlamak ve aşamaları geçmekle mümkün oluyor. Android uygulamaları için resmi mağazası Market dışında bir çok uygulama mağazası var. Ayrıca uygulamaları direkt olarak yüklemek de mümkün… Ama bu durum da versiyon yönetimi sorununu beraberinde getiriyor.

Yukarıda bahsettiğimiz alternatiflerden ilk ikisinden birini tercih edenler, üreticilerin kendi geliştirme araçlarını kullanarak bu sorunların üstesinden gelmeye çalışıyorlar. Daha farklı yöntemler arayanlara yardımcı olmak açısından bir sonraki yazıda “tek uygulama, çok platform” çözümünü sağlayacak uygulama geliştirme çatılarını (framework) inceleyeceğiz.

11 Kasım 2011

Internet | Programlama

YazılımYazılım en hızlı gelişen ve değişen sektörlerden birisi… Ayrıca programlama dilleri, metodolojileri, araçları ve kullanım şekilleri itibariyle en fazla çeşitlenmenin de olduğu alanlardan…

Fikirler ve ürünler çok çeşitli olunca tartışmalar yaşanması kaçınılmaz oluyor. Çoğunlukla her iki tarafın da haksız olmadığı bu tartışmalar bazen uzun yıllar sürebiliyor ve hatta bir sonuca ulaşmıyor.

Tab mı boşluk mu?

Programcılıkta, kod parçalarının farklı girintiler yaparak yazılması önemlidir. Bir fonksiyonun içindeki kodları biraz içeriden, bir döngünün içinde kalan bölümü biraz daha içeriden vb. yazarak kodların kolay okunabilir ve anlaşılabilir olması sağlanır.

Peki, bu girintileri verirken Tab (Sekme) karakteri mi kullanılmalıdır yoksa belirli sayıda boşluk mu verilmelidir?
Bu sorunun cevabı çok eski yıllardan beri bir tartışma konusu olagelmiştir. Boşluk fikrini savunanlar, bir Tab karakterinin Unix’te 8 boşluk, Macintosh’ta 4 boşluk anlamına gelebileceğini ve ortak bir standart için belirli sayıda boşluk kullanılması gerektiğini söylerler.
Tab fikrindekiler de herkesin boşluk verme şeklinin farklı olduğunu, asıl standardı Tab karakteri kullanmanın oluşturduğunu iddia ediyorlar.

Modern programlama editörlerinin çoğunda Tab tuşunun kaç boşluk vereceği kullanıcıya bırakılmış durumda… Tab değil de boşluk vermeyi tercih edenler ise farklı alışkanlıklara bağlı olarak 2, 4, 8 karakter kullanabiliyorlar.

Süslü parantez nereye konacak?

C ve sonrasında çıkan benzeri programlama dillerinde bir programın, bir metodun ya da bir döngünün başlayıp bittiğini anlatmak için süslü parantezler { } kullanılır. Bu parantezlerin kullanım şekli de bir başka tartışma konusudur.

Vikipedi’de anlatıldığı şekline göre;
Klasik C dilinde çok kullanılan K&R (Kernighan and Ritchie) stilinde, Unix/Linux çekirdeğinin yazıldığı 1TBS (The One True Brace Style) ve BSD Unix kaynak kodunun yazıldığı şekil olan BSD KNF stilinde, açılan parantez metotlarda alt satıra, metot içindeki döngülerde ise aynı satıra konur. Kapatılan parantez metodun ya da döngünün başı ile aynı hizaya konur.

int metot()
{
    while(şart) {
	işlemler...
    }

    if(şart){
       işlemler...
    } else {
       işlemler...
    }
}

ANSI C standardı olarak bilinen Allman stilinde ise, parantezler her zaman ayrı satırlarda bulunur. Bu yöntemde tek bir parantez bir satır olarak geçtiğinden yazılan kodun satır sayısı artar. Ama aynı zamanda okunabilirliği de artar.

int metot()
{
    if(şart)
    {
       işlemler...
    }
    else
    {
       işlemler...
    }
}

Yine, bu iki metottan hangisini tercih edeceğiniz size kalıyor.

Eşittirden sonra boşluk olmalı mı?

Bir diğer tartışma konusu, değişken atamalarında ya da şart ifadelerinde = (eşittir) karakterinin etrafında boşluk bırakılıp bırakılmayacağı…
Örneğin, değişken=değer mi olmalı yoksa değişken = değer mi? Bu sorunun cevabı değişken; çünkü bir çok programlama ve script dilinde boşluk kullanmanın anlamı değişebiliyor.

GNU/Linux mu, Linux mu?

Açık kaynaklı yazılım dünyasının tartışmalarından birisi, Linux işletim sisteminin adının GNU/Linux mu yoksa Linux olarak mı kullanılması gerektiği…

GNU (GNU’s Not Unix -yinelemeli bir kısaltma) Unix’e alternatif ve sadece özgür yazılımlardan oluşan bir işletim sistemi oluşturmak için Richard Stallman tarafından 1984 yılında başlatılmış bir proje… 1991’de, Linus Torvalds Linux çekirdeğini yazınca bazı GNU programları Linux üzerinde çalışmak üzere aktarılmış ve daha sonra GNU’nun diğer kısımları da Linux üzerine taşınmış. Böylece tam bir işletim sistemi ortaya çıkmış.

Ancak, sonraki yıllarda Linux çekirdeğinden ve GNU programlarından oluşan bu işletim sistemine ne ad verileceği tartışma konusu olmuş. GNU/Linux ismini savunanlar, tam bir adı ortaya koyduğu için bir kimlik olarak kabul edilmesini isterken; Linux ismini savunanlar daha kolay ve yaygın bir kullanım oluştuğu için işletim sisteminin adının Linux olarak kalması gerektiğini iddia ediyorlar.

Richard Stallman, işletim sisteminden bahsederken GNU/Linux; çekirdekten bahsederken ise Linux denmesini istiyor. Linus Torvalds ise, eğer Debian Linux, Redhat Linux gibi bir GNU dağıtımı hazırlanacaksa o zaman böyle denebileceğini, ama Linux’a GNU/Linux denmesinin komik olduğunu söylüyor.

Kaynak kodu açık mı olmalı yoksa kapalı mı?

Geliştirilen yazılımların kaynak kodunun açık ve ulaşılır olmasını isteyen açık kaynak felsefesi ile kaynak kodlarının gizli olmasının gerekliliğini savunan şirketlerin tartışması yıllardır devam ediyor.

Açık kaynak felsefesi; açık kaynak kodlu uygulamaların güvenilirlik sağladığını, sanılanın aksine güvenlik açığı oluşturmadığını hatta bir çok kişi tarafından görülebildiği için hatalarının kısa zamanda düzeltilebileceğini belirtiyor. Ayrıca herkes tarafından geliştirilebilmesi sayesinde daha sağlam ve yüksek kalitede olacağını iddia ediyor.

Microsoft’un başını çektiği, kapalı kodu savunan şirketler ise; kapalı kaynak kodlu uygulamaların daha güvenli olduğunu, daha çok kişinin kodu görmesinin hataları kapatmaya yetmeyeceğini, farklı kişilerin koda müdahale etmesinin daha yanlış olduğunu savunuyor. Ayrıca, yazılımlardan alınan lisans bedellerinin ar-ge faaliyetlerinde kullanıldığını, açık kaynak kodlu bir çok yazılımın ise ar-ge faaliyeti yapmadan kendilerinin fikirlerini kullandığını iddia ediyorlar.

Yazılım geliştirme mi sanat mıdır, mühendislik mi?

Yazılım ürünleri hem yapılış süreçleri itibarıyla bir sanat eseri hem de içerdikleri mantık ve sorunlara yaklaşımı sebebiyle bir bilim ya da mühendislik yapısı özelliği gösterirler.

Tartışılan nokta ise daha çok yazılım geliştirme işinin hangisine daha çok uyduğu…

Mühendislik fikrini savunanlar, yazılım geliştirmenin kendine özgü dinamikleri, çalışma prensipleri ve kuralları olan bir meslek olduğu, süreçlerin bilimsel olarak ele alınması gerektiği, ihtiyaçlara analitik ve sistematik bir yapıda çözümler üretilmesi gerektiği yaklaşımlarını ortaya koyuyor.

Sanat olduğunu iddia edenler ise, geliştiricilerin el emeği olduğunu, yetenek gerektirdiğini, arayüz tasarımları, raporlamalar vb. sebebiyle birer sanat eseri olduğunu, yazılımcıların bir disiplinle çalışamayacaklarını ancak özgür bırakıldıklarında nitelikli bir üretim yapabileceklerini düşünüyorlar.

27 Mart 2009

Programlama

Ekonomik krizin tüm dünyayı vurduğu şu günlerde ülkemizde de işten çıkarmalar başladı. Bilişim sektörü gibi temel ihtiyaçtan sayılmayan alanlarda çalışanlar, ne kadar uzman olurlarsa olsunlar maalesef bir masraf kalemi olarak görülüyorlar. Krizin hissedilmeye başladığı ilk anlarda kapının önüne konuluveriyorlar. Her biri bir dram, her biri üzücü hayat hikayeleri…

Ancak, bilişim uzmanları nispeten şanslı. Sahip oldukları bilgi birikimini ve yeteneklerini illa da bir şirket için kullanmak zorunda değiller. Hatta serbest çalışmaya, kendi işini yapmaya en müsait alanlardan birisi bilişim. Yeter ki, kendilerini geliştirmiş ve en azından temel seviyede İngilizce biliyor olsunlar.

Peki, diyelim ki başınıza olabilecek en kötü ihtimal geldi ve işinizden çıkarıldınız. Başka bir işe girmek de kriz sebebiyle zor. En azından sürekli bir işe girinceye kadar birşeyler yapmak lazım. Ne yapacaksınız?

Bu sorunun cevabını birkaç seçenekle verelim. Üstüne benzerlerini de siz ekleyin.

Öncelikle kesinlikle ümitsiz olmayın. Türkçemizde bu tür durumlarda ifade edilen ve bugünlerde sık duyduğumuz bir söz var: “Allah bir kapıyı kapatır, diğer kapıyı açar.” Diğer kapılara karşı inancınız ve ümidiniz tam olsun.

Gelelim yapılabilecek işlere…

Yeteneğinizi kiralayın

Özellikle bir yazılımcıysanız, sizin bilgilerinize para ödemeye hazır bir çok insan olduğunu bilin. Örneğin Rent A Coder sitesinde yaptırmak istediği işler için yazılımcı arayan kişiler açık azaltmalar düzenleyerek en uygun fiyat veren yazılımcıları seçiyorlar. İşlem şöyle gerçekleşiyor:

  1. Alıcılar işi yayınlıyorlar
  2. Yazılımcı fiyat teklifi yapıyor.
  3. Alıcının seçtiği kişi işi yapıyor. Bu sırada haftalık düzenli raporlar gönderiyor.
  4. Yazılımcı işi teslim ediyor.
  5. Alıcı onaylıyor.
  6. Yazılımcı parasını alıyor.
  7. Karşılıklı olarak birbirlerini değerlendiriyorlar.

Sitede bir yazılımcı için ipuçları, iletişim teknikleri, dokümantasyon için şablonlar içeren bir makaleler bölümü de var.

Bu konuda iş yapılabilecek diğer siteler şunlar:

Uzaktan çalışın

Uzaktan çalışma (telecommuting) özellikle Amerika’da çok popüler bir yöntem. Internet bağlantılarının iyi olması sebebiyle uzun yıllardır var ve popülaritesi gittikçe yükseliyor. Artık Türkiye’de de ADSL sayesinde uzaktan çalışmak verimli hale geldi.

Bu yöntemde genelde iş ilanlarına başvuruyor ve kabul edilirseniz verilen işleri şirketin bir elemanı gibi çalışarak yapıyorsunuz. Çalışmanızı periyodik raporlarla şirkete iletiyorsunuz. Bazı işler yazılı, sesli ya da görüntülü bağlantı gerektirebiliyorlar. Ya da bazı işler için arada sırada şirkete gelmenizi isteyebiliyorlar. Ama genelde evden çıkmadan iş yapabiliyorsunuz. Program yazmaktan teknik doküman hazırlamaya, test yapmaktan destek vermeye kadar bir çok alanda size uygun işler bulabilirsiniz.

Uzaktan çalışma ilanları bulabileceğiniz birkaç adres :

iPhone için uygulama yazın

Aslında bir yazılımcıya sadece iPhone için uygulama yazmayı tavsiye etmek dar bir kapsam sayılabilir. Ancak son dönemde en moda işlerden birisi bu. Ortak bir platform var, eğer yazdığınız uygulamayı kabul ettirebilirseniz hazır bir satış yeri var.

iPhone uygulamaları çok rağbet gördüğü için güzel bir gelir elde edebilirsiniz. Hatta isterseniz ücretsiz bir uygulama yazıp bağışlarla bile geçinebilirsiniz. Nitekim bir Türk yazılımcının iPhone’da olmayan kes/yapıştır özelliğini getiren ücretsiz uygulaması yüksek miktarda bağış almıştı.

iPhone uygulaması yazmak için işe yarayacak kaynaklar:

Ücretli destek verin

Geniş bant Internet’in yaygınlaşmasının en güzel yanlarından biri de uzaktan teknik yardım ve yönetim işlerini kolaylaştırması. Bilişim sektöründe bugün bir çok teknik sorun uzak bağlantılar yöntemiyle kolay ve masrafsız bir şekilde hallediliyor.

Uzman olduğunuz konularda, yardım ihtiyacı olan insanlara yazılı, sesli ve görüntülü bağlantı metotlarını kullanarak uzaktan ulaşabilir, sorunlarını çözebilir ve karşılığında ücret alabilirsiniz.

Mesela Crossloop.com sitesi bu tür bir teknik yardım topluluğu olarak hizmet veriyor. Uzman olduğunuz alanları ve müsait olduğunuz saatleri belirtiyorsunuz. Müşterileriniz size ulaşıp yardım talep ediyor. Siteden ücretsiz indirilebilen uzaktan yönetim programını kullanarak müşterinizin bilgisayarına müdahale ediyor ve sorununu çözüyorsunuz. Sitede uzmanlar hakkında başarı değerlendirmeleri yapılıyor. Böylece eğer insanları memnun edebiliyorsanız talibiniz de çok oluyor.

Benzer bir site de Experts Exchange. Bu sitede sorunlara verdiğiniz yazılı cevaplar sayesinde gelir elde edebiliyorsunuz. Google’ın benzeri amaçla kurduğu Google Answers sitesi 2 yıl önce kapandı ama sitedeki uzmanlar UClue.com’u açtılar. Yine bu sitede de uzmanlık alanınızdaki soruları cevaplayarak para kazanabilirsiniz. Yahoo’nun Answers sitesi ise gönüllü ve ücretsiz yardım esasına dayalı bir site. İsterseniz bu sitede cevaplar yazarak kazandığınız puanları reklamınız olarak kullanabilirsiniz.

Henüz benzer bir Türkçe site yok. Ama işte size iş fikri. İnsanlara para kazandırabileceğiniz böyle bir siteyi siz açın o zaman. 😉

Test Yapın

Geliştirilen yazılımlar ve web siteleri için üreticilerin bir test ekibi kurmaları her zaman mümkün olmuyor. UTest.com bu konuda yardımcı olmak üzere kurulmuş bir şirket. Siteye üye olan müşteriler, 150 ülkeden kayıtlı binlerce test uzmanına ürünlerini test ettirebiliyorlar.

Bir test uzmanı olarak UTest.com’a kayıt olabilir, bekleyen ürünleri test edip hata raporları girerek değerlendirme sonucuna göre ücret alabilirsiniz. Performansınıza ve ayırdığınız vakte bağlı olarak yüksek miktarda gelir elde etme şansınız var.

Site test uzmanlarına Mastercard uyumlu bir ödeme kartı gönderiyor ve kazandığınız parayı kart hesabınıza yatırıyor.

Yazı yazın

Eğer yazabilme yeteneğiniz varsa, nispeten daha az gelir getirecek ama zaman zaman “kısa günün kârı” sayılabilecek işler yapabilirsiniz. Türkiye’de ilk defa olarak Pilli sitelerinde başlayan bir uygulama ile makaleler yazıp okunma sayısına göre para kazanıyorsunuz. Bu yöntem hem sitelerdeki kaliteli içerik miktarını arttırıyor, hem de üyelerine ek bir gelir imkanı sağlıyor.

Pilli sitelerinde yazı yazarak nasıl para kazanabileceğinizi şuradan öğrenebilirsiniz. Hatta gelirinizi arttırmanızı sağlayacak ipuçlarını da bulabilirsiniz.

Ücretli makaleler yazabileceğiniz Türkçe içerik sitelerini arıyorsanız şuraya, İngilizce içerik sitelerini arıyorsanız şuraya tıklayabilirsiniz.

Reklamdan para kazanın

Bir web siteniz varsa ya da web sitesi hazırlayabiliyorsanız, reklamlardan para kazanmayı da deneyebilirsiniz. Son zamanlarda sitelerine aldıkları reklamlardan yüksek meblağlar kazanan insanları görmek mümkün. Gerçekten yüksek rakamlar var. Tabii gelir miktarı sitenizin ilgi çekmesi ile doğru orantılı. Özellikle de arama motorlarında arandığında ilk sıralarda gözükmesi popülerliği ve dolayısıyla da reklam gelirlerini arttıracak bir etken. Sırf bu amaçla SEO denilen bir alan oluştu bile.

Peki siz nasıl reklamdan gelir elde edeceksiniz?
Google’ın Adsense programı şu sıralar en popüler ve en çok kazandıran reklam ortaklığı. Sitenize alacağınız reklamlara tıklandıkça hesabınızdaki para artıyor. Yalnız Google’ın kurallarının çok katı olduğunu belirtmekte fayda var. Bu işe girişmeden önce şu yazıyı okumanız tavsiye olunur.

Ayrıca sitenize alabileceğiniz diğer reklam kaynakları:

Kendi reklamlarınızı verin

Kriz zamanları girişimciler için fırsatlara dönüşebilir. Uzmanlık alanınızla ilgili hizmet reklamlarını Internet sitelerinde yayınlayarak kendinizi pazarlayabilirsiniz. Yazdığınız programı, yaptığınız web sitelerini, yazdığınız kitapları vb. her ne konuda bir şeyler ürettiyseniz, yüksek maliyetlere gerek kalmadan insanlara duyurabilirsiniz.

Internet reklamları için kullanabileceğiniz birkaç adres :

Kendi işinizi kurun

ve işte en son, ama hayatınızı en radikal biçimde değiştirebilecek önerimiz. Kendi işinizin patronu olun. Ekonomik kriz zamanları Türkiye’de hem en çok işyerinin kapandığı, hem de en fazla iş girişiminin yapıldığı dönemler. Zaten belki çalıştığınız yerde kafanızda çok güzel iş fikirleri vardı ama cesaretiniz yoktu. İşte şimdi bir işiniz de yok, kaybedeceğiniz ne var ki?

Önce benzerlerini sizin de bulabileceğiniz başarı hikayelerini okuyun. Sonra kendi işinizi yapmak için gereken bilgileri ve alabileceğiniz destekleri okuyun ve izleyin. Daha sonra da kolları sıvayın ve işe girişin.

Mesela linkibol.com’u kuran Volkan Özçelik’in yol hikayesi size bu konuda yardımcı olabilir. Yazıları tarih sırasına göre takip ederek geldiği noktayı ve yaşadıklarını görebilirsiniz.

Evet, gördüğünüz gibi “bilgisayarcı adam” (tabiri her iki cinsiyete uygun olarak kullanıyorum, siz kendinize uyarlayın) işsiz kalmaz. Eğer işsizliğiniz için oturup kendinize kahrediyorsanız, tahminen iş beğenmiyor ya da üşengeçlik yapıyorsunuzdur.

Yazıyı konuya uyacak bir fıkrayla bitirelim. Dursun Temel’le karşılaştığında;
– “Duydun mu?” demiş, “Cemal açlıktan hasta olmuş. Durumu hiç iyi değil.”
– “Olur mu öyle şey?” diye kızmış Temel. “Karadenizli açlıktan hasta olmaz. Neden kimseden yardım istememiş?”
– Utanmış.
– Bak gördün mü? Açlıktan değil utancından hasta olmuş.

Krizlerin ve işsizliklerin hiç yaşanmamasını ama başımıza geldiğinde bunun hayatımızın sonu olmamasını diliyoruz.

Forbes’ın Eylül sayısında incelenen Knight Online oyunu (K.O.) ile ilgili bazı sayılar:

  • Toplam 5 milyon kayıtlı kullanıcı
  • Türkiye’de 400 bin aktif oyuncu
  • Nisan ayında yayınlanan genelgeyle K.O. ve 18 oyunun internet kafelerde oynanması yasak
  • K.O. oyuncularının neredeyse yarısı Türk
  • Türkiye online oyun işinde en hızlı büyüyen pazar
  • K.O. Amerika ofisinde 6 Türk çalışıyor. Türkçe yanıt veren çağrı merkezi var.
  • Yapımcı şirket K2 Networks yılbaşında Türkiye’de ofis açtı.
  • Oyunda 60. seviyede silahsız bir karakter 150-170 YTL, 65. seviyede 250-300 YTL, 70. seviyede 1500 YTL civarında, silahlar 50-1250 YTL arasında değişiyor.
  • Fakir mahalle ve illerde Internet kafeler para ve ücretsiz oynama karşılığında çocuklara karakter ve silah ürettiriyor.
  • Diyarbakır’da geçen ay 150 çocuk kafelere yapılan baskınla göz altına alındı.
  • Oyunun tahmini geliştirme maliyeti 15 milyon dolar.
  • Aylık paralı üyelik geliri 2 milyon dolar civarı

Online oyun pazarı ile ilgili bazı sayılar:

  • Sadece A.B.D. de 4.4 milyar dolarlık bir ekonomi
  • Geçen yıl 35 “sanal dünya şirketine” 1 milyar dolar aktarıldı.
  • Geçtiğimiz aylarda piyasaya çıkan Türk oyunu Hükümran Senfoni 100 bin kullanıcıya ulaştı.
  • Türkiye’de online oyunların paralı üyelik satışlarının bayisi olan Game Sultan şirketinin aylık cirosu 400 bin doların üzerinde
  • Türkiye’de bilinen 50’den fazla online oyun var.
  • Çin ve Hindistan’da 500 binden fazla insan “oyun oynama çiftliklerinde” çalıştırılıyor.

Yazının sonundan ilginç bir tespit :
Şimdilik tek endişe bağımlılık yaratması ve bilgisayar başından saatlerce kalkmama. Ama zaten bir bankadaki gişe memuru da aynı işi yapıyor ve daha az kazanıyor.

Haziran ayında düzenlenen hazırlık konferansına da katıldığım RIATalks konferansı 8-9 Ağustos’ta yapıldı. Herkesin tatilde olduğu bir dönemde başarı sayılması gereken kalabalık bir gündem ve konuşmacı listesiyle yapılan konferans meraklıları için gerçekten doyurucuydu.

Konferansta yaptığım “Kurumsal RIA Uygulamalarından Neler Bekliyoruz” sunumu sırasında maddeleri sıralarken, izleyicilerden bir soru geldi : Türkiye kurumsal RIA uygulamalarının neresinde?

Aslında cevap belli, başında. Türkiye’de hala MS-DOS ile yapılmış ticari uygulamalar kullanılmaya hatta yeni sürümler çıkarmaya devam ederken, RIA gibi yeni bir teknolojinin anlaşılıp uygulamaya geçmesi elbette vakit alacak. Özellikle ticari uygulamalarda Türkiye’de çok belirgin bir Delphi ağırlığı var. Yani istemci tarafı zaten Delphi’nin gücü sebebiyle gayet zengin. Kullanıcı tarafından baktığınızda önemli olan sistemin hızlı ve sorunsuz çalışması. Dolayısıyla web servisleri kullanmak, bilgisayarınıza bir uygulama yüklemeden her yerden sisteme erişebilmek, sunucu tarafında maliyeti azaltmak gibi konular insanların çok da umurunda olmuyor.

Ancak trend kaçınılmaz. Türkiye’deki yazılım şirketleri başarılı uygulamalar geliştirdikçe, genç nesil yeni teknolojileri alıp kabullendikçe özellikle büyük uygulamalarda yatırımın geri dönüşü ve maliyet azaltımı sağlandıkça bu geçiş kolaylaşacak. Evet, RIATalks’ta büyük bir kalabalık yoktu ama sektörün içinden işinin ehli insanlar vardı. Onlar tanıdıkları ürün ve teknolojileri kullanmaya başlayınca kurumsal yazılımlar da, geliştirenler de zengin olacak. 😉

O zaman tahminen RIATalks konferansları da AjaxWorld kadar popüler olacak, para verip kayıt olmak zorunda kalacağız. 🙂

Konferansta yaptığım sunumun PowerPoint dosyasını buradan indirebilirsiniz.

18 Ağustos 2008

Internet | Programlama | Teknoloji

Programcıların zaman tahmin yeteneği çok kötüdür. Neredeyse tüm yazılım projeleri tahmin edilenin iki hatta bazen üç, dört ve fazla katı zamanda tamamlanır. Çünkü;

  • Programcılar hesaplama yaparken aslında çok zaman alan toplantıları ve kodlama dışı aktiviteleri dikkate almazlar.
  • Programcılar projede bir değişiklik isteği, bu isteğin onaylanması vb. süreçlerin yavaşlığını hesaba katmazlar.
  • Programcılar her zaman aslında yazılması istenen ürünün ne olduğunu tam anlamazlar. Hatta bazen bir prototip yazıldıktan sonra yaklaşımın yanlış olduğunu, herşeyin baştan yazılması gerektiğini anladıkları bile olur 🙂
  • Eğer geliştirilen proje her zaman yapılandan farklı bir yapıda ya da kategorideyse, programcılar öğrenme ve adaptasyon sürecini hesaplayamazlar.
  • Programcılar, bir ürünün gerçekten hatasız çalışır hale gelmesinin gerektiği süreyi hesaplamazlar. Halbuki bazen hata düzeltme süreci geliştirmeden çok daha uzun sürer.

Programming from the Ground Up (Jonathan Bartlett ) kitabından

5 Ağustos 2008

Programlama

RIA (Rich Internet Applications-Zengin Internet Uygulamaları) konsepti hayatımıza girdikçe farklı terimler ve iş süreçleriyle karşılaşıyoruz. WebBuilder 2.0 konferansında Forrester araştırma şirketinin yaptığı, “Geleceğin teknolojileri” sunumunda Web 2.0’ın bilişim alanındaki iş tanımlarında değişikliklere yol açtığı anlatılmış. Geleneksel uygulama geliştirme süreçleri hizmet temelli süreçlere (SOA) doğru dönüşürken mesela eski “İş Analisti” pozisyonu “İş mimarı, Süreç tasarımcısı” gibi bir role bürünüyor.

Daha can alıcı olan nokta ise, RIA uygulamalarında tasarımcı ve programcıların birlikte çalışması gerekliliğinden dolayı, her iki pozisyonunda birbirlerinin rollerinden etkilenmeleri… Tasarımcılar Flex, JavaFx, Curl gibi script bazlı araçları kullanarak arayüz kodları yazarken bir nevi programcılık yapıyorlar. Programcılar ise yazdıkları uygulama kodlarını tasarımla birleştirmek için tasarım temellerini öğreniyorlar.

İşte bu sebeple her iki pozisyonu ifade eden Devigner (Developer + Designer) kavramı doğmuş. Bunu Türkçeye Tasagramcı (Tasarımcı + Programcı) adıyla çevirdim. Tasagramcı, ilk şekliyle asıl iş olarak tasarımcılık yapan ama ihtiyaç oldukça program kodlarına girip anlayabilen ve üzerinde çalışılabilen kişi olarak tanımlanmış. Bugün için RIA programcılığı yapan kişi de diyebiliriz.

Ayrıca şurada bir tasagramcı olmanın 5 şartı verilmiş :

  1. Tasarımı sevmeli ve basılı (broşür, logo) ya da Internet’te kullanılan (web sitesi, banner) tasarımlar geliştirmiş olmalısınız.
  2. Yazılım araçlarını (Flash, Flex vb.) kullanarak uygulama geliştirebiliyor olmalısınız.
  3. RSS, blog gibi yeni nesil teknolojileri takip ediyor ve uygulayabiliyor olmalısınız.
  4. Sadece eğlence için bile saatlerinizi bir tasarım işiyle geçirebiliyor olmalısınız.
  5. Yaratıcılık yeteneğiniz, geniş ufkunuz, kendi keşfettiğiniz yöntemler ve geliştirdiğiniz işler olmalı.

Bu yazı Bilgisayar mühendisi ne iş yapar? adlı çalışmanın 8. bölümü…

Grafik ile ilgili işler çoğunlukla üniversitelerin güzel sanatlar fakülteleri mezunları tarafından yapılır. Ancak, yeteneği doğrultusunda bilgisayar mühendislerinin multimedya çalışmaları yapmaları sık karşılaşılan bir durum. Ayrıca oyun yapımı vb. işlerde grafik bilgisinin yanısıra mühendislik bilgisine de ihtiyaç duyuluyor. İngilizce’de Computer Graphics (CG) olarak adlandırılan bu alan hem grafik hem de animasyon konularını içinde barındırıyor.

Multimedya ya da diğer bir deyişle çokluortam grafik yanında ses ve video üzerinde çalışmaları da içeriyor. Dolayısıyla çok farklı iş alanları ve pozisyon var. Temel başlıkların yanında iş ilanlarında Flash uzmanı gibi tek bir yazılımın uzmanlığına dair pozisyonlara da bol miktarda rastlanıyor.

Indiana Üniversitesi’nin bir makalesinde multimedya konusunda farklı kategorilerde bir çok iş alanı yer almış. Bunların içinden genel sayılabilecek birkaç tanesini açıklayalım.

2D/3D Grafik Uzmanı

Web siteleri, tanıtım CD’leri, oyunlar, eğlence amaçlı yazılımlar vb. teknoloji ürünlerinde hoşumuza giden resim ve tasarımlar bu uzmanların elinden çıkar.

Hayal güçlerinin geniş olması ve yaratıcılık gibi kabiliyetler kariyer yolunda önemli kriterlerdir. Photoshop, AfterEffects, 3D Studio Max gibi bilgisayar programlarını öğrenmiş olmaları beklenir.

Animasyon Uzmanı

Çizgi filmlerde vb. izlediğimiz çoğu animasyon karakteri aslında teknik olarak çok karmaşıktır. Bir karakterin tasarlanması, hareket ettirilmesi, bir hikaye doğrultusunda farklı sahnelerin ve animasyonların oluşturulması uzman çabalar gerektirir.

Animasyon uzmanları yeteneklerini, hayal güçlerini ve bilgisayar programlarını kullanarak projeler üretirler. Yapılan işin büyüklüğüne göre ekipler halinde çalışabilirler. Bu tür mesleklerde mesai saati kavramı pek olmaz. Hatta gece daha rahat çalışabilirler. Flash, Maya, LightWave gibi bilgisayar programlarını bilmeleri gerekir.

Multimedya/Grafik Tasarımcısı

Multimedya tasarımcıları hem grafik hem de animasyon konusunda bilgi sahibidir. Ses, görüntü, animasyon, çizim, fotoğraf gibi malzemeleri kullanarak prodüksiyonlar yaparlar. Kullanacağı teknik araçlara ve bilgisayar programlarına en iyi şekilde hakim olmaları önemli bir özelliktir.

TV, reklam, bilişim gibi farklı sektörlerdeki firmalarda çalışabilirler. Çoğunlukla kendi işyerlerini kurarlar.

Multimedya Programcısı

Multimedya programcıları tasarımcılardan gelen bilgilere bağlı olarak, yazıdan videoya kadar bir multimedya ürününde hayati fonksiyonları yerine getirecek tüm bilgisayar programlarını yazarlar. Geliştirdikleri ürünler Internet’te, televizyonlarda, CD-DVD’lerde, kiosklarda, oyun konsollarında ya da cep telefonlarında kullanılabilir.

Yapılan projelere bağlı olarak ekip halinde çalışabilirler. Tasarımcılar, animasyon uzmanları vb. ile koordineli iş yapmaları gerekebilir.

Streaming Video Uzmanı

Internet bağlantı hızlarının artmasıyla, Internet’ten video yayıncılığı da bir işkolu haline geldi. Televizyonların Internet üzerinden yayınları, Internet televizyonları, Vlog (video günlük) siteleri, görüntülü sohbet sistemleri uzunca bir süredir boy gösteriyor.

Streaming (akan, canlı) video uzmanları bu yayınları üretmek ve kontrol etmekle sorumludur. Kaliteli ve sorunsuz bir yayın sağlamak, farklı bağlantı hızlarına göre performanslı yayın yapacak sistemleri yönetmek, daha sonra izlenmek üzere yayınları kaydetmek gibi işlerle uğraşırlar.

Sanal Gerçeklik Uzmanı

Sanal gerçeklik hem çok eski hem de çok yeni bir kavram. Gerçek dünyanın sanal bir karşılığını oluşturmak ve gerçekmiş gibi hissetirecek araçları kullanarak bu dünyayı yaşatmak olarak açıklayabiliriz. Üç boyutlu gözlükler, VRML gibi yazılımlar seneler öncesinden vardı. Ancak yavaş Internet bağlantıları vb. sebebiyle gündemden düştü. Şimdi ise gelişen teknolojilere bağlı olarak yeniden popüler oluyor.

Son dönemde Second Life gibi sanal sosyal platformlar yaygınlaşmaya başladı. Önümüzdeki yıllarda 3D gözlük gibi araçları da kullanarak bu platformları “hissederek yaşayabileceğiz.”

Sanal gerçeklik konusunda çalışanlar aslına benzer sanal dünyalar oluşturabilmek için çeşitli donanım ve yazılımları üretir, kullanır ve geliştirirler. Şu an için olmasa da gelecekte aranan bir pozisyon olacağını söyleyebiliriz.

Eğitim tasarımcısı

Eğitim alanı ile ilgili gibi görünmekle birlikte, eğitim tasarımcıları işlerinde multimedya öğelerini bol miktarda kullandıklarından bu kategori altında değerlendirmek daha doğru.

Eğitim tasarımcıları öğrenmede kullanılacak materyalleri planlayan, tasarlayan, geliştiren ve değerlendiren kişilerdir. Yeni nesil eğitim tasarımcıları ise Eğitim tasarımcısı ne iş yapar? başlıklı makalede de yazdığı gibi, bu süreçlerde teknolojiyi kullanarak bilişsel eğitim dediğimiz çok yönlü öğrenme tekniklerini kullanan materyaller tasarlar. Dolayısıyla, e-öğrenme, Internet, multimedya alanlarında kendilerini yetiştirmeleri gerekir.

Bu yazı Bilgisayar mühendisi ne iş yapar? adlı çalışmanın 7. bölümü…

Internet’in hayatımızın her noktasında yer almasının bir sonucu olarak web siteleri ile ilgili işler bilişim mesleklerinin önemli bir alanı haline geldi.

Diğer çoğu alandan farklı olarak bu alandaki işler genelde üniversitede değil kurslarda öğreniliyor. Üniversiteyi kazanamayan gençlerin ilk olarak koştukları yerler web tasarımcılığı vb. kurslar… Ama bilgisayar mühendisliği disiplinini almış öğrenciler diğer bilişim alanlarında olduğu gibi web işlerinde de öne çıkıyor.

Bugün bir çok popüler web sitesi aslında en başında tek kişilik projeler olarak başlıyor. Tek bir kişi hem webmaster, hem tasarımcı hem de programcı olarak çalışıyor. Ancak özellikle kurumsal ya da büyük ölçekli projelerde her görevin ayrı kişilerce paylaşılması şart.

En çok karşılaşılan web pozisyonları şöyle :

İçerik Yöneticisi

Bir web sitesinin içeriğinden sorumlu kişidir. Sitedeki yazılı, sesli ya da görüntülü içeriğin planlanması, eklenmesi, kontrolü ve yönetimi ile uğraşır.

Web sitesi kavramı, statik bir tanıtım sitesinden milyonlarca ziyaretçi alan haber sitelerine, topluluk portallerinden şirket içi intranetlere kadar geniş bir alan için kullanıldığından içerik yöneticilerinin görev çeşitliliği daha iyi anlaşılabilir.

Yorum editörlüğü, video editörlüğü, web reklamları yönetimi gibi pozisyonlar bu konuda son zamanlarda kariyer sitelerinde en çok aranan işler olarak karşımıza çıkıyor.

Web Tasarımcısı

Web tasarımcıları, bir web sitesinin görünümünden, tasarımından ve kullanılabilirliğinden (usability) sorumlu kişilerdir. Web tasarımcısı olmak hem grafik, hem multimedya hem de programlama konusunda bilgi sahibi olmak demektir. Web sayfalarının standartlara uyumluluğu, yerleşiminin düzgün olması, renk uyumu, çekiciliği, hızlı ve kullanışlı olması web tasarımcısına bağlıdır.

Web tasarımcıları gerektiğinde müşterilerle birlikte çalışarak ihtiyaçlarını öğrenir ve bunları en iyi karşılayacak tasarımı üretirler. İyi bir web tasarımcısının nasıl olması gerektiğini Mehmet Doğan’ın şu ironik yazısında bulabiliriz.

Web Geliştiricisi

Özellikle web tabanlı uygulamalar geliştiren yazılım mühendisleridir. Yazılım ile ilgili tüm disiplinler web geliştiricileri için de geçerlidir.

Web geliştiricileri işlerini yapmaları için gereken temel bilgilerin yanında ilgili programlama dillerini ve script dillerini öğrenirler. Web standartlarını, HTML, CSS gibi kavramları bilmeleri gerekir. Genelde dinamik web uygulamaları geliştirdikleri için veritabanı, XML gibi konularda da bilgi sahibi olmalıdırlar.

Web uygulamaları tarayıcı programları üzerinde çalıştıkları için farklı teknik ve uygulamalar içerirler. Çalışma ortamlarından kaynaklanan kısıtlamaları vardır. Web geliştiricileri en iyi sonuçları almak için hazır uygulama çatıları ve kod kütüphaneleri kullanabilirler.

Webmaster/Web Sitesi Yöneticisi

Web siteleri için alan adı almak, hosting(yer) kiralamak, hazırlanmış projeleri yüklemek, çalışır hale getirmek, arama motorlarına kaydettirmek, yönetmek, hatalarıyla uğraşmak, kullanım istatistiklerini inceleyerek gerekli iyileştirmeleri yapmak, yedek almak, bakım ve versiyon güncellemeleri yapmak vb… Web sitesi yöneticilerinin uğraşması gereken bir çok konu vardır.

Web sitesi yöneticileri ayrıca temel anlamda güvenlik ve yetkilendirme işlerini de üstlenirler. Yine yönetilen siteye bağlı olarak mesela forum yöneticiliği gibi bir görevi de yapabilirler.

Geniş bir alanda çalışmayı gerektiren ancak keyifle yapılabilecek bir iştir. Web sitesi yöneticileri teknolojiyi en sıkı takip etmesi gereken kişilerdendir.

Profesyonel Blog Yazarı

Blog bir nevi Internet günlüğü demek. Blog yazarlığını gelir getiren bir iş olarak anlatmak ilginç görülebilir. Bundan birkaç sene öncesinde böyle bir kavram bile yoktu. Ancak artık özellikle yurtdışında ilanlarla blog yazarları aranıyor. Kendi açtığı bloglardan yılda 1 milyon dolar kazanan insanlar var.

Profesyonel blog yazarları şu İngilizce yazıda anlatıldığına göre; şirket bloglarını yönetir, okuyucuların ilgisini çekecek konularda araştırmalar yapar ve yazılar yazar. Blog popülaritesini yükseltmek için gereken mesleki ve sosyal bağlantıları kurar. Reklam ve pazarlama amaçlı çalışmalarda bulunur. Şirketinin bilinirliğini arttıracak ve hedef kitlesini etkileyecek mesajları blog yazılarında verir.

SEO Uzmanı

SEO da yeni bir kavram. Kısaltmanın açılışı Search Engine Optimization (Arama motoru iyileştirmesi) anlamına geliyor. Daha iyi anlaşılması için, aradığınız sitenin mesela Google’da ilk sonuçlarda çıkmasını sağlamak desek yanlış olmaz.

Internet’te bilgiye ihtiyacı olan herkes arama motorlarını kullanıyor. Dolayısıyla aslında aradığınız bilgi var olduğu halde arama motorunun yeteneği, arama tekniklerinin doğruluğu ve sitelerin kullandıkları teknolojiler bilgiye ulaşmanızı engelleyebilir. SEO uzmanları bilginin arama motorları tarafından ulaşılabilir olmasını sağlarlar.

Google’ın kendi destek sayfasında SEO uzmanlarının yaptıkları ile ilgili şu bilgiler veriliyor: “Sitenizin içeriğine ve yapısına ilişkin önerilerde bulunurlar. Teknik geliştirme önerileri getirirler. Anahtar kelime kullanımı ile ilgili çalışmalar yaparlar. Arama motorlarının sevdiği yöntemleri uygularlar.” Ayrıca, aynı yazıda bir SEO uzmanı ile çalışmak isteyenlere tavsiyeler de bulunuyor.

Internet Operasyonları Sorumlusu

Internet operasyonlarından sorumlu olan kişiler, kurumsal sitelerin planlamasından bakımına kadar tüm süreçlerini yönetirler.

Sitelerin tasarım/geliştirme/test ekiplerinin yönlendirilmesi, proje yönetimi, bütçe ve planlama, güvenliğin sağlanması gibi konularda çalışırlar.

Bu yazı Bilgisayar mühendisi ne iş yapar? adlı çalışmanın 2. bölümü…

İş hayatında bilgisayarlaşmanın artmasıyla çok miktarda veri depolanmaya başladı. Artık bilgileri kaydetmekten çok bu verilerin analiz edilmesi ve işlenmesi önem kazanmaya başladı. İş zekası, OLAP, veri madenciliği gibi terimler fazlasıyla hayatımıza girdi.

Bilgisayar mühendisleri verilerin ve içinde tutuldukları veritabanlarının yönetimi ile ilgili bir çok pozisyonda yer alıyorlar.
İşte bu pozisyonlardan bazıları:

Veri Yöneticisi

Veri yönetimi ile “veritabanı yönetimini” birbirinden ayırt edilmesi gerekir. Veri yöneticileri, verinin anlam ve kullanımı üzerinde odaklanan kişilerdir. Buna karşılık, veritabanı yöneticileri, veritabanı uygulamalarının güvenilirliği, bütünlüğü ve performansı ile ilgili teknik tabanlı kişilerdir.

Veri yöneticisi veriyi kullanıcılar tarafından kullanılmaya hazır hale getirir. Bunun için daha çok analiz etme, veri toplama ve dizayn aşamalarında yer alır.

Veri Analisti

Veri ambarı, bir kuruluşun tarihsel verilerinin diğer bir deyişle kurumsal hafızanın muhafaza edildiği yerdir. Yönetimin karar destek sistemi için gerekli ham verileri tutar. Veri analisti, veri ambarı üzerinde çok miktarda veri üzerinde çok karmaşık sorgulama ve analizleri gerçekleştirerek sonuçlar üretir. Bu esnada kullandığı araçların genel adı Veri Madenciliği ya da OLAP araçlarıdır.

Veri Mimarı

Veri mimarı bir kuruluşun verileri doğru kullanarak stratejik hedeflerine ulaşmasını sağlar. Veri yapısının en önemli bileşenlerinden biri metadatadır. Metadata veri hakkında veri anlamındadır. Mesela şirket/kuruluş bir ERP sistemi kuracaksa, metadata ERP sisteminde hangi verilerin takip edileceğini belirleyen yapı demektir. Veri mimarı metadata bilgilerinin doğru tanımlanmasından, şirketin ihtiyacı ve hedeflerine uygun olmasından ve doğru teknolojik araçların seçiminden sorumludur.

Veri Modelleme uzmanı

Veri Modelleme, verilerin şekil ve metin olarak ifade edilmesidir. Örneğin bir şirket işe alacağı elemanlar için seçme ve yerleştirme sistemi kuracak olsun. İşlemin süreçleri, başvuran kişi ve İK personeli arasındaki bilgi akışı gibi sistem bileşenleri belli şekillerle ve destekleyen anlatımlarla bir model olarak tanımlanır. Dolayısıyla sistemi ifade etmek kolaylaşır. Veri modelleme uzmanı bir taraftan modelleri kurarken, bir taraftan da gereken veritabanı tablo tasarımlarını yapar.

Veri Madencisi

Aslında veri analistliğine benzeyen bu pozisyon, anlamsız görünen verilerden belli metodolojiler kullanarak anlamlı sonuçlar ve istatistikler çıkarır. Bir kurumun geçmiş yıllara ait satış verilerini OLAP araçları ve sorgularla inceleyip hangi aylarda satışların yükseldiği, bir kampanya yapıldığında satışlara nasıl etki yaptığı vb. raporları hazırlar.
Son yılların en gözde mesleklerindendir. Büyük veritabanı firmaları veri madenciliği alanına milyar dolarlar yatırmaktadır. Dolayısıyla önümüzdeki yıllarda da popülaritesinin devam etmesi bekleniyor.

Veritabanı Yöneticisi

Şurada yazan bilgilere göre;

Veritabanı basit olarak bilgi depolayan, bu bilgiyi verimli ve hızlı bir şekilde yönetip değiştirebilen bir yazılımdır. Veritabanı, bilgi sisteminin kalbidir ve etkili kullanmakla değer kazanır. Bir veritabanı bir kütüphanenin mükemmel bir indeks sistemi olduğu gibi , aynı zamanda kütüphanenin kendisi de olabilir.

Veritabanı yöneticisinin görevleri kısaca şu başlıklar altında toplanabilir : Veritabanı yazılımının Kurulması ve versiyon takibi, veritabanı oluşturulması, Kullanıcı yönetimi, yedekleme, performans ayarları vb.

En bilinen ve çok kullanılan veritabanı yazılımı Oracle. Oracle veritabanı yöneticileri bugün çok iyi ekonomik şartlarda çalışıyor. Kendini geliştirmek isteyenler için eğitim imkanı ve kaynak şansı fazlasıyla var.

Veritabanı Mimarı

Veritabanı Mimarı ve diğer veritabanı yönetimi pozisyonları ile ilgili şu adreste güzel açıklamalar yapılmış.

Veritabanı mimarları yeni bir veritabanının tasarlanması ve oluşturulması görevlerini yerine getirir. Veritabanı mimarı, sadece yeni tasarım ve geliştirme işine bakar. Bakım, idare, ve kurulan veritabanları ve uygulamaların ayarlarına karışmaz. Mantıksal veritabanı modelini olusturur. Fiziksel veri modeline dönüşümü sağlar. İndeksleri oluşturur. Yedek ve geri kurtarma stratejilerini belirler.

Veritabanı Güvenlik Uzmanı

Veritabanı güvenlik uzmanı sistem güvenliği ve veri güvenliği denilen iki işi yapar.

Sistem güvenliği işinde, veritabanına bağlanan kullanıcıların yetkisi var mı, gerekli denetlemeler yapılıyor mu, sağlıklı çalışma için gerekli fiziksel ve tasarım kaynakları yeterli mi gibi işleri yönetir. Ayrıca ağ üzerinde verinin şifrelenmesi, sisteme yapılan saldırılar, şifre politikaları gibi konularda çalışır.

Veri güvenliğinde ise, kullanıcıların veritabanı şemasında nerelere erişim yetkileri var, kullanıcılar bir tablo üzerinde hangi işleri yapmaya yetkilidir gibi kontrolleri yapar. Veri bozulmalarına sebep olabilecek işlemleri takip eder. Tasarım hatalarını uzmanlarına iletir.

Ayrıca veriambarı yöneticisi, performans analisti, veritabanı optimizasyon uzmanı gibi pozisyonlar da var. Kullanım alanları geniş olduğundan veritabanı ile ilgili çok farklı pozisyonlarda çalışma imkanı bulunuyor.