Derin veya geniş olmaya odaklanmalı mıyım [kapalı]


10

Yarım yılı aşkın bir süredir profesyonel bir geliştiriciyim ve dünyanın üniversiteden ne kadar büyük olduğuna şaşırdım. Boş zamanlarımda öğrenmeye devam ettim ama nereye odaklanmam gerektiğini merak ediyorum?

ODAK 1) Şirketim tarafından kullanılan geliştirme yığını. Günlük gelişimimde en hızlı geri dönüş. #En derin

ODAK 2) Aynı paradigmaya sahip farklı bir dil. Bilgi ve düşünme tarzımı genelleştirip genelleştiremeyeceğime bak.

ODAK 3) Farklı dil, farklı paradigma. Sınırlarımı genişlet ve bir şeyler yapmanın yeni yollarını öğren. #Broadest

Eğer farklı bir odağı varsa, bunu oraya koymaktan çekinmeyin.

Yanıtlar:


18

Evet.

Her ikisini de yapmanız gerektiğini söyleyebilirim. Anında getirisi olan # 1 ile başlayın ve bunu çok uzun süredir yapmıyorsunuz. Ama kesinlikle # 2 ve # 3'ü yapmanız gerekiyor.


İyi bir plan, kendimi hemen daha kullanışlı hale getirmek şirketteki değerimi artıracak, son ikisi genel olarak bir geliştirici olarak değerimi artıracak.
Bob Roberts

Kesinlikle. Kariyeriniz boyunca bulabileceğinizi düşünmeme rağmen, genel olarak bir geliştirici olarak kendinizi değerli kılmak da şirketteki değerinizi artıracaktır. Getirisi birkaç yıl olabilir.
Marcie

1
Belki cevap "Evet" yerine "İkisi" olmalıdır. Sorunun başlığına ve cevabına baktığımda kafam karıştı.
Amr

1
Yeni bir dil veya paradigma öğrendiğimde # 1'de daha etkili hale geldim - bunun daha geniş bir deneyime sahip olmanın size belirli bir sorunun nasıl çözüleceğine dair farklı bakış açıları sağladığına inanıyorum. Öğrenilen aynı ders: Sadece bir çekiçiniz varsa, her sorun çivi gibi görünmeye başlar.
Bryan Rehbein

25

İnsanlar benden kariyer tavsiyesi istediğinde, sorunuz onlara sorduğum ilk sorulardan biri. Kimsenin bu soruyu sizin için cevaplayabileceğini sanmıyorum; Bence derinliğe veya genişliğe odaklanmanın kariyer hedeflerinize ulaşma olasılığının daha yüksek olup olmadığına kendiniz karar vermelisiniz.

Takımları en son değiştirdiğimde iki fırsatım oldu: XBOX geliştirici araçları takımında çalışmak ya da C # derleyici takımında çalışmak. Bunun derinliğe karşı genişliğe indiğini fark ettim. XBOX ekibinde bir gün güvenlik sistemleri, bir sonraki ses sistemleri, video, ağ, donanım arabirimi üzerinde çalışabilirim. Tabii, bazı insanlar uzman, ama herkes her şey hakkında biraz bilmek zorunda. C # derleyici ekibinde bir dile ve bir derleyiciye dalabilirim ve her şeyi derinlemesine anlayabilirim.

Çok düşünmüştüm ve pek çok şeyden ziyade bir konuda uzman olmak için daha uygun olduğuna karar verdim. Bu benim için iyi bir seçimdi, ama sizin için olmayabilir. Bazı insanlar her şeyi biraz bilmek çok başarılı.

Bu nedenle tavsiyem soruyu tersine çevirmektir. Ne tür bir insan olduğunuzu belirleyin ve ardından şirketinizin sizin gibi biri için fırsatları olup olmadığını görün. Değilse, bir tane bulun.


Kim olduğunuza baktığımızda, bu yazı gerçekten destansı. :)
ashes999

12

Uzman olmak sizi daha pahalı hale getirebilir. Ancak, yüksek seviyeyi gerektiren iş fırsatları hem sayılarında hem de coğrafi olarak sınırlı olacaktır.

Genelci olmak belki daha az para ödüyor, ancak potansiyel olarak dünya çapında size çok çeşitli iş fırsatları sunuyor.

Ayrıca daha üst düzey ve yönetsel işler için çeşitli şeyler, teknikler ve teknolojiler konusunda deneyimli bir kişiye sahip olmak tercih edilir. Kenarları bilmek ve büyük bir resim görmek sizi değerli bir varlık haline getirir.


Oh, (şimdiye kadar bu uzun vadeli sıralama kalmak olacağını umuyorum) şimdiki istihdam geçmiş bile düşünmüyordu.
Bob Roberts

3

Ben sizin gelişim aşamasında, biraz derinlik ilk öncelik olduğunu düşünüyorum. Bir sürü şey hakkında biraz bilgi sahibi olan ancak giriş seviyesi işi yapmaktan geçemeyen çok fazla insan görüyorum çünkü tüm bilgileri giriş seviyesi.

Eğer uzman olmak istersem, bina derinliği en iyi ilk tercihtir.

Genelci olmak istiyorsam, önce bir yığın halinde derinlik oluşturun (en azından orta seviyeye geçin) ve sonra diğer dillere dallayın. Önce biraz derinlik oluşturursanız, kullanabileceğiniz daha fazla kavramınız olduğu ve öğrenmek istedikleriniz hakkında daha fazla bilgi sahibi olduğunuz için birden çok dilde derinlik oluşturmayı daha kolay bulabilirsiniz. Sonra başka bir şeye biraz dalmış olurdum. Sonra geri dönün ve ileri seviyeye derinlik kurun, sonra tekrar dallayın ve zaten bildiğinizden çok daha fazla şey öğrenin. Ardından farklı bir alandaki derinliği orta düzeye genişletin, başka bir şey daha öğrenin vb.

Uyarı - Ben bir uzmanım, bu yüzden bilgi derinliğini açıkça tercih ediyorum


1

Her iki seçeneğin de yeri var. Şirketiniz tarafından kullanılan geliştirme yığınına odaklanmak işinizde size yardımcı olacaktır, ancak diğer teknolojileri öğrenmek kariyerinizde size yardımcı olacaktır.

1990'ların sonunda, COBOL becerileri 2000 yılı için yazılımlarını hazırlamak isteyen şirketler tarafından yüksek talep görüyordu. Ancak bugün sadece COBOL'u bilen herkes iş bulmakta daha zorlanacak.

Aynı şekilde, bugünün teknolojisi çoğumuz emekli olmaya hazır olmadan çok önce kullanılmayacaktır, bu nedenle yeni beceri ve teknolojiler öğrenmek esastır.


0

Devam et ve Haskell veya Lisp gibi bir şey öğren. İşlevsel bir dil öğrenmek gerçekten kodumu ayırmamı sağladı ve genel olarak hata ayıklamayı kolaylaştırdı. Karşılaşabileceğiniz tek sorun geri dönmek istememenizdir.

http://book.realworldhaskell.org/read/

http://lisperati.com/haskell/

http://learnyouahaskell.com/


Bu doğru, fonksiyonel programlama öğrenmek, benim gibi OCaml veya F için oy #
0xFF

F #, üzerinde çalıştığınız C # veya diğer .net öğeleriyle iyi entegre olur. Sadece akılda tutulması gereken bir şey. Clojure, Java ile iyi çalışır.
Theo Belaire
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.