Yazılımda hangi alana yönelmeli?

Hocam yukarıda da saydında saydın ondan. Bilmiyorum ben daha iş bulamadım. Junior olarak başlamak isterim ama bulamadım hiç.

Ben iş arama durumuna hiç girmedim. Eniştemin İstanbul'da çok büyük bir hem Türkiye hem yurt dışı tabanlı bir yazılım şirketi var stajımı da orada yaptım zaten zamanında şimdi remote çalışıyorum oturduğum ilden.
 
@Lian_992 Hocam bende Dokuz Eylül Üniversitesi'nde Bilgisayar Programcılığı okuyorum. Bende hangi alanda ilerlemem gerektiği konusunda karasızım. Orda JAVA + Python bildiğinizi söylediniz. Peki bundan sonra kendinize ne gibi şeyler kattınız? Yeni öğrendiğiniz dil oldu mu?
 
@Lian_992 hocam bende Dokuz Eylül Üniversitesi'nde bilgisayar programcılığı okuyorum. Bende hangi alanda ilerlemem gerektiği konusunda karasızım. Orada Java + Python bildiğinizi söylediniz. Peki bundan sonra kendinize ne gibi şeyler kattınız? Yeni öğrendiğiniz dil oldu mu?

Evet şu anda C ve C++ öğreniyorum bir yandan da ileri düzey programlama ve algoritma da ufaktan tazeliyorum şu anda ki aktif uğraşım bu şekilde hocam.
 
HTML ve CSS bir yazılım dili değil. Onları sayma bile. Python'da şu an sektörde Full stack olmazsan tercih etmezler zaten. Fakat senin bölümünde daha çok ıt alanında ilerlemek çok daha doğru olacaktır veya gömülü sistemler üzerine bazı yazılım alanları çok daha mantıklı olacktır. Yazılım mühendisliği + YBS gibi sadece bu iki bölüm gerek yazılım gerek siber güvenlik gerek ıt tüm hepsini içinde kapsayıp sektörde uzun bir deneyim ve tercih edilmesi çok daha kolay oluyor. Çünkü derya deniz sayılabilecek sınırsız içeriklere sahipler. Ben senin yerinde olsaydım seve seve ıt' donanımından ilerler ve gömülü sistemler üzerine çalışırdım. Zaten yazılım herkesin yapabileceği bir şey değil her bilgisayardan anlayan veya oyun oynayan bir yerlerin yazılımdan anlayacağını sanmıyorum. Udemy'den Python c/c#/c++/java gibi kursları alamazsın alırsın programlamaya kadar öğrenirsin gerisi gelmez. Çünkü hiçbirinde maalesef ki algoritma öğretmiyorlar algoritma bilmeyen biri zaten yazılımda ezber alanda ilerlemekten başka bir şey yapamaz.
Fakat şuna da bir yandan karar vermen gerekiyor bu işin front yönü çok zevklidir her ne kadar Full stack olsam da söylüyorum bunu. LinkedIn ilanlarını filtreleme. Bootcamp'leri araştır Bootcamp'lerde öğrenilen yapılan içerikler projeler ve insanların network alanına bakacaksın. LinkedIn çok gereksiz olur ve bilgisizlik uçurumundan aşağı atlamak olur şu anki olduğun durumda.

Hocam birkaç sorum olacak Instagram bırakır mısınız?
 
HTML ve CSS bir yazılım dili değil. Onları sayma bile. Python'da şu an sektörde Full stack olmazsan tercih etmezler zaten. Fakat senin bölümünde daha çok ıt alanında ilerlemek çok daha doğru olacaktır veya gömülü sistemler üzerine bazı yazılım alanları çok daha mantıklı olacktır. Yazılım mühendisliği + YBS gibi sadece bu iki bölüm gerek yazılım gerek siber güvenlik gerek ıt tüm hepsini içinde kapsayıp sektörde uzun bir deneyim ve tercih edilmesi çok daha kolay oluyor. Çünkü derya deniz sayılabilecek sınırsız içeriklere sahipler. Ben senin yerinde olsaydım seve seve ıt' donanımından ilerler ve gömülü sistemler üzerine çalışırdım. Zaten yazılım herkesin yapabileceği bir şey değil her bilgisayardan anlayan veya oyun oynayan bir yerlerin yazılımdan anlayacağını sanmıyorum. Udemy'den Python c/c#/c++/java gibi kursları alamazsın alırsın programlamaya kadar öğrenirsin gerisi gelmez. Çünkü hiçbirinde maalesef ki algoritma öğretmiyorlar algoritma bilmeyen biri zaten yazılımda ezber alanda ilerlemekten başka bir şey yapamaz.
Fakat şuna da bir yandan karar vermen gerekiyor bu işin front yönü çok zevklidir her ne kadar Full stack olsam da söylüyorum bunu. LinkedIn ilanlarını filtreleme. Bootcamp'leri araştır Bootcamp'lerde öğrenilen yapılan içerikler projeler ve insanların network alanına bakacaksın. LinkedIn çok gereksiz olur ve bilgisizlik uçurumundan aşağı atlamak olur şu anki olduğun durumda.

Hocam bu "algoritma bilmemek" ne demek tam olarak açıklar mısınız? Çok yerde duyuyorum bunu ama bana biraz detay lazım. Tam olarak neleri bilememiz gerekiyor yani? Algoritma deyince insanlar çok basit bir şeyden bahsediyormuşçasına yemek tarifi gibi örnekler üzerinden ilerliyorlar da böyle olmadığının farkındayım fakat ne olduğunun farkında değilim. Örneklerle açıklarsanız sevinirim.
 
Hocam bu "algoritma bilmemek" ne demek tam olarak açıklar mısınız? Çok yerde duyuyorum bunu ama bana biraz detay lazım. Tam olarak neleri bilememiz gerekiyor yani? Algoritma deyince insanlar çok basit bir şeyden bahsediyormuşçasına yemek tarifi gibi örnekler üzerinden ilerliyorlar da böyle olmadığının farkındayım fakat ne olduğunun farkında değilim. Örneklerle açıklarsanız sevinirim.

Mesela şöyle örnek vereyim Java programlama yapıyorsunuz yapabilirsiniz proje geliştirebilirsiniz fakat algoritma şurada devreye giriyor input + bilgi + çıktı. Buralarda devreye giriyor. Projede ne yapacağım? Hata ayıklamayı nasıl yapacağım? Çıktısı ne olacak? 0 hata payıyla. Mesela yazdığınız kod bütünlüğü 100 satır diyelim. Ama algoritma bilirseniz 50-60 satırda da halledebilirsiniz. Algoritma aynı zamanda bir backdoor'dur. Kestirmedir kısa yoldur. Kimi zaman ise bir Debug aracı kimi zaman ise bir zaman ve proje yönetimidir.
 
Hocam bu "algoritma bilmemek" ne demek tam olarak açıklar mısınız?

Cozmeye calistigin probleme gore uygulaman gereken metodolojiyi bilmek demek.

Telefon rehberi uygulamasi yapiyorsundur, kullanici telefon numarasi yazarken bunu otomatik olarak rehberdeki isimlerlerle eslestirme yapiyorsundur.

Algoritma bilen birisi bu problemi cozerken rehberi dogru sekilde indexlemeyi, yerine gore binary search ya da levanshtein mesafesi olcup olasi secenekleri seri sekilde listemeleyi basaracaktir. Rehberi dogru data structure ile memory'de tutacak; telefon rehberi 3 milyon kayittan olussa da memory kullanimini dogru LRU mekanigi ile optimize edecektir.

Algoritma egitimi noksan olan kimse ustte tarif ettiklerimi anlamamanin yanisira, binlerce if-else ve hatali loop yapisi ile spagetti kod yazacaktir. Sonuc olarak belki disaridan baktiginda calisiyor gibi gorunecektir ama ne okumasi, ne modifiye etmesi ne de performansi dogru olacaktir.
 
Cozmeye calistigin probleme gore uygulaman gereken metodolojiyi bilmek demek.

Telefon rehberi uygulamasi yapiyorsundur, kullanici telefon numarasi yazarken bunu otomatik olarak rehberdeki isimlerlerle eslestirme yapiyorsundur.

Algoritma bilen birisi bu problemi cozerken rehberi dogru sekilde indexlemeyi, yerine gore binary search ya da levanshtein mesafesi olcup olasi secenekleri seri sekilde listemeleyi basaracaktir. Rehberi dogru data structure ile memory'de tutacak; telefon rehberi 3 milyon kayittan olussa da memory kullanimini dogru LRU mekanigi ile optimize edecektir.

Algoritma egitimi noksan olan kimse ustte tarif ettiklerimi anlamamanin yanisira, binlerce if-else ve hatali loop yapisi ile spagetti kod yazacaktir. Sonuc olarak belki disaridan baktiginda calisiyor gibi gorunecektir ama ne okumasi, ne modifiye etmesi ne de performansi dogru olacaktir.

Optimizasyon yapmak diyoruz sanırım buna. Peki ortalamada ne kadar zaman istiyor algoritma öğrenmek? Bir de hangi kaynakları önerirsiniz? Yani daha hızlı çalışmak açısından Türkçe kaynakları tercih ederim fakat "şu kişi çok iyi anlatıyor, bununla eksiksiz öğrenirsin" derseniz yavaş ilerleyecek olsam da hem İngilizce geliştirmeye hem de algoritma öğrenmeye çalışırım (nihayetinde çeviri uygulamaları ile dolu internet). Algoritma seviyemin iyi bir durumda olduğunu anladığımda direkt olarak dil öğrenip proje yapmaya mı yöneleyim yoksa tavsiye edebileceğiniz "şu da önemli bunu da öğren" diyebileceğiniz bir konu var mı?

Bu arada hedefimden de bahsetmek isterim. Türkiye'den yurtdışına remote olarak çalışmak. %80 vergi avantajı da varmış sanırım şuan baya iyi bir dönem bu plan için.
 
Son düzenleme:
Optimizasyon yapmak diyoruz sanırım buna. Peki ortalamada ne kadar zaman istiyor algoritma öğrenmek? Bir de hangi kaynakları önerirsiniz? Yani daha hızlı çalışmak açısından Türkçe kaynakları tercih ederim fakat "şu kişi çok iyi anlatıyor, bununla eksiksiz öğrenirsin" derseniz yavaş ilerleyecek olsam da hem İngilizce geliştirmeye hem de algoritma öğrenmeye çalışırım (nihayetinde çeviri uygulamaları ile dolu internet). Algoritma seviyemin iyi bir durumda olduğunu anladığımda direkt olarak dil öğrenip proje yapmaya mı yöneleyim yoksa tavsiye edebileceğiniz "şu da önemli bunu da öğren" diyebileceğiniz bir konu var mı?

Bu arada hedefimden de bahsetmek isterim. Türkiye'den yurtdışına remote olarak çalışmak. %80 vergi avantajı da varmış sanırım şuan baya iyi bir dönem bu plan için.

Zaman vermek zor; sana bagli bu durum.

Ingilizce ve matematik bilmek gerekiyor hakkiyla algoritma ogrenebilmek icin. Ayrica ogrenirken beraberinde data structure da ogrenilebilir. Zaten bu yuzden bazi dersler ve kitaplar "Algoritma ve Veri yapilari" seklinde butunlesik sunulur. Ben egitim alirken Algoritma I-II ve Data Structure seklinde 3 ayri ders olarak almistik.

Kitap olarak bunu tavsiye ederim:

Benim kutuphanemde de var kendisi.
tb.jpg


Dil ogrenmek mesele degil, temelin olunca 2 gunde herhangi bir dilde uretken hale gelirsin.

DS vs Algoritma bu isin temeli, bu alanlardan sonra network; isletim sistemleri, yazilim gelistirme prensipleri, programlama dillerinin ( paradigmalar, seviyeler, typing, compiling vs ) gibi pek cok sey var.

Yani henuz Ingilizce bile bilmeyen birisinin tum bu bilgisayar sistemlerine ve yazilim muhendisligine dair seyleri ogrenip de USD odeme yapan remote iste Hindistan, Cin, Rusya ve Dogu Avrupa ulkelerinden gelen muhendislerle rekabet edebilmesi icin onunde epey uzun bir yol var. Kendini bu duruma hazirlaman gerekiyor.

Algoritma isini kaptim gibi, Python da ogrenince is basvurulari yapabilirim gibi dusunuyorsan buyuk hayal kirikligi yasayabilirsin.
 

Technopat Haberler

Geri
Yukarı