[]

Bir yazılım dilinde uzmanlaşmanın yolları nelerdir?

Arkadaşlar selâm, birçoğunuzun bildiği üzere 4 ay önce JavaScript öğrenmeye başladım. 2 tane kurs bitirdim, epey medium makalesi, doküman okudum. Çok şey öğrendim bu süreçte. Fakat bazı problemlerle karşılaşıyorum. Sizlerin epey yardımını gördüm, belki bunu da yardımınızla aşabilirim.

Aldığım kurslarda klasik todo list, hesap makinesi, counter, clone website yapma vs. gibi projeler var. Ben bunlarda kullanılan fonksiyonları, kod iskeletini, mantığını kavradım "büyük oranda." Ezberlemedim. Bir web sitesini tasarlamak istediğimde zorlanmakla birlikte, tam aynısını yapamasam da benzerini yapabiliyorum.

Yukarıda bahsettiğim diğer projelerin de benzerini kendi başıma yazmak istediğimde bana ait bir tasarım ve kodlarla zorlanarak da olsa aşama kaydedebiliyorum. Ancak geçenlerde bir react kursunda dropdown menü yaptı bir hoca. Başta zor geldi, -bana ilk seferinde her şey öyle geliyor- anlayamadım. Muhtemelen tekrar çalıştığımda anlayacağım. Kendi başıma da yapabilecek seviyeye gelebileceğim.

Ancak... Tutoriallerde, stackoverflow'da bulamayacağım türden bir proje geldiğinde onu nasıl tasarlayacağım? Tecrübe kazanılarak edinilebilecek bir beceri midir bu? Yoksa çalışmalarımı başka bir tarafa yöneltmeliyim? Girebilirsem bir firmaya, orada bir senior mü yol gösterecek yoksa? React'le birlikte parça parça düşünmeye, projeyi adım adım tasarlamayı öğrenmeye başladım ama çok yetersiz hissediyorum kendimi.

İyi bir coder olabilmem için önümdeki en büyük engelin bu olduğunu düşünüyorum şimdilik. Bu hususta veya genel olarak verebileceğiniz tavsiyeler varsa merakla dinlemek istiyorum.

Hepinize kolay gelsin. :)

 
profesyonel olarak bu işi yapmaya başlayın. 100 yıl boyunca kendi kendinize proje yazsanız, yönetseniz vs bir yerden sonra onun öğrenmesi duruyor çünkü daha ilerisini görmeniz mümkün olmuyor. dolayısıyla tavsiyem işe girin ve oradan çalışın. zaten oraya girince yaptığınız projelerin ne denli basit şeyler olduğunu göreceksiniz. üstelik birçok farklı uzmanlık grubundan insanlar da sizin gelişiminize katkı sağlayacaktır.

bir firmaya girersen orada da kimse sana yol göstermeyecek orada yolunu kendini bulacaksın ancak temel fark şu, kocaman bir otobana girmiş olacaksınız. orada da takıldığınız yerlerde size yardımcı olacak insanlar olacaktır bu açıdan o yolu öğrenmeniz de kolay olacak. şu an 2 sokak arasında mekik dokuyorsunuz denebilir, örneklendirmek gerekirse.

iş, işte öğrenilir.
  • ilgeru  (02.09.22 14:38:36 ~ 14:39:52) 
bence kat ettiginiz yol iyi ama internetten ogrenilemeyecek, sadece profesyonel hayatta ogrenilecek bircok konu da mevcut. bunlari su sekilde siralayabilirim, ornegin;

- internetteki kaynaklar ve dersler genelde yalin ve izole edilmis uygulamalari ogretir. yani bu uygulamalarin diger uygulamalarla, kutuphanelerle iletisimleri minimum seviyededir. ama profesyonel hayatta bir uygulama gelistirilirken, sirketin eski tarihlerden kalma kutuphaneleri, baska sirketlerin veya programlarin api leri ile entegre uygulamalar gelistirmek gerekir ki bunun kendine has cozulmesi greken problemleri vardir.

- internette ornek uygulamalar sifirdan gelistirmeyi ogretir. ama profesyonel hayatta eski kutuphane guncellenir, eski kodlarin uzerine yeni kodlar yazilir. bircok yazilimcinin gununun buyuk bolumunu bu tarz isler kaplar.

- internetteki egitimler bircok durumda unit test, integration test, test coverage, cloud sistemlere application deployment, containerization, code pipeline gibi konulari kapsamaz. ama bu konular profesyonel hayatta bir developerin hayatinin merkezindedir.

- internetteki egitimler dokumantasyon icermez, ekip icinde iletisim gibi soft skiller onemli olmaz. ama profesyonel hayatta bu konularda kendini gelistirmek ilerlemek icin kritiktir.

- internette is gelistirme surecleri pek ogretilmez. ama profesyonel hayatta her sirketin kendine has surecleri vardir. benzer surecler de vardir ve bu patternlere hakim olmak onemlidir.

- internetteki egitimlerin bir cogunda git konusuna deginilmez, ayni anda tek bir kisi tek bir kanaldan gelistirme yapar. ama profesyonel hayatta bircok gelistirici ayni anda gelistirme yapar, ve bunun icin iletisim gerekir, merge problemleri olur bunlar cozulmesi gerekir, pair programming yapmak gerekir vs. git commit messajlari bile sirketten sirkete degisen standartlara gore yazilir.

bunlar ilk aklima gelenler ama gozunuzde de buyutmemek gerekir. disaridan ogrenmek zordur cunku belli standart yoktur, her sirketin ve yoneticinin tarzi farklidir, her ekipte farkli isler bu surecler. ama bir yerde calisinca cok cabuk ogrenilen seylerdir.

yani bir yerde calisarak onlarca kat hizli ogrenilir bazi seyler.
  • emrahday  (02.09.22 16:57:08 ~ 17:00:21) 
kod okumak derdim ama gerçekçi olalım, oturup da github'dan kod tarayan, alakasız projeleri ne yapmış bu adam diye inceleyen çok azdır.

bir şirkette işe girmek en hızlı çözüm. avantajı ne dersen, aklına gelecek çoğu senaryo için, "bak burda yapılmışı var" diyerek biri çat diye açıp sana kodu gösterebilir. normalde bilgisayar başında çözüm bulmak için harcayacağın saatleri, kodu yapıştırıp, ne yaptığını anlayıp dakikalara indirebilirsin. çok daha hızlı öğrenme + başka bir işe odaklanma avantajı var.

internette bulduğun, bulacağın çoğu eğitim videosu %99 production(enterprise, gerçek ortam her ne ise artık) seviyesinde değil. yazdığın kod örneğin milyonlarca istek alan bir ortamda nasıl davranacak? hata senaryoları nasıl tasarlanmış? bu kod nerede çalışacak? Rajad, Bharad, Roju kardeşlerimizin 10 liraya sattığı tutorialler bu soruları cevaplamıyor :d girdiğin şirkette muhtemelen bu soruları sormuş ve kafa patlatmış insanlar tarafından hazır tasarımı görüp, yorumlayıp "demek ki böyle yapılması lazım" şeklinde hızlı bir çıkarım yapabiliyorsun.

temeli hızlı atınca da, gördüklerin üzerine inşa etmesi çok daha hızlı ve kolay oluyor. yoksa sağda solda göreceğin 3 istek atıp temel seviyede yazılan kıytırık bir tutorial sadece temelleri öğrenmeni sağlar.

özet geç *** diyorsan, en azından bir staj kovala ve bir yerde işe gir eğer ilgin varsa. 1 senede öğrendiğini 1 ayda çok daha kapsamlı biçimde senden daha iyi insanların olduğu ortamda öğreneceksin.
  • sarahkerrigan  (02.09.22 23:00:44) 
1
buraya yazılanların hakları Sir Anthony Hopkins'e aittir.
yazan eden compumaster, ilgilenen eden fader
modere edenler angelus, Artibir, aychovsky, baba jo, basond, compumaster, deckard, duyulmasi gerektigi kadar, fader, fraise, groove salad, kahvegibi, kaymaktutmayansicaksut, kibritsuyu, monstro, pandispanya, robin, ron dennis
bu sitede yazılanların hiçbiri doğru değildir. site içeriği küçükler için sakıncalı olabilir. yazılardan yazarları sorumludur. kaynak göstermeden alıntılanamaz. devlet tarafından atanmış bir kurumun internet üzerinde kimin hangi bilgiye ulaşıp ulaşamayacağına karar vermesi insan haklarına aykırıdır. web siteleri kullanıcıların istekleri doğrultusunda bağlandıkları yerlerdir. kullanıcılar isterlerse bir web sitesine bağlanmayabilirler. bu güçleri ve imkanları mevcuttur. bir kullanıcı bir siteye bağlanmak istiyorsa bu onun tercihi ve hakkıdır. bağlanmak istemiyorsa bu yine onun tercihi ve hakkıdır. halkın kendisine hizmet etmesi için görevlendirdiği kurumlar hadlerini aşıp halka neye ulaşıp ulaşmayacağını bilmeyen cahil cühela muamelesi edemezler. ebeveynlerin çocuklarını sakıncalı içeriklerden koruması için çok sayıda bedava ve ücretli yazılım mevcuttur. bu yazılımlar bir web tarayıcısını kullanmaktan daha karmaşık teknik bilgi gerektirmemektedir. devletin milletini küçük düşürmesi ve ebleh yerine koyması yasaktır. Skimlinks ile linkler üzerinden yönlendirme payı alınmaktadır.