Java mi JavaScript mi?

Temel kisminda da pek faydalari olmadi maalesef, Veri yapilari derslerinde hoca ezbere bu kod boyle yapilir dedi, alistirma dahi yaptirtmadan bitirdi dersi. Algoritma, OOPde de keza oyle. Iyi okulda okumak cok onemli sanirim.

Bu tarz isleri sadece okulda halledebilmen icin hocanin cok iyi olmasi lazim. O da okula bagli degil artik Bogazicinin durumu da ortaya yani. Hocan iyi denk gelirse. Onun haricinde ozellikle temel icin konusuyorum, bu isler kendin acip izlemeyip, duzenli olarak leetcode ve hackerrank uzerinde gezmedikce olmuyor. Ozellikle veri yapilari ve algoritma icin diyeyim. He bunlar dogrudan is hayatinda yapacagin islerde karsina cikmayabiliyor zaten. Ancak insanin beynini aciyor, bir de mulakatlarda teknik konu cok kasiyorlar tabi.
 
Bilgisayar M. 3. sinifim ben de ama okul pek bir katki saglamadi bana. Bu yaz ucretsizde olsa bir yerde calisip birkac ay tecrube kazanip sonrasinda para kazanacagim bir ise girmeyi hedefliyorum. Java da temelim vardi ama bircok seyi pratik yapmadigim icin unutmus olabilirim. O halde OOP, Fonksiyonel programlama, Collections vs konularda belli bir bilgi birikimini salgayip direkt Spring e girmek mantikli degil mi? Spring ile ugrasirken Java'da da pratik yapmis olurum sanirim. Tavsiye ettiginiz kurs var mi? Cogu eski surumleri analtiyor. Spring B. 3 cikmis sanirim.

Temel kisminda da pek faydalari olmadi maalesef, Veri yapilari derslerinde hoca ezbere bu kod boyle yapilir dedi, alistirma dahi yaptirtmadan bitirdi dersi. Algoritma, OOP'de de keza oyle. Iyi okulda okumak cok onemli sanirim.

Merhaba, 3. sınıftasınız daha, algoritma, veri yapıları, veri tabanı vb. dersleri almış olmalısınız. Okulun size kattığı şey size süper Java bilgisi vermek ya da SQL ustası yapmak değil; algoritma nedir, veri nedir, OOP nedir, dB sorgusu nedir vb. konularda akademik bilgi vermek ve temelinizi oluşturmaktır. Temeliniz sağlam oluştu ise sonra gider istediğiniz dili ya da Framework'u ya da dB teknolojisini belli bir süre başında oturup öğrenebiliyor olmanız lazım, okulu iş bulmanız için Java Spring dersi veren ya da bir JavaScript Framework'u kursu gibi bir yer olarak görmemek lazım. Bunları kendiniz öğreneceksiniz, iş ilanlarında en popüler diller, Framework'ler ya da teknolojiler tespit edilebilir, bu ilanlara başvurmak için öğrenmeniz lazım, mühendislik okuduğunuz için bunları "hiç duymadım bu teknolojiyi", "Java öğrendik ama unuttum" ya da "bize okulda spring boot anlatmadı hocalar" deme lüksünüz yok. Zaten okulda öğrenilen Java(ya da başka bir dil) temel seviyedir, ilerisini anlayabilmeniz için bir basamaktır, iş hayatında size bir artı sağlamaz.

Hocalar proje verirler konular pekişsin diye, okul kalitenizden memnun değilseniz, proje yapılmıyor, teorik olarak dersler anlatılıp geçiliyorsa; internette öğrenmek istediğiniz konu ile ilgili challenge projeler bulup yapmaya çalışın. Staja henüz gitmediyseniz gidince gözünüzü dört açın, staj defteri imzalatılıp dönülen bir şey olarak görmeyin. Bitirme tezinizin konusunu dikkatli seçin, öğrenciyken pek bir şey öğrenilmediği için ilk iş başvurularınızda orada neler yaptığınızı anlatacaksınız genellikle.
 
Merhaba, 3. sınıftasınız daha, algoritma, veri yapıları, veri tabanı vb. dersleri almış olmalısınız. Okulun size kattığı şey size süper Java bilgisi vermek ya da SQL ustası yapmak değil; algoritma nedir, veri nedir, OOP nedir, dB sorgusu nedir vb. konularda akademik bilgi vermek ve temelinizi oluşturmaktır. Temeliniz sağlam oluştu ise sonra gider istediğiniz dili ya da Framework'u ya da dB teknolojisini belli bir süre başında oturup öğrenebiliyor olmanız lazım, okulu iş bulmanız için Java Spring dersi veren ya da bir JavaScript Framework'u kursu gibi bir yer olarak görmemek lazım. Bunları kendiniz öğreneceksiniz, iş ilanlarında en popüler diller, Framework'ler ya da teknolojiler tespit edilebilir, bu ilanlara başvurmak için öğrenmeniz lazım, mühendislik okuduğunuz için bunları "hiç duymadım bu teknolojiyi", "Java öğrendik ama unuttum" ya da "bize okulda spring boot anlatmadı hocalar" deme lüksünüz yok. Zaten okulda öğrenilen Java(ya da başka bir dil) temel seviyedir, ilerisini anlayabilmeniz için bir basamaktır, iş hayatında size bir artı sağlamaz.

Hocalar proje verirler konular pekişsin diye, okul kalitenizden memnun değilseniz, proje yapılmıyor, teorik olarak dersler anlatılıp geçiliyorsa; internette öğrenmek istediğiniz konu ile ilgili challenge projeler bulup yapmaya çalışın. Staja henüz gitmediyseniz gidince gözünüzü dört açın, staj defteri imzalatılıp dönülen bir şey olarak görmeyin. Bitirme tezinizin konusunu dikkatli seçin, öğrenciyken pek bir şey öğrenilmediği için ilk iş başvurularınızda orada neler yaptığınızı anlatacaksınız genellikle.
ilk paragradakilerden baslarken de haberdardim tesekkur ederim, diger paragrafta dediginiz gibi, anlatilip geciliyordu ve proje verilmiyordu. Lab dersi diye bir sey var ama lafta var, pratik yapilmiyor. Kendim Udemy, YouTube gibi platformlardan yapmaya ogrenmeye calistim hep.
 
ilk paragradakilerden baslarken de haberdardim tesekkur ederim, diger paragrafta dediginiz gibi, anlatilip geciliyordu ve proje verilmiyordu. Lab dersi diye bir sey var ama lafta var, pratik yapilmiyor. Kendim Udemy, YouTube gibi platformlardan yapmaya ogrenmeye calistim hep.
Tamam, eğer başlıkta belirttiğiniz iki dilden Java'yı seçecek olursanız şunları "must" olarak kabul etmenizi tavsiye edeceğim.

-Belli bir seviyeye kadar Core Java ile, yani işinizi kolaylaştıran frameworklerden ya da kütüphanelerden pek yararlanmaksızın pek çok şeyi kendinizin oluşturduğu haliyle bir şeyler yapın, bir şeyi daha kolay ya da daha düzgün yapmak için gerekli kütüphane (.jar yani) bulup kullanmayı öğrenin, algoritma geliştirin, veri yapısı geliştirin, yazdığınız kodun kesinlikle OOP, SOLID prensiplerine uygun olduğundan emin olarak basit projeler yapın. Encapsulation, access modifier vb. şeyleri saymıyorum bile.

-Ezbere nedir ne değildir çat çat sayacak şekilde olmasa da Design Patternları öğrenin, yani creational, structural vb. hangi durumlarda, hangi sorunla karşılaştığımızda hangi pattern uygularsak kodumuzun yapısı daha iyi/temiz/düzgün olur. Singleton, factory vb. dışında da isim sayabilin.

-Veritabanı kullanın, kodunuza önce klasik olarak sqli bağlayın, sonra Hibernate frameworkü ile çalışın. (Native SQLi de bilin yani) Sonra mongodbnin kütüphanelerini kullanarak no-sql nedir, avantajı nedir vb. öğrenin, mongodb sorgularını, aggregationu hakkında yeterli kullanma deneyiminiz olsun.

-Kesinlikle Spring Boot öğrenin, frameworksüz Java geliştiricilik pek para etmemeye başladı. (Bundan önce Core Java öğrenmeniz lazım tabi yukarıda dediğim üzere). Bu framework ne işe yarar öğrenin, injection nedir, filter nedir, aspect nedir, interceptor nedir vesaire bilin.

-Uygulamanızda multithreaded yapı oluşturun, veri miktarı, istek miktarı arttıkça patlamadan çalışmasını sağlayın, synchronized, volatile vb. keyworldleri öğrenin.

-Spring Boot ile web servisler yazın, REST yapısını öğrenin.


Bunları hallederseniz Javadan bağımsız olarak git/gitflow kullanımı, kafka, rabbitmq tarzı mesajlaşma teknolojileri, cloud kullanımı vb. vb. diye gider mevzu. Umarım yardımcı olur size, kolay gelsin.
 
Tamam, eğer başlıkta belirttiğiniz iki dilden Java'yı seçecek olursanız şunları "must" olarak kabul etmenizi tavsiye edeceğim.

-Belli bir seviyeye kadar Core Java ile, yani işinizi kolaylaştıran frameworklerden ya da kütüphanelerden pek yararlanmaksızın pek çok şeyi kendinizin oluşturduğu haliyle bir şeyler yapın, bir şeyi daha kolay ya da daha düzgün yapmak için gerekli kütüphane (.jar yani) bulup kullanmayı öğrenin, algoritma geliştirin, veri yapısı geliştirin, yazdığınız kodun kesinlikle OOP, SOLID prensiplerine uygun olduğundan emin olarak basit projeler yapın. Encapsulation, access modifier vb. şeyleri saymıyorum bile.

-Ezbere nedir ne değildir çat çat sayacak şekilde olmasa da Design Patternları öğrenin, yani creational, structural vb. hangi durumlarda, hangi sorunla karşılaştığımızda hangi pattern uygularsak kodumuzun yapısı daha iyi/temiz/düzgün olur. Singleton, factory vb. dışında da isim sayabilin.

-Veritabanı kullanın, kodunuza önce klasik olarak sqli bağlayın, sonra Hibernate frameworkü ile çalışın. (Native SQLi de bilin yani) Sonra mongodbnin kütüphanelerini kullanarak no-sql nedir, avantajı nedir vb. öğrenin, mongodb sorgularını, aggregationu hakkında yeterli kullanma deneyiminiz olsun.

-Kesinlikle Spring Boot öğrenin, frameworksüz Java geliştiricilik pek para etmemeye başladı. (Bundan önce Core Java öğrenmeniz lazım tabi yukarıda dediğim üzere). Bu framework ne işe yarar öğrenin, injection nedir, filter nedir, aspect nedir, interceptor nedir vesaire bilin.

-Uygulamanızda multithreaded yapı oluşturun, veri miktarı, istek miktarı arttıkça patlamadan çalışmasını sağlayın, synchronized, volatile vb. keyworldleri öğrenin.

-Spring Boot ile web servisler yazın, REST yapısını öğrenin.


Bunları hallederseniz Javadan bağımsız olarak git/gitflow kullanımı, kafka, rabbitmq tarzı mesajlaşma teknolojileri, cloud kullanımı vb. vb. diye gider mevzu. Umarım yardımcı olur size, kolay gelsin.
Yolum oldukca uzun sanirim, tesekkur ederim cevap icin.
 
Hocam bence bu şekilde bakmayın. Öncelikle alan seçimi yapın. Alanları öğrenmek için Google veya YouTube'a bakabilirsiniz. İlginizi çeken bir alan elbet ki olacaktır. Bu iş parası için yapılmaz.
 

Geri
Yukarı