Bir programcının mesleği, yalnızca doğrudan programlama dilleriyle ilgili olmayan belirli beceri ve bilgileri gerektirir. İyi bir uzman, bir bilgisayarın yapısı hakkında bir fikre sahip olmalı, İngilizce bilgisine sahip olmalı, matematiksel hesaplamaları yapabilmeli ve kendi başına formüller oluşturabilmelidir.
Terminoloji bilgisi ve anlayışı
Herhangi bir programcı tarafından istenen belirli bir kriter yoktur. Ancak işinizde başarılı ve aranılan bir konuma gelebilmek için belirli bilgi ve özelliklere sahip olmanız gerekir.
İyi bir programcı bir dizinin, bir hash tablosunun, bir bağlantılı listenin ne olduğunu anlamalıdır. Uzman, Fibonacci yığınları, genişleyen ağaçlar, atlama listeleri, AVL ağaçları vb. kavramlara aşina olacaktır. Uzmanlığa bağlı olarak, görevleri yerine getirmek için algoritmalarda yetkin olmalı, arama prosedürlerini bilmeli, seçim, veri yapılarını geçirme, grafikler, matrisler oluşturma ve en azından dinamik programlamanın temel ilkelerine aşina olmalıdır.
En önemli şey, bilişim alanında ilgili bilgiye sahip olmak ve belirli bir terminolojik aygıta hakim olmaktır.
Sistem programcısı derleyicinin amacını anlamalı, derleyiciyi anlamalı, sanal bellek ve bir bütün olarak işletim sistemi kodunun yapısı hakkında biraz bilgi sahibi olmalıdır; Soketler hakkında bilgi sahibi olmalı, İnternet ağlarının ve ağ protokollerinin işleyişini anlamalıdır.
Programlama dilinde yeterlilik düzeyi (PL)
Programcı, uzmanlaştığı konu alanının diline iyi derecede hakim olmalıdır. PL bilgisi, belirli sorunları çözmek için içinde bulunan araçları kullanabileceğinizi varsayar. Başarılı bir uzman, birkaç programlama dilini bilir ve kullanılan yöntemleri görevlerine veya uzmanlığına göre nasıl uyarlayacağını bilir.
Programcı, kullanıcının davranışını incelemeli ve ondan, gelecekteki programın arayüzünde uygulanması gereken çeşitli eylemler ve tepkiler beklemelidir.
Bir programcının bilgisi, uzmanlığı ve PL profili ile onun aracılığıyla uyguladığı görevler tarafından da belirlenir.
Örneğin Java veya C# ile kod yazarken kullanılan kütüphaneleri, tipik programlama durumlarını bilmelidir. İyi bir uzman, koddaki tekrarlayan yapılardan kaçınma yeteneği ve geliştirilen uygulamada çözülen sorunlara göre kendi programlarınızı oluşturma yeteneği ile ayırt edilir.
İletişim yetenekleri
Programcı hem müşterilerle hem de iş arkadaşlarıyla iletişim kurabilmelidir. Büyük yazılım projeleri, programcının etkileşim kurabilmesini ve düşüncelerini ve proje konseptini doğru bir şekilde ifade etmesini gerektirir.
Bir programcı için yabancı dil bilgisi, bilgisayar bilimi alanında çok sayıda bulunan çeşitli tercüme edilmemiş teknik belgeleri incelemesine izin verir. Ayrıca yabancı dil, yabancı müşterilerle iletişim kurmanıza ve daha fazla kazanmanıza olanak sağlayacaktır.