Programcı - Programmer

Bilgisayar programcısı
ENIAC'ı çalıştıran iki kadın (tam çözünürlük).jpg
Betty Jennings ve Fran Bilas , ilk ENIAC programlama ekibinin bir parçası
Meslek
İsimler Bilgisayar programcısı
Meslek türü
Uzmanlık alanı
Faaliyet sektörleri
Bilgi teknolojisi , Yazılım endüstrisi
Açıklama
Yeterlilikleri Bilgisayar kodu yazma ve hata ayıklama, dokümantasyon görevleri. Bazı tasarım ve geliştirme çalışmaları sıklıkla yapılır.
Eğitim gerekli
İlgili alanda çıraklıktan lisans derecesine kadar değişir

Bir bilgisayar programcısı bazen denilen yazılım geliştiricisi , bir programcı daha yakın veya kodlayıcı (özellikle daha gayri bağlamlarda), yaratan bir kişidir bilgisayar yazılımı . Terimi bilgisayar programcısı bir alanda bir uzmana başvurabilirsiniz bilgisayarlar veya yazılım birçok türde için kod yazıyor bir genel etmek.

Bir programcının en sık kullandığı bilgisayar dili (örneğin, Assembly , COBOL , C , C++ , C# , JavaScript , Lisp , Python , Java ) programcı teriminin önüne eklenebilir . Bazı kim iş web programlama dilleri de onların başlıklarını önüne web .

terminoloji

Endüstri çapında standart bir terminoloji yoktur, bu nedenle "programcı" ve " yazılım mühendisi " farklı şirketlerde aynı role atıfta bulunabilir. En tipik olarak, "programcı" veya "yazılım geliştiricisi" iş unvanına sahip biri, bilgisayar koduna ayrıntılı bir spesifikasyon uygulamaya, hataları düzeltmeye ve kod incelemeleri yapmaya odaklanabilir. Onlar diplomasına sahip olabilir bilgisayar bilimi , bir ön lisans veya kendi kendini eğitmiş veya katıldı olabilir programlama çizme kamp . " Yazılım mühendisi " unvanına sahip birinin yazılım mühendisliği ilkelerini, daha ileri matematik ve bilimsel yöntemi anlaması beklenir ve yazılım mühendisliği, bilgisayar mühendisliği veya bilgisayar bilimi diplomasına sahip olması gerekebilir . Bazı ülkeler yasal olarak mühendis olarak adlandırılmak için gerçek bir mühendislik derecesi gerektirir. Ayrım yapan şirketlerde yazılım mühendisleri, yeni programlar, özellikler ve platformlar tasarlamak veya "mimarlamak" gibi daha geniş ve üst düzey sorumluluklara sahip olabilir; tasarım, uygulama, test ve dağıtım dahil olmak üzere yazılım geliştirme yaşam döngüsünü yönetmek ; bir programcı ekibine liderlik etmek; ticari müşteriler, programcılar ve diğer mühendislerle iletişim kurmak; sistem kararlılığı ve kalitesi göz önünde bulundurularak; ve yazılım geliştirme metodolojilerini keşfetmek .

Bir sistem mimarı , gerçek programlamayı başkalarına bırakırken teknik tasarımlar üretmeyi içerebilen ilgili bir iş unvanıdır.

Tarih

Ada Lovelace birçok kişi tarafından ilk bilgisayar programcısı olarak kabul edilir.

İngiliz kontes ve matematikçi Ada Lovelace diye bir program (özellikle bir kısmını yayınlamak için ilk olarak genellikle ilk bilgisayar programcısı olarak kabul edilir algoritma üzerinde uygulanması için amaçlanan) Charles Babbage 'ın analitik motoru kullanıldı Ekim 1842 algoritma içinde Bernoulli sayılarını hesaplamak için . Babbage'ın makinesi Lovelace'in zamanında işleyen bir standart olarak asla tamamlanmadığı için, algoritmayı çalışırken görme fırsatı hiç olmadı.

İşlevsel, modern, elektronik bir bilgisayarda bir program yürüten ilk kişi , 1941'de bilgisayar bilimcisi Konrad Zuse idi.

ENIAC oluşan programlama ekibi, Kay McNulty , Betty Jennings , Betty Snyder , Marlyn Wescoff , Fran Bilas ve Ruth Lichterman , ilk düzenli bilgisayar programcıları olarak iade edildiğini.

yazılım endüstrisi

Özel olarak yazılım ürünleri ve hizmetleri sağlamak için kurulan ilk şirket , 1955 yılında Bilgisayar Kullanım Şirketi idi . O zamandan önce bilgisayarlar ya müşteriler tarafından ya da Sperry Rand ve IBM gibi zamanın birkaç ticari bilgisayar üreticisi tarafından programlanıyordu .

Yazılım endüstrisi 1960'ların başında genişletilmiş, neredeyse hemen bilgisayarlar ilk seri üretim miktarlarda satıldığını sonra. Üniversiteler, hükümetler ve işletmeler yazılım için bir talep yarattı. Bu programların çoğu, tam zamanlı personel programcılar tarafından kurum içinde yazılmıştır; bazıları belirli bir makinenin kullanıcıları arasında ücretsiz olarak dağıtılırken, diğerleri ticari olarak satıldı. Computer Sciences Corporation (1959'da kuruldu) gibi diğer firmalar da büyümeye başladı. Bilgisayar üreticileri kısa süre sonra işletim sistemlerini , sistem yazılımlarını ve programlama ortamlarını makineleriyle bir araya getirmeye başladılar ; IBM 1620 1620 Sembolik Programlama Sistemi ve birlikte gelen FORTRAN .

1970'lerin ortalarında kişisel bilgisayarın (PC) yükselişi ile endüstri büyük ölçüde genişledi ve bu da ortalama ofis çalışanına bilgi işlem getirdi. Sonraki yıllarda PC, oyunlar, uygulamalar ve yardımcı yazılımlar için sürekli büyüyen bir pazar yaratılmasına da yardımcı oldu. Bu, o dönem için yazılım geliştiricilerine olan talebin artmasına neden oldu.

21. yüzyılın ilk yıllarında, barındırılan yazılımlar için hizmet olarak yazılım veya SaaS adı verilen başka bir başarılı iş modeli ortaya çıktı . Bazı tescilli yazılım üreticilerinin bakış açısından , SaaS , yalnızca Web üzerinden erişilebildiğinden ve tanım gereği, son kullanıcının bilgisayarına hiçbir istemci yazılımı yüklenmediğinden yetkisiz kopyalama konusundaki endişeleri azaltır . SaaS genellikle buluttan çıkar .

İşin doğası

Bilgisayar programcıları , bilgisayarların işlevlerini yerine getirmek için izlemesi gereken bilgisayar programları adı verilen ayrıntılı talimatları yazar, test eder, hatalarını ayıklar ve sürdürür . Programcılar ayrıca problemleri bilgisayarla çözmek için mantıksal yapıları tasarlar, tasarlar ve test eder. Programlamadaki pek çok teknik yenilik - gelişmiş bilgisayar teknolojileri ve sofistike yeni diller ve programlama araçları - bir programcının rolünü yeniden tanımladı ve bugün yapılan programlama çalışmalarının çoğunu yükseltti. İş unvanları ve tanımları kuruluşa bağlı olarak değişebilir.

Programcılar, kurumsal bilgi teknolojisi (BT) departmanları, büyük yazılım şirketleri , küçük hizmet firmaları ve her büyüklükteki devlet kurumları dahil olmak üzere birçok ortamda çalışır . Birçok profesyonel programcı, müşteri sitelerinde danışmanlık şirketleri için müteahhit olarak da çalışır . Profesyonel sertifikalar genellikle programcılar tarafından alınsa da , genellikle bir programcı olarak çalışmak için lisans gerekli değildir . Programlama geniş çapta bir meslek olarak kabul edilir (ancak bazı yetkililer, yalnızca yasal lisans gereklilikleri olan kariyerlerin bir meslek olarak sayıldığı gerekçesiyle aynı fikirde değildir).

Programcıların çalışmaları, program yazdıkları iş türüne bağlı olarak büyük ölçüde değişir. Örneğin, mali kayıtların güncellenmesiyle ilgili talimatlar , bir uçuş simülatöründe eğitim gören pilotlar için bir uçakta koşulların tekrarlanması için gerekli olanlardan çok farklıdır . Basit programlar birkaç saat içinde yazılabilir. Daha karmaşık olanlar bir yıldan fazla çalışmayı gerektirebilirken, diğerleri asla 'tamamlanmış' olarak kabul edilmezler, kullanımda kaldıkları sürece sürekli olarak geliştirilirler. Çoğu durumda, birkaç programcı, kıdemli bir programcının gözetiminde bir ekip olarak birlikte çalışır.

Programcılar, öncelikle daha kıdemli programcılar veya sistem analistleri tarafından belirlenen özelliklere göre programlar yazarlar . Tasarım süreci tamamlandıktan sonra, bu tasarımı bilgisayarın takip edebileceği mantıklı bir dizi talimata dönüştürmek programcının işidir. Programcı bu talimatları birçok programlama dilinden birinde kodlar. Programın amacına göre farklı programlama dilleri kullanılmaktadır. Örneğin COBOL , genellikle anabilgisayar ve orta düzey bilgisayarlarda çalışan iş uygulamaları için kullanılırken , Fortran bilim ve mühendislikte kullanılır. C++ ve Python , hem bilimsel hem de ticari uygulamalar için yaygın olarak kullanılmaktadır. Java , C# , JavaScript ve PHP , Web ve iş uygulamaları için popüler programlama dilleridir. Programcılar genellikle birden fazla programlama dili bilirler ve birçok dil birbirine benzediği için genellikle yeni dilleri nispeten kolay öğrenebilirler. Uygulamada, programcılara genellikle bildikleri dille, örneğin Java programcıları olarak veya gerçekleştirdikleri işlev türüyle veya çalıştıkları ortamla atıfta bulunulur : örneğin, veritabanı programcıları , ana bilgisayar programcıları veya web geliştiricileri .

Programı tanımlayan kaynak kodunda değişiklik yaparken , programcıların diğer programcıları rutinin gerçekleştireceği görevden haberdar etmeleri gerekir. Bunu, yazılım belgeleri yazarak ve kaynak koduna yorum ekleyerek, başkalarının programı daha kolay anlayabilmesi için yaparlar . Zaman kazanmak için programcılar genellikle belirli bir uygulama için değiştirilebilen veya özelleştirilebilen temel kod kitaplıkları kullanır . Bu yaklaşım, daha güvenilir ve tutarlı programlar sağlar ve bazı rutin adımları ortadan kaldırarak programcıların üretkenliğini artırır.

Test etme ve hata ayıklama

Programcılar, bir programı çalıştırarak ve hataları (hataları) arayarak test ederler . Bunlar tanımlandıkça, programcı genellikle uygun düzeltmeleri yapar, ardından kabul edilebilir düzeyde düşük bir hata düzeyi ve önem derecesi kalana kadar programı yeniden kontrol eder. Bu işleme test etme ve hata ayıklama denir . Bunlar, her programcının işinin önemli parçalarıdır. Programcılar, bir programın ömrü boyunca bu sorunları çözmeye devam edebilirler. Mevcut programları güncellemek, onarmak, değiştirmek ve genişletmek bazen bakım programlaması olarak adlandırılır . Programcılar, kullanıcı kılavuzlarına ve çevrimiçi yardıma katkıda bulunabilir veya bu tür işleri yapmak için teknik yazarlarla çalışabilirler.

Uygulamaya karşı sistem programlaması

Bilgisayar programcıları genellikle iki geniş türe ayrılır: uygulama programcıları ve sistem programcıları. Uygulama programcıları, bir kuruluş içindeki envanteri izlemek için bir program gibi belirli bir işi ele almak için programlar yazarlar. Ayrıca mevcut paket yazılımları revize edebilir veya bağımsız yazılım satıcılarından sıklıkla satın alınan genel uygulamaları özelleştirebilirler . Sistem programcıları, aksine, işletim sistemleri ve veritabanı yönetim sistemleri gibi bilgisayar sistemi yazılımlarını korumak ve kontrol etmek için programlar yazarlar . Bu çalışanlar , sistemin ağının, iş istasyonlarının ve CPU'nun kendilerine verilen çeşitli işleri nasıl ele aldığını ve yazıcılar ve disk sürücüleri gibi çevresel donanımlarla nasıl iletişim kurduklarını belirleyen talimatlarda değişiklikler yaparlar .

Nitelikler ve beceriler

Bir programcının, bilgi işlemin belirli yönleriyle ilgili teknik uzmanlığa sahip olması gerekir. Bazı pozisyonlar, bilgisayar bilimi, bilgi teknolojisi, mühendislik, programlama veya diğer ilgili çalışmalar gibi ilgili bir alanda bir derece gerektirecektir.

Yazılım türleri

Programcılar, video oyunlarından eğitim yazılımlarına, masaüstü yayıncılık veya finansal uygulamalara yönelik programlara kadar, belirli müşteriler için tasarlanmış programlar veya genel kullanım için paketlenmiş yazılımlar olmak üzere yazılım oluşturmak için farklı alanlardan uzmanlarla doğrudan çalışabilir . Paket yazılımların programlanması, bilgisayar hizmetleri endüstrisinin en hızlı büyüyen bölümlerinden birini oluşturmaktadır. Bazı şirketler veya kuruluşlar, hatta küçük olanlar bile, özellikle mevcut yazılımlar uygun olmadığında veya çok pahalı olduğunda, dahili son kullanıcıların çok özel ihtiyaçlarına cevap verecek kurum içi yazılımların tasarlanmasını ve geliştirilmesini sağlamak için kendi BT ekiplerini kurmuştur. . Örneğin araştırma laboratuvarlarında durum böyledir .

Bazı kuruluşlarda, özellikle küçük kuruluşlarda, genellikle programcı analistleri olarak bilinen kişiler hem sistem analizinden hem de gerçek programlama çalışmasından sorumludur. Ana bilgisayar ortamından öncelikle kişisel bilgisayarlara (PC'ler) dayanan bir ortama geçiş , programcı ve kullanıcı arasındaki bir zamanlar katı olan ayrımı bulanıklaştırdı. Giderek, usta son kullanıcılar daha önce programcılar tarafından gerçekleştirilen görevlerin çoğunu üstleniyor. Örneğin, elektronik tablo ve veritabanı yönetimi yazılım paketleri gibi paket yazılımların artan kullanımı, kullanıcıların verilere erişmek ve hesaplamalar yapmak için basit programlar yazmasına olanak tanır.

Buna ek olarak, İnternetin yükselişi web geliştirmeyi programlama alanının büyük bir parçası haline getirdi . Şu anda birçok yazılım uygulaması, web tarayıcısı olan herkes tarafından kullanılabilen web uygulamalarıdır . Bu tür uygulamalara örnek olarak Google arama hizmeti, Outlook.com e-posta hizmeti ve Flickr fotoğraf paylaşım hizmeti verilebilir .

Kaynak kod editörleri olarak da bilinen programlama editörleri, programcılar veya geliştiriciler için bir uygulamanın veya programın kaynak kodunu yazmaları için özel olarak tasarlanmış metin editörleridir. Bu düzenleyicilerin çoğu, renk sözdizimi vurgulama , otomatik girinti, otomatik tamamlama , köşeli ayraç eşleştirme, sözdizimi denetimi ve eklentilere izin verme gibi programcılar için yararlı özellikler içerir . Bu özellikler, kodlama, hata ayıklama ve test etme sırasında kullanıcılara yardımcı olur .

Küreselleşme

İngiltere'de pazar değişiklikleri

BBC News'e göre , 2009 yılında bilgisayar bilimi öğrencilerinin %17'si mezun olduktan 6 ay sonra kendi alanlarında iş bulamadılar ki bu ankete katılan üniversitelerin en yüksek oranı iken tıp öğrencilerinin %0'ı aynı ankette işsizdi.

ABD'de piyasa değişiklikleri

Dot-com balonunun (1999–2001) çöküşünden ve Büyük Durgunluktan (2008) sonra, birçok ABD'li programcı işsiz veya daha düşük ücretlerle kaldı. Ek olarak, ABD'de bilgisayarla ilgili derecelere ve diğer STEM derecelerine (STEM yıpranması) kayıt, özellikle kadınlar için, Beaubouef ve Mason'a göre, bilime genel ilgi eksikliğine atfedilebilecek olan yıllardır düşüyor. matematik ve ayrıca programlamanın imalat ve tarım kariyerleriyle aynı baskılara maruz kalacağına dair bariz bir korkudan. Programcılar için, ABD Çalışma İstatistikleri Bürosu (BLS) Mesleki Görünüm 2016'dan 2026'ya yüzde 7'lik bir düşüş, 2019'dan 2029'a yüzde 9'luk bir düşüş ve 2020'den 2030'a yüzde 10'luk bir düşüş öngörüyor. bilgisayar programlamadan bu yana dünyanın herhangi bir yerinden yapılabilir, bu nedenle şirketler bazen ücretlerin daha düşük olduğu ülkelerde programcılar işe alır. Bununla birlikte, yazılım geliştiricileri için 2019 ila 2029 için BLS projeleri için, yılda 110.000 ABD doları ortalama maaşla istihdamda %22 artış, 1.469.200 işten 1.785.200 işe. Bu tahmin, yazılım geliştiricileri için daha önceki 2010-2020 tahmini %30'luk artıştan daha düşüktür. Ayrım biraz belirsiz olsa da, yazılım geliştiriciler uygulama geliştirmenin daha geniş yönleriyle ilgilenirler ve genellikle programcılardan daha yeteneklidirler, bu da dış kaynak kullanımını daha az risk haline getirir. Programcılar için düşüşün bir başka nedeni de, işverenlerin zaman içinde bir pozisyon için gereksinimlerini artırması nedeniyle becerilerinin geliştiriciler gibi diğer mesleklerle birleştirilmesidir.

Ayrıca bakınız

Referanslar

daha fazla okuma

  • Weinberg, Gerald M. , Bilgisayar Programcılığının Psikolojisi , New York: Van Nostrand Reinhold, 1971
  • Programlama çalışmasının doğasına ilişkin deneysel bir çalışma: Lucas, Rob. "Dreaming in Code" New Left Review 62, Mart–Nisan 2010, s. 125–132.
  • Thompson, Clive (2019). Kodlayıcılar: Yeni Bir Kabile Yaratmak ve Dünyanın Yeniden Yapılışı . Penguen Basın. ISBN'si 978-0735220560.

Dış bağlantılar