Koray Kırdinli

Yazılım ve İş Yaşamı Hakkında Paylaşımlar

Yeni Bilgisayar Mühendisinin Yol Haritası

            Bu makalemizde bilgisayar mühendisliği öğrencileri için iş hayatına girince neleri bilmek gerekir , hangi programlama alanına yönelmeliyim gibi sorulara cevap olabilecek bir takım konulara değineceğim. Çoğu bilgisayar mühendisi iş hayatına başlamadan önce eminim ki neleri öğrenirsem iş bulabilirim veya daha fazla kazanabilirim gibi sorular kendisine veya çevresindekilere soruyordur. Bende bu anlamda iş hayatında ilk etapta karşısına çıkacak konulara genel bir bakış açısıyla ışık tutmaya çalışacağım.

                Bilişim dünyası o kadar geniş bir  sektör ki gerçekten her şeyi dört dörtlük öğrenmenin imkanı yok. Yazılım mühendisliği , veritabanı yöneticisi , web programcısı , test uzmanı , proje yöneticisi ,  vs.vs. Türkiye’de bilgisayar mühendisliği tek bir iş yapmaz , işe başladığında iş neyi gerektirirse onu yapar.Tabi bu işin doğrusu bu değil ancak Türkiye’de bir çok yerde maalesef işler böyle yürüyor ve uzmanlaşmayı kişi ancak kendi gayretleriyle başarabiliyor.

                Öncelikle programlamayı dört ana başlıkta incelemekte yarar gördüm. Biz bir proje yapıyorsak bu ihtiyaca göre web , console,Windows veya mobil bir uygulama olabilir.Bunların neler olduğunu kısa kısa açıklayayım.

Console Uygulamaları : Belli bir sıraya göre ilerleyen , komut satırı görünümde çalışan uygulamalardır.Günümüzde hala üniversitelerde yeni başlayanlara console uygulamarı üzerinden algoritmalar anlatılmakta ki bu da yeni başlayan birisi için en uygunu. Örneğin C dili ile geliştirdiğimiz uygulamalar bunlara örnektir. Sistem kaynaklarını fazla tüketmediği için hızlı çalışır.

Windows Uygulamaları : Hepimizin bildiği üzere piyasada çok fazla kullanılan Windows ara yüzü olan uygulamalardır. Piyasada kullanımı çok yaygındır.Bir çok şirket kayıtlarını Windows uygulamaları ile tutmaktadır. Stok takip programları , muhasebe programları , en basitinden kullanmış olduğumuz winamp dahil Windows uygulamalarına örnek teşkil eder.

Web Uygulamaları : Web uygulamaları kabaca web browserı ile çalışan görünümünü HTML kodları ile belirleyen uygulamalardır.(Facebook , Yahoo,.. )Internet erişiminin yaygınlaşmasıyla artık web uygulamaları basit birer web sitesi olmaktan çıktı ciddi anlamda iş dünyasının ihtiyaçlarına cevap verir duruma geldi. Firmalar farklı lokasyonlardaki birimlerini ortak bir dille konuşturmak için çoğunlukla web uygulamalarını tercih ediyorlar. Web uygulaması bir servera yüklenip internet üzerinden erişim sağlıyor.

Mobil Uygulamalar : El bilgisayarında çalışan uygulamalardır. Örneğin restoranlarda garson siparişlerini el terminali ile alır ve merkeze direk aktarımını sağlar.Bu gibi uygulamalar için gayet kullanışlıdır.

 

Yukardaki şekil aslında bize şunu anlatıyor.Uygulamalar aslında her şekilde yapılabilir.Örneğin bir web sitesi yapacaksam ben bunu düz HTML kodları ile de yapabilirim , ASP.NET ve C# ile de yapabilirim , Java ile de yapabilirim , PHP ile de yapabilirim.Buradaki kilit nokta şu benim ne tür bir uygulamaya ihtiyacım var. Her dilin birbirine göre üstünlükleri var ve bazı diller bazı uygulamalar için daha uygun.Zaten iş hayatında ilk etapta dili seçme imkanınız olmayacak.Şirket neyi kullanıyorsa sizde onu kullanmak durumunda olacaksınız.Yanlız tavsiyem çoğu hakkında az da olsa bilgi sahibi olmanız.Zaten dillerin yapısı mantık itibari ile.Bir tanesini çok iyi bilmek diğerlerine geçişi kolaylaştırır.Yani bunları bilmem gerekiyor diye hepsine gece gündüz çalışmaya gerek yok ,  sadece birinde uzmanlaşmaya gitmek yeterli .İhtiyaç anında zaten ister istemez kısa bir sürede başka bir dile de adapte olacaksınız.

                Keşke işimiz dil öğrenmekle bitseydi.Uygulamaları anlamlı kılan içindeki verilerdir.Veri olmadan uygulamanın da bir anlamı yok.Örneğin bir fabrikanın üretimini takip etmek için bir yazılıma ihtiyacı var diyelim.Sizin çalıştığınız firmaya bir talepte bulundular.Bu firma bana şu şu şu raporları verebilecek bir yazılıma ihtiyacım var der asla C# ile yazılmış bir yazılım istiyorum demez.Müşteri için neyle yazıldığı değil ona neleri sunduğu önemlidir. Verilerde veritabanlarında tutulur.(SQL Server,Oracle,Access,Firebird,MySQL). Aslında yazılımcının işi yazılımın tasarımını,kodlamasını ve testini yapmak olmasına rağmen veritabanını tasarlamakta üstünüze kalabilir.O yüzden okul bitmeden en az bir veritabanı sistemi üzerinde detaylı olarak bilgilenin.

                Türkiye piyasası şartlarında .NET veya JAVA platformlarında bilgili olmak size kolay iş bulmanızda yararlı olacaktır.En popüler veritabanları ise kuşkusuz Oracle ve SQL Server. Ben işim gereği .NET konularıyla uğraşıyorum ve iş sadece C# öğrenmekle bitmiyor tabi ki yeri geliyor ASP.NET eri geliyor WPF yeri geliyor Silvirligt, AJAX .Belki Sharepoint,CSS,Javascript,Linq,Devexpress,LLBLGEN . İşin özü iş neyi gerektiriyorsa onu yapıyoruz aslında ve emin olun öğreneceğiniz konular meslek hayatınız boyunca bitmeyecek.Ben oldum demek gibi bir şey yok. İşte bu yüzden neyi öğrenmeniz gerektiğinizin kesin bir cevabı yok. Belki bundan seneler sonra çok farklı şeyler üzerine tartışıyor olacağız.Çünkü artık yeni çıkan araçlar ile kod yazmaktan giderek uzaklaştığımızı hissediyorum.

April 26, 2009 - Posted by | Yazılım | , , , , , , , , , ,

No comments yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s