Kısa sorulara verdiğiniz uzun cevaplardan, bilginizin paylaşmak için kaptan taşan su olduğunu anlıyorum.
Umarım bende doğru soruları sorup, sudan faydalanabilirim.
Mobilde olduğum için hatalarım olabilir, kusura bakmayın.
Yaklaşık 3-4 ay önce, frontend backend arasında kalmıştım. Yaklaşık 10 yıllık bir programlama geçmişim var ama ben yerinde sayanlardanım. vb.net 6.0 ile başlamıştım. Birkaç yıl sonra 'masaüstü programlama bitti, kim neden başkasının programını indirsin' diyerek alanımı webe kaydırdım. Bu yaklaşık 6 yıl önceydi.
İlk yazdığım web kodu, basit bir psd to htmldi. Ardından uzun bir duraklama ve c# masaüstü arası yaşadım. Bu aralıklarda boş yatmadım elbette, php js responsive temellerini attım ve bu alanda projeler ürettim. Daha sonra sektöre bir adım atmaya çalıştım fakat su çok soğuk geldi ayağımı çektim. Ondan sonra motivasyonum yıkıldı ve tekrar bir arayışa girdim.
3-4 ay önce ise, amacım fullstack olmak iken, danıştığım pek çok insan frontend üzerine ilerlememi tavsiye etti.
Zaten ortaya yakın belki orta seviye bir temelim olduğu için üzerine bina ederek, 3-4 ay içerisinde bana para kazandırabilecek, işler yapabilecek hale geldim.
Yine de ne yazıkki gün geliyor, pek çok şeye hala 'yapamam' diyorum, çünkü yeterli bilgiye sahip değilim.
İnsanlara ne yapmam, nasıl bir yol izlemem gerektiğini sorduğumda genelde ne seviyede olduğumu anlayamadıkları için genelde başlangıç sanıp beni algoritmaya yada çok çok basit konulara yönlendirmeye çalışıyorlar. Ben firmalara frontend yazıp para kazanırken, bana htmlden başla diyenler oluyor. İşte burada en büyük sıkıntı kendi seviyemi bilmememden kaynaklanıyor.
Yeri geliyor tarayıcı oyunları kodluyorum, yeri geliyor temalar yapıyorum, yeri geliyor backend masaüstü işler yapıyorum (c#) ama yeri geliyor bir hazır kütüphaneyi kullanmayı beceremeyip koca iş teklifini reddediyorum yada bir küçük akordion menü gözümü korkutuyor işi almıyorum.
Tüm bu durumlar karşısında doğru bir yol haritası çizemiyorum. 10 yıl oldu dediğim gibi artık bir yol haritası çizmek ve takip etmek için de çok geç olduğunu düşünüyorum.
Web alanında, geçimimi rahatça sağlayacak, alanımda fullstacke yakın bir seviyeye gelecek aşama kaydetmek istiyorum.
Ama bu aşamada ne yapmam gerektiğini tam kestiremiyorum.
Bu aşamada yardım istediğimde, insanlar beni programlamaya yeni başlamış zannedip 10 yıl geriye göndermeye çalışıyorlar, bende mecburen geri gidiyorum, haliyle her ilerlemem 2 geri 1 ileri oluyor.
Dil seçme mantık öğren diyorsunuz, buna katılıyorum fakat bu konsepte ne dendiğini bile tam bilmiyorum, yazılım mimarim zayıf olmalı.
Öğrenme hızım yüksektir fakat çok kopuk bir öğrenme sürecim var. Sektörün içinde olmadığımdan dolayı, sizin de dediğiniz gibi 1 yılda öğrenilecek bir şeyi birkaç ayda bir yazılımcının yanında öğrenme imkanım olmadığından dolayı, gerçek senaryolara kendimi hazırlayamıyorum.
Bir iş aldığımda panikliyorum, genelde kendi projelerimde yapamayacağım şeyi kendimden istemiyorum ve o korkutucu 'şurası şöyle olsa' sorusunu kendime sormuyorum.
Ama başkasının işini yapmak gerekince onlar acımadan 'burası böyle olacak' diyorlar ve bastırılmış korkum gün yüzüne çıkıyor. Yapmamayı tercih ettiğim ve kaçarak kurtulmaya çalıştığım zor şeyler gün yüzüne çıkıyor. Bende motivasyonumu kaybedip, işi bırakıp eski halime dönüyorum.
Dil olarak html css js biliyorum. php de biliyorum. c# da biliyorum. mvc yapısını da biliyorum. ama hangisini ne kadar bildiğimi bilmiyorum.
oturup kafamdaki projeyi yapabiliyorum, ama gerçekten o proje öyle mi yapılır, oraya o mu yazılır, bu gerçek bir iş olsa böyle mi kodlanır bilmiyorum.
gerçek bir işe girdiğimde , işyerinin yoğurt yiyişinin çok farklı olduğunu görüyorum ve benim yoğırt yemediğimi sadece ağzıma burnuma bulaştırdığımı farkediyorum. Ve tekrar sar başa.
Artık ne 10 yılım var, ne 5 yıl nede 3-5 ay. Artık elimi attığım bu sektörde birşeyler yapabilmek istiyorum.
Benimki bir soru değildi, c# ile de alakası yoktu ama tecrübeli birinden alabileceğim herşeyi almak isterim.
hikayemi okuduktan sonra vereceğiniz her türlü tavsiyeye açığım. yazdıklarımla alakalı alakasız herşeyi yazabilirsiniz. teşekkür ederim.
Merhaba,
Durumunuzu ince ayrıntılarına kadar belirttiğiniz için teşekkür ederim. Zira cevap verebilmek için bu ayrıntıları bilmek gerekiyor.
Sizin yaşadığınız sorun, genel hatlarıyla bir çok yazılım geliştiricisinin başlangıç aşamasında yaşadığı sorun. (Neyi ne kadar bildiğini bilememe, müşteri projelerini alamama/alırsa sürekli endişelenme, proje oldu ama acaba kodları daha farklı yazabilir miydim vb. gibi soruları sorma gibi durumlar.)
Şunu sakın unutmayın, her yazılım uzmanının kod yazma stili farklıdır. Kimi değişken tanımlarken camelCase standardizasyonunu kullanır, kimi UPPERCASE kimi TitleCase. Ama sonuçta kod çalışıyorsa, bunun bir önemi var mı? Bu bir şirkete girdiğinizde, ekipçe proje geliştirdiğinizde önem taşır. Mesela genellikle değişken tanımlarken, fonksiyon ismi tanımlarken camelCase standardizasyonu kullanılır. Backend kısmı Ingilizce geliştirilir. Ama dediğim gibi bunlar genelleme, siz Türkçe'de yazabilirsiniz, UPPERCASE'de kullanabilirsiniz.
Sizin yapmanız gereken, bir yazılım kursuna gidip yazılım eğitimi almak ya da bir yazılım şirketine girip(seviye farkı gözetmeksizin), kendinizi geliştirmek.Ama bu gelişim sadece kod yazmak değil, proje alındığı andan itibaren, teslim sürecine kadar bütün aşamaları öğrenmeniz çok önemli. Böyle böyle neyin nasıl olduğu kafanızda daha iyi oturacak.
Burada ne ben ne de bir başkasının size anlatacağı şeyler emin olun ki size rehber olmayacaktır. Sizin bunu bire bir yaşamanız gerekiyor.
Front end back end kısmına gelince de şunu söyleyebilirim, bugün front end developer'da istenenlerle back end developer'da istenenlerin bazıları aynı. (MongoDB, NodeJS, NoSQL vs.)
Artık JS, jQuery, CSS bilenlerin de bir önemi kalmadı, öyle ki iş ilanlarında Vue.JS, Angular JS, ReactJS gibi javascript kütüphaneleri kol geziyor. Deseniz ki bunun karşılığı maddi olarak alınabiliyor mu, orası çok ayrı bir tartışma konusu olur. Ama burada önemli olan şu ki, kendinizi sürekli geliştirmeniz gerekiyor. Örneğin bir front end developer'ın SPA uygulama geliştirme konusunda deneyimli olması, direkt olarak tercih sebebi.
Php de biliyorum ASP'de demişsiniz, ikisini de biraz biliyorsanız hiç bir kıymeti yok ne yazık ki. En basitinden Yazım dili ve geliştirme ortamı gibi etkenleri baz alarak, size hangisi daha yakın geliyorsa onunla uzmanlaşın. Mesela PHP'de Laravel Framework'ü öğrenmeye çalışın, iş ilanlarında o çok isteniyor. ASP.NET'de MVC ve .NET Core öğrenmeye çalışın. Ama bunların ikisini aynı anda öğrenmeye çalışırsanız, aylarınız-yıllarınız yine boşa geçebilir. Çünkü her biri farklı uzmanlık alanları, uzun yıllar çalışmak, deneyim edinmek gerekiyor.
Burada tavsiyem şu, birini biraz ötekini daha çok değil, birini çok iyi bilin, ötekini bilmeseniz de olur.
ASP.NET mi PHP'mi konusunu, hem önceki yazımda yanıtladım, hemde yukarıda az da olsa değindim. Bunu ancak siz seçebilirsiniz.
Kazanç olarak, ASP.NET'in kazancı maaş anlamında daha yüksek. Ama istenilen özellikler ikisinde de farklı.
Örneğin
ASP.NET Uzmanı iş ilanlarında Bilgisayar-Yazılım ve denk Mühendislik bölümleri, Bilgisayar Programcılığı gibi eğitim durumu gereklilikleri varken, PHP Uzmanı iş ilanlarında genellikle yok.
Size son tavsiyem, kendinizle yüzleşmekten korkmayın. Ve şunu unutmayın, ne kadar iyi kod yazdığınız değil, projeyi ne kadar iyi planladığınız önemlidir.
Umarım yardımcı olabilmişimdir.
İyi çalışmalar...
Bilgisayar programcılığı okuyorum, bu sene nasipse Mühendisliğine geçeceğim. Sizin gibi değerli tecrübeli hocama kaç sorum olacak;
1- C# dilini başlangıçtan bir tik üstü biliyorum. Lakin C# pek tercih edilen bir dil diye biliyorum. Yani bir java ve pyhton kadar. Siz ne düşünüyorsunuz C# hakkında?
2- Algoritma kurma konusunda fazla sıkıntı çekmiyorum. Derslerde dahi hocamızın vermiş olduğu uygulamaları, soruların algoritmasını rahatlıkla kurabiliyorum. Lakin kodları yazarken sıkıntı yaşıyorum. Syntaxları yanlış yazıyorum falan. Pratik yapmak sizce ne kadar önemlidir? Udmy gibi yerlerde hocaların örnek projeleri oluyor onları yaparak pratik yapsam katkısı olur mu?
3- Okulda PHP öğreniyoruz. Ben de PHP öğrenmek istiyordum hep. ASP mi sizce PHP mi?
4- Son olarak programlama da kendimi geliştirebildiğim kadar geliştirmek istiyorum, tavsiyelerinizi alabilir miyim? neler yapmalıyım gelişmek için?
Merhaba, öncelikle umarım Mühendislik fakültesine geçer, havasını solur ve iyi hocalardan eğitim alırsınız.
1) Başlangıçtan bir tık üstü derken, tam olarak neyi kastediyorsunuz? Değişkenler, döngüler değil de geriye değer döndüren fonksiyon tanımlamak mı? Katmanlı mimari ile çalışmak mı? C# ve programlama dilleri ile ilgili düşüncelerimi,
https://www.r10.net/1075835301-post6.html burada yazdım.
2) Algoritma ve kod yazmak çok farklı şeyler. Algoritma aslında hayatın ta kendisi diyebiliriz. En basitinden, eve girdiniz anahtara bastınız ve ışık yanmıyor. Bu sorunu nasıl çözersiniz? İşte burada üreteceğiniz çözümün her aşaması bir algoritma. Ama bunu koda dökmek çok farklı. Pratik yapmak, sürekli tekrar etmek, size kod yazma alışkanlığı kazandırır ve zamanla kod yazarken syntax konusunda hata yapmamaya başlarsınız. Bu tamamen yaptığınız tekrar ile alakalı. Bol bol örnek proje geliştirin, hata yaptıkça pes etmeden devam edin. Unutmayın ki hepimiz başlarda çok hata alıyorduk

3) Sizden bir önceki konuda
ASP.NET mi PHP'mi konusuna değindim, oradan bakarsanız buraya tekrar yazmamış olurum

4) Aynı şekilde bu sorunun yanıtı da aslında yukarıdaki mesajlarında var.
İyi çalışmalar...