İlk olarak, sorunuzun formüle edilmesine rağmen, özellikle yeni şeyler hakkında okuduğunuzdan daha hızlı ortaya çıkan alanımızda değil, herhangi bir çalışmanın sonu yoktur. Bununla birlikte, geliştirmek istediğinizde, göz önünde bulundurduğum aşağıdaki kategoriler var. En fazla fayda / YG için, elbette en zayıf alanınızdan bir şey seçmelisiniz.
Temel Bilgi
Programlama dillerini bilmesine ve pratik deneyime sahip olmasına rağmen, kişi temel temel konuların eksik kaldığı (özellikle kendi kendine öğrenilen) alanlara sahiptir. Veri yapıları, algoritmalar, önbellek stratejileri, karma işlevleri, ...
Bunun programlama dillerinin temellerini de içerdiğini unutmayın - derleyicilerden, optimizasyon tekniklerinden ve tip sistemlerinden kategori teorisine, monadlara ve benzerlerine kadar her şey.
Eğer iyi eğitilmişseniz, birkaç yıldır üniversite düzeyinde bir dereceye kadar devam etmişseniz, bu kategoride zaten güçlü olmanız muhtemeldir (elbette bitmiş olmaktan çok, ancak sağlam bir temel). Aksi takdirde, repertuarınızda eksik olduğunu bile bilmediğiniz bir şey olup olmadığını öğrenmek için bu alanlarda birkaç kitap okumaya çalışın. Bu kategori, kendinizi fazla tahmin etmenin en kolay yoludur.
Paradigmatik Bilgi
Her şeyi bildiklerini düşünen, ancak ana akım paradigmalar dışında tamamen cahil olan programcılar ortaya çıktığında her zaman şaşkınım. Nesne yöneliminin bunun sonu olduğunu düşünüyorsanız, bu sizin gelişim kategorinizdir. Fonksiyonel programlamanın da var olduğunu ve hatta mantık programlamayı duymuş olabileceğini düşünüyorsanız, yine de iyi bir seçimdir. Orada daha fazla paradigma var ve bunları öğrenmenin, programlama dünyasının yeni bir görünümüne benzer bir şey vermenin derin bir etkisi var.
Unutmayın: Neyin bir paradigma olarak kabul edilip edilemeyeceği konusunda genellikle (doğası gereği felsefi) argümanlar vardır. Bunlar tarafından takip edilemez. Amacınız ufkunuzu genişletmek olmalı ve başkaları X'i kendi başına bir paradigma olarak görsün ya da görmesin, bu şeyleri öğrenmek anlamına gelmez.
Uzman Bilgi
Hepsinin en kolayı ve aynı zamanda en az kullanışlı olanı. Tabii ki, kendinizi tek bir teknolojiye adayabilir ve tüm giriş ve çıkışlarını tanıyabilirsiniz, ancak fiyatı ödemeye hazır olmalısınız. Teknolojiler yaşlanıyor ve bunu giderek artan bir hızla yapıyorlar, bu da buraya yatırılan sürenin birkaç yıl boyunca değersiz olacağını neredeyse garanti ediyor.
Ayrıca geri dönüşün azalması sorunu da burada parlıyor. Doğası gereği bir konuda uzman olmak, o dar konu üzerinde sayısız saat harcamanız gerektiği anlamına gelir ve bu nedenle tanım gereği yeni bir şey öğrenmek uzun zaman alacaktır ve bu yeni şey, küçük bir bulmaca parçası olacak kimsenin hiçbir şey hakkındaki görüşünü değiştirmeyecek.
Alan Bilgisi
Çünkü işinizin etki alanı ya da sadece kişisel ilginize dayanıyor, ancak bilgisayar bilimi ve belirli bir etki alanı konusunda uzman olmak çok değerli ve ödüllendirici. Burada bilgisayar grafikleri veya yapay zeka gibi CS'nin yan alanlarından bahsetmiyorum. Bunun yerine, bilgisayarların herkesin hayatını ele geçirdiğini ve diğer tüm alanların bilgisayarlara ve girebileceğiniz bir alana maruz kaldığını fark edin.
Bu açıkça "alanınızın dışında" kategorisine girer, ancak keskin bir matematiksel "dış" değil, bir uygulama alanıdır. Tıbbı düşünün: Seni doktor olmanızı tavsiye etmiyorum. Bununla birlikte, bilgisayar bilimi hakkındaki mevcut bilginizi bu alanın sorunlarına uygulamak için tıbbın temellerini öğrenmek gerçekten değerlidir. Bu, görselleştirme tekniklerinden robotik üzerine uzman sistemlere ve yalnızca muhasebe / yönetim için veri yönetimine kadar uzanmaktadır. Bunların hepsini daha önce yapmış olsanız da, bunu başka bir alanda yapmak tamamen yeni bir deneyim haline gelebilir.
Yine de, bunun yönünüzde diğer kategorilere göre çok daha radikal bir değişiklik olduğunu unutmayın. Günlük işlerinizde bu alanla herhangi bir temasınız olmayabilir, bu da çekilmeyi son derece zorlaştırır. Hatta işleri değiştirmek anlamına da gelebilir. Ayrıca, yeni alanınız hakkında bir tür sertifikaya ihtiyacınız olacak - sonuçta o alan için tam bir acemisiniz ve o nişte uzman olma yolculuğuna başlayan disiplinlerarası çalışmalardan mezunlara karşı rekabet etmelisiniz.
Tamamlayıcı Bilgi
Mike Brown'un eklediği gibi, mevcut işinize bir şekilde eşlik eden, ancak kesinlikle gerekli olmayan bir bilgi alanı da vardır. Proje yönetimi hakkında bilgi edinmek için proje yöneticisi olmanıza gerek yoktur, ancak her zamanki gibi ek bilgi, diğer tarafın nasıl kenetlendiğine dair daha geniş bir fikir verecektir. Hatta bunu yumuşak becerilere odaklanma noktasına kadar genelleştirebiliriz. Sanırım diğer insanlarla gerçek bir proje üzerinde çalışan herkes bunların değerini biliyor.