Bilgisayar Bilimi: Bilgisayar bilimi, matematik ve hesaplamanın birleştirildiği bir alandır. Bilgisayar bilimciler farklı algoritmalar üzerinde çalışırlar (bir problemi çözmek için takip edilmesi gereken adımlar), veri yapılarıyla (verinin ayarlanması ve depolama sorunlarıyla ilgilenen) uğraşırlar ve daha fazlası. Bu, insanların hesaplamalı disiplinin matematiksel tarafını geliştirmeyi düşündüğü bir alandır. Bu alanda çalışıyorsanız, farklı algoritmalarla ve matematiksel bilgi gerektiren hesaplama problemleriyle uğraşmanız gerekeceğini göreceksiniz. Yani bunu basitçe açıklarsak, arabaları üreten bir otomobil imalat şirketinde makine mühendisi olarak çalışıyorsak, işimiz yeni bir araba için yeni bir motor tasarlamak olabilir. Ancak bu arabaya uygulanan teoriler fizik içerir. Aynı şekilde, yazılım dünyasında, bilgisayar bilimciler tarafından geliştirilen teorileri veya şeyleri yazılım mühendisleri, bilgisayar mühendisleri veya geliştiriciler olarak kullanırız.

Yazılım Mühendisliği: Yazılım mühendisliği, mühendislik uygulamalarını yazılımla ilgili süreçlere uygulayan bir meslek veya disiplindir. Bu terimin açıklamasını araştırdığınızda bulabileceğiniz en yaygın açıklama budur. Ancak burada, bu mühendislik disiplinlerinin uygulanmasını anlamamız gerekiyor, böylece yazılım ve mühendislik arasında bir bağlantı kurabiliriz. Genellikle yazılım mühendisliği örneğini, başka bir mühendislik disiplini olan inşaat mühendisliği kullanarak veririm. İnşaat için ilk adım genel süreci tasarlamaktır. Bir mimarın işi, yapının tasarımını çizmektir, bir mühendisin işi fiziksel inşaat kurallarını uygulamak ve inşaat uygulamasını ve kurallarını denetlemektir ve nihayet inşaat işçisi, bir inşaat mühendisinin tanımladığı şeyi uygular. Bu nedenle, yazılım mühendisliği, bir projenin yönetimi, projenin adımlarının kontrolü, doğru yaklaşımların kullanılıp kullanılmadığının onaylanması ve nihayet ürünün paydaşa veya müşterilere teslim edilmesi gibi mühendislik disiplinlerini uygulama yeteneği olmalıdır. Bu nedenle yazılım mühendisliğini, tüm yazılım üretim sürecinden sorumlu bir meslek olarak düşünmeliyiz. İlk olarak gereksinimlerin toplanmasıyla uğraşırlar (genellikle müşterilerin isteklerini gereksinimler olarak adlandırırız), gereksinimlerin karşılanıp karşılanamayacağını onaylarlar, yazılım ürününün diyagramlar açısından tasarlanmasını veya bu diyagramları kontrol ederler, geliştirme ekibi ile paydaşlar arasında bir bağlantı görevi üstlenirler. Yazılım mühendislerinin genellikle program geliştiricileri olarak görüldüğü yaygın bir yanlış anlama vardır. Ancak deneyimin uygulanması açısından bu iki farklı mesleği vurgulamamız gerekiyor. Ayrıca burada bilgisayar mühendislerinin de bilgisayar alanında mühendislik disiplinlerini uyguladığını belirtmek iyi bir fikirdir. Ancak, yazılım mühendisliği ve bilgisayar mühendisliği, bilgisayar mühendislerinin elektrik mühendisliği ve bilgisayar bilimi unsurlarını birleştirdiği bir alanda biraz farklılık gösterir. Genellikle bilgisayar sistemlerinin tasarımı ve geliştirilmesine odaklanır, özellikle donanımı içerir, işlemciler, bellek, ağlar vb. Bu açıklamalar yazılım mühendisliği ve bilgisayar mühendisliği arasındaki farkları ayırt ederken, yine de bazı ortak yönlerimiz var. Bilgisayar mühendisleri bilgisayar bileşenleri ve donanımlarıyla uğraştıkları için programlamayı da bilirler. Ancak, bilgisayar mühendisliği alanında programlamanın ana odak noktası “gömülü sistemler” için yazılım geliştirmektir. Özetlemek gerekirse, bilgisayar mühendisleri, bilgisayar bilimi yaklaşımlarını kullanarak donanım bileşenleri geliştiren kişilerdir. Buna karşılık, yazılım mühendisleri, bu donanımın gücüyle çalışan ürünleri üretmek için yazılım geliştiren kişilerdir.

Geliştirici: Önceki satırlarda hafifçe bahsettiğimiz gibi, geliştiricileri yazılım mühendisliği için kullandığımız örnek ile açıklayabiliriz. Geliştiriciler, bir programlama dili kullanarak yazılım ürünleri geliştiren kişilerdir. Bir geliştiricinin rolü, yazılım mühendisi veya yazılım ürününün mimarı tarafından tanımlanan kuralları uygulamaktır. Bir geliştiricinin temel amacı, bir müşterinin isteklerini, yazılım mühendisinin belirlediği kurallarla çalışan bir ürüne dönüştürmektir. Genel bir görünümde, yolculuğumuz boyunca kullandığımız mesleki terimlere dikkat etmeliyiz. Bir geliştirici, bir yazılım mühendisi, bir bilgisayar mühendisi veya bir bilgisayar bilimci olabilirsiniz. Mesleğinizi yapma şekli ve yolu bu kriterlere göre farklılık gösterecektir. Çoğu zaman, terimler birbirinin yerine kullanılır, ancak bu her zaman aynı anlama gelmez. Bilgisayar dünyasında olabilmek için, neredeyse tüm bu mesleklerin bilgisayarlar ve programlar hakkında ortak bir anlayışa sahip olmaları gerekmektedir. Bir mimarın çizdiğini anlamadan, bir mühendis olarak inşaat işçilerini yönlendiremezsiniz. Bu farkları kapsadıktan sonra, “Hangi mesleği takip etmelisiniz?” sorusunu sorma zamanı gelmiş olabilir. Eğer bir yazılım projesini yönetme alanında olmak istiyorsanız, en iyi seçenek yazılım mühendisliği olacaktır. Teknolojik gelişmeler için donanım çözümlerini geliştirmek istiyorsanız, bilgisayar mühendisliği alanında olmak daha iyi bir seçenektir. Önceden tanımlanan kuralları yazılım ürününü şekillendiren bir kod yazmak ve üretmek istiyorsanız, bir geliştirici olmayı düşünebilirsiniz. Son olarak, bu üç farklı alanın kullanabileceği teorileri araştıran ve geliştiren bir alanda olmak istiyorsanız, bunu başarmak için ana dal olarak bilgisayar bilimini seçmelisiniz. Bu açıklamalardan sonra, kendinizi hangi yönde yönlendirmeniz gerektiğini keşfetmek için daha iyi bir yer olacağını düşündüğüm içerikleri keşfetmeye hazır olabiliriz. Mobil uygulama geliştirme, bağımsız uygulamalar, yapay zeka, web geliştirme ve blok zincir geliştirme gibi ana terimleri keşfedeceğiz. Çünkü bu terimler, olmak isteyebileceğiniz alana dair farklı ipuçları sunacaktır.

0 YorumlarClose Comments

Bir yorum bırakın

Emre Erdin  © Copyright 2024. Tüm Hakları Saklıdır.

Blog Aboneliği

Son blog yazılarından anında haberdar olmak için abone olabilirsiniz.

Spam olmayacağına söz veriyorum :)