12 Nisan 2008 Cumartesi

Programcılık

Bilgisayar ProgramcılığıNedir bu bilgisayar programcılığı ? Zor mu?Evet birçok kişi bilgisayar programcılarının ne ile uğraştığını bilir fakat nasıl uğraşıp neler yaptığını pek bilmez... Bu konulara sayfamda biraz özet olsa da değineceğim. Önce bilgisayar dünyasında sıkça kullanılan bir kelimeden bahsedeyim yazılım...Yazılım(software) kelimesi bilgisayar programlama dilleriyle oluşturulan dökümanları, dosyaları ifade eder. Yani bilgisayarınızda işletilmek, çalıştırılmak üzere tasarımlanmış dosyalar yazılım kapsanına girer.Bu dosyalar nasıl yapılır ?Yazılım programlama dilleri ile tasarlanır ve yazılır,programlama dili de nedir? derseniz.Programlama dilleri, bilgisayarınızın donanımını(ekran kartı, ses kartı, modem, mouse, klavye...) sizin en rahat biçimde kullanabileceğiniz düzeye getirmeye çalışır. Yani bilgisayarın o soğuk 1010110 gibi rakamlarını sizin zevkle kullandığınız programlara, işletim sistemlerine, oyunlara çevirir.Örneğin kullanılmakta olan Windows işletim sistemi onbinlerce sayfa milyonlarca bilgisayar kodunun biraraya gelmesinden oluşur. İşte işin tüm zorluğu, o kodların arasında dolaşan, hata mesajlarını günlerce kodları gözden geçirerek arayan, sandalye tepesinde saatlerce aynı ekrana bakarak ilginç görüntüler sergileyen programcıların üzerindedir...Bilgisayar programcıları işini zevkle yapan ve işini bir hobi edinmiş insanlardan oluşur, en azından öyle olmalı. Aksi halde yoğun konsantrasyon ve sabır isteyen bu işi yapmak aşırı zorlaşır. Neyse... Programlama dillerinden bahsediyorduk Programlama dilleri kendi aralarında sınıflara ayrılmışlardır. İnsanın en zor öğrenebileceği, anlayabileceği yani 1100101 gibi makina kodlarına yakın diller en düşük seviyeli(low level) programlama dilleri, insanın en kolay anlayıp kullanabileceği ve insan diline yakın özellikler gösteren diller ise en yüksek seviyeli(high level) programlama dilleridir. Şimdi bu sınıflandırmaya örnekler verelim;1-Çok yüksek seviyeli diller : VisualBasic, VB.NET, Acces , Foxpro ...2-Yüksek seviyeli diller: Pascal ,Basic ,Fortran...3-Orta seviyeli diller: C ,C++, C# , Java ,ADA...4-Düşük seviyeli diller: Assembly...5-Makina dilleri: Bilgisayarın çalışma dilleri 1 ve 0’lardan oluşur...Bu dillerin kullanıldığı alanlara örnek verirsek;1-Bilim ve Mühendislikte: Pascal ,C ,C++ ,Java ,Fortran...2-Veritabanı Programcılığında: Dbase ,Acces ,Foxpro ,Sql...3-Yapay Zeka Kullanımında: Prolog ,Lisp...4-Sistem Programcılığında: C ,C++ ,Java ve sembolik makina dilleri...Bir bilgisayar programı nasıl yazılır ?Bir yazılım değişik dillerle oluşturulabilir fakat izlenen yöntemler genelde birbirine benzer.Örneğin Algoritma...Algoritma, elimizdeki sorunun çözümüne gidebilmek için tasarlanan yollar,yöntemlerdir. Örneğin bir arkadaşınıza daha önce gitmediği bir yerdeki bir postaneyi tarif edeceksiniz. Bunun için anlatımda genelden özele giden bir yol izlersiniz. Önce gideceği semti sonra caddeyi sonra postanenin olduğu yönü tarif eder son olarak da kolay bulması için postanenin çevresindeki göze batan özelliklerden bahsedersiniz.İşte bu yaptıklarınız bir algoritmadır. Ve amacınız arkadaşınıza postaneyi bu algoritma yardımıyla tarif etmektir...Bilgisayar programlama dilleri de programcılıkta bunu gibi yöntemler kullanarak çözüme gider. Algoritmanın uzunluğu kullanılan programlama dilinin seviyesi ve problemin karmaşıklığı ile doğru orantılıdır.Yapılan algoritma ve tasarımdan sonra yazılım aşamasına gelinir ve bu aşamada yapılacak programın kullanım ömrü, programın kullanım düzeyi ve hangi amaçla kullanılacağı gibi soruların cevaplarına bakılarak programlama dili seçilir. Dil seçimi bazı kriterlere göre yapılmaktadır, örneğin kısa sürmesi ve görsel tasarım içermesi, veritabanı iletişimi yoğun kullanılması gereken bir program yapmamız gerekiyor olsun. Bu durumda Assembly dili ile yola çıktığımızda bahsedilen proje birkaç kişilik deneyimili bir programcı grubu ile birkaç yıl alır. C ile iki programcı aynı işi üç dört ayda VisualBasic veya Delphi ile bir programcı bahsedilen işi bir iki aya yakın bir sürede yapabilir.Başka bir açıdan örnek verirsek örneğin bir ekran kartı programlamamız gerekiyor ve bu kartın driver’ını ( sürücüsünü ) biz yazacağız. Bu durumda bu işi VB veya Delphi ile yapmamız imkansızdır, kullanmamız gereken diller öncelikle Assembly ve C/C++ olmalıdır.Evet, programlama dillerinin kendi alanları vardır ve her dil kendi branşında kullanıldığı sürece başarılı ve etkili kullanılmış olur. Buraya kadar anlattığımı özetlersem.Bir bilgisayar programı yazmak için belli aşamalar vardır ve bu aşamalar geçildiğinde kodlamaya başlanabilir. Bunlar:1-Analiz2-Algoritma3-Dil Seçimi4-KodlamaAnaliz ile gerçekleştirilmek istenen proje tasarımlanır ve parametreleri araştırılır.Algoritma ile adımlar tayin edilir. Dil seçimi ile en uygun programlama dili seçilir. Ve kodlamaya başlanır...Kod yazıldıktan sonra da bazı aşamalardan geçer bunlar da genel olarak :1-Test ve Debug2-Pilot denemeler ve ilk versiyon denemeleri3-Hazır halde çalışır programı sunmaProgramlama DilleriBu bölümde programlama dillerinin kullanıldıkları alanları ve özelliklerini inceleyeceğiz. Programlama dilleri uygulama alanlarına göre dörde ayrılır:1-Bilimsel ve Mühendislik Alanında : Üniversitelerde ve bilimsel kuruluşlarda mühendislik veya matematik hesapları için kullanılan bu dillere örnek; Pascal, C, C++, Java dilleridir.2-Veritabanı Kullanımında : Genellikle Personel kayıtları, fabrika stok veya depo denetimi gibi veritabanı gerektiren işlemlerde kullanılan diller;DBASE,SQL,FOXPRO,PARADOX gibi veritabanı dilleridir.3-Sistem Programcılığında : İşletim sistemlerinin ve sistem programlarının yazılımında kullanılan dillere örnek, C ,C++ ,Java ve makina dilleridir.4-Genel Amaçlı kullanım : Çeşitli konularda uygulama geliştirmek için kullanılan dillere örnek,C ,C++ ,Java ,VB ve Pascal’ı verebiliriz.Son yıllarda programlama dillerinde nesneye yönelik tasarımlar yapılmış ve bu dillerin çoğunun nesneye yönelik programlama yapabilen uyarlamaları çıkmıştır. Nesneye yönelik programlama, programcının kendi sınıfını ve nesnesini oluşturup bunun üzerinde işlemler yapmasına olanak sağlayan ve programlama dillerinin geldiği son aşamalardan birisidir. Bu konu oldukça kapsamlı olup bunun geniş açıklamasını burada yapmayacağım.OOP(Object Oriented Programming) yani Nesneye Yönelik Programlama’nın kullanılmasıyla ve Visual programcılığın da gelişmesi ile beraber ortaya oldukça güzel görünümlü ve kullanışlı programlar çıkmaya başladı. Bu bilgisayar programlarına olan ilgiyi arttırdı ve bu konulardaki araştırmaları hızlandırdı. Sonuçta şu anda, pekçok dilin artık nesneye yönelik olan ve visual özellikler içeren sürümleri kullanılmakta ve tercih edilmektedir. Örneğin: C++ ,Visual C++ ,C++ Builder ,Delphi ,Java...İnternet’in de yaygınlaşmasıyla programlama dillerine yeni özellikler eklendi ve internet’te kullanılabilecek nitelikte görsel özellikli diller çıkarıldı. Örneğin HTML, kullanıcının dikkatini çeken renkli ve hareketli arabirimiyle her geçen gün yeni ekler ile gelişmektedir. JavaScript ve VBScript iki script dili olarak HTML’ye getirdiği ek özelliklerle çokça kullanılır oldu. Ve asp ile veri tabanını aktif kullanıma sunma, aktif sayfalar hazırlama olanağı elde edildi.Görüldüğü gibi özellikle internet’in gelişmesi ile birlikte programlama dillerinin yapılacak işe veya kullanılacak platforma göre değişik özellikler gösteren uyarlamaları çıktı. Bu durumda web teknolojisini izleyen ve internet üzerinde yazılım geliştirmek isteyen bir programcının javascript ,vbscript ,java ,HTML gibi dilleri bilmesi ve bu konularda kendini geliştirmesi gerekir. Uygulama programlarına ,ticari programlara, veya işletim sistemlerinin kullanımına yönelik yazılım geliştirmek isteyen programcıların da C++ ,Java ,Delphi gibi son zamanların en popüler dilleri üzerinde çalışması, bunları öğrenmesi gerekir.Internet programcılığı, esnek mimari, OOP gibi konularda söylenmesi gereken önemli bir nokta da Java’nın programlama dünyasına getirdiği önemli bir özelliktir. Java nın çıkması ile atılan önemli bir adım da platform’dan yani işletim sisteminden bağımsız olarak çalışan, her sistemde çalışabilen, programların yazılabilmesidir. İleriye yönelik bir bakış açısı ile bakıldığında cep bilgisayarlarının, kablosuz cihazların, cep telefonlarının sıklıkla kullanılacağı ve artık PC lerin döneminin kapanmaya başladığı düşünülürse birçok cihazda çalışabilecek programların yazılmasının önemi anlaşılabilir. Java son yıllarda programlama dünyasına gelmiş en iyi programlama aracıdır ve yeni çıkacak programlama dillleri de Java’nın birçok özelliğinden esinlenmektedir.Şimdi programlama dillerine özet bir bakış yapalım;CYapısal programlama dilleri arasındadır. Öğrenilmesi zaman almasına rağmen oldukça kullanışlı ve esnek yapısı ile adından yıllarca bahsettirmiş, bilgisayar programcılığının temel dillerinden biridir. C ile bilgisayarınıza bir sistem yazmaktan bir oyun yazmaya veya printer kontrolü yapmaya kadar her türlü işlem yapılabilir ve bu özelliği sayesinde kullanım alanı çok geniş bir dildir.C++Nesneye yönelik programlama yapabilen diller arasındadır. C’nin saydığımız tüm özelliklerine ek olarak güçlendirilmiş nesne yönetim özelliği ile şu anda bilgisayar dünyasının en çok kullanılan dillerinden biridirC#Nesneye dayalıdır(OOP). C++ ın ve Java’nın pozitif yönlerini bünyesinde birleştirmiş yeni bir dildir. Programcıya internet uygulamaları ve yerel uygulamalar yazmakta bazı kolaylıklar getirmiştir. İleriye dönük olarak microsoft’un java teknolojisine rakip olarak ortaya sürdüğü bir programlama dilidir ve microsoft’un bu konulardaki (internet uygulamaları) yelpazesini genişletmeye yönelik bir atılımdır. Microsoft teknolojileri kullanacak programcıların C#’ı öğrenmeleri zamanla gerekecektir ve öncelikle öğrenilmeye başlanması da avantaj getireceği açıktır.JavaNesneye yönelik dillerdendir. Son yıllarda geliştirilmiş bir dil olup modern ve yenlikçi altyapısı ve visual özellikleri ve sürekli gelişen kütüphane (library) desteği ile gün geçtikçe kullanımı artan bir dil olmuştur. Java dili hemen hemen her alanda kullanılabilen esnek ve güçlü bir dildir.VB.NETNesneye dayalı bir dildir. VisualBasic(VB) teki biçok özellik bu dilde yeniden yapılandırılarak değişmiştir. Yapısına bakılırsa VB den ayrı yeni bir dil geliştirilmiş denilebilir. Eklenen bazı özellikler ile VB de yapılamayan birçok işlem artık yapılabilmektedir ve OOP nin özellikleri desteklenerek daha verimli kod yazmaya olanak sağlanmıştır. VB programcılarının VB.NET’e geçişleri kolay olmayacak olsa da VB yerine VB.NET kullanımı gün geçtikçe artacaktır. VB.NET internet uygulamalarından yerel uygulamalara kadar kullanım imkanı geniş bir dildir.DelphiPascal tabanlı bir dil olup nesneye yönelik programlama yapabilme özelliği taşır. Öğreniminin çok zor olmayışı ve üniversitelerde pascal eğitiminin ağırlıklı verilmesi nedenleriyle çoğu bilgisayar programlama öğrencisinin tercih ettiği bir dildir.Visual programlama özelliği taşır.PascalPascal Yapısal bir dildir, C ’ye benzerlik gösterir. Öğrenilmesinin zor olmayışı ve bilgisyar eğitimi veren okullarda okutulan bir ders olması sebebiyle kullanım alanı genelde üniversiteler ve bilimsel hesaplamalar yapan kurumlardır.VisualBasicBasic tabanlı bir dil olup öğrenilmesi kolay, kullanım alanı geniş bir dildir. Özellikle görsel uygulamalarda projenin arabiriminin hızlı yazılmasını sağladığı için genelde kullanıcı arabirimi tasarımlarında kullanılır. Kapsamlı veya çok kullanıcılı uygulamalarda kullanılmaz. Kullanıcı sayısı az olan veya kısa sürede bitmesi gereken küçük ölçekl projelerde tercih edilen bir programlama aracıdır. Yoğun olarak kullanılmaktadırProgramlama dillerinin hepsini incelemeye imkan olmadığından çok kullanılan bir kısım dilden bahsettim. Her dilin kullanım amacı ve yönelimi farklı olabilir önemli olan hedeflediğiniz konularda size yardımcı olacak dili seçip onunla çalışmanızdır

11 Nisan 2008 Cuma

Web Tasarım Uzmanlaşma

Bu yazımda web tasarım, web yazılım alanlarına yeni yönelmiş olan, kafasında çeşitli konularda soru işaretleri bulunan genç arkadaşlarım için rehberlik edebileceğime inandığım meseleler hakkında bilgilerimi paylaşmak istedim.

Tasarım ve yazılımın ne anlama geldiğinden, matematik bilgisinin önemli olup olmamasına, ASP mi PHP mi tartışmasından, hangi programlama dillerinin öğrenilmesi gerektiğine, hangi editör programların kullanılması ve neden tercih edilmesi gerektiğinden, dışarıdan bir kursa gitmeye ihtiyaç duyulup duyulmamasına, üniversite eğitiminin bu konuda ne kadar önemli olduğundan, mesleğin gelecekteki konumuna kadar geniş bir alanda düşündüklerimi paylaşmak istedim. Son zamanlarda e-posta ve msn’den bu tip sorular almaya başladım. Topluca hepsini yanıtlamaya gayret edeceğim.

Web tasarım alanına genelde lise yıllarında internet ile oldukça haşır neşir olan arkadaşlar ilgi duymaya başlıyor ve nereden başlanması gerektiği konusunda bir araştırma yapmak istediklerinde bilgi bombardımanı ile karşılaşıp panik havasına giriyorlar. Web tasarıma öncelikle bir meslek değil hobi olarak görmeye çalışalım. Yaşı henüz 16-20 yaşları arasında olan genç arkadaşlar sırf bu işe düşkünlükleri, harcadıkları enerji ile sanki dünyada başka ilgi alanları, başka keşfedilecek yanları yokmuş gibi hareket ediyorlar. Dolayısıyla okullarından ve geleceklerini belirlemede önemli bir viraj olan üniversite eğitiminden vazgeçip kendilerini maceraya atanlar bile oluyor. Öncelikle sevin veya sevmeyin, sıkılsanız da bıksanız da okulunuzu bitirin.

Nedir şu web tasarım dedikleri ?

Web tasarım ucu bucu belli olmayan gerçekten sonsuz olarak tanımlayabileceğimiz çok geniş bir alan. Programlamasından, veri tabanı yönetimine, tasarımından güvenliğine kendi içinde pek çok branşı barındırmaktadır. Yani web tasarım dediğimiz konu sadece site hazırlamak, bilgisayar başında sabahlamak demek değildir. Son derece uzmanlık alanları gerektiren, konuya profesyonelce yaklaşılmasının öneminin büyük olduğu bir konudur. Sizler yolun başında iken grafikçi mi olacağınıza, kodlayıcı mı olacağınıza, güvenlik ve network alanında mı çalışacağınıza, kendinizi hangi alanlarda geliştireceğinize tam karar veremezsiniz. Bu yüzden nerden başlamalıyım sorusu sizi hep meşgul edecektir.

Nereden başlamalıyım ?

Bilgisayarın başına geçtiğimiz vakit evvela açacağımız bir program, bir editör olacaktır. Bu program Frontpage mi olmalı Dreamwaver mı tartışması hiç bitmez. Ben Frontpage kullananlardanım. Frontpage programının gelişimine bakarsak ilk çıkan Frontpage Express ve daha sonra FP98, FP2000, FP2002, FP2003 ve en son Frontpage’in devamı olarak görülen Microsoft Expression Web. Dreamwaver cephesinde de DW daha çok grafik programı olarak Fireworks’ü, animasyon olarak yoğun Flash kullananların bir merkezi gibidir. DW’nin gelişimi konusuna girmiyorum ve özetle tavsiye olarak deneme yanılmayı sizlere öneriyorum. Eğer bir grafikçiyseniz ve Fireworks’a aşina iseniz onunla daha uyumlu gidecek olan DW’yi tercih etmeniz kullanım kolaylığı sağlayacaktır. Yine Flash animasyonlar ile iç içeyseniz ve bunları .HTML olarak derlemeye ihtiyaç duyuyorsanız yine DW sizin için çok pratik bir editördür. Programlama olarak PHP kullanıyorsanız yine DW’yi tercih etmeniz daha pratik bir çözümdür ki FP ile php kullanamazsınız. ASP programlama üzerine çalışıyorsanız FP tercih etmenizi öneririm. Yavaş yavaş ASP mi PHP mi ayrımına doğru bir gidelim.

Bitmeyen kavga ASP mi PHP mi ?

Bu konuda ne ASP diyeceğim (ASP kullanan biri olarak ) ne de PHP diyeceğim. Bir benzetme ile tercihi size bırakacağım : Programlama öğrenmeyi yabancı bir dil öğrenmeye benzetirim ve soran arkadaşlara da bu örnek üzerinden tarif ederim. Bir ülkeye seyahate çıktığınızda oranın dilini, kültürünü, tarihini vs. az biraz bilmeniz gerekmez mi ? Ya da dünyada en çok konuşulan dile biraz ilgi duymak istemez misiniz ? Ya da yaşadığınız ülkede en çok hangi ülkeden turist geliyorsa oranın dilini öğrenmek sizin için bir avantaj yaratmaz mı ? Tıpkı bunun gibidir programlama öğrenmek. Kimi zaman farkında olmadan bir kabile dili öğrenirsiz, kimi zaman akıllıca hareket eder Avrupa dillerinin temeli sayılan Latince gibi en temel dili öğrenir diğer dilleri öğrenmek de zorluk çekmezsiniz. Örneği biraz somutlaştıracak olursak : Günümüzde web yazılım teknolojilerinde ASP, PHP, C#.NET, VB.NET, HTML, JS gibi script ve programlama dilleri kullanılmaktadır. Bunların hepsini a’dan z’ye öğrenmek mümkün değildir demeyeceğim bunu başaranlar var ama ne kadar performanslı olursunuz, ne kadar üretken olursunuz bunu bilemeyeceğim ama benim tavsiyem en az bir en fazla ikisi üzerinde uzmanlaşmaktır.

Önemli olan uzmanlaşmaktır.

Örnek verecek olursak bir web tasarımcısı, web yazılımcısı temel olarak neleri bilmeye ihtiyaç duyacaktır ? Site üzerinde bir form, forma girilen bilgiler, bir buton ile bu bilgilerin veritabanına kaydedilmesi, veri tabanındaki bilginin bir sayfada sistemli görüntülenmesi, bu bilgilerin bir yönetim panelinden kontrolü (silme, düzenleme, güncelleme ) şeklinde temelde elimiz, ayağımız olacak uygulamalardır. Şimdi ben bu formları, bu kodları Dreamwaver’da mı yoksa Frontpage’de mi düzenleyeceğim, PHP mi yoksa ASP mi kullanacağım sorusuna verilecek en güzel cevap hangi ülkeye gitmek istiyorsanız oranın dilini konuşun tavsiyem olacaktır. Bu konuda kesinlikle bir atışmaya, tartışmaya, kapışmaya girmeye gerek yok. Windows serverlar ve Linux serverlar var olduğu müddetçe ASP’nin ve PHP’nin kardeşçe web üzerinde yaşamaya devam edeceği açıktır. Sizler bir yabancı dil öğrenmeye çalıştığınızda onun gramer yapısına, ses yapısına, konuşma yapısına bakar bunu başarıp başaramayacağınıza karar verebilirsiniz. Rusça öğrenmek ile İngilizce öğrenmek arasında dağlar kadar fark vardır mesela. Özetle bir web yazılımcısının temelde ihtiyacı olan uygulamaları yukarıda saydığım programlama ve script dillerinin hepsinde gerçekleştirebilirsiniz. Önemli olan sizin kendi gırtlak yapınızın, zekanızın, performansınızın hangi dile daha yatkın olabileceğini seçmektir. Bunun için deneme yanılma yapmaktan, programları install/uninstall yapmaktan yorulmayın. Kendi kendinize didişin uğraşın yorulun ve bir dil öğrenmeye karar verin.

Nasıl öğrenirim ?

Öğreneceğiniz dili seçtikten sonra gelelim bunu nasıl öğreneceğinize. En çok sorulan sorulardan biri kursa gitmenin şart olup olmaması üzerine. Tabiki şart değil. Ama kendimden bir örnek vermek istiyorum. Son bir buçuk senedir ASP üzerine yoğunlaşmış ve çalışmış biri olarak kendi kendime öğrenme sürecine bir yere kadar devam edebildim. İnternetteki forumlarda, görüntülü videolardan ve görsel makalelerden bir yere kadar faydalanabildim. Öğrendiklerim hobi olarak bu alanda vakit geçirmem için yeterliydi hatta fazlaydı bile ama ben daha profesyonel işler çıkarmak ve kendimi yazılım alanında geliştirmek istiyordum bu yüzden bir profesyonel desteğe ihtiyacım vardı. Yazılım uzmanlığı eğitimine devam etmekte olduğum şu günlerde anladım ki internette görüntülü derslerde, makalelerde gördüklerim aslında hiçbir şeymiş. Daha öğrenecek o kadar çok şey var ki bunu çalıştıkça anladım. ASP öğrendikten sonra kendimi yazılım alanında nasıl geliştirebilirdim ? Visual Basic’in yapısını kullanan ASP’den hangi alana bir sıçrama yapmalıydım. Visual Studio ortamında C# öğrenmek, hem Windows hem web tabanlı uygulamalar geliştirmeye çalışmak doğru bir karar olacaktı. Çünkü C#’da yapılmayacak hemen hemen bir şey yok gibiydi. SQL Server eğitimi ile buna vereceğim destek profesyonel olarak yazılım dünyasında yer almamı sağlayacaktı. Bunlara destek olarak java, css, ADO.NET ve Ajax’ı eklersem yine beni bekleyen uzun bir eğitim sürecinin olduğunun farkına varırız. Bunu şunun için örnek verdim bu işe ilgi duyan arkadaşlar birkaç ayda bunları öğrenip “solution developer” olabileceklerini düşünmesinler ve kendilerini yanıltmasınlar. O yüzden en başında söyledim bu yaşlarda daha keşfedeceğiniz pek çok ilgi alanı ve meslek vardır.

Para hiçbir şey, uzmanlaşmak her şey !

Amaç sadece para kazanmak olmamalı. İşini iyi yapmak her şeyden daha önemlidir. İyi bir ayakkabı boyacısı olun, iyi bir marangoz olun, iyi bir aşçı olun ama iyi olun. İşinizi severek, bilerek yapmak ve takdir toplamak çok önemlidir. Para kazanmak her şey demek değildir bu anlamda. Yasa dışı işlerde yapıp para kazanırsınız ama severek yaptığınız bir işten kazanacağınız paranın hazzını başka bir iş kolay kolay vermez. Yazılım, tasarım işleri ciddi bilgi alt yapısı gerektiren, sabır ve dikkat işleridir. Ayrıca daha önce dediğim gibi işin içinde çeşitli uzmanlık alanlarının olduğu bir konudur. Sizler küçük bir projede (örneğin kişisel bir web sitesinde ) tasarımını kendiniz yaparsınız, programlamasını kendiniz yaparsınız, veritabanını kendiniz yönetirsiniz. Ama büyük bir projede bunların hepsini gerçekleştiremezsiniz. Nasıl bir büyük proje örneğin bir gazete sitesi düşünün. Gazete sitesinin tasarımı artık o işin uzmanlarının elindedir. Bilgilerin ne şekilde veritabanında saklanacağı o işin uzmanlarının elindedir, bu bilgilerin hangi programlama dili kullanılarak işleneceği yazılımcıların elindedir ve işin içinde ciddi bir ekip işi vardır. Hatta siteye konulan reklam bannerlarının bulunacağı yer, animasyon renk seçimi reklamcıların, pazarlama uzmanlarının elindedir, güvenlik konusu belki bir şirkete bile verilebilir.

Kimler webmaster, kimler değil ?

Gördüğünüz gibi web tasarımcısı , web yazılımcısı dediğimiz kimseler aslında her şeyi bilen değil belli bir alanda uzmanlaşmış kimseler olması gerekmektedir. Bizim piyasamızda web tasarım dendiğinde hemen FP veya DW kullanmayı az biraz bilmesi, .HTML sayfalar yapması, biraz da photoshop kullanması yeterli gözüyle bakılır. Halbuki bazı gelişmiş ülkelerde web tasarımcısı dendiğinde sanatçı gözüyle bakılır. Web tasarımcısının kod yazma gibi bir derdi yoktur. O sadece tasarlar. Belki photoshop bile kullanmaz sadece hayal eder. Bizim piyasalarda ise en basitinden bir gazete ilanında C#.NET bilen, SQL 2005 bilgisine sahip, HTML ve Flash bilen eleman aranıyor gibi karman çorman mesajlar da görürsünüz. Halbuki her biri ayrı bir uzmanlık alanıdır. Uzmanlaşmanın en güzel yanlarından biri de gelişmeleri daha yakından ve ilgiyle takip edebilme rahatlığına sahip olursunuz. Kendinizi hem .HTML hem ASP.NET hem Java bilen biri olarak görürseniz bugün HTML5’in ne olduğundan, visual studio 2008’in neler getirdiğinden hem de Java konusunda son gelişmelerden haberdar olup bunları uygulamalarınızda gerçekleştirmekte zorlanırsınız hatta hiç yapamazsınız.

Matematik olmazsa olmaz mı abi ?

En çok tartışılan konulardan birine de açıklık getirip yazımı sonlandırmak istiyorum. Özellikle matematik derslerinde başarısız olan ama yazılıma ilgi duyan arkadaşlar bana soruyorlar matematik şart mı gerekli mi diye. İşin başlangıç aşamasındaki bir panik havası sorusu bu J Evet matematik gerekli hem de çok gerekli ama matematik bilmemek proje üretememek anlamında değil. Türev, integral, polinom, trigonometri bilmeyen kişi yazılımcı olamaz diye bir mantıksızlıktan söz edemem. Evvela önemli olan pratik zekadır. Matematiksel zekadır. İyi bir satranç oyuncusu olabilirsiniz, ya da çok iyi kürek çekebilirsiniz (zeka gelişimi ile çok ilgisi vardır ), ya da matematiksel zeka gerektiren başka alanlarda hünerleriniz vardır. Matematik bilmek ile matematiksel zekayı kullanmayı karıştırmamalı. Yazılım alanında da pratik zeka, matematiksel zeka gereklidir. Matematiğin de çok sık kullanıldığı projeler vardır. Matematik bilmek her zaman avantaj olacaktır ama bilmemek her şey bitti anlamında değildir. Tabi matematik bir grafikçi için, bir veritabanı yöneticisi için ya da sistemin güvenliğini sağlayacak uzmanlar için çok sık kullanılır da diyemeyiz.

Sonuç ve katma değer yaratmak Sözü son olarak toparlayacak olursam bu satırların sahibi bir üniversitede iktisat fakültesinde maliye bölümü son sınıf öğrencisidir. Ekonomi ile ilgilenmekte ve akademik eğitimini bu alanda sürdürmektedir. Şimdi ne alaka web tasarım derseniz ? Eğer bir kimse sevdiği işle uğraşmayı, meslek hayatına bir anlam katmayı istiyorsa bu sevgisinin aşkının peşinden koşacaktır. Bu ne olursa olsun. Ben ekonomi okuyan bir öğrenci olarak yazılıma bir ilgim, sevgim varsa bunun peşinden gitmem en doğrusudur. Peki ekonomi okuduk mezun olduk ben ne iş yapacağım ? İktisat fakültesi mezunu işsiz mi olacağım ? Hayır hayır hayır … Yukarıda en çok uzmanlaşmaktan bahsettim. Uzmanlaşmanın yanına şimdi katma değer üretmekten bahsederek noktayı koyacağım. Katma değer üretmek nedir ? Yoktan bir şeyi oluşturmak, üretmek, satmak, pazarlamak, kar elde etmektir. Ben mezun olduktan sonra herhangi bir alanda uzmanlaşmamış, bir ilgi alanı saptamamış, sevdiğim işin takipçisi olmamış, hayatın anlamını, kendimi sorgulamamışsam ne hükmü kalır öğrendiklerimin. Uzmanlaştığım alanda katma değer yaratmaya çalışırsam ve birey olarak özgürce karar verebileceğim bir ortam yaratırsam kendime o zaman mutluluğa ulaşırım. Şimdi ben ekonomi okuyan bir öğrenci olarak mezun olduktan sonra finans sektöründe bir kuruluşun bilgi işlem departmanında veri tabanı yöneticisi ya da yazılım uzmanı olarak görev alırsam hem akademik anlamda bilgimi hem uzmanlaştığım yazılım alanında bilgilerimi bir alanda harmanlayabileceğim ve katma değer üretebileceğim bir alan oluşturmuş olamaz mıyım ? Bu kişisel bir örnekti ve bu yazıda paylaştıklarım kendi tecrübelerimden ve yaşadıklarımdan örneklerle doluydu.

Sizler bu işlerle yeni uğraşanlara tavsiyelerim son olarak kendinizi iyi tanıyın, ne yapmak istediklerinizi iyi belirleyin, hedefinizi doğru seçin ve çok çalışın.

5 Nisan 2008 Cumartesi

Microsoftda Çalışan Bir Türk ile Yapılmış Röportaj

Nazan Kurt, Microsoft Redmond'ta çalışan 150 Türk’ten biri. Henüz 27 yaşında. İzmir Seferihisar’da büyüyen Kurt, 5.5 yıl önce henüz üniversitede okurken, hem de hiç aklında yokken Microsoft Amerika'dan iş teklifi almış. Onu MS’e taşıyan öyküsü ise yine bilgisayar ve internetten geçiyor. Kurt'la MS'e gidiş öyküsü, aldığı eğitimler ve şu andaki göreviyle ilgili konuştuk
Web sayfasının basarısı onu Microsoft’a götürdü

Şirkete giriş öykünüz nedir?

Aslında ben başvurmadım. Aklımda akademisyenlik vardı o yıllarda. Hacettepe Bilgisayar Mühendisliği bölümünde okuyordum. Okulumun da son yılıydı. Microsoft İnsan Kaynakları'ndan web sayfamı görmüşler. Bahsettiğim birkaç projemi beğenmişler. Benimle “Microsoft'a başvurmayı düşünür müsün” diye iletişime geçtiler. Ben de “niye olmasın” dedim.

Yaptığınız işi anlatır mısınız?

Windows Networking and Devices (Windows Bilgisayar Ağları ve Aygıtları) grubunda, network adapter driver'ları yani ağ kart sürücüleri ve Windows'un bu sürücülere sağladığı ara yüz (NDIS) üzerinde çalışıyorum. Kablolu ve kablosuz ağ kart sürücüleri için yazılım modelleri, örnek sürücüler ve ağ kart üreticilerinin "Windows'a uyumludur" logosu alabilmeleri için logo programları geliştiriyorum.
5.5 yıldır MS'deyim.

MS'de çalışan Türkler en çok çalışma ortamının rahatlığından memnun. Saatlerin esnekliği ve bunlar gibi. Peki siz en çok neyi beğeniyorsunuz. Ya da MS'de en çok hoşunuza giden şey nedir?
İş ortamı oldukça rahat. 5 gün, günde 9 saat çalışıyorum. İşini iyi yaptıktan sonra, çalışma saatleri, kurallar oldukça esnek. Bazı günler evden çalışmak mümkün. Herkesin birbirine saygı duyduğu güzel bir ortam var. Kampusta herkes çok farklı. Yerel kıyafetiyle bir Hintliyi, ya da Çinli'yi görmek sıradan. Kafeteryada Meksika'dan Uzakdoğu'ya, Ortadoğu'dan Hindistan'a değişik ülkelerin yemekleri bulunabiliyor. Vejetaryen, helal, koşer, diyet yiyeceklere kadar her şey düşünülmüş. Bisikletle gelenler için duş, öğle saatlerinde spor yapabilecekleri alanlardan kitap ya da örgü kulübüne, sinevizyona salon tahsis etmeye dek değişik ihtiyaç ve hobileri destekleyen olanaklar mevcut.

AMAÇ VERiMi ARTIRMAK

Niçin bu kadar çok olanaklar sunuyorlar sizce?
Kampus ve kurallar, çalışanların en verimli olmalarını sağlamak, potansiyellerini en iyi ortaya çıkarmak üzerine düzenlenmiş. Çok farklı profillerden çalışanları birleştirici, kuşatıcı bir ortam. Bu yüzden insanlar buraya çabuk alışıyor ve benimsiyor. Microsoft huzurlu, rahat, destekleyici bir çalışma ortamını sağlıyor, çalışanlar da yaptığı iş konusunda çok azimli. Zaten işini sevmeden, işini çok seven bunca kişiyle rekabet edebilmek çok zor. Bunu ilk başta söylüyorlar. O yüzden herkes ilgisini çekecek bir alanda çalışmaya yönlendiriliyor. Şirket içi grup değiştirme teşvik ediliyor.

Bireysel sorumluluk
MICROSOFT’ta genelde tek kişilik odalarda çalışılıyor. Başınızda çalışıp çalışmadığınızı kontrol eden kimse yok. Yıllık performans değerlendirmesi için kendiniz grubunuzun hedefleriyle paralel hedefler belirliyorsunuz. Yıl içerisinde bu hedefler düzenli olarak gözden geçiriliyor. Kariyerinizde ilerleme bu hedefleri ne kadar isabetli belirleyip ne kadar aştığınıza bağlı. Ne oralıyız ne buralı

Amerika'da olmaktan mutlu musunuz?
Burada çok mutluyuz ama Türkiye'yi çok özlüyoruz. Hiçbir yerin memleketin yerini tutması mümkün değil. Öte yandan ilk geldiğimizde, sadece Türkiye'yi özlüyorduk, dönsek geride bırakacağımız çok bir şey yoktu. Zamanla burada da sevdiğimiz şeyler olmaya başladı. Örneğin burada lahmacunu kebabı özlüyoruz. Bir gün dönsek, Krispy Kreme'nin doughnot'ini, buranın makarnasını özleriz. İnsan yıllar geçtikçe arada kalıyor. Hem oraya hem buraya ait oluyor biraz ve ne tam olarak buralı oluyor ne de eskisi gibi Türkiyeli. Çünkü Türkiye değişirken o değişikliklerin parçası olamıyor uzaktan.

Peki size göre Microsoft'ta Türklere yaklaşım nasıl? Hiç olumsuz bir tepki gördünüz mü ?
Öncelikle şunu belirteyim, olumsuz ayrımcılık yapmak işten atılma sebebi. Türklerin bıraktıkları iyi bir izlenim var: İngilizcesi anlaşılır ve işini iyi yapan... Bu olumlu yaklaşım sağlıyor. Bir de grubumdaki çok sayıda Amerikalı Türkiye'yi ziyaret etmiş. Güzel anıları var. Genelde hayatlarının bir zamanında bir Türk'le karşılaşanlar veya Türkiye'yi tanıyanlar olumlu yaklaşıyorlar.Microsoft’ta iş ve hayat dengesiNazan Kurt, iş dışındaki günlük yaşamını şu sözlerle anlatıyor:“Benim için de Microsoft için de iş/hayat dengesi çok önemli. Hafta sonu ve akşamlarımı eşimle ve arkadaşlarımla geçiriyorum. İşten sonra bahçeyle ilgileniyorum. Haftada bir kere arkadaşlarla yüzmeye gidiyoruz. Burada doğa çok güzel. Eşimle mutlaka her hafta sonu bir yere yürüyüşe/trekking'e gidiyoruz. Bunun dışında hava müsaitse arkadaşlarla piknik, çadır kampı, çilek, lavanta, lale festivallerine ya da kültürel etkinliklere gidiyoruz. 3 günlük tatil bulursak da Kanada ve ABD'nin diğer eyaletlerindeki arkadaşlarımızı ziyaret ediyoruz. Gerek doğal güzellikler, gerek çok sayıdaki kültürel etkinlikler işin stresini kolayca unutturuyor. Daha çok Türklerle görüşsek de her milletten arkadaşımız var."MS’te sosyal olmak sartMS’de çalışanlar sandığımız gibi, işten başka bir şey düşünmeyen, hayata tek bir çerçeveden bakan insanlar değil. Zeki, esprili ve eğlenceli kişilikleri onların ne kadar sosyal olduğunun da göstergesi. Çünkü MS’de hedef “hayatı kolaylaştırmak için yaratmak”. Ve onlara göre de bu ancak her yönüyle hayatın içinde olan kişilerle olur. Dünyanın en büyük fitness kulübüSEATTLE aynı İstanbul’a benziyor. Avrupa yakası, Anadolu yakası gibi. İki tane köprümüz de var. Biz onların birini Boğaz birini FSM diye adlandırıyoruz. Bizin Avrupa yakası dediğimiz taraf aynı İstanbul’un Avrupa yakası gibi iş alanları var gökdelenler var. Anadolu yakası tam tersi ormanlık. Aynı filmlerde gördüğünüz gibi iki katlı evlerin olduğu o tarz bir yer. İşte MS’de öyle bir yerde. Çok güzel bir kampusumuz var. Dünyanın en büyük fitness kulübü MS kampusunun hemen yanı başında. Tüm MS elemanları ücretsiz olarak kullanabiliyor. Kampus içinde futbol, voleybol ve plaj voleybolu sahalarımız var. Ve bunları kullanmaya vaktimiz oluyor.

Nasıl yani. Tüm işleri bitirip, bu imkanlardan yararlanmaya vakit bulabiliyor musunuz?

Evet, Çünkü MS’de insanlar proje bazlı çalışıyorlar. Projeler arasında 1 haftalık, 10 günlük daha az yoğun zamanlar oluyor. Seattle, yaşam standartları bakımından dünyada ilk beşin içinde . Seattle aynı zamanda Amerika’nın en zengin şehirlerinden biri. Amerikalıların en çok ettikleri muhabbet ise sabah koşu bandında 10 mili kaç dakikada koştukları. Yani ‘ay sonunu nasıl getiririm’ gibi hayatlarında dert edinecekleri hiçbir şey yok.

Bilgisayar Mühendisi olacaklara üniversite seçme rehberi?

Geçen haftalarda bir araştırmanın sonuçlarını http://www.bilgisayarmuhendisleri.com/ sitesinde yayınlayınca bir çok tepkiyle karşılaştık. (bkn: üniversite sıralaması) Ayrıca üniversite sınavına giren bir çok öğrenciden onlarca email geldi. hangi üniversiteyi seçmeliyiz diye? Bu konulara bu yazımız ile değinmeye çalışacağım.Öncelikle şunu söylemem gerek, bilgisyar mühendisleri en iyi üniversiteler sıralaması üniversitelerin öss puanlarına, yada üniversitedeki derslerin kalitesine, derslerin zorluğuna yani eğitime göre yapılmamıştır. Daha çok piyasadaki değenlendirmelere göre yapılmış. Ayrıca bazı üniversitelerin kuruluşunun çok eskilere dayandığını unutmayın. eski üniversite demek daha çok mezun demek. daha çok mezun piyasada daha çok reklam demek. Bana kalsa üniversite sıralamasını istanbuldaki tüm üniversiteleri 1 ile 10 arasına dizerdim. izmir ve ankara'dan üniversite almazdım sıralamaya. bunun sebeplerini aşağıda okuyacaksınız.Gelelim diğer konumuza. Bilgisayar Mühendisliği okumak isteyenler hangi üniversiteleri, hangi kriterlere göre seçmelidir.

Öncelikle kendi maddi durumunuza bakın.
Yani babanız çok zengin değilse, memursa yada işciyse, çok kardeşiniz varsa ve ne kadar erken para kazanmanız o kadar önemliyse size tavsiyem istanbuldaki üniversiteleri seçin. İstanbulda üniversite seçerken şehir merkezinde olmasına dikkat edin. Böylece üniversitede okurken part time çalışıp para kazanabilirsiniz. Mesela Yıldız Teknik Üniversitesini yada İstenbul Teknik Üniversitesini, Marmara Üniversitesini seçebilirsiniz. Ama bu üniversiteleri seçerseniz yapmak zorunda olduğunuz yoğun ödevler sizin dışarda çalışmanıza engel çıkarabilir. Eğer biraz şehir dışında ama ders programı hafif bir üniversite istiyorsanız İstanbul Üniversitesi'ni seçebilirsiniz. İstanbul iş dünyasının merkezi, eğer siz de şehrin merkezindeki üniversiteleri seçerseniz part time iş bulma şansınız artar. Eğer maddi durumunu kötüyse puanınız yetse bile kesinlikle Sabancı Üniversitesi, Koç üniversitesi gibi şehrin dışında bir üniversite seçmeyin. Eğer burslu bir özel üniversite okumak isterseniz kadir has ve kültür üniversitesi gibi şehrin içindeki üniversiteleri seçmeye çalışın. Ayrıca puanınız yetttiği herhangi bir üniversiteye girdiz diyelim. Üniversitelerin bilgi işlem merkezleri var buralarda ücret alarak çalışabilirsiniz. Genellikle üniversitelerin bilgi işlem merkezlerinde 100 ytl'den başlayıp 350$'a kadar çıkan ücretler alabilirsiniz. Bu ücretler çalışma sürenize ve yaptığınız işlere göre değişir. Bilgi işlem merkezlerinde gerçekten eğitici şeyler yapabilirsiniz. Linux öğrenebilir, network konusunda uzman olabilir yada Web Tasarımı yapabilirsiniz. Eğer maddi durumunuz kötüyse ve paralı bir üniversitede burslu okuyorsanız şunu yapabailirsiniz. Parayla sınıftakilerin ödevlerini yapabilirsiniz. inanın çok paralar kazanabilirsiniz. tabi burslu öğrenci sayısı çoksa size ödev yaptıranların sayısı otomatik azalacaktır. ancak hem değişik ödevler yaparak bilginiz katlanarak artacaktır hem de para kazanacaksınız. ayrıca sınıfta populer biri olursunuz.Ayrıca maddi durumunuz kötüyse üniversite seçerken şu kritere de bakın. üniversiteyi 3,5 yılda bitirebilir miyim diye araştırın. Böylece çok çalışıp eğer üniversiteyi 3,5 yılda bitirirseniz yaklaşık 6 ay diğerlerinden önce full time parası kazanmaya başlayabilirsiniz. yani 6 x 1000$ = 6000$ fazla kazanabilirsiniz. Ayrıca ailenizden para almayı da durduracağınız için daha bir çok faydasını göreceksiniz.

Üniversitede Kariyer Hedefiniz Varsa
Eğer üniversitede kariyer hedefiniz varsa mutlaka ingilizce hazırlığı olan bir üniversite seçin. Üniversitede kariyer planlarınız parsa olabildiğince adı iyi olan üniversiteyi seçin. Yani İstanbul, ankara yada izmir olması önemli değil. Kariyer hedefiniz varsa ingilizcenizi çok iyi tutmaya çalışısın. Ayrıca üniversiteyi bitirmeden önce LES - ALES sınavlarına iyi hazırlanın. Mümkünse ingilizce seviyenizi de tespit edip belge alın. Kariyer hedefiniz varsa not ortalamanızı da olabilidğince yüksek tutmaya çalışın. Böylece yüksek lisans yapma şansınızı arttırırsınız. Eğer iyi bir üniversitede lisans okursanız kendi üniversietenizde yüksek lisans yapmanız kolaylaşır. Unutmadan söyliyeyim üniversitede profesor bile olsanız normal bir bilgisayar mühendisi kadar para kazanamazsınız. Ancak üniversitede kalmak biraz da rahatlık meselesi. Bilgisayar mühendisi olup gecelere kadar çalışacağınıza üniversitede rahat rahat günleriniz geçebilir. Özellikle bayanlar bu durumu gözönünde bulundurabilirler.Tabii ki şöyle bir durum daha var. Hem dışarıda piyasada çalışıp hem de üniversitede ders de verebilirsiniz. Özellikle Marmara Üniversitesinde, İTÜ'de ve bir çok özel üniversitede özellikle lisans yada yüksek lisans dersleri verebilirsiniz. Alacağınız paralar piyasaya göre çok olmayacaktır ama havanız olacaktır.

Paralı Üniversite Seçimi
Eğer paralı bir üniversite seçiyorsanız, seçtiğiniz okulun ne kadar burslu öğrenci aldığına bakın. Bu 2 açıdan önemlidir. Eğer çok burslu öğrenci alıyorsa not ortalamaları genelde çok yüksek oluyor ve çan eğrisinden dolayı ne kadar çalışsanız da bu sizin aleyinize oluyor. yani çok burslu öğrenci çok ders çalışmak demek. Ancak bunun bir avantajı var, ödevlerinizi onlara yaptırabilirsiniz. Aslında ödevleri birine yaptırmak avantaj değildir. çünkü ödev yaparak çok şey öğrenirsiniz. Ama sizin için diplama önemliyse bu söylediğimi özel üniversitede yaptırmak olağandır. Ayrıca Paralı üniversite seçmek istiyorsanız ama ailenizin maddi durumu çok da iyi değilse KIBRIS üniversitelerini seçmeyin. hayat orada çok pahalı. Size önerim istanbuldaki üniversiteleri seçin. Böylece staj ve parttime iş olanaklarından siz de yararlanabilirsiniz.

Üniversitelerdeki Eğitim

Üniversite seçerken üniversitedeki eğitim en son düşüneceğiniz şey olmalı. Genellikle bilgisayar mühendisi olmayan kişiler tarafından efsane şeklinde yayılan şeyler var. oranın eğitimi süper buranın çok kötü, yada şu üniversitenin çok iyi şu üniversitenin çok çok kötü eğitimi var şeklinde bir çok şey internette yazılıp çiziliyor.Yalan yanlış yazılan bazı şeyler hakkında genel bilgi olsun diye buraya yazmak istiyorum.Tüm üniversitelerde eğitim çok kötüdür. Hiçbirinde profesorler ders vermez. Zaten bilgisayar mühendisliği yeni bir meslek. 10 yıl önce bilgisayar mühendisi diye birşey yeni yeni ortaya çıkmıştı. bu açıdan prof sandığınız kişiler elektronikten, fizinten yada başka bir alandan bu ünvanı almış kişilerdir. Bu hocalar genelde bilgisayar mühendisliklerindeki hoca eksiklilğini doldurmak için konur. Yani bilgisayar dahisi oldukları için değil. Ayrıca bilgisayarda prof olmak diye birşey yoktur. Eskiden vb, C/C++ varken şimdi Java var, .net var. yani eskiden vb bilen kişinin bu bilgisinin size hiçbir faydası yok. bugun java bilen bir prof. yarin başka bir şey çıkınca bu bilgisyle hiçbir şey yapamayacak. O açıdan bizim üniversitede prof yok onlarda var diye üzülmeyin. Üniversite seçerken de şu üniversiteede eğitim süper, bu üniversitede çok kötü diye seçimler yapmayın. Kısaca tüm üniversiteler çok kötü. Ancak üniversitedeki öğrencilerin kalitesi tartışılabilir. En çok puan alan üniversite ile en az alan üniversitenin öğrencileri arasında bir fark elbette vardır. Ancak 3-5 puanlık farklar yüzünden üniversite öğrencileri ayırmak doğru olmaz. Zaten bilgisayar mühendisliği öğrencilerini belirleyen şey, üniversitedeki öğrendikleri değildir. Üniversitede öğretilmeyen şeyleri kendi başına öğrenme hızı daha önemlidir. Çünkü, bugün sql server bilen birisi yarın Oracle ile çalışrıken hemen adapte olabiliyor mu, yeni bir programlama dili çıktığında hemen geçiş yapabiliyor mu, bu gibi şeyler önemlidir. Ayrıca çalışkanlık ve ayakları yere basan birisi olmak çok önemlidir. Ben şu üniversitenin mezunuyum deyip ortalarda işsiz gezen çok kişi vardır. ancak fırat üniversitesinden mezun olup çok güzel işlerde çok iyi para alan kişiler de vardır. Ayrıca şu üniversite iyidir, şu üniversite kötüdür diyen kişiler çoğu kere her iki üniversiteyi de görmeden konuşmaktadırlar. Yani kafadan uydurmaktadırlar. Ayrıca sadece kendi üniversitesini görüp diğer üniversiteleri görmeden uyduran kişiler de var. eğer kendi üniversitenizin ayaklar altında olduğunu düşünüyorsanız yanılıyorsunuz. diğer üniversiteler de öyle merak etmeyin. Yani iyidir kötüdür lafını etmeden önce neye göre kötü, neye göre iyi diye karşılaştıdığınız her iki üniversiteyi de görmeniz yaşamanız lazım. Bir de üniversiteyi seçerken üniversitenin dış kaplamasına şekline şemaline bakarak-aldanarak üniversite seçimi yapmayın. böyle yapınca çok büyük hayalkırıklığı yaşarsınız. Uzay üssü gibi görünen binalar çoğu kere dökülmektedir ve bu uzak üssü gibi binanın en çok 2-3 sınıfını kullanacaksınız. Dersler genelde aynı sınıflarda işlenir. Ve bina süper olsa ne olur olmasa ne olur, mezun olurken yanınızda götürmeyeceksiniz yada her gün binaya bakıp ah ne güzel üniversite demeyeceksiniz.

Üniversitelerinde sosyal olanakların azlığından şikayet edenlere de kesinlikle kulak asmayın.
Her üniversitede yeterince sosyal olanak var. Eğer sen bunları kullanmak istedikten sonra tüm kapılar sana açıktır. Sosyalleşmek istiyorsan kuluplere-topluluklara girmelisin. hatta kendin bile yeni bir klup kurabilirsin. Üniversitelerin tümü bu olanakları öğrencilere sunuyor. Hatta kuluplerin ödenekleri bile var. Ancak öğrenciler bunların farkında değil. eğer kluplere-toplululara katılırsan staj-iş bulma şansın da artar, çevren genişler. Başka bölümlerdeki öğrencilerle tanışır kaynaşırsın. Bu tur kluplere çokça iş ilanı gelebilir. Ayrıca istediğiniz bir adamı üniversiteye konuşmacı olarak çağırabilirsiniz. Mesela Microsoft Türkiye'nin mdüürünü çağırın üniversiteye konuşma yapmak için. böylece onunla tanışmış olursunuz, belik yazın staj yapma olanağına kavuşabilirsiniz. düşünsenize 20 firma çağısanız her firmaya 2 kişi stajer olarak gönderseniz 40 kişi eder. Zaten bilg. müh. lerde genelde 50 kişi oluyor. hemen -herkes staj yeri çok rahat bulabilir.Eğer siz asosyal biriyseniz orasını bilemem, ama siz asosyal birisiniz diye tüm üniversiteyi kötülemeyin tamam mı?. Unutmayın üniversiteyi oluşturan kişiler sizlersiniz, sosyaleşecek olan kişiler de sizlersiniz. 5 yıldız otellerdeki gibi sizi eğlendirecek animatörler aramayın. Üniversitede kimse sizi sosyalleştiremez. Ayrıca kimse de size zorla birşey öğretemez. Ne yapacaksanız kendiniz yapacaksınız. Şunu da söyleyebilirsiniz dersler çok ağır kluplere zaman kalmıyor. O zaman sizlere önerim birinci ve ikinci sınıflarda kuluplere katılın. Zaten genellikle üniversitelerin 1. ve 2. sınıflarında ders yoğunlukları çok ağır olmaz. Bilgisayar programlama dersleri de genelde 2. sınıfın sonunda gösterilmeye başlanır. Üniversiteyi yeni kazanıp üniversiteyi ilk gördüklerinde hayalkırıklığı yaşayacaklara da bir lafım var. Sakın üzülmesinler tüm üniversiteler çok kötü, aynı kendisi gibi diğer üniversitedekiler de aynı hayal kırıklığı içindeler. Daha önce söylediğim gibi bir an önce kendiniz geliştirmeye bakın.

Sonuç
Tabii bu kadar kriter saymama rağmen ÖSS puanınızın bu üniversitelere yetmesi gerektiğini unutmayın :)Aslında bir çok kriter var. Ama gördüğünüz gibi kısaca söylemek gerekirse mümkünse istanbul'da bulunan üniversiteleri seçin. münkünse şehrin merkezindeki üniversiteleri seçin. mümkünse devlet üniversitelerini seçin. Puanınız yetse bile sabancı üniversitesini burslu okuyacağınıza yıldız teknik üniversitesini seçin sizin için daha hayırlı olacaktır.sorularınız şu adrese gönderebilirsiniz. böylece bir sonraki yazımızın konusu ortaya çıkacaktır.umarım yardımcı olmuşumdur.

En iyi bilgisayar mühendisliği bölümüne sahip üniversiteler

IT sektörüne hizmet veren bir danışmanlık firmasının IT firmalarında çalışan yöneticiler ve karar verici konumunda bulunan kişiler arasında yaptığı ankete göre üniversitler arasında bir sıralama yapıldı. Yapılan ankette yöneticilere çalışan personelin çalışkanlığından üretkenliğine, takım içinde çatışma sıklıklarından bireysel yeteneklere, okuldan yeni mezun olanların bilgilerinden çabuk öğrenmeye kadar 48 konuda çalışan bilgisayar mühendislerini üniversitelerine göre değerlendirmeleri söylenmiş. Yöneticilerin yaptığı seçimlere göre üniversitelerin bilgisayar mühendisliği sıralamasında ilk 10 şöyle:
1. İstanbul Teknik Üniversitesi
2. Yıldız Teknik Üniversitesi
3. İstanbul Üniversitesi
4. Marmara Üniversitesi
5. Ege Üniversitesi
6. Boğaziçi Üniversitesi
7. Bilkent Üniversitesi
8. Galatasaray Üniversitesi
9. Hacettepe Üniversitesi
10. Orta Doğu Teknik Üniversitesi

Bilgisayar Mühendislerinin Maaşı Ne kadardır?

Özellikle yeni iş hayatına atılan genç bilgisayar mühendislerinden çokça email geliyor. Kaç para almalıyız, piyasanın ortalaması nedir diye soruyorlar. Öncelikle söylemeliyim ki öğrenciliğiniz sırasında çalışan yeni mezunlar genelde bu sorunun cevabını bilirler. Bu yüzden öğrenci olan bilgisayar mühendisi adayları ücret konusunu düşünmeden işa arayışına girmelidirler. Yani sadece yol parası ve yemek parasına işe girmeye çalışın. Böylece işe girdiğiniz yerdeki kişilerle arkadaş olduğunuzda ücretlerin neler oldugunu yavaş yavaş öğrenirsiniz. Öğrenciyken çalışmanın birçok avantajından sadece birisidir bu söylediğim. Hatta yemek ve yol parasına iş bulamıyorsanız tamamen ücretsiz iş bulmaya çalışın. Ama çok dikkatli olun yani ücretsiz çalışıyorsunuz diye işe savsaklamayın. Ücretsiz çalışsanız bile normal çalışan bir bilgisayar mühendisinden daha çok çalışmaya gayret edin. İş yerinden son çıkan siz olun. Cumartesileri full gün işe gitmeye çalışın. Pazar günleri de evinizde yada okul yurdunda bilgisayar çalışın. Ayrıca işyerlerinde başka bilgisayar mühendisleri varsa onlarla kaynaşın çok şey öğrenirsiniz. Ayrıca Bilgisayar piyasası çok küçük olduğundan bugun yanında staj yaptığınız birisiyle yarın başka bir işte beraber çalışabilirsiniz. Ayrıca ilerde profesyonel hayatta 20 yıl yüksek maaş almak için öğrenciyken 2 yıl ücretsiz çalışmak hiç de mantıksız değildir. Bu arada iyi bir cv hazırmaya gayret edin.Herneyse geleleim asıl meselemize. Konumuzu iki aşamalı düşünelim. 1. Yeni Mezun Bilgisayar Mühendisi Kaç para istemelidir?2. Tecrübeli bilgisayar mühendisi kaç para istemelidir?Yeni Mezun Bilgisayar Mühendislerinin MaaşlarıYeni mezun bilgisayar mühendisi hiçbirşey bilmese bile minimum 1000$ maaş almalıdır. Ancak bu ücreti artırmak sizin elinizdedir. Eğer iyi derecede java yada oracle biliyorsanız bu maaşı minimum 1400$ istemelisiniz. Eğer bu rakamların altında ücret isterseniz sizi kesinlikle işe almazlar. Yani düşük fiyat istemek işi garanti yapmaz tersine işi kaybbetmenize yol açar. Ancak çok fazla da istemeyin. Yeni mezunsanız ne kadar iyi olursanız olun kesinlikle max 2000$ isteyin. işe girin 1-2 yıl çaqlışın sonra istediğiniz rakamı isteyin. Eğer C# bilen bilgisayar mühendisi iseniz 1250$ başlangıç maaşı isteyebilirsiniz. Delphi ile çalışacaksanız da 1250 dolar isteyebilirsiniz. asp.net ile çalışıyorsanız 1200 dolardan yukarıya doğru yeteneklerinize göre ücret talep edin.Eğer embedded işlerle uğraşacak yeni bir bilgisayar mühendisliği mezunu iseniz 1300 dolar isteyin. Özellikle C++ ile program yazacaksanız 1500 dolar minumum ucret isteyebilirsiniz.Eğer network-sistem yönetimi gibi bir işe başvuran bir bilgisayar mühendisi iseniz 1000$ isteyin. daha fazla istemeyin. Network-Sistem yönetimi konusunda çok eleman var ve maaşlar bu alanda biraz düşük. işi garantilemek istiyorsanız 1000$ teklif edin. Ancak yazılım yapabilen bir sistem yöneticisi olacaksanız 1500$ isteyebilirsiniz. Yani Software+SistemYönetimi minimum 1500 dolar eder. 2500 dolarak kadar isteyebilirsiniz. Aynı şekilde hem database yönetiminden anlıyorsanız hem yazılım yapıyorsanız min. isteyeceğiniz para artar. Normalde yeni mezunlara database adminliği zor yaptırırlar ancak eğer böyle bir sorumluluğun altına giriyorsanız ve ayrıca program yazacaksanız bunun bir bedeli var. Minimum 1750$ 'dır bu bedel.Yeni mezunsanız bu söylediklerime göre kendiniz ve kariyer hedefleriniz doğrultusunda ücret sitemeyi unutmayın. Yani hangi bilgisayar mühendisliğini bitirseniz bitirirn 1000$'dan aşağıda çalışmayın.Tecrübeli Bilgisayar Mühendislerinin MaaşlarıTecrübeli bilgisayar mühendilerinin maaşları çalıştığı alanlara ve yıl sayısına göre çok büyük farklılık göstermektedir.Oracle 'da 3 yıllık database adminliği tecrübeniz varsa minimum 3000$ alabilirsiniz.. Önemli olan database adminliği konudundaki tecrübenizdir. Eğer 5 yıllık bir oracle tecrübeniz varsa 4500$ rahatlıkla alabilirsiniz. Bu tecrübe olarak söylediğim şeyler gerçekten de oracle ile ugraştığınız yılları ifade etmektedir. yani 10 yıl önce mezun olduysanız 10 yıllık oracle tecrübesinden bahsetmek yanlış olur. Gercekten de oracle db admin tecrübe yılı önemlidir. Ayrıca Oracle konusundaki tecrübeniz demek sadece bakım yapmak yedek almak upgrade etmek demek degildir. Zaten bu yüzden türkiyede Oracle konusundaki uzman sayısı bir hayli azdır ve onlar da iyi paralar kazanmaktadırlar..Java konusunda 3 yıllık bir tecrübeye sahipseniz 2500$ alabilirsiniz. 3 yıllık java tecrübesi içerisinde yaptığınız çalışan projeler çok önemlidir. Eğer 5 yıllık bir java tecrübesine sahipseniz 3500 dolar rahatlıkla alabilirsiniz. Hatta yaptığız projeler güzelse, çatır çutur kod yazabiliyorsanız bir sonraki işinize geçerken 4500$ isteyebilirsiniz.Asp.net, C Sharp, VB, Delphi, Power Builder konusunda 3 yıllık tecrübeniz varsa 2000 dolar kesinlikle alıyor olmanız gerekir. 5 yıllık bir tecrübeye sahipseniz en az 3000 dolar civarında paralar alabilirsiniz.Network - Sistem mühendisliği yapanlar genelde iş tecrübeleri fazla bile olsa 2600 dolar maaşı geçemezler. Bu tip bilgisayar mühendislerine tavsiyem bir an önce müdür, direktör yardımcısı vs. olmaya çalışsınlar.Şunu da belirtmeliyim ki söyledğim rakamlar genelde meseleğinde aktif alışan kişiler içindir. Yani müdür olduysanız kod yazmıyorsanız yada admin görevi yapmıyorsanız yukarıdaki fiyatlar geçersiz olru. Müdür, direktör vs. olduğunuzda başka kriterler devreye girecektir. Çalıştığınız firmanın büyüklüğüne göre Direktör olduğunuzda aylık 20.000$ maaş bile alabilirsiniz. Ayrıca 10 yıllık tecrübelere sahipseniz genellikle şirketler size çok yüksek maaşlar yerine hisse yada kar payı önermeye başlayacaklardır. Yada siz kendi işinizi kurmayı düşünmeye başlayacaksınız.Ayrıca tecrübeli mühendislerin maaşlarını etkileyen şeylerden en önemsi birkaç alanda iyi olmaktan geçiyor. Yani sadece oracle uzmanı olunca iyi para kazanabilirsiniz. ancak hem java hem oracle manage edebilriseniz kazanacağınız paralar yükselecektir. Aynı şekilde hem database admin konusunda çok iyi hem network hem güvenlik hem de yazılım konusunda çok iyi olursanız (!) en iyi parayı siz alabilirsiniz. ama tümünde çok iyi olan kimseyi görmedim şimdilik. genelde gördüklerim 2 alanda çok iyi oluyorlar... Son söz olarak belirmeliyim ki Türkiye yazılım konusunda sanıldığının çok ilerinde. Çok iyi bilgisayar mühendislerine sahibiz. Bilgisayar mühendislerinin en büyük sorunları rehavet ve motivasyon.Genelde iyi paralar kazanmaya başlayan bilgisayar mühendisleri rutin bir hayata giriyorlar ve kendislerini geliştirmeyi bırakıyorlar. akşam 6 olunca işten çıkıp evlerine gidiyorlar ve bilgisayar oyunlarına çok takılıyorlar. Bilgisayar mühendisinin çalışma özgürlüğü mutlaka olmalı. Gözü saatte olmamalı. Ancak işe de her gün saat 11'de gelmemeli. Bir oto kontrol olmalı. Ayrıca bir işe giren kişi dışarıda neler oluyor, diğer bilgisayar mühendisleri neler biliyor, neler yapıyor pek takip edemiyor. Ayrıca şirkette herkes bowling, gokart, vs.. aktiviteler yapınca süper kalitede bilgisayar mühendsilerimiz de kendilerini bu tür gezme tozmaya çok kaptırıyorlar. Motivasyonları düşüyor ve üretkenlik yerlerde geziyor. Motivasyonu düşüren etkenlerden en önemlisi de bilgisayar mühendislerinin başındaki müdürlerdir. Genellikle yazılımdan anlamayan kişiler iyi bilgisayar mühendislerinin motivasyonunu düşürüyorlar ve verimli çalışmamamları için ellerinden ne geliyorsa yapıyorlar. İyi bir müdür iyi bir bilgisayar mühendisinin verimini 5 katına çıkarabilir.Son söz olarak şu söylemeliyim. iyi bilgisayar mühendisi her zaman iyi paralar alır. Çalışmaya devam.

Bilgisayar Mühendsileri için CV hazırlama rehberi - 1

Yazımızın konusu daha çok bilgisayar mühendislerini ilgilendirse de çoğunlukla diğer mühendislik dalları için de kullanılabilir ipuçları sunacaktır.

öncelikle CV hazırlarken amacınızı belirleyin.
Yurtiçinde başvuru için cv hazırlama
Yurtdışında başvuru yapacağım
Akademik amaçlı cv hazırlama
Yazılım - Tasarım - network gibi değişik iş kollarına göre cv hazırlama.
Ben daha çok yurtiçi başvurularında kullanmak için sizlere ipuçları sunacağım.

Adınızı Soyadınızı kocaman Harflerle CV'nin en başına yazın yaklaşık şu kadar font yeter:
AHMET AKSOY
adınızı kocaman yazmaktan korkmayın. Çünkü çoğu firmada durum şöyle işliyor. Sekretere 50 kişilik cv tomarı veriliyor. Sonra sekretere ahmet aksoyu araması söyleniyor. Eğer sekreter sizin adınızı göremezse fazla zahmete girmeden aradığın kişiyi bulmadım diyor. Yekili kişi de işin üsüne düşmüyor ve tamam o halde mustafa yıldırım'ı arayalım diyor. Görüldügü gibi basit bir işlemle bir işe çağrılma olasılığınızı arttırıyorusunuz. ayrıca adınızı sayfada ortalayın. sağa yada sola yaslamayın. Özellikle sola yaslarsanız çok büyük bir yanlışlık yaparsınız. Çünkü print edilen kağıtlar ataç ile birbirine tutturulurken adınız yada telefonlarınız görünmeyecektir.

Yurtiçi başvurularınızda adres yazarken yada iş bilgileri yazarken Turkey-Turkiye gibi şeyler yazmayın. Gereksiz hiçbir şeyi Cv'nize yazmayın.

Adınızın hemen altına telefon numaranızı yazın. hem cep hem normal tel yazmaya çalışın
Ev: 0212 444 5 666 Cep: 0533 555 6 777

gibi rekli ve bold yazın. okunaklı olsun ama çok büyük de olmasın. ayrıca eğer mümkünce turkcell numaralarını yazın. arayacak kişi belki sizi kendi telefonundan arayacaktır çok parasının gitmesini istemez ve sektörde hemen herkes turkcell kullanıyor.

telefonun hemen altına adres yazın. adresi çok da ayrıntılı yazmanıza gerek yok. olabildigince kısa yazın. genellikle işverenler adres kısmında sizin hangi semtte oturdugunuza bakarlar. adres yazısını şöyle yazabilirsiniz:

Atatürk Cd. Çınar Sk. No:20 Çiçek Apt. Kat:3 Kozyatağı

şeklinde bold yapmadan yazın. Eğer başvuru yaptığınız yer ile oturduunuz yer aynı şehirdeyse il adı bile yazmayın. yani istanbul yada ankara yazmanıza gerek yok. Ancakkkk eğer ankarada oturuyorsanız istanbuldaki bir işe başvuruyorsanız mutlaka ankara yazın. Size ufak bir tüyo daha vereyim, eğer ankarada oturuyorsanız ve istanbulda iş arıyorsanı mutlaka istanbuldaki bir tanıdığınızın ev adresini verin... Böyle yaparsanız iş görüşmelerine çağrılma oranlarınızın yüzde yüz arttığını göreceksiniz. Zaten genellikle işverenler şöyle bir psikoloji içindeler: Eğer istanbul işine ankara adresiyle başvurursanız işveren size iyilik yaptığını, eğer istanbula görüşmeye çağırırsa sizin bir sürü masraf edeceğinizi düşünür. ve sizin masrafa girmenizi önlemek için görüşmeye çağırmaz.

Gördüğünüz gibi ufak şeyle iş bulma şansınızı inanılmaz ölçüde arttıracaktır.

bir sonraki yazımda bilgisayar mühendisleri için cv hazırlama teknikleri yazı dizime devam edeceğim. şimdilik hoşcakalın.