Posts under EÄŸitim Category
Bu yazı Bilgisayar mühendisi ne iÅŸ yapar? adlı çalışmanın 4. bölümü…
Günümüzde en ufak şirketlerde bile çalışmayı kolaylaştırmak için bilgisayar ağları kuruluyor. Hele iş yapış şekli bilgisayar sistemlerine bağlı olan şirketlerde, iyi kurulmuş ve doğru yönetilen bir ağ olmazsa olmazlardan birisi.
Ayrıca Internet gibi aÄŸların ağı konumunda ve hayatımızın vazgeçilmezi olan bir kavram var. En ufak baÄŸlantı kesikliÄŸine bile tahammül edemiyoruz. Åžubat ayında okyanus altındaki uluslararası fiberoptik baÄŸlantı kablolarından birisi muhtemelen bir sabotaj sonrasında devre dışı kaldığında OrtadoÄŸu ve Asya’daki birçok ülke Internet’e baÄŸlanamamıştı.
Ticari kurumlarda ise bu gibi sorunlar kriz anlamına geliyor. Mesela çalıştığınız ÅŸirket bir hosting firması ise, sisteminizde yaÅŸanacak aÄŸ sorunlarının kaç kiÅŸiyi etkilediÄŸini tahmin bile edemezsiniz. En popüler hosting firmalarından Dreamhost’un sisteminde çıkan sorunları yayınladığı destek sitesindeki bildirileri takip ettiÄŸinizde aÄŸ uzmanlarının iÅŸinin ne kadar önemli olduÄŸunu görüyorsunuz. Yine meÅŸhur Türkçe blog sitesi blogcu.com geçtiÄŸimiz günlerde aÄŸ sorunları sebebiyle bir hafta kadar eriÅŸilememiÅŸti.
Örnekleri çoğaltmak mümkün. Bilgisayar mühendisleri ağ kurulumu ve yönetiminin tüm aşamalarında görev alarak işlerin düzenli yürümesini sağlarlar. Sağlam ve performanslı bir ağ yapısı iyi bir mühendislik bilgisi ve becerisi gerektiriyor. Planlama, kurulum, yönetim, sorun çıktığında doğru izleme metotlarını kullanarak sorunu çözme gibi işlerde kendisini iyi yetiştirmiş bir mühendis her zaman iyi kazanacaktır.
Aslında sadece router kelimesi ile ilgili olarak bile onlarca farklı pozisyon var. Ama ağ ile ilgili en bilinen pozisyonları kısa birkaç cümle ile açıklayalım:
AÄŸ Analisti
Bir bilgi işlem ağının kurulmasında en kritik yükü üstlenenler ağ analistleridir. İhtiyaçları iyi anlayıp ağ altyapısının tasarımını yapar, kullanılacak donanım ve ağ trafiğini en iyi performansla sağlayacak ekipmanı belirler, kurulumun her aşamasında rol alır. Çıkan sorunları ve performans problemlerini inceleyip çözümler üretir. Ağ ile ilgili teorik ve pratik bilgilere, WAN, LAN, VPN gibi yapılara, ağ protokollerine hakimdir.
Ağ Yöneticisi / Sistem Yöneticisi
Åžurada yazan bilgilerden alıntı yaparsak; “Åžirket gereksinimlerine göre network tasarımı ve yönetimi ve iÅŸletim sistemlerinin (Windows Server, UNIX, LINUX, SUN gibi) tasarımı, kurulumu ve yönetimi konularından sorumludur. Ayrıca yedekleme gibi günlük iÅŸlemlerin yönetimi, kullanıcı gereksinimlerini karşılanması ve iÅŸlemleri içerir.
MCSE (Microsoft Certified Systems Engineer), Sun Solaris Certified Engineer, CISCO ve Linux sertifikasyonları bu görev içindir.”
Ağ Mühendisi
Daha çok fiziksel ağ işleriyle uğraşır. Kablo sistemleri, yerel ve geniş ağ bağlantıları, router vb. ekipmanların kurulumu ve ayarları, yönetim yazılımları, trafik izleme konularında çalışır.
Ağ Destek Uzmanı
Ağ ile ilgili kurulum ve kullanım sorunlarına destek verir. Kablolama, ağ ekipmanları, ağ kurulumu ve bakımı gibi görevlerde çalışır. Müşteriler ya da kullanıcılarla yakın temas halinde çalışarak ağ sorunlarını çözer.
Ağ İşletim Sistemi Uzmanı
Aslında bu pozisyonu daha çok “Windows Server Uzmanı”, “Unix Yöneticisi” gibi isimlerle duyarız. AÄŸ yönetiminin donanım ve yazılım olarak ayrı ayrı paylaşıldığı ÅŸirketlerde iÅŸletim sisteminin yönetiminden bu pozisyon sorumludur. İşletim sisteminin kurulumu, bakımı, kullanıcı yönetimi, yedekleme yönetimi, eriÅŸim denetimleri gibi yazılım görevleri ile uÄŸraşır.
Bu yazı Bilgisayar mühendisi ne iÅŸ yapar? adlı çalışmanın 3. bölümü…
Başdöndürücü hızla gelişen yeni teknolojiler, beraberinde güvenlik tehlikelerinin de hızla ortaya çıkması sonucunu getiriyor. Gün geçmiyor ki bir yazılımda güvenlik açığı çıkmasın, bir web sitesi saldırıya uğramasın ya da yeni bir virüs türü yayılmaya başlamasın. Şirketler gittikçe çoğalan sayısal verilerini korumanın derdine düştükçe bilişim güvenliği de başlıbaşına bir sektör haline dönüştü. Güvenlik uzmanları bugün iş ilanlarında en çok aranan kişiler. Üstelik önümüzdeki yıllarda da popülaritesi artmaya devam edecek.
Yine diğer alanlarda olduğu gibi, alttaki pozisyonların birbirlerinden kesin bir ayrımı yok. Biri diğeri yerine kullanılabiliyor. Ama uzmanlaşma durumuna göre daha detay pozisyonlar bile oluşuyor. Mesela tüm hayatınızı sadece Cisco firewall uzmanı olarak ya da anti-spam uzmanı olarak geçirebilirsiniz.
Bilişim Güvenliği Uzmanı / Yöneticisi
Şirketlerin güvenlik altyapısını tasarlayan, kuran, yöneten ve geliştiren kişilerdir. Ağ güvenlik donanım ve yazılımları, bunların yenileme ve bakımları, tüm bilgisayar sisteminin zayıf noktalarının tespiti ve korunması, web sitelerinin güvenliği gibi konular bilişim güvenliği uzmanının işidir. Hem donanım hem de yazılım ve web teknolojilerinde kendilerini geliştirmeleri ve yenilikleri takip etmeleri gerekir.
Ağ ve Internet Güvenlik Uzmanı
Bilişim güvenliği alanının bir alt dalı olarak özellikle ağ ve Internet tehlikeleri konusunda uzmanlaşırlar. Akademik olarak ya da Güvenlik eğitimi veren şirketlerin eğitim programlarına katılarak ilgili teknolojileri öğrenirler. Hacker saldırıları, virüs ve truva atı benzeri zararlı yazılımlar, spam gibi sorunlar sayesinde uygulama tecrübesi edinirler.
Åžu dokümanda, AÄŸ Güvenlik Uzmanı kimdir ve ne yapar? sorusunun cevabını verirken yaptığı iÅŸler sıralanmış : Var olan tehditleri sürekli olarak takip etmek ve analiz etmek, bu tehditlere karşı alınabilecek önlemleri incelemek, mümkünse bir test ortamı içerisinde bunları denemek, gerekli önlemleri devreye almak, önlemlerin düzgün çalıştığını sürekli olarak kontrol etmek (log ve trafik analizi – saldırı programlarıyla sistemi test etmek)
Güvenlik Danışmanı
Bu pozisyonu da aÄŸ güvenlik danışmanı, web güvenlik danışmanı, yazılım güvenlik danışmanı gibi alt dallara ayırmak mümkün. Uzman oldukları alanlara göre ÅŸirketlerin güvenlik konusundaki bilgi ihtiyacını karşılar ve gerekli çözümleri önerir ya da üretirler. Mesela bir ÅŸirketin güvenlik danışmanlığı hizmetlerinde ÅŸu baÅŸlıklar verilmiÅŸ: “Risk Analizi ve Yönetimi, Kurumsal Güvenlik Stratejisinin ve Risk Profilinin OluÅŸturulması, Güvenlik Politika Prosedür ve Standartlarının Belirlenmesi, Mevcut Yapının Gözden Geçirilmesi ve Güvenlik Tasarımı, Güvenlik Çözümleri ile İlgili Bilgi ve Tecrübe Transferi”

Kurumsal Hacker / Ethical Hacker
Hacker kavramı her ne kadar kötü bilinse de ayrıca bir meslek. Daha çok “Beyaz Åžapkalı Hacker” olarak bilinen kurumsal hacker’lar özellikle bir sisteme sızmak ve sistemin güvenliÄŸini test etmek için para alırlar. DeÄŸiÅŸik yöntemler deneyerek açıkları tespit etmeye çalışır ve sonuçlarını rapor olarak verirler.
Böylece sistemin bir saldırı durumunda hazırlıklı olmasını sağlarlar.
Bu konuda detaylı bilgi almak isteyenler şu İngilizce yazıyı okuyabilirler.
Ayrıca tam ÅŸu sıralarda Ferruh Mavituna’nın sitesinde konuyla ilgili detaylı bir yazı yayınlandı.
Risk / İş Sürekliliği Yöneticisi
İş sürekliliği ya da risk yönetimi yeni ama çok önemli bir kavram. Tüm altyapısını bilgi teknolojileri üzerine kuran şirketler sistemin kullanılamaz hale gelmesinden büyük zarar görürler. Bunun sebebi bir doğal felaket de olabilir, terör saldırısı da, İş sürekliliği uzmanları bu tür durumlarda sistemin çalışmaya devam etmesini ya da kısa sürede tekrar ayağa kalkmasını sağlarlar. Planlamalar yapıp, sistemin işleyiş süreçlerini tasarlar ve felaket senaryolarını test ederler. Risk yönetimini anlatan şöyle güzel bir doküman da var.
Bilişim güvenliği alanında Türkçe kaynaklar:
Huzeyfe Önal Blog
Ferruh Mavituna Blog
Doctus
Olympos Security
Bu yazı Bilgisayar mühendisi ne iÅŸ yapar? adlı çalışmanın 2. bölümü…
İş hayatında bilgisayarlaşmanın artmasıyla çok miktarda veri depolanmaya başladı. Artık bilgileri kaydetmekten çok bu verilerin analiz edilmesi ve işlenmesi önem kazanmaya başladı. İş zekası, OLAP, veri madenciliği gibi terimler fazlasıyla hayatımıza girdi.
Bilgisayar mühendisleri verilerin ve içinde tutuldukları veritabanlarının yönetimi ile ilgili bir çok pozisyonda yer alıyorlar.
İşte bu pozisyonlardan bazıları:
Veri Yöneticisi
Veri yönetimi ile “veritabanı yönetimini” birbirinden ayırt edilmesi gerekir. Veri yöneticileri, verinin anlam ve kullanımı üzerinde odaklanan kiÅŸilerdir. Buna karşılık, veritabanı yöneticileri, veritabanı uygulamalarının güvenilirliÄŸi, bütünlüğü ve performansı ile ilgili teknik tabanlı kiÅŸilerdir.
Veri yöneticisi veriyi kullanıcılar tarafından kullanılmaya hazır hale getirir. Bunun için daha çok analiz etme, veri toplama ve dizayn aşamalarında yer alır.
Veri Analisti
Veri ambarı, bir kuruluşun tarihsel verilerinin diğer bir deyişle kurumsal hafızanın muhafaza edildiği yerdir. Yönetimin karar destek sistemi için gerekli ham verileri tutar. Veri analisti, veri ambarı üzerinde çok miktarda veri üzerinde çok karmaşık sorgulama ve analizleri gerçekleştirerek sonuçlar üretir. Bu esnada kullandığı araçların genel adı Veri Madenciliği ya da OLAP araçlarıdır.
Veri Mimarı
Veri mimarı bir kuruluÅŸun verileri doÄŸru kullanarak stratejik hedeflerine ulaÅŸmasını saÄŸlar. Veri yapısının en önemli bileÅŸenlerinden biri metadatadır. Metadata “veri hakkında veri“ anlamındadır. Mesela ÅŸirket/kuruluÅŸ bir ERP sistemi kuracaksa, metadata ERP sisteminde hangi verilerin takip edileceÄŸini belirleyen yapı demektir. Veri mimarı metadata bilgilerinin doÄŸru tanımlanmasından, ÅŸirketin ihtiyacı ve hedeflerine uygun olmasından ve doÄŸru teknolojik araçların seçiminden sorumludur.
Veri Modelleme uzmanı
Veri Modelleme, verilerin şekil ve metin olarak ifade edilmesidir. Örneğin bir şirket işe alacağı elemanlar için seçme ve yerleştirme sistemi kuracak olsun. İşlemin süreçleri, başvuran kişi ve İK personeli arasındaki bilgi akışı gibi sistem bileşenleri belli şekillerle ve destekleyen anlatımlarla bir model olarak tanımlanır. Dolayısıyla sistemi ifade etmek kolaylaşır. Veri modelleme uzmanı bir taraftan modelleri kurarken, bir taraftan da gereken veritabanı tablo tasarımlarını yapar.
Veri Madencisi
Aslında veri analistliğine benzeyen bu pozisyon, anlamsız görünen verilerden belli metodolojiler kullanarak anlamlı sonuçlar ve istatistikler çıkarır. Bir kurumun geçmiş yıllara ait satış verilerini OLAP araçları ve sorgularla inceleyip hangi aylarda satışların yükseldiği, bir kampanya yapıldığında satışlara nasıl etki yaptığı vb. raporları hazırlar.
Son yılların en gözde mesleklerindendir. Büyük veritabanı firmaları veri madenciliği alanına milyar dolarlar yatırmaktadır. Dolayısıyla önümüzdeki yıllarda da popülaritesinin devam etmesi bekleniyor.
Veritabanı Yöneticisi
Şurada yazan bilgilere göre;
Veritabanı basit olarak bilgi depolayan, bu bilgiyi verimli ve hızlı bir şekilde yönetip değiştirebilen bir yazılımdır. Veritabanı, bilgi sisteminin kalbidir ve etkili kullanmakla değer kazanır. Bir veritabanı bir kütüphanenin mükemmel bir indeks sistemi olduğu gibi , aynı zamanda kütüphanenin kendisi de olabilir.
Veritabanı yöneticisinin görevleri kısaca şu başlıklar altında toplanabilir : Veritabanı yazılımının Kurulması ve versiyon takibi, veritabanı oluşturulması, Kullanıcı yönetimi, yedekleme, performans ayarları vb.
En bilinen ve çok kullanılan veritabanı yazılımı Oracle. Oracle veritabanı yöneticileri bugün çok iyi ekonomik şartlarda çalışıyor. Kendini geliştirmek isteyenler için eğitim imkanı ve kaynak şansı fazlasıyla var.
Veritabanı Mimarı
Veritabanı Mimarı ve diğer veritabanı yönetimi pozisyonları ile ilgili şu adreste güzel açıklamalar yapılmış.
Veritabanı mimarları yeni bir veritabanının tasarlanması ve oluşturulması görevlerini yerine getirir. Veritabanı mimarı, sadece yeni tasarım ve geliştirme işine bakar. Bakım, idare, ve kurulan veritabanları ve uygulamaların ayarlarına karışmaz. Mantıksal veritabanı modelini olusturur. Fiziksel veri modeline dönüşümü sağlar. İndeksleri oluşturur. Yedek ve geri kurtarma stratejilerini belirler.
Veritabanı Güvenlik Uzmanı
Veritabanı güvenlik uzmanı sistem güvenliği ve veri güvenliği denilen iki işi yapar.
Sistem güvenliği işinde, veritabanına bağlanan kullanıcıların yetkisi var mı, gerekli denetlemeler yapılıyor mu, sağlıklı çalışma için gerekli fiziksel ve tasarım kaynakları yeterli mi gibi işleri yönetir. Ayrıca ağ üzerinde verinin şifrelenmesi, sisteme yapılan saldırılar, şifre politikaları gibi konularda çalışır.
Veri güvenliğinde ise, kullanıcıların veritabanı şemasında nerelere erişim yetkileri var, kullanıcılar bir tablo üzerinde hangi işleri yapmaya yetkilidir gibi kontrolleri yapar. Veri bozulmalarına sebep olabilecek işlemleri takip eder. Tasarım hatalarını uzmanlarına iletir.
Ayrıca veriambarı yöneticisi, performans analisti, veritabanı optimizasyon uzmanı gibi pozisyonlar da var. Kullanım alanları geniş olduğundan veritabanı ile ilgili çok farklı pozisyonlarda çalışma imkanı bulunuyor.
Bu yazı Bilgisayar mühendisi ne iÅŸ yapar? adlı çalışmanın ilk bölümü…
Bilgisayar mühendislerinin en bilinen çalışma alanlarından birisi yazılım sektörüdür.
Yazılım geliÅŸtirme iÅŸi genelde adına “Yazılım yaÅŸam döngüsü” denilen bir süreç içerisinde yürür. Bilgisayar mühendisleri planlama, analiz, tasarım, kodlama, test/kalite yönetimi ve kurulum gibi aÅŸamalardan oluÅŸan bu sürecin her tarafında yer alabilirler.
Bazen aşağıdaki pozisyonlar için ayrı insanlar çalışabildiği gibi, bazen de bir kişi pozisyonlardan birkaçının işini yapar.
Planlama / Analiz
İş Analisti
Müşterilerin ihtiyacını anlamaya yönelik çalışmalar yapan pozisyondur. Şurada anlatıldığına göre;
İş analisti, proje yaşam döngüsünün daha çok proje imza öncesi ve proje başlangıç aşamasında rol alır. Bu kişiler, yazılıma özel gereksinimlerden daha çok yapılacak işe özel ihtiyaçları belirler.
Burada “ihtiyaç” dememin de özel nedeni var. Bunlar müşterinin “ihtiyaç” duyduÄŸu ama hala gereksinime dönüşmemiÅŸ haldedir. Şöyle örnek vereyim: Bir kiÅŸinin arabaya ihtiyacı olur. İş analisti sadece bu kiÅŸinin araba ihtiyacını ortaya koyar. “Adam araba istiyor” der geçer. Sonra gereksinim analisti, bu kiÅŸinin hangi marka, ne özelliklerde, ne tip arabaya ihtiyacı olduÄŸunu belirleyerek arabanın “gereksinimlerini” ortaya koyar.
Sistem Analisti
Yazılım dünyasında sistem analistleri, kullanıcılardan ya da iş analistlerinden gelen bilgileri kullanarak geliştirilecek yazılım veya çözümün yapısını belirler. Gerekli işlem adımlarını ve aşamalarını hazırlar. Yani sadece ihtiyacı değil, ihtiyaca göre çözümü üretir.
Sistem analisti genel olarak ise tüm bir bilgi işlem sistemini tasarlayıp ihtiyaca göre çözümler öneren kişidir.
Tasarım
Yazılım Tasarım Uzmanı
Yazılım tasarımı, altyapı bileÅŸenleri dahil tüm yazılım yapısını planlamak demek. Büyük yazılım ÅŸirketlerinde sadece yazılım tasarımı ile görevli mühendisler bulunur. Bu mühendisler kod yazacak kiÅŸilere ihtiyaçları olan yapıyı hazırlar. Yazılım geliÅŸtirme iÅŸini hızlandıran “tasarım ÅŸablonlarını” tavsiye eder. Gerekirse yazılımın bir prototipini hazırlar.
Yazılım Modelleme Uzmanı
UML denilen modelleme ve diyagram çizme dilini kullanarak yazılımın işleyişini tanımlar. Hatta programı şekiller (diyagramlar) kullanarak baştan sona yazarlar. Modellemesi doğru yapılmış bir yazılımın hem geliştirilmesi, hem bakımı hem de dokümantasyonu daha kolay olur. Bugün Rational Rose gibi yazılımlar kullanılarak UML diyagramları ile kod parçacıkları kolaylıkla ilişkilendirilebiliyor.
GeliÅŸtirme
Programcı / Geliştirici / Yazılım Uzmanı
Programlama dillerini ve teknolojilerini kullanarak ürün geliştiren kişidir. İşin ve firmanın büyüklüğüne göre bazen tüm yazılımı geliştirir, bazen sadece kendisine verilmiş bölümü hazırlar. Programın bütününe hakim olmadığı durumlarda, sistem analistinden ya da proje yöneticisinden destek alır.
Yazılım Mühendisi
Yazılım Mühendisliği aslında genel bir kavram. Bir yazılım mühendisi yazılımla ilgili tüm aşamalarda bulunabilecek özelliklere sahip kişidir. Hem analiz, tasarım hem de kodlama aşamalarının teorisini bilir, uygulamalarını yapabilir. Yöneticilik pozisyonlarına gelebilir, altında programcı ve analistler çalıştırabilir. Sektörde en çok kullanılan ünvanlardandır.
Yazılım Mimarı / Yazılım Danışmanı
Yazılım mimarlarının sorumluluk alanları çok geniş ve zordur. Şurada yazdığı şekliyle;
Projede kullanılacak teknolojileri seçerler, proje metodolojisi ve süreçlerinde tavsiyelerde bulunurlar, uygulamanın genel tasarım ve yapısını oluşturur ve korurlar, projenin doğru tanımlanmasını sağlarlar, tasarımın dökümante edilmesi ve kodlama standartlarının belirlenmesi ile uğraşırlar. Proje yöneticisine teknik görev tahminlerinde, proje maliyetleri ve yararları konusunda yardım ederler. Zor teknik görevlerde programcılara yol gösterirler. Teknik personel seçimi ve işe alımında yönetime yardımcı olurlar.
Her alanda olduğu gibi yazılım alanında da yöneticilik pozisyonları var. Genelde geliştirme ekiplerinde belli bir süre çalıştıktan sonra yönetim kademelerine geçiş yapılır ya da yeteneğe ve politikalara bağlı olarak değişir.
Ekip Lideri / Proje Yöneticisi
Proje Lideri/Yöneticisi yazılım ekibini bir arada tutan ve zaman çizelgelerine uyulması için gerekli motivasyonu sağlayan yöneticidir. Ayrıca yönetim ile proje ekibi arasındaki bilgi alışverişini de sağlar. Bütçe konularında düzenlemeler ve maliyet analizlari konusunda yönetim kuruluna bilgi ve tavsiye verir. Yazılacak modüllerin ve arayüzlerin zorluk derecelerine göre zamanlarını tayin eder ve proje planı içinde yayınlar. Diğer proje ekipleri ile bilgi alışverişini sağlar ve kontrol altında tutar. Projedeki her türlü riski takip eder ve kaynaklarını ona göre tahsis eder. Riskleri belgeleyerek çözümler için onaya sunar. Onay sonucu çıkan kararları işleyerek sonuçları tekrar yönetim kuruluna bildirir. Kaynak
Program Müdürü
Türkiye’de çok fazla kullanılmayan bu terim karşılığını en fazla Microsoft’ta bulur. Program Müdürleri teknik konulardan daha çok yönetim iÅŸleri ile sorumludur. Proje yöneticilerini koordine edip raporlar alarak projelerin saÄŸlıklı yürümesini saÄŸlarlar ve üst yönetimi bilgilendirirler.
Test / Kalite Güvence
Yazılımda kalite güvence, kısaca yazılım projesinin standardlara uygunluğunu ve ihtiyaçları karşıladığını denetleyen çalışmalar demektir.
Bilgisayar mühendisleri bu alanda da çeşitli görevler alır.
Yazılım Kalite Uzmanı
İhtiyaçların ve geliştirilen çözümün doğru belirlenip belirlenmediğini, yazılımın belirli standardlarda olup olmadığını denetleyen kişidir.
Yazılım tasarımı ve/veya yazılım testi konularında bilgi sahibidir. Genel kalite yönetim sistemi standartlarını, uluslararası yazılım mühendisliği standartlarını ya da süreç olgunluk modellerini (CMMI, SPICE, v.b.) bilir. Geliştirilen yazılımın bunlara uygun olarak yürümesini sağlar.
Test Uzmanı / Test Mühendisi
Test uzmanı/mühendisi yazılımın test edilmesinde fiilen çalışan kişidir. Yazılım hatalarını tespit etmek, hataların sebepleri ve sonuçları ile ilgili süreci yönetmek, test kapsamının oluşturulması, test senaryolarının hazırlanması gibi işleri yürütür.
Birim testi, sistem testi, entegrasyon testi, kullanıcı kabul testleri gibi kavramları bilir ve uygular. Sonuçlara göre dokümantasyon hazırlar.
Test mühendisliği hakkında şurada güzel yazılar var.
Test Yöneticisi
Test yöneticisi test ekiplerini koordine eden, gerekli kalite standartlarının sağlanması için çalışan, yazılım geliştirme ve diğer ekiplerle koordinasyonu sağlayan pozisyondadır.
Yazılımın testi geçip geçemediği, kabul edilmeye hazır olup olmadığı kararlarını verir.
Test sürecini kolaylaştıracak, otomatize edecek çözümleri uygular.
Konfigürasyon Yöneticisi
Yazılım geliştirme süreci boyunca üretilen bütün dokümanların, kodların, web uygulaması ise web sayfalarının, test scriptlerinin versiyonlarının kontrol edilmesi gerekir. Yazılım sürümleri içerisinde hangi hataların düzeltildiğinin hangi değişikliklerin yapıldığının izlenmesi gerekir. Ürün haline gelmiş projelerin satışa hazırlanan versiyonlarının belirlenmesi ve yönetilmesi gerekir.
İşte konfigürasyon yöneticisinin işi bunları takip etmektir.
Bilgisayar Mühendisi kavramı artık genel bir alanı niteler oldu. Kimse okulu bitirdikten sonra Bilgisayar Mühendisi ünvanıyla çalışmıyor. Üstelik teknolojinin gelişmesiyle o kadar farklı uzmanlık alanları ortaya çıktı ki, neredeyse hiçbirinin adında bilgisayar geçmiyor.
Peki, üniversitede Bilgisayar Mühendisliği okuyan bir öğrenci hayata atıldığında hangi pozisyonlarda çalışır?
Bu sorunun belki yüzlerce cevabı var. Ama en çok bilinenlerini farklı kategorilere göre cevaplandıralım. Daha fazla bilgi isteyenler, özellikle kariyer sitelerindeki pozisyonları incelerlerse birbirine benzeyen bir çok isimle karşılaşacaklardır. Yine, gelişen teknolojilere göre neredeyse her ay yeni bir pozisyon oluşuyor. Hatta ürün bazlı pozisyon isimleri bile var. Mesela iPhone mühendisi arayan bir iş ilanı ile karşılaşabilirsiniz.
Bu yazı fazla uzun olacağı için bilgisayar mühendislerinin çalışacağı pozisyonları farklı alanlara göre ayrı yazılara ayıracağım.
Aslında her pozisyonla ilgili olarak sayfalarca bilgi verilebilir. Ama maksat olabilecekleri göstermek… O yüzden, pozisyonları kısaca anlatan bilgilerle yetineceÄŸim. Bu bilgiler bazen kendi cümlelerim olacak, bazen iÅŸin uzmanlarının sitelerinden alıntılar…
Yazımız şu bölümlerden oluşuyor:
- Yazılım
- Veritabanı
- Bilişim Güvenliği
- AÄŸ
- Donanım/Elektronik
- Teknik Destek
- Web
- Multimedya
- DiÄŸer
Bu yazı bir başlangıç olsun. Belki ileride daha detaylı bir dokümana ya da kitapçığa dönüşür. Belki bir şekilde yazıyı okuyan bilişim profesyonelleri kendi alanları ile ilgili katkılar yaparlar. Daha doğru, daha geniş bir kaynak oluşur.
Önemli olan daha öğrencilik yıllarında uzmanlaşmaya yönelmek. Faydalı olur diye ümit ediyorum.
GÜNCELLEME: Bu yazı dizisinin PDF e-kitap şekline getirilmiş halini buradan indirebilirsiniz.
Aslında sanallaÅŸtırmadan bahsederken geleceÄŸin teknolojisi olarak anlatmak yanlış. Çünkü neredeyse 40 yıldır varolan bir terim ve kullanım… Ancak, son dönemde yeni geliÅŸtirilen özellikler ve donanım teknolojileri sayesinde yeniden popüler oldu. Gelecekte özellikle iÅŸ uygulamalarında yıldızı parlak olacak.
Sanallaştırma (Virtualization), en basit haliyle, bir bilgisayar üzerinde birden çok işletim sistemini aynı anda çalıştırmak olarak tanımlanabilir. Örneğin Windows XP yüklü bilgisayarımızda, bir pencere içinde Linux çalıştırabilir ve tüm donanım özelliklerini Linux içinden de kullanabiliriz.
Sanallaştırma işlemi bir çok amaçla kullanılıyor. Örnek vermek gerekirse;
- MS-DOS için yazılmış bir programı yeni bir bilgisayarda program üzerinde değişiklik yapmadan çalıştırabiliriz.
- Güçlü bir bilgisayara birden çok iÅŸletim sistemi kurarak donanım maliyetlerinden tasarruf edebiliriz. Bir firmanın sayfasında %70′e kadar maliyet düşüşünden bahsediliyor.
- Bir uygulamayı sanal işletim sistemine kurup, daha sonra fiziksel bir değişiklik gerektiğinde, örneğin yeni bir ana bilgisayara geçilirken sanal işletim sistemini durdurup, işletim sistemi dosyasını yeni bilgisayara taşıdıkta sonra tekrar çalıştırarak kaldığımız yerden devam edebiliriz.
Sanallaştırma işlemi değişik seviyelerde yapılıyor. Mesela platform sanallaştırması bir bilgisayarda birbirinden bağımsız işletim sistemlerini kaynakları paylaştırarak çalıştırmayı sağlıyor. Çok detaylı bir konu ama şöyle bir örnek verebiliriz: 8 işlemcili bir bilgisayara 8 ayrı sanal işletim sistemi kurup her birine ayrı işlemciler ve RAM kaynakları tahsis edilebiliyor.
Son dönemde hosting şirketleri bu yöntemi kullanarak isteyenlere sanal özel sunucu denilen (VPS) bir hizmet sunmaya başladılar.
Bu konuda pazarın güçlü oyuncusu VMvare hakkında bir teknik doküman şurada yer alıyor.
Ayrıca Microsoft’un stratejileri ve diÄŸer bir oyuncu Xen hakkındaki bu sunum teknik anlamda faydalanılabilecek kaynaklar…
Sektördeki bir çok firma, sanallaÅŸtırma alanında çalışmalar yapıyor. Neler olup bittiÄŸini anlamak için bu ve bu yazıları okuyun. Amerika’daki bir araÅŸtırma ÅŸu anda En büyük 1000 firmada %29 oranında sanallaÅŸtırmaya ilgi duyulduÄŸunu gösteriyor.
Yazı içindeki baÄŸlantılardan bu konu ile ilgili bir çok detay öğrenilebilir. Gelelim, bir biliÅŸim öğrencisi için gelecekte bu konuda ne gibi fırsatlar olduÄŸuna…
Donanım, ağ ve işletim sistemleri konusunda kariyer yapmak isteyen öğrenciler sanallaştırma üzerine geleceklerini kurabilirler. Bu noktada öğrenilecek çok şey var. Öncelikle şu harika makale okunmalı. Daha sonra, makalede geçen ürün ve kavramlar (hypervisor gibi) hakkında detaylı bilgiler edinilmeli. Uygulamalı çalışmalar yapılmalı. Teknolojik gelişmeler ve etkinlikler yakından takip edilmeli.
Yazılım üzerinde kendini geliÅŸtirecek öğrenciler için de sanallaÅŸtırma büyük fırsat… Sanal makineleri yönetecek uygulamalar, sanal makineler arası haberleÅŸme ve transfer yapacak uygulamalar, yedek alma, web üzerinden sanal makinelere ulaşım uygulamaları geliÅŸtirilebilecek yazılımlardan birkaçı… Bunların bir kısmı zaten yazılmış durumda ama genelde üst düzey uygulamalar…
Bir diÄŸer alternatif, kendi sanal sisteminde çalışacak uygulamalar geliÅŸtirmek… Programı tüm özellikleri ile geliÅŸtirip, müşterilere olduÄŸu gibi sanal sistemiyle veriyorsunuz. Dosyayı sanal sunucusunda çalıştırdığında hazır kurulu uygulama olarak kullanabiliyor.
Bunlar ÅŸu anki vizyonla üretilmiÅŸ fikirler… Konu ile ilgili teknik bilgiler derinleÅŸtikçe çok uç noktalara ve çözümlere ulaşılabilir. Bu da size kalmış.
Bu makalenin çıkış noktası aslında Microsoft’un yeni iÅŸletim sistemi Windows 7′nin çekirdeÄŸini tanıtmasıydı. Windows 7 çekirdek düzeyinde sanallaÅŸtırma destekleyecek. Bu noktada rakip taraftan RedHat Linux ekibinin teknik ÅŸefi gelecek vizyonu özetliyor:
“Varolan modeli deÄŸiÅŸtirmeye çalışıyoruz. Normalde, iÅŸletim sistemini alırsınız, sanal sunucu programını alırsınız ve sistemi kurarsınız. Halbuki daha entegre sistemler kurulmalı”.
Yani, sanallaÅŸtırma yeteneklerini içinde barındıran ve iÅŸlemcilerle en alt düzeyde haberleÅŸerek maksimum performansı saÄŸlayan iÅŸletim sistemleri…
Önümüzdeki yıllar masaüstü sistemlerde sanallaÅŸtırmanın parladığı yıllar olacak. Donanım ve sistem yazılımı alanında geleceÄŸini kurmak isteyen öğrenciler için sanallaÅŸtırma uzmanlığı iyi bir fırsat…
Geleceğin teknolojileri çalışmasına başlarken, okulu bitirdikten sonra ne olacağını düşünen mühendisleri hedef alarak başlamıştım.
Youtube’de karşılaÅŸtığım Bugünün öğrencilerine bir bakış videosu aslında sorunun çok daha evrensel olduÄŸunu gösteriyor. Video ingilizce ama müthiÅŸ bir kurguyla hazırlanmış. İşte videodan bazı alıntılar:
- Bana verilen okuma ödevlerinin %49′unu yapıyorum. Sadece %26′sı hayatımla ilgili…
- Hiç kapağını açmayacağım yüzlerce dolarlık ders kitapları satın alıyorum.
- Bu yıl 8 tane kitap okuyacağım ama bunun yanında 2300 web sayfası ve 1281 facebook profiline bakacağım.
- Bu yıl ders için 42 sayfa yazarken, 500 sayfadan fazla email yazacağım.
- Bir günde yapacaklarım toplam 26.5 saat tutuyor, bu yüzden de bir çok iÅŸi aynı anda yapacağım – yapmak zorundayım-
- Mezun olduğumda büyük ihtimalle bugün daha varolmayan bir mesleği yapacağım.
- ÇoÄŸu derste vaktimi facebook’la geçiriyorum. Dizüstü bilgisayarımı okula getiriyorum ama dersle ilgili ÅŸeyler yapmıyorum.
Videonun yorumları çok ilginç. Mesela birinde diyor ki,
“İddia ediyorum üniversite öğrencilerinin %80′i okul bitince ne yapacağını bilmiyor.”
bir diÄŸerinde
“Harika bir okul derecem var ve ben de hayatta ne yapacağımı bilmiyorum. Ayrıca ben de derslerde facebook ile uÄŸraşıyorum. “
Bilgisayar Programlama derslerinin ilk adımı, bir yazılımın omurgası olan algoritma tekniklerini öğretmek… Programın nasıl baÅŸlayıp nerede biteceÄŸini, izleyeceÄŸi yolu, kontrol noktalarını algoritma kullanmadan yapmaya kalkmak hep baÅŸarısız sonuçlara yol açıyor.
Liselerde öğretilen programlama derslerinde en başta anlaşılması genelde çok zor olan algoritma teknikleri için Türkçe bir algoritma dili geliştirilmiş: Anlat2005. Bir grup akademisyen tarafından geliştirilen Anlat2005 aslında üniversite öğrencileri için tasarlanmış ama kolaylaştırılarak lise öğrencilerine de uyarlanmış.
Anlat2005 bir dilin tüm temel özelliklerini barındırıyor. DeÄŸiÅŸken tanımlama, Klavyeden bilgi bekleyen OKU komutu, ekrana çıktı veren YAZ komutu, EÄžER-İSE-DEĞİLSE kontrol döngüsü, SAYARAKYİNELE iÅŸlem döngüsü, diziler vesaire…
Örnek bir Anlat2005 programı
Yordam ortalamaUstuBul
#tanımla NMAX = 100;
Tamsayı ogrenciNo[NMAX], say;
Kesirli ogrenciNotu[NMAX] , toplam ;
// öğrenci notlarının girişi
SayarakYinele ( k = 1, k <= N, k = k + 1 )
{
YAZ( ekran, k, ".inci öğrencinin önce numarasını sonra notunu giriniz" ) ;
OKU( klavye, ogrenciNo[k - 1] , ogrenciNotu[k - 1] ) ;
}
// ortalamanın üzerindeki öğrenciler
SayarakYinele ( k = 1, k <= N, k = k + 1 )
{
EÄŸer (ogrenciNotu[ k - 1 ] > ortala )
ise
{
YAZ( ,ogrenciNo[ k - 1] , ogrenciNotu[k - 1] );
}
}
Yordam ortalamaUstuBul-bitti;
Anlat2005 dilini anlatan bildiriyi buradan indirebilirsiniz.
ÖSYM’nin 2007 ÖSS Tercih Kılavuzu’nu esas alarak geliÅŸtirilmiÅŸ tercih uygulamasını buradan indirebilirsiniz. Excel biçimindeki dosyada okul, bölüm, puan türü, sıralamalar, okul türleri, lise çıkış alanı vb. tüm filtrelemeleri yapabilirsiniz. Gerekli açıklamalar dosya içinde bulunuyor.
Hatalı bir bilgi ile karşılaşırsanız bildirmeniz halinde gelişimine katkıda bulunmuş olacaksınız.
Güncelleme: 2008 Tercih Rehberi’ni indirmek için bu sayfaya gidebilirsiniz.
Cep telefonu kullanımı yaygınlaÅŸtıkça, ailelerde çocuklarına cep telefonu alma ve kullanımını denetleme konusundaki endiÅŸe ve tartışmalar da arttı. Okullarda, ders içinde cep telefonu kullanmak Milli EÄŸitim Bakanlığı’nın genelgesiyle yasaklandı. Bunlar iÅŸin asayiÅŸ tarafı… Peki, cep telefonunu eÄŸitim amaçlı olarak derslerde kullanamaz mıyız? Elbette kötüye kullanım vb. problemlerle karşılaşılacak ama bunlar zaten üstte bahsettiÄŸimiz konuya giriyor.
Cep telefonunu eğitimde nasıl kullanabiliriz?
Kameralı cep telefonunu okulda kullanmanın yolları;
- Tahta arşivi olarak: Bir sorunun tahtadaki çözümünü, bir formülü vb. silinmeden önce saklamak istediğiniz olmuştur. Fotoğrafını çekin, bilgisayarınıza kaydedin ya da Internet ortamında paylaşın.
- Tarayıcı olarak: Bir kitapta gördüğünüz ya da kendi yazdığınız bir sayfanın fotoğrafını çekerek saklayın ya da OCR programından geçirerek yazıya dönüştürün.
- Öğrencilerin yüzlerini hatırlamak için : Gerçi not defterlerinde öğrenci fotoğrafları oluyor ama olmadığı zamanlarda öğrencilerin adlarını ve yüzlerini unutmamak için kullanın.
- Delil olarak : Biraz garip bir kullanım ama bir olayda insanın kendisini ya da öğrencileri korumak için gerekebilir.
- Ödev verirken : Öğrencilere dersle ilgili bir fotoğrafı çektirip sınıfta mesela Bluetooth yoluyla bilgisayara kaydederek sınıfta gösterin ya da değerlendirin.
- Internet sitesi için : EÄŸer sınıfın, okulun bir websitesi varsa, fotoÄŸraflar çekip yüklemek hatta mobil bloglama için kullanılabilir. Bu konuda Turkcell-im’in reklamları tahminen ilgiyi bu yöne çekecektir.
- Yıllık için : Derste ya da okulda hatıra olarak kullanılabilecek fotoğraflar çekip, sene sonunda bir yıllık ya da hatıra albümü yapılabilir.
Yabancı dil sınıfında cep telefonu kullanmanın yolları;
- Anında tartışma ve öğrenme fırsatları: Bir sorunun, yazının vb. fotoğrafını çekin. Bilgisayara aktarın, projeksiyon cihazı ya da elektronik tahta varsa yansıtın. Üzerinde tartışın ve ders yapın.
- Telaffuz ölçme : Öğrencilerin okumasını, kelimeleri seslendirmesini kaydedin. Not vermek ya da eleştirme/geliştirme için kullanın.
- Rol yapma alıştırmaları: Öğrencilerin konuşma derslerinde oynadıkları skeç ya da diyalogları kaydedin. Ders anlatımı ya da sunum yapma gibi teknikleri kullanıyorsanız bu aktiviteleri yaparken videolarını ya da fotoğraflarını çekin. Derste örneğin bir oteli arayıp, telefonun dış hoparlörünü açın. Öğrencilerden birine telefonu verin. Yabancı dille rezervasyon yaptırın.
- Ödev olarak : Öğrencilere tanıtılmasını istediğiniz bir yerle ilgili ödev verin, hem videosunu çekip hem de yabancı dille anlatsınlar. Getirsinler, bilgisayara aktarıp değerlendirin.
- Mobil bloglama: Biraz yukarıda bu kullanımı anlatmıştık ama yabancı dil için daha farklı kullanım alanları da olabilir. Mesela yurtdışına geziye giden bir öğrenci orası ile ilgili resim ve videoları, derse malzeme olabilecek bilgileri cep telefonu ile bir websitesine anında aktarabilir.
- Ödev hatırlatma : Öğrencilerin cep telefonlarına ödev konularını, teslim tarihlerini vb. gönderin. Unutma şansları kalmasın.
- Dil aktiviteleri : Öğrencilere faydalı olacağını düşündüğünüz metinleri, ses kayıtlarını, video görüntülerini, test ve quiz sorularını cep telefonlarına MMS ya da metin mesajı olarak gönderin. Öğrencilerinizi sokakta vb. gördükleri yabancı dildeki bir tabelayı, sözü, olayı kaydedip derse getirmeleri konusunda motive edin. Derste üzerinde tartışın. Faydalı bir şeyler yakalayan öğrencilerinizi onore edin. Bütün öğrenciler ilgi görmekten hoşlanır.
- E-kitap ve sesli kitaplar: Öğrencilerin seviyesine uygun yabancı dildeki elektronik kitapları ve sesli kitapları onların cep telefonlarına yükleyin. Dinlemelerini ve okumalarını teşvik edin. Gerekirse bu kitaplardan sınavlar yapın.
Ayrıca
- Mobil uygulamalar : Java destekleyen cep telefonları için sözlükten matematik hesaplama programlarına kadar bir sürü uygulama var. Öğrencilerin bunları kullanmalarını sağlayın.
- Bluetooth : Yukarıda farklı şekillerde kullanımından bahsettik. Özellikle dosya transferini kolaylaştırması açısından, bu teknolojinin sınırsız kullanım imkanı var.
Kaynaklar :
- http://www.edutechie.com/2007/06/8-ways-to-use-camera-phones-in-education/
- http://joedale.typepad.com/integrating_ict_into_the_/2007/06/how_to_use_came.html
- http://www.hltmag.co.uk/may06/sart02.htm
- http://www.k12handhelds.com/101list.php