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.

Bilgisayar mühendisliğinde okuyan öğrencilere tavsiyeler

Bilgisayar mühendisi olacak kişilere yönelik yazdığımız yazılar çok ses getirdi. Bir çok lise son öğrencisi mail yazdı, bir çok öğrenci velisi tavsiyeler istedi. Elimizden geldiğince hepsine yardımcı olmaya çalıştık. Ayrıca bir çok üniversite öğrencisinden de emailler geldi. Çoğu kere benzer cevapları veriyorum insanalara... Bu yüzden burada yazdıklarımı daha da genişletmek istiyorum. Burada yazdıklarım genel olarak tüm sınıfları kapsamakla beraber ne kadar erken bu yazıyı okuyorsanız o kadar iyidir. yani son sınıfta okuyorsanız size de yardımcı olacaktır ama ikinci yada üçüncü sınıfta okuyan öğrencilere daha çok yararlı olabileceğini düşünüyorum.

Durumunuzu Belirleyin

Eğer bu yazıyı okuyorsanız muhtemelen durumunuz diğer öğrencilere göre daha iyidir ve bundan sonra daha da iyi olacaktır. Bilgisayar bilginizi bir yere not edin. neler biliyorsunuz, ne seviyede biliyorsunuz. İngilizce bilginizi not edin. Ders durumunuzu not edin. Staj durumunuzu not edin. Tanıdık-Çevre-Arkadaşlık durumunuzu not edin. Yazı konumuz bu alanları irdeleyecek şekilde genişleyecek. Zaten mezun olunca bu saydıklarım yüzünden iş bulabilecek yada biraz daha geç iş bulabileceksiniz.

Dikkat

İş bulamamaktan korkmayın. En kötü bilgisayar mühendisi bile iyi paralara mutlaka iş bulur merak etmeyin. Ama saygı kazanamamaktan korkun.

Ders Durumu
Mutlaka derslerinize çalışın. Ders çalışmak bilgisayar öğrenmenize ve dışarda çalışmanıza hiçbir şekilde engel değildir. Bir çok kişi hem dışarda parttime çalışırlar hem de okulda derece yaparlar. Okulunuz elveriyorsa okulunuzu 3,5 yılda bitirmeye çalışın. Okulunuzu üç buçuk yılda bitirseniz 6 ay erken full time parasi almaya başlarsınız demektir. Aylık 1,500 dolardan iş bulsanız arkadaşlarınızdan toplamda 9000$ fazla para almış olursunuz. Böylece 9000 dolar ile kendinize bir araba alabilirsiniz. Yani okulu erken bitirmenin hediyesini hemen görmüş olursunuz. Ayrıca ailenizin durumu iyi değilse bir an önce ailenizden para almayi bırakmış olursunuz, ailenizi rahatlatırsınız. Okulunuzu mutlaka bitirin. Ders bırakmayın. Hernekadar işverenler okulu bitirip bitirmemenize bakmasalar da okulda kalan dersleriniz sırtınızda kambur olarak kalacaktır. Yani sonuçta bir gün mutlaka okulu bitirmeniz gerekiyor.Okul bitiminde mutlaka Yüksek lisans yapın. Yüksek lisansı bitiremeseniz de en azından 1-2 dönem takip etmeye çalışın. Hangi alanda yaptığınızın önemi yok. Ama mutlaka yüksek lisans yapin. Yüksek lisans yapmak için de bazi üniversiteler yüksek ALES ve yüksek ortalama istiyor... Bu yüzden Lisans eğitimi alırken mutlaka notlarınızı yüksek tutmaya çalışın. ALES'i bir şekilde yükseltebilirsiniz ama notlarınızı asla mezuniyetten sonra yükseltemezsiniz..Son sınıfta ALES'e aralık ayında mutlaka girin. Ayni şekilde mayis sinavina da girin. Hangisi yüksekse onu kullanirsiniz.Dersler önemli ama iş hayatında birebir önemli değil. Okulu birinci bile bitirseniz mezun olur olmaz bunu unutun. Aynı şekilde ÖSS sınavında derece yapmış olabilirsiniz ama bunun hiçbir önemi yok üniversitede. Sadece ego tatmininde kulanırsınız. İş bulmanızda da ne notların ne okul birincisi olmanızın ne de ÖSS derecesinin aktif bir katkısı yoktur. Ama okulunuzu mutlaka zamanında bitirin.

Tanıdık-Çevre-Arkadaşlık Durumu
Dersler önemli ama arkadaşlarınızdan daha önemli değil. Sektör küçük, iş hayatı çok dar, arkadaşlarınızla sürekli bir yerlerde karşılacaçaksınız bu yüzden mutlaka onlarla iyi geçinin. Herkesle dost olamsanız bile düşman olmayın. Bugün kavga ettiğiniz biriyle 1-2 yıl sonra bereaber çalışmanız gerekebilecek. Yada en gıcık kaptığınız kişi ilerde sizin müdürünüz olabilir. Yada bugün nefret ettiğiniz kişi yarın müşteriniz olabilir. Yani arkadaşlarınızla mutlaka iyi geçinin. En azından selamınız mutlaka olsun. Herkesle ufak ortak yanlar bulmaya çalışın. Değişik projelerde değişik arkadaşlarla çalışmaya gayret edin. Ders notlarınızı yüksek tutacam diye arkadaşlarınızdan ders notlarını saklamayın. Çan eğrisinden korkup arakadaşlarınıza kopya vermekten çekinmeyin. Notlarınızı yüksek tutmak için bol bol kopya çekin... Ama notlarınızı yüksek tutmak için birilerine de kötü davranmayın. Kopya verdiğiniz arkadaşınızı tembel diye hor görmeyin. 1-2 yıl sonra sizden daha önce ve daha güzel iş bulabilir ve belki de sizi de yanına aldırabilir. Ayrıca bir yere staja girerseniz yada iş için girerseniz mutlaka arkadaşlarınızı da yanınıza aldırmak için çalışmalarda bulunun. En azından müdürünüzle bir randevu ayarlamaya çalışın.İş dünyasında torpil olayı çok derler. Ama bilgisayar dünyasında pek torpil yoktur. Çünkü Bilgisayar mühendislerinin sayısı çok az ve herkes nereden bulabilirsem oradan alayım mantığıyla hareket ediyor. Bilgi işlem sektöründe iş bulma yönetemlerinde en önemli faktör arkadaş faktörü. %70 gibi bir oran var. Diğer şeyler internet, gazete vs... Bir firma bilgisayar mühendisi alacaksa önceliği orada çalışanların arkadaşlarına ve tanıdıklarına verir. Yani bizim eleman iyi onun getireceği de iyi olur mantığı geçerlidir. Ve çoğunlukla da iyi arkadaşlar seçilmeye çalışılır. Zaten bir çok iş ilan edilmez bile. Çünkü ilan edilse bile başvurular ya çok yetersiz sayıdadır yada başvuranların kaliteleri çok kötüdür. Bir arkadaş ile bir iş yerine girmek için en geçerli yoldur. Akrabalık ilişkileri ve tanıdık iş bulmada bizim sektör için önemli değildir. Akrabalık ilişkileri, komşuluk-tanıdık daha çok STAJ yeri bulmada çok işe yarar. Özellikle Arçelik-Beko gibi kurumsal firmalarda staj yapmak için iyi torpillere ihtiyaç vardır. Bu tür yerlere o kadar çok staj başvurusu gelir ki kontenjanlar çabuk dolar. Bu yüzden torpiliniz olasa bile staj yeri ayarlanamayabilir. Çünkü daha büyük kişilerin kendi tanıdığı kişilere öncelikleri olur...Ama bu sizin hevesinizi kırmasın. Kurumsal firmalara sadece torpilli öğrenciler değil sıradan yapılan başvurular da kabul ediliyor ve bunların sayısı da oldukça fazla. Bu yüzden mutlaka başvurularınızı yapın.

STAJ DURUMU
Stajlar çoğu okulda mecburi olsa da bazı okullarda mecburi değil. Stajlarınızı mecburi olmasa da mutlaka yapın. Stajlarınızın birini yazılım firmalarında diğerini kurumsal firmalarda yapmaya çalışın. Böylece mezun olurken nasıl bir yerde çalışmak istediğinize de karar vermiş olursunuz. Stajlarınız naylon yapmayın. Sahte staj sizin için çok çok kötü bir harekettir. Kesinlikle sahte staj yapmayın. Aileleri farklı şehirde olanlar, yazları aileniz çağırsa bile sizi özleseler de çok ısrar da etseler eve gitmeyin. Siz de çok özleseniz, aileniz de özlemlerinden ölseler de eve gitmeyin. Yurtta kalin akarabalarınızda kalın ama mutlaka staj yapın. Staj o kadar önemli ki anlatamam. Tatile çıkıyosanız da 1 hatfa tatil yapıp dönün. Yaz tatilleriniz en fazla 1 hafta olmalı unutmayın. İlerde iyi paralar kazanacaksınız tatillerinizi maldiv adalarında bile geçirebilecekken niye böyle bir fırsatı tepesiniz ki.Staj başvurularınız ocak-şubat ayında mutlaka bitirin. Çoğu kurumsal firma marttan sonra başvuru kabul etmez. Çok geç kalmayın. Ama her firmada bu kural yok. Ayrıca bir çok firmaya başvurun on yere elli yere yüz yere başvurun. 2 yerden kabul edildiniz diyelim hemen tarihleri öğrenin tarihi uygun olmayanlari yada beğenmeğiniz şirketlere gitmeyecekseniz mutlaka geri dönüp haber verin. Gelemeyeceğiniz bildirin. Başkalarının hakkını yakmayın. Eğer tarihler uymuyorsa tarih değişikliği de önerebilirsiniz. Belki kabul edilebilir.Stajlarda mutlaka projelere girmeye çalışın. Herkesten çok iş yapmaya çalışın hevesli olun. Ama stajlar mutlaka proje-bilgisayar demek değildir. Çay getir götür işleri yaptırmaları ağrınıza gitmesin. Fotokopi de çekin, fax da çekin kağıt da taşıyın, çeviri de yapın. Hiç bir işi küçümsemeyin. Hatta telefonlara da siz çıkmaya çalışın. Telefonla konuşmak bile çok önemli. Üstelik bir hatalı birşey olursa beceremeyeceğiniz şey olursa ben stajerim deyip not alın. Yani korkmayın. Zaten kimse sizin yapamayacağınız çok öenmli şeyleri size yaptırmaya çalışmaz merak etmeyin.Stajdan sonra oradaki müdürle konuşun. Parttime çalışıp çalışamayacağınızı öğreninin. İstekli bir şekilde ben parttime çalışmak istiyorum deyin. Gerekirse para almam deyin. Gerekirse yol parasi bile almayin... Öemli olan orada parttime çalışmanızdır. Parttime işlerin %75'i staj sonrasında devam eden işlerden oluşuyor. Haftada sadece 1 gün bile gidebilecek durumda olsanız bile part time çalışmak için ısrarlı olun. Cumarteisleri ve pazarları da çalışırım deyin. Yani bir şekilde ikna edin. Okulunuz toplam 70 gün staj önerdiyse sadece 70 gün yapmak zorunda değilsiniz. Süreleri hep uzun tutmaya çalışın. Ayırca sadece yazın değil kışın da staj yapabilirsiniz. Haftada bir gün yada bir buçuk gün giderek staj yapabilirsiniz. Staj yaptığınız yerdeki kişilerle kaynaşmaya çalışın. Arkadaşlıklar kurun, diğer okullardan stajerlerle de kaynaşın çevrenizi genişletin. Unutmayın bilgisayar sektöründe arkadaş demek iş demek.

İngilizce Durumu
Ne yapıp edip inglizce öğrenin. Eğer hazırlığı doğrudan atladıysanız ingilizceyi bırakmayın ingilizce çalışmaya devam edin. Chat yapın, webcamda konuşun, kitap okuyun vs... Eğer hazırlık almadıysanız kurslara gidin yada yaz aylarında İngiltere'ye çilek toplamaya gidin ne yapıp edip ingilizceyi öğrenin. Ek dillere de girişler yapın. Rusça almanca ne olursa öğrenmeye çalışın. Ama ingilizce olmadan bilgisayar mühendisliği olmuyor. Tüm kitaplar ingilizce. Terminoloji ingilizce... ne yapıp edip ingilizceyi öğrenin, en azından kitapları hızlı okuyabilecek kadar öğrenin. Ne kadar kötü ingilizce o kadar az para demek.

Bilgisayar Bilgisi
DurumuKendinize mutlaka bir web sitesi açın. Forumlara takılın... Bilgi paylaşım platformlarında yeralın... Web sitelerini illa kendi adınızla açmak zorunda değilsiniz. Takma isimler kullanmaktan çekinmeyin. Hürriyette milliyette haberlere yorum yazmayı bırakın. Hele hele gerçek adınızla hiçbir yere hiçbir şekilde yazı yazmayın. internette herşey kayıt altında ve bir gün yazdıklarınız yüzünden işinizden olabileceğinizi yada bugun size mantıklı gelen bir şekilde yazıklarınızın yarın yüzünüzü kızartacağını unutmayın. Web sitenizde internetten araklama yazılara yer verebilirsiniz. oradan buradan bilgisayarla ilgili şeyleri toplatın ama sitenize koymadan önce mutlaka okuyun. Yeni çıkan teknolojiler hakkında mutlaka bili sahibi olun. Ama her çıkan teknoloji de sonuna kadar öğrenmeye çalışmayın. Unutmayın Büyük umutlarla çıkan teknolojilerin %90'ı çıktıklarının ilk yılında kullanılmaz duruma geliyorlar. Bu teknolojiler ister microsoft ister java tabanlı olsun. bir anda kenara atılabiliyor.Bilgisayar konusunda fanatik olamayın. Özellikle öğrenciyken kesinlikle fanatik olamayın. Adınız çıkar ve mezuniyetten sonra ible insanlar sizi yanlış tanımaya devam eder. Kimileri Linux kimileri Java kimileri OpenSource kimileri Oracle kimileri Microsoft kimileri de macromedya manyağı oluyor... Bu tür şeylere kulak asmayın. İş dünyasının kuralı şudur: En hızlı en ucuz şekilde nasıl yapıldır. Yapıldıktan sonra da destek olayını en hızlı ve en ucuz nasıl çözerim.Bunun böyle olduğunu bilin ve ona göre fanatik olun. İş dünyasında fanatiklere pek yer yok. Öğrenciyken mutlaka en az bir database ile çalışmalar yapın. hem .net hem de java öğrenin. tercihte bulunmayın. Zaten iş hayatına girince girdiğiniz iş yerinin kuralı neyse onunla yazacaksınız merak etmeyin. Ama deli gibi java bilip sonradan vb.net bilmeyip vb.net hakkında atıp tutmayın. vb.net 'i de öğrenin javayi da öğrenin ondan sonra atıp tutun. Şunu da unutmayın dünyada java ve .net dışında da bir sürü teknoloji var... Yani sadece sizin fanatiği olduğunuz şey yok. Bir sürü kitap alın. Hem türkçe hem ingilizce alın. Hepsini okuyun. istanbulda bir sürü yerde ucuz kitap satan yerler var. Ayrıca internette yok yok.. herşey var ve interneti sonuna kadar sömürün.Son Söz: Okuduğunuz bölümün kıymetini bilin. Ders çalışın ve kendinizi geliştirin. Ülkemiz iyi bilgisayar mühendisleri bakımından oldukça şanslı ama yeterli değil. Ülkenin çok iyi bilgisayar mühendislerine ihtiyacı var. Ülkenizin size sunduklarının bir kısmını çalışmalarınızla ona geri verin.

Yazılım Mühendisi alırken en çok dikkat edilenler?

IT sektörüne personel sağlayan Türkiye'nin en büyük insan kaynakları firması tarafından yapılan şirket yöneticilerine yönelik bir araştırma sonuçları geçen günlerde açıklandı. Yöneticilerin okudukları Cv içerisinde en çok dikkat ettikleri ve görüşmelerde üzerinde durdukları öncelikler sorulmuş. Araştırma içinde yer alan Yazılım Mühendisi alırken öncelikler sıralaması aşağıdaki gibi oluşmuş.

  • 1. Benzer projelerde çalışılan iş tecrübesi
  • 2. Programlama dili ve database tecrübesi
  • 3. Kendi kendini geliştirebilme yeteneği & yeni teknolojilere çabuk uyum
  • 4. Yabancı dil
  • 5. Sorumluluk alabilme, inisiyatif kullanabilme yeteneği
  • 6. Takım çalışmasına uyumluluk
  • 7. Pozisyonun durumuna göre cinsiyet ve yaş
  • 8. Eğitim & mezun olunan okullar-üniversiteler
  • 9. Sertifikalar
  • 10. Talep edilen ücret & başvurulan işte uzun süre çalışma isteği

Neden yazılım uzmanı olamayacağınızın 10 kanıtı?

Neden yazılım uzmanı olamazsınız?

  1. Kendi kendine öğrenmek yerine kursları tercih ediyorsunuz
  2. Normal çalışma saatlerini seviyorsunuz
  3. Küçük maaş artışlarını kıdem yükselmesine tercih ediyorsunuz
  4. Ekip çalışmasında insan ilişkileriniz pek iyi değil
  5. Kolayca sinirleniyorsunuz
  6. Ekip elemanlarının fikirlerine kapalı iseniz
  7. Detay adamı değilsiniz
  8. Yaptığınız işten onur duymuyorsunuz
  9. Önce ateş edip sonra soru soran tiplerden misiniz?
  10. “Geek” tipini sevmiyorsunuz

Tech Republic’de yazan Justin James 10 maddede neden yazılım uzmanı olamayacağınızı açıklamış. Bakalım neymiş bu 10 madde.


1: Kendi kendine öğrenmek yerine kursları tercih ediyorsunuz


Yazılım Uzmanı ilk işe başladığında gerekli tüm bilgiyi biliyor olduğu varsayılır. Firmanın belirli bir eğitim politikası olsa bile gerçekte firmanın yardımı ile alacağınız eğitimler hiç bir zaman gerçekleşmez. En iyi ihitimalle bir iki kitap almanız için bir ödenek ayrılır. Yönetim ekibinin düşüncesine göre yazılım uzmanı problem çözmeyi bilen akıllı bir kişidir ve bu yüzden de eğitime ihtiyacı yoktur. Öte yandan kurs masrafları karşılanan yazılım uzmanının her zaman firmayı terkedip gitme ihtimali olduğu için firmanın yatırım yapması pek düşünülemez (olsa iyi olurdu tabii ama gerçek hayat bu). Bu durumlar göz önüne alındığında kendi kendinize öğrenebiliyor olmanız gerekir. Eğer bu disiplin sizde yoksa yazılım uzmanı olmayı aklınızdan bile geçirmeyin.

2: Normal çalışma saatlerini seviyorsunuz


Yazılım projelerinin geç bitme olayını herkes bilir. Zamanında biten projeler bile projenin hayatı boyunca çoğu kereler geç kalma durumuna düşmüştür. Eğer 9’dan 5’e bir işte çalışmayı seviyor ve yazılım projelerinin uzun çalışma saatlerine ve gecelemelerine dayanamayacağınızı düşünüyorsanız yazılım uzmanı olmayı aklınızdan çıkarın. Patronunuz, ürünün zamanında müşteriye ulaştırılmasını, sizin oğlunuzun spor müsabakasından yada televizyonda seyretmek istediğiniz programdan daha önemli tutacaktır.


3: Küçük maaş artışlarını kıdem yükselmesine tercih ediyorsunuz


Teknolojik değişmeleri uygulamayan bir firmada çalışmıyorsanız, şimdi bildiğiniz şeyler seneye ya geçersiz yada az ödeyen konuma gelecektir. Bugün gözde olan teknolojiler seneye isimleri bile hatırlanmayan garip teknolojiler olabilir. İşin sırrı hızlı biçimde değişmektir. Yeni teknolojileri hızlı (herkesden önce) öğrenip konu hakkında otorite olmaya bakın. Hiç yeni bir teknoloji öğrenmeden aynı koltukta oturup, maaşınıza gelecek zammın hayat standardınıza yeteceğini düşünüyorsanız yanılıyorsunuz. Ya deneyimlerinizi ilerletip aynı firmada kıdem yükseltmeli yada başka bir firmaya geçerek aldığınız maaşı yükseltmelisiniz.


4: Ekip çalışmasında insan ilişkileriniz pek iyi değil


Yazılım uzmanları her ne kadar a-sosyal insanlar olarak bilinsede bir araya geldiklerinde hararetli konuşmalar yaparlar ve kendileri gibi olan insanlarla hemen kaynaşıp sosyalleşirler. Hangi dükkanda indirim var veya dün akşamki diziden bahsetmedikleri için dışarıdan kulak misafiri olanlara Fransızca gibi gelir ama aslında çok sosyal insanlardır. Ekip içinde çalışamıyor ve iletişimin düşük olduğunu düşünüyorsanız yada ekip arkadaşları ile bağlantı kuramıyorsanız; problem genellikle sizdedir. Aynı deneyimleri yaşamamış kişilerin bağlantı kurmaları beklenemez.


5: Kolayca sinirleniyorsunuz


Yazılım dünyası pek çok engellerle doludur. Belgeler genelde tam değildir, sizden önceki yazılımcı okunmaz bir kod yazmıştır, proje müdürünün anlaşılmaz kuralları vardır, herkesin uyması beklenen... liste daha da uzatılabilir. Sonuç olarak kimse sürekli bela okuyan ve ekrana küfür eden birisi ile aynı çatı altında olmak istemez. Eğer 8 saatlik bir uğraşın sonunda konuyu 10 dakikada çözebileceğinizi görüp deliriyorsanız bu kariyer sizin için değildir.


6: Ekip elemanlarının fikirlerine kapalı iseniz


Yazılım geliştirmede genelde problemlerin birden fazla çözümü vardır her yiğidin bir yoğurt yiyişi olduğu gibi. Eğer gelen kritikleri ve diğer çözümleri göz ardı ediyorsanız önemli bir noktayı gözden kaçırıyor olabilirsiniz. Sektörde yani olan ve deneyimleri sizden az olan birinin yapacağı bir tavsiye size pek çok şey kazandırabilir. Tabii bu tavsiyeye önem verip uygularsanız.


7: Detay adamı değilsiniz


Programlama olayı komplex bir olaydır ve dikkat ister. Eğer Conan The Barbarian filminden daha karmaşık bir filmi izlerken kayboluyorsanız yada bir yeni nesil ev kredisi formunu doldururken zorlanıyorsanız yazılım uzmanlığı büyük ihtimalle sizin için değildir. Bazen unutulan bir virgül, başarı ile başarısızlık arasındaki çizgiyi çizer. Eğer bu virgülü arayıp bulacak yapıya ve sinir esnekliğine sahip değilseniz kariyeriniz belli limitler içinde yer alır.


8: Yaptığınız işten onur duymuyorsunuz


Kitaba göre yazılım üretmek ve orta derece ile geçecek bir iş çıkartmak mümkündür. Problem, kitapların sürekli güncelleniyor olmasıdır. Yazılım geliştirmek bir fabrika işi değildir. Fabrikada işler belirli bir prosedüre göre gider ve beyin seviyeniz ne olursa olsun prosedürü uyguladıktan sonra iş ortaya çıkar. Yazılım geliştirme daha çok bilimsel bir iştir ve bağımsız düşünce gerektirir ki bu da yaptığınız işten gurur duymanızı sağlar. Bir işi yanlış yoldan yapıp üretime geçildiğinde ancak yeteri kadar çalışmasını sağlayabilirsiniz fakat göz ardı ettiğiniz o hata problem açmıyor gibi görünsede ileride problem açacaktır. Yazılımcı olarak yaptığınız işin gurur duyulacak bir iş olduğunu düşünmüyorsanız ürettiğiniz ürünün kalitesi düşük olacaktır ve kariyerinizin sürekliliği ile doğru orantılı olacaktır. Siz ayrıldıktan sonra arkanızdan konuşulmasını istemiyorsanız (gerçi ağzınla kuş tutsan arkandan konuşacaklardır) haysiyet ve onurunuzu korumak için yaptığınız işin tam olmasına dikkat edin. En azından sizin içiniz rahat olur.


9: Önce ateş edip sonra soru soran tiplerden misiniz?


Yazılım uzmanı bir parça kod yazmadan önce bir planlama aşaması geçirir ve kod yazmaktan daha fazla zaman planlamaya ayrılır. Eğer kod yazma aracınızı açıp Allah ne verdiyse kod yazmaya başlıyorsanız %100 ihtimalle iki ay sonra yazdığınız kod tamamı ile değişecektir. Konu hakkında düşünen, planlayan yazılım uzmanı ise daha az hata ile daha kısa sürede kod yazacaktır. Çoğu programcıların neden 10 parmak yazamadığının nedeni de budur; işin zor kısmı ne yazacağını bilmektir. Eğer düşünen bir insan değilseniz yazılım uzmanlığı sizin için bir kariyer değildir.


10: “Geek” tipini sevmiyorsunuz
Haklı kimi nedenlerden dolayı, mühendis veya teknik kişilerin yakınında olmaktan hoşlanmıyor olabilirsiniz. Eğer Dilbert gibi bir kişilikten çekiniyorsanız yazılım uzmanlığını düşünmeyin bile. Tabii ki her yazılım uzmanı böyle değil ama sektörün büyük bir çoğunluğunu oluşturuyor ve aralarında haliniz yaman olur.
Çalışma hayatım boyunca çok rastladığım bir insan tipi “bir iş fazla para ödüyor” diye o işe girenler. Daha önce ahçı olan ve iki yazılım kursundan sonra yazılım uzmanı kesilen ve sektörde para kazanan pek çok kişi tanıyorum. Yaptıkları işlerin kalitesi ise yerlerde sürünüyor. Bir kaçının proje ortasında işine son verildiğine de şahit oldum. Tamam yazılım sektörü çok ballı bir sektör ama üzüldüğüm bir konu varsa o da bu kişilerin ürettiği ürünlerin bizim tarafımızdan ileride tamir edilecek olması. İlla yazılım uzmanı olmaya da gerek yok bence. Yazılım sektörünün daha bir çok dalı var ki bu dallarda hakikaten adama ihtiyaç var. Örneğin, yazılım tasarımcısı, iş analisti, sistem destek uzmanı, veri tabanı uzmanlığı, donanım uzmanlığı, test uzmanı vs. liste daha da uzatılabilir. Bu dallarda ki açıklar genelde yazılım uzmanı tarafından kapatılmaya çalışılıyor yada firmalar yazılım uzmanlarından bunu bekliyorlar. Yanlış bir uygulama ve tasarımın ve analizin kalitesini düşürüyor.

Bilgisayar Mühendisleri Ne İster?

En az 5 yıllık tecrübeye sahip 452 Bilgisayar Mühendisi ile bir anket yaptık. Bunu sonuçlarına göre Kıdemli Bilgisayar Mühendisleri şunları istiyor:

  • 1. Zevk alınarak çalışılacak güzel projeler
  • 2. İşten anlayan bilgili ve güleryüzlü yöneticiler
  • 3. İyi çalışma ortamı, sessiz ofisler
  • 4. İyi bir maaş
  • 5. Esnek çalışma saatleri
  • 6. Tecrübeli ve bilgili çalışma arkadaşları
  • 7. Daha çok kültürel ve sosyal faaliyetler
  • 8. Saçma kuralların konulmaması, yasakların kaldırılması
  • 9. Projelerden primler
  • 10. Sınırsız içecek (kahve-kola)